summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-09-26 15:41:28 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-09-26 15:41:28 +0200 |
commit | c46bd0d9e712c48a7322164187decb8c44d2ca2c (patch) | |
tree | 55c1b17b1184b8a348411796c31b3e396b510622 /src/battle | |
parent | 23e461d6a2165167b14f73c6f09bcab6114162dd (diff) |
Takes stats based damage modifier into account.
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/struct/btl_attack.erl | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/battle/struct/btl_attack.erl b/src/battle/struct/btl_attack.erl index 2411529..080dae4 100644 --- a/src/battle/struct/btl_attack.erl +++ b/src/battle/struct/btl_attack.erl @@ -75,11 +75,12 @@ roll_parry (DefenderStatistics) -> ( precision(), boolean(), + float(), shr_omnimods:type(), shr_omnimods:type() ) -> non_neg_integer(). -get_damage (Precision, IsCritical, ActualAtkOmni, ActualDefOmni) -> +get_damage (Precision, IsCritical, AtkModifier, ActualAtkOmni, ActualDefOmni) -> S0DamageMultiplier = case Precision of misses -> 0; @@ -93,10 +94,12 @@ get_damage (Precision, IsCritical, ActualAtkOmni, ActualDefOmni) -> _ -> S0DamageMultiplier end, + S2DamageMultiplier = (S1DamageMultiplier * AtkModifier), + ActualDamage = shr_omnimods:get_attack_damage ( - S1DamageMultiplier, + S2DamageMultiplier, ActualAtkOmni, ActualDefOmni ), @@ -129,7 +132,16 @@ effect_of_attack (Order, AtkCurrData, DefCurrData, CanParry) -> Precision = roll_precision(ActualAtkStats, ActualDefStats), IsCritical = roll_critical_hit(ActualAtkStats), - Damage = get_damage(Precision, IsCritical, ActualAtkOmni, ActualDefOmni), + AtkDamageModifier = shr_statistics:get_damage_modifier(ActualAtkStats), + Damage = + get_damage + ( + Precision, + IsCritical, + AtkDamageModifier, + ActualAtkOmni, + ActualDefOmni + ), #attack { |