diff options
| author | ihm-tswow <76849026+ihm-tswow@users.noreply.github.com> | 2022-09-02 15:11:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-02 15:11:51 +0200 |
| commit | 44ac5cbbea4f8e17be978412681634130f006d16 (patch) | |
| tree | cf8baf68730073aa9337000869f9a478ecd21886 /src/server/game/Spells/SpellMgr.cpp | |
| parent | d86dcce1c855c5d2d5b48c00ef0e929f87b8b36e (diff) | |
Core/Misc: Store skillline abilities grouped by skill id (#28199)
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index c0a2a1ba80b..b7c1e3159ef 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2197,19 +2197,12 @@ void SpellMgr::LoadPetLevelupSpellMap() if (!creatureFamily->SkillLine[j]) continue; - for (uint32 k = 0; k < sSkillLineAbilityStore.GetNumRows(); ++k) - { - SkillLineAbilityEntry const* skillLine = sSkillLineAbilityStore.LookupEntry(k); - if (!skillLine) - continue; - - //if (skillLine->skillId != creatureFamily->SkillLine[0] && - // (!creatureFamily->SkillLine[1] || skillLine->skillId != creatureFamily->SkillLine[1])) - // continue; - - if (skillLine->SkillLine != creatureFamily->SkillLine[j]) - continue; + std::vector<SkillLineAbilityEntry const*> const* skillLineAbilities = GetSkillLineAbilitiesBySkill(creatureFamily->SkillLine[j]); + if (!skillLineAbilities) + continue; + for (SkillLineAbilityEntry const* skillLine : *skillLineAbilities) + { if (skillLine->AcquireMethod != SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN) continue; |
