Some cleanup as well as fix for a certain type of aa proc

This commit is contained in:
KimLS
2015-06-15 15:09:06 -07:00
parent 34f0106437
commit a984e9bd7c
8 changed files with 120 additions and 147 deletions
+8 -6
View File
@@ -640,14 +640,16 @@ void Client::CalcAABonuses(StatBonuses *newbon)
memset(newbon, 0, sizeof(StatBonuses)); // start fresh
for (const auto &aa : aa_ranks) {
auto ability = zone->GetAlternateAdvancementAbility(aa.first);
// zone doesn't know about this! bad data some where
if (!ability)
continue;
auto ability_rank = zone->GetAlternateAdvancementAbilityAndRank(aa.first, aa.second.first);
auto ability = ability_rank.first;
auto rank = ability_rank.second;
if(!ability) {
continue;
}
auto rank = ability->GetRankByPointsSpent(aa.second.first);
// bad data or no effects
if (!rank || rank->effects.empty())
if (rank->effects.empty())
continue;
ApplyAABonuses(*rank, newbon);