Bonus Skill::Melee::DamageBonus(const Score& skillScore) { if (damage.empty()) return Bonus(); auto index = skillScore.Value(); if (index == 0) return Bonus(); else if (index > damage.size()) return Bonus(skillScore.Description(), damage.back()); else return Bonus(skillScore.Description(), damage.at(index - 1)); }
Bonus Skill::GetChance(const Score& level) const { if (chance.empty()) return Bonus(100); else { auto index = level.Value(); if (index == 0) { return Bonus(); } else if (index > chance.size()) { return Bonus(level.Description(), chance.back()); } else { return Bonus(level.Description(), chance.at(index - 1)); } } }