aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
-rw-r--r--src/server/game/Spells/SpellMgr.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 404b9d4fac6..ecb2a67010d 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2673,6 +2673,23 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
break;
}
+ switch (spellEffectInfo.ApplyAuraName)
+ {
+ case SPELL_AURA_CONVERT_RUNE: // Can't be saved - aura handler relies on calculated amount and changes it
+ case SPELL_AURA_OPEN_STABLE: // No point in saving this, since the stable dialog can't be open on aura load anyway.
+ // Auras that require both caster & target to be in world cannot be saved
+ case SPELL_AURA_CONTROL_VEHICLE:
+ case SPELL_AURA_BIND_SIGHT:
+ case SPELL_AURA_MOD_POSSESS:
+ case SPELL_AURA_MOD_POSSESS_PET:
+ case SPELL_AURA_MOD_CHARM:
+ case SPELL_AURA_AOE_CHARM:
+ spellInfo->AttributesCu |= SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED;
+ break;
+ default:
+ break;
+ }
+
switch (spellEffectInfo.Effect)
{
case SPELL_EFFECT_SCHOOL_DAMAGE:
@@ -2949,7 +2966,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
{
if (uint32 spellId = liquid->SpellID)
if (SpellInfo* spellInfo = _GetSpellInfo(spellId))
- spellInfo->AttributesCu |= SPELL_ATTR0_CU_LIQUID_AURA;
+ spellInfo->AttributesCu |= SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED;
}
TC_LOG_INFO("server.loading", ">> Loaded SpellInfo custom attributes in %u ms", GetMSTimeDiffToNow(oldMSTime));