diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-02-20 13:51:31 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-02-20 13:51:31 +0100 |
| commit | 48baec04dfd3b654c945df9b4fc2e8feadad760a (patch) | |
| tree | 120919e161e59c437fbbdbf827b953a1cb0168d4 /src/server/game/Spells | |
| parent | 375b43ee9e4bcfa6174939972884fbfca42e9b37 (diff) | |
Core/Players: Fixed wrong spell id of Seal of Righteousness being given to players who don't know Judgement of Light
Closes #30642
Diffstat (limited to 'src/server/game/Spells')
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 30 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 4 |
2 files changed, 19 insertions, 15 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 48ae954b080..80f7aa8e87a 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1136,23 +1136,23 @@ bool SpellInfo::IsStackableWithRanks() const return false; // All stance spells. if any better way, change it. - for (SpellEffectInfo const& effect : GetEffects()) + switch (SpellFamilyName) { - switch (SpellFamilyName) - { - case SPELLFAMILY_PALADIN: - // Paladin aura Spell - if (effect.Effect == SPELL_EFFECT_APPLY_AREA_AURA_RAID) - return false; - break; - case SPELLFAMILY_DRUID: - // Druid form Spell - if (effect.Effect == SPELL_EFFECT_APPLY_AURA && - effect.ApplyAuraName == SPELL_AURA_MOD_SHAPESHIFT) - return false; - break; - } + case SPELLFAMILY_PALADIN: + // Paladin aura Spell + if (HasEffect(SPELL_EFFECT_APPLY_AREA_AURA_RAID)) + return false; + // Seal of Righteousness + if (SpellFamilyFlags[1] & 0x20000000) + return false; + break; + case SPELLFAMILY_DRUID: + // Druid form Spell + if (HasAura(SPELL_AURA_MOD_SHAPESHIFT)) + return false; + break; } + return true; } diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 3dfd8dc16e4..a31d6fcbaab 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -1973,6 +1973,10 @@ void SpellMgr::LoadSkillLineAbilityMap() ++count; } + // Don't autolearn secondary variant of Seal of Righteousness - it is learned together with Judgement of Light + if (SkillLineAbilityEntry* sealOfRighteousnessR2 = const_cast<SkillLineAbilityEntry*>(sSkillLineAbilityStore.LookupEntry(11957))) + sealOfRighteousnessR2->AcquireMethod = 0; + TC_LOG_INFO("server.loading", ">> Loaded {} SkillLineAbility MultiMap Data in {} ms", count, GetMSTimeDiffToNow(oldMSTime)); } |
