ACR_Items.Pricing.GetIsMasterwork C# (CSharp) Метод

GetIsMasterwork() приватный статический Метод

private static GetIsMasterwork ( CLRScriptBase script, List itProp ) : bool
script CLRScriptFramework.CLRScriptBase
itProp List
Результат bool
        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;
        }