.

User:Antohha

At first target's resistances and thresholds are calculated.

Contents

Damage resistance

TargetDR = Armor + Perks
TargetDR = (TargetDR* (100 - (10 * HitTheGap) + 30*attacker.Param[TRAIT_FINESSE])) / 100
if (PartialBypass > 0 ) { TargetDR = (TargetDR * (100 - PartialBypass )) / 100; } TargetDR += Ammo.DRMod
TargetDR = CLAMP(TargetDR , 0, 100)

Bypass

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)

Damage threshold

TargetDT = Armor + Perks
TargetDT = (TargetDT * (100 - (10 * HitTheGap) + changeDT)) / 100
TargetDT = (TargetDT * (100 + Ammo.DTMod)) / 100
TargetDT = CLAMP(TargetDT , 0, 9999)

Damage calculation

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)

Bleed calculation

if rawDmg was higher than zero, Bleed is calculated.


BleedCoEff += attack.BleedStr + 20 * weaponPerkEff(attack.WeaponPerks,attack.Skill, WP_BETTER_BLEED);
BleedCoEff += 20*weaponLegendaryEff(realWeapon,WP_BETTER_BLEED);

if (BleedCoEff > 0)

{

BleedCoEff -= GetLeadershipBoost(target,FTLB_LESS_BLEED); if (valid(attacker))BleedCoEff += GetLeadershipBoost(target,FTLB_MORE_BLEED);

BleedDmg = rawDmg * BleedCoEff / 100;

}

int toBleed = target.Param[ST_DAMAGE_TO_BLEED_DR] + 10 * target.Perk[PE_PMS];

int mitbd = rawDmg * toBleed / 100 + target.Param[ST_DAMAGE_TO_BLEED_DT];

if (mitbd > rawDmg )mitbd = rawDmg ;

rawDmg -= mitbd ;
BleedDmg += mitbd;

if (bd > 0)AffectBleed(target, BleedDmg );





Energy Weapons
Name Damage range ap cost speed accuracy dmgtype skill burstcount 1hex spread
Name Damage range ap cost speed accuracy dmgtype skill burstcount 1hex spread

Faction Currency

Faction Currency
Brahmin Boys Family Vault Tec Lawyers
Brahminc.png Familyc.png Vaultc.png Lawyerc.png
Revision as of 12:15, 7 April 2016 by Antohha (Talk | contribs)

Jump to: navigation, search