private static bool GetIsMasterwork(CLRScriptBase script, List<PricedItemProperty> itProp)
{
PricedItemProperty removedProp = null;
bool complexEnchantment = false;
foreach (PricedItemProperty prop in itProp)
{
if (script.GetItemPropertyType(prop.Property) == ITEM_PROPERTY_ENHANCEMENT_BONUS)
{
// This needs its own pricing. Leave it in place and return.
return true;
}
if (script.GetItemPropertyType(prop.Property) == ITEM_PROPERTY_ATTACK_BONUS &&
script.GetItemPropertyCostTableValue(prop.Property) == 1)
{
removedProp = prop;
}
if (script.GetItemPropertyType(prop.Property) == ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP ||
script.GetItemPropertyType(prop.Property) == ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP ||
script.GetItemPropertyType(prop.Property) == ITEM_PROPERTY_ATTACK_BONUS_VS_SPECIFIC_ALIGNMENT)
{
complexEnchantment = true;
}
}
if (removedProp != null && !complexEnchantment)
{
itProp.Remove(removedProp);
return true;
}
else if (removedProp != null)
{
// enchantment is complex; we still need to treat the
// attack bonus as magic.
return true;
}
return false;
}