aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCannix <connex-castle@gmx.de>2018-02-17 16:46:26 +0100
committerjackpoz <giacomopoz@gmail.com>2018-02-17 16:46:26 +0100
commit7e71b4535a0e927ecdee30489e5a3c0b6f247559 (patch)
tree0d25654324e2ce97bab24df7a05e8244e292ea75 /src
parent56874b44f0625f80442ea906f487e3253bdd16eb (diff)
Core/Spells: Execute item casts immediately instead (#21396)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 7eaad1835ec..03d45aa2236 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3065,12 +3065,11 @@ void Spell::prepare(SpellCastTargets const& targets, AuraEffect const* triggered
if (!(_triggeredCastFlags & TRIGGERED_IGNORE_GCD))
TriggerGlobalCooldown();
- //item: first cast may destroy item and second cast causes crash
// commented out !m_spellInfo->StartRecoveryTime, it forces instant spells with global cooldown to be processed in spell::update
// as a result a spell that passed CheckCast and should be processed instantly may suffer from this delayed process
// the easiest bug to observe is LoS check in AddUnitTarget, even if spell passed the CheckCast LoS check the situation can change in spell::update
// because target could be relocated in the meantime, making the spell fly to the air (no targets can be registered, so no effects processed, nothing in combat log)
- if (!m_casttime && /*!m_spellInfo->StartRecoveryTime && */!m_castItemGUID && GetCurrentContainer() == CURRENT_GENERIC_SPELL)
+ if (!m_casttime && /*!m_spellInfo->StartRecoveryTime && */ GetCurrentContainer() == CURRENT_GENERIC_SPELL)
cast(true);
}
}