From ab988dc98284285b8ed0253f0bca1ddeb7eb9982 Mon Sep 17 00:00:00 2001 From: brotalnia Date: Fri, 10 May 2019 19:58:26 +0300 Subject: Core/Spells: Return CheckCast result from CastSpell (#23236) * Return CheckCast result from CastSpell * Return cast result from UnitAI methods too. (cherry picked from commit 49d0a5bbb69dd352bac0009625ded2c472b66805) --- src/server/game/Spells/Spell.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/server/game/Spells/Spell.cpp') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 369da6aa895..20d5eb080fd 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3039,7 +3039,7 @@ bool Spell::UpdateChanneledTargetList() return channelTargetEffectMask == 0; } -void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggeredByAura) +SpellCastResult Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggeredByAura) { if (m_CastItem) { @@ -3054,7 +3054,7 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered { SendCastResult(SPELL_FAILED_EQUIPPED_ITEM); finish(false); - return; + return SPELL_FAILED_EQUIPPED_ITEM; } } @@ -3077,7 +3077,7 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered { SendCastResult(SPELL_FAILED_SPELL_UNAVAILABLE); finish(false); - return; + return SPELL_FAILED_SPELL_UNAVAILABLE; } // Prevent casting at cast another spell (ServerSide check) @@ -3085,7 +3085,7 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered { SendCastResult(SPELL_FAILED_SPELL_IN_PROGRESS); finish(false); - return; + return SPELL_FAILED_SPELL_IN_PROGRESS; } LoadScripts(); @@ -3122,7 +3122,7 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered SendCastResult(result); finish(false); - return; + return result; } // Prepare data for triggers @@ -3153,7 +3153,7 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered { SendCastResult(SPELL_FAILED_MOVING); finish(false); - return; + return SPELL_FAILED_MOVING; } } @@ -3205,6 +3205,8 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered if (!m_casttime && /*!m_spellInfo->StartRecoveryTime && */ GetCurrentContainer() == CURRENT_GENERIC_SPELL) cast(true); } + + return SPELL_CAST_OK; } void Spell::cancel() -- cgit v1.2.3