aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellMgr.cpp
diff options
context:
space:
mode:
authorihm-tswow <76849026+ihm-tswow@users.noreply.github.com>2022-09-02 15:11:51 +0200
committerGitHub <noreply@github.com>2022-09-02 15:11:51 +0200
commit44ac5cbbea4f8e17be978412681634130f006d16 (patch)
treecf8baf68730073aa9337000869f9a478ecd21886 /src/server/game/Spells/SpellMgr.cpp
parentd86dcce1c855c5d2d5b48c00ef0e929f87b8b36e (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.cpp17
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;