Example #1
0
        protected float getArmorValueFor(ItemStack stack, EnumRestriction restrict)
        {
            float enhance = 0;

            if (stack.doesStackHave(Enchantments.ENHANCEMENT))
            {
                foreach (Enchantment en in stack.enchants)
                {
                    if (en == Enchantments.ENHANCEMENT)
                    {
                        enhance += 0.05f;
                    }
                }
            }
            AidType p    = stack.getAllAids();
            float   best = 0;

            for (int i = 1; i < 32; i *= 2)
            {
                float a = getArmorValue((p & (AidType)i), restrict);
                if (a > best)
                {
                    best = a;
                }
            }
            if ((restrict ^ EnumRestriction.MAGIC) == 0)
            {
                enhance = 0;
            }
            if ((restrict ^ EnumRestriction.SHIELD) == 0)
            {
                enhance /= 5;
            }
            return((best > 0)?enhance + best:0);
        }
Example #2
0
        protected float getArmorValue(AidType type, EnumRestriction restrict)
        {
            switch (type)
            {
            case AidType.HEAVY_ARMOR:
                return((restrict & EnumRestriction.ARMOR) > 0 ? 0.3f : 0);

            case AidType.MEDIUM_ARMOR:
                return((restrict & EnumRestriction.ARMOR) > 0 ? 0.2f : 0);

            case AidType.LIGHT_ARMOR:
                return((restrict & EnumRestriction.ARMOR) > 0 ? 0.1f : 0);

            case AidType.LIGHT_SHIELD:
                return((restrict & EnumRestriction.SHIELD) > 0 ? 0.05f : 0);

            case AidType.HEAVY_SHIELD:
                return((restrict & EnumRestriction.SHIELD) > 0 ? 0.1f : 0);

            case AidType.BARKSKIN:
                return((restrict & EnumRestriction.MAGIC) > 0 ? 0.1f : 0);
            }
            return(0);
        }