Beispiel #1
0
        public float GetAbsorbMod(Creature target)
        {
            switch (target.CombatMode)
            {
                case CombatMode.Melee:

                    // does target have shield equipped?
                    var shield = target.GetEquippedShield();
                    if (shield != null && shield.AbsorbMagicDamage != null)
                        return GetShieldMod(target, shield);

                    break;

                case CombatMode.Missile:

                    var weapon = target.GetEquippedMissileWeapon();
                    if (weapon != null && weapon.AbsorbMagicDamage != null)
                        return AbsorbMagic(target, weapon);

                    break;

                case CombatMode.Magic:

                    weapon = target.GetEquippedWand();
                    if (weapon != null && weapon.AbsorbMagicDamage != null)
                        return AbsorbMagic(target, weapon);

                    break;
            }
            return 1.0f;
        }