Example #1
0
        /// <summary>
        /// Returns the base damage for a non-player attacker
        /// </summary>
        public void GetBaseDamage(Creature attacker, MotionCommand motionCommand)
        {
            AttackPart = attacker.GetAttackPart(motionCommand);
            if (AttackPart.Value == null)
            {
                GeneralFailure = true;
                return;
            }

            BaseDamageMod = attacker.GetBaseDamage(AttackPart.Value);
            BaseDamage    = ThreadSafeRandom.Next(BaseDamageMod.MinDamage, BaseDamageMod.MaxDamage);

            DamageType = attacker.GetDamageType(AttackPart.Value, CombatType);
        }
Example #2
0
        /// <summary>
        /// Returns the base damage for a non-player attacker
        /// </summary>
        public void GetBaseDamage(Creature attacker, CombatManeuver maneuver)
        {
            AttackPart = attacker.GetAttackPart(maneuver);
            if (AttackPart == null)
            {
                GeneralFailure = true;
                return;
            }

            BaseDamageRange = attacker.GetBaseDamage(AttackPart);
            BaseDamage      = ThreadSafeRandom.Next(BaseDamageRange.Min, BaseDamageRange.Max);

            DamageType = attacker.GetDamageType(AttackPart);
        }
Example #3
0
        /// <summary>
        /// Returns the base damage for a non-player attacker
        /// </summary>
        public void GetBaseDamage(Creature attacker, CombatManeuver maneuver)
        {
            AttackPart = attacker.GetAttackPart(maneuver);
            if (AttackPart == null)
            {
                GeneralFailure = true;
                return;
            }

            BaseDamageMod = attacker.GetBaseDamage(AttackPart);
            BaseDamage    = ThreadSafeRandom.Next(BaseDamageMod.MinDamage, BaseDamageMod.MaxDamage);

            DamageType = attacker.GetDamageType(AttackPart, CombatType);

            if (attacker is CombatPet combatPet)
            {
                DamageType = combatPet.DamageType;
            }
        }