void monster::absorb_hit(body_part, int, damage_instance &dam) { for (std::vector<damage_unit>::iterator it = dam.damage_units.begin(); it != dam.damage_units.end(); ++it) { it->amount -= std::min(resistances(*this).get_effective_resist(*it), it->amount); } }
void monster::absorb_hit(body_part, damage_instance &dam) { for( auto &elem : dam.damage_units ) { elem.amount -= std::min( resistances( *this ).get_effective_resist( elem ), elem.amount ); } }