static int basic_damage_formula(const EffectiveAttackStats& attacker, const DerivedStats& defender) { float mult = damage_multiplier(attacker.power, defender.resistance); float base = attacker.damage - defender.reduction * attacker.resist_modifier; if (base < 0) return 0; return round(mult * base); }
float techtree_t::damage_multiplier(const std::string& armour,const std::string& attack) const { return damage_multiplier(armour_ID(armour),attack_ID(attack)); }