diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 235613c11c4..53257622e68 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -6174,6 +6174,7 @@ bool Player::UpdateFishingSkill() // bonus abilities in sSkillLineAbilityStore // Used only to avoid scan DBC at each skill grow static uint32 bonusSkillLevels[] = {75, 150, 225, 300, 375, 450}; +static const size_t bonusSkillLevelsSize = sizeof(bonusSkillLevels) / sizeof(uint32); bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step) { @@ -6211,9 +6212,10 @@ bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step) SetUInt32Value(valueIndex, MAKE_SKILL_VALUE(new_value, MaxValue)); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; - for (uint32* bsl = &bonusSkillLevels[0]; *bsl; ++bsl) + for (size_t i = 0; i < bonusSkillLevelsSize; ++i) { - if ((SkillValue < *bsl && new_value >= *bsl)) + uint32 bsl = bonusSkillLevels[i]; + if (SkillValue < bsl && new_value >= bsl) { learnSkillRewardedSpells(SkillId, new_value); break; |