aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellEffects.cpp16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 7523664c8b1..89845a51bd0 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -5873,20 +5873,10 @@ void Spell::EffectSummonObject(uint32 i)
default: return;
}
- uint64 guid = m_caster->m_ObjectSlot[slot];
- if(guid != 0)
+ if(uint64 guid = m_caster->m_ObjectSlot[slot])
{
- GameObject* obj = NULL;
- if( m_caster )
- obj = m_caster->GetMap()->GetGameObject(guid);
-
- if(obj)
- {
- // Recast case - null spell id to make auras not be removed on object remove from world
- if (m_spellInfo->Id == obj->GetSpellId())
- obj->SetSpellId(0);
- m_caster->RemoveGameObject(obj, true);
- }
+ if(GameObject* obj = m_caster ? m_caster->GetMap()->GetGameObject(guid) : NULL)
+ obj->SetLootState(GO_JUST_DEACTIVATED);
m_caster->m_ObjectSlot[slot] = 0;
}