diff options
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 19 |
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)); |