/// <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); }
/// <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); }
/// <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; } }