aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-02-20 13:51:31 +0100
committerShauren <shauren.trinity@gmail.com>2025-02-20 13:51:31 +0100
commit48baec04dfd3b654c945df9b4fc2e8feadad760a (patch)
tree120919e161e59c437fbbdbf827b953a1cb0168d4 /src/server/game/Spells
parent375b43ee9e4bcfa6174939972884fbfca42e9b37 (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.cpp30
-rw-r--r--src/server/game/Spells/SpellMgr.cpp4
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));
}