TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches

◆ GetTotalDamage()

StatModifier Terraria.Player.GetTotalDamage ( DamageClass damageClass)
inline

Calculates a total damage modifier for the player for the provided T:Terraria.ModLoader.DamageClass.
Use in conjunction with M:Terraria.ModLoader.StatModifier.ApplyTo(System.Single) to calculate a final damage value for a given T:Terraria.ModLoader.DamageClass and base damage: int finalDamage = (int)player.GetTotalDamage(item.DamageType).ApplyTo(30);

The modifiers calculated here are important due to the possibility of damage classes inheriting modifiers from other damage classes. For instance, an attack can be classified as multiple damage types and each could have different modifiers to apply to the damage

Parameters
damageClassThe T:Terraria.ModLoader.DamageClass to use for total damage calculation
Returns
All modifiers combined

Definition at line 58396 of file Player.cs.

58397 {
58399 for (int i = 0; i < damageData.Length; i++)
58400 {
58401 if (i != damageClass.Type)
58402 {
58404 stat = stat.CombineWith(damageData[i].damage.Scale(inheritanceData.damageInheritance));
58405 }
58406 }
58407 return stat;
58408 }
static readonly List< DamageClass > DamageClasses
DamageClassData[] damageData
Definition Player.cs:3349

References Terraria.ModLoader.DamageClassData.damage, Terraria.ModLoader.DamageClassLoader.DamageClasses, and Terraria.Player.damageData.

Referenced by Terraria.Projectile.AI_075(), Terraria.Player.CommandForbiddenStorm(), Terraria.Player.DashMovement(), Terraria.Player.GetTotalDamage< T >(), Terraria.Player.GetWeaponDamage(), Terraria.Player.HorizontalMovement(), Terraria.Player.JumpMovement(), Terraria.Player.OnHurt_Part2(), Terraria.Player.PickAmmo(), and Terraria.Projectile.Update().

+ Here is the caller graph for this function: