.

Damage Calculation

Line 1: Line 1:
<nowiki>Damage is calculated as:
+
Damage is calculated as:
  
 
TargetDR = Armor + Perks
 
TargetDR = Armor + Perks
TargetDR = (TargetDR* (100 - (10 * HitTheGap) + 30*attacker.Param[TRAIT_FINESSE])) / 100;
+
TargetDR = (TargetDR* (100 - (10 * HitTheGap) + 30*attacker.Param[TRAIT_FINESSE])) / 100
  
TargetDT = Armor + Perks
+
TargetDT = Armor + Perks<br />
TargetDT = (TargetDT * (100 - (10 * HitTheGap) + changeDT)) / 100;
+
TargetDT = (TargetDT * (100 - (10 * HitTheGap) + changeDT)) / 100
  
PartialBypass % = 60 * Decreaed DR WeaponTrait;
+
PartialBypass % = 60 * Decreaed DR WeaponTrait
PartialBypass += 30 + (30 * (55 - ((21 - L) * L) / 2)) / 45;
+
PartialBypass += 30 + (30 * (55 - ((21 - L) * L) / 2)) / 45
PartialBypass -= target.Perk[PE_ARMOR_EFFICIENCY] * 15;
+
PartialBypass -= target.Perk[PE_ARMOR_EFFICIENCY] * 15
PartialBypass += 15 * (weaponPerkEff(attack.WeaponPerks, attack.Skill, WP_PIERCING_STRIKE));
+
PartialBypass += 15 * (weaponPerkEff(attack.WeaponPerks, attack.Skill, WP_PIERCING_STRIKE))
PartialBypass += 15 * weaponLegendaryEff(realWeapon,WP_PIERCING_STRIKE);
+
PartialBypass += 15 * weaponLegendaryEff(realWeapon,WP_PIERCING_STRIKE)
PartialBypass += GetLeadershipBoost(attacker,FTLB_MORE_ARMOR_BYPASS);
+
PartialBypass += GetLeadershipBoost(attacker,FTLB_MORE_ARMOR_BYPASS)
PartialBypass -= GetLeadershipBoost(target,FTLB_LESS_ARMOR_BYPASS);
+
PartialBypass -= GetLeadershipBoost(target,FTLB_LESS_ARMOR_BYPASS)
PartialBypass = CLAMP(partialBypass, 0, 100);
+
PartialBypass = CLAMP(partialBypass, 0, 100)
  
 
if (PartialBypass > 0 )
 
if (PartialBypass > 0 )
Line 39: Line 39:
 
rawMax *= rounds
 
rawMax *= rounds
  
rawDmg = Random(rawMin, rawMax)</nowiki>
+
rawDmg = Random(rawMin, rawMax)

Revision as of 23:14, 6 April 2016

Damage is calculated as:

TargetDR = Armor + Perks TargetDR = (TargetDR* (100 - (10 * HitTheGap) + 30*attacker.Param[TRAIT_FINESSE])) / 100

TargetDT = Armor + Perks
TargetDT = (TargetDT * (100 - (10 * HitTheGap) + changeDT)) / 100

PartialBypass % = 60 * Decreaed DR WeaponTrait PartialBypass += 30 + (30 * (55 - ((21 - L) * L) / 2)) / 45 PartialBypass -= target.Perk[PE_ARMOR_EFFICIENCY] * 15 PartialBypass += 15 * (weaponPerkEff(attack.WeaponPerks, attack.Skill, WP_PIERCING_STRIKE)) PartialBypass += 15 * weaponLegendaryEff(realWeapon,WP_PIERCING_STRIKE) PartialBypass += GetLeadershipBoost(attacker,FTLB_MORE_ARMOR_BYPASS) PartialBypass -= GetLeadershipBoost(target,FTLB_LESS_ARMOR_BYPASS) PartialBypass = CLAMP(partialBypass, 0, 100)

if (PartialBypass > 0 ) { TargetDR = (TargetDR * (100 - PartialBypass )) / 100; }

TargetDR += Ammo.DRMod TargetDR = CLAMP(TargetDR , 0, 100)

TargetDT = (TargetDT * (100 + Ammo.DTMod)) / 100 TargetDT = CLAMP(TargetDT , 0, 9999)

DmgMul = DmgMul * Ammo.DmgMul / 100 DmgMul = (DmgMul * bonusDamage) / 100

rawMin += BRD - targetDT rawMin -= rawMin * targetDR / 100 rawMin *= dmgMul / 100 rawMin *= rounds rawMax += BRD - targetDT rawMax -= rawMax * targetDR / 100 rawMax *= dmgMul / 100 rawMax *= rounds

rawDmg = Random(rawMin, rawMax)

(Difference between revisions)
Jump to: navigation, search