From 54ed3844527c957384a2d4591bc1be0202d240d4 Mon Sep 17 00:00:00 2001 From: KarrokDC Date: Sun, 21 Feb 2016 16:26:24 +0100 Subject: Create fallback for item-cast spells while character is still in the process of logging in. closes #16604 --- src/server/game/Spells/Spell.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 1cef132fcda..36a597ce736 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2861,7 +2861,17 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggered { m_castItemGUID = m_CastItem->GetGUID(); m_castItemEntry = m_CastItem->GetEntry(); - m_castItemLevel = int32(m_CastItem->GetItemLevel(m_CastItem->GetOwner())); + + if (Player* owner = m_CastItem->GetOwner()) + m_castItemLevel = int32(m_CastItem->GetItemLevel(owner)); + else if (m_CastItem->GetOwnerGUID() == m_caster->GetGUID()) + m_castItemLevel = int32(m_CastItem->GetItemLevel(m_caster->ToPlayer())); + else + { + SendCastResult(SPELL_FAILED_EQUIPPED_ITEM); + finish(false); + return; + } } InitExplicitTargets(*targets); -- cgit v1.2.3