From a84d67a3898bef8973ef979adfe0111cc1897c9a Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Thu, 23 Dec 2010 00:54:15 +0300 Subject: [PATCH] [10908] Imporve detection need use reagents by triggered spell. Now regagent used if main spell (if infor about provided to triggered cast) not have regent data. This fix reagetn use for spell 43723. But maybe need another fixes for proper animation. --- src/game/Spell.cpp | 5 +++++ src/game/SpellEffects.cpp | 4 +--- src/shared/revision_nr.h | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index c9356a6d4..278e98271 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5811,6 +5811,11 @@ bool Spell::IgnoreItemRequirements() const if (targetItem->GetOwnerGuid() != m_caster->GetObjectGuid()) return false; + /// Some triggered spells have same reagents that have master spell + /// expected in test: master spell have reagents in first slot then triggered don't must use own + if (m_triggeredBySpellInfo && !m_triggeredBySpellInfo->Reagent[0]) + return false; + return true; } diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 9cff5cfda..daa81b6a4 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1220,16 +1220,14 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) return; } // Demon Broiled Surprise - /* FIX ME: Required for correct work implementing implicit target 7 (in pair (22,7)) case 43723: { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; - ((Player*)m_caster)->CastSpell(unitTarget, 43753, true); + ((Player*)m_caster)->CastSpell(unitTarget, 43753, true, m_CastItem, NULL, m_originalCasterGUID, m_spellInfo); return; } - */ case 43882: // Scourging Crystal Controller Dummy { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 3e2c28909..5d21b85af 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10907" + #define REVISION_NR "10908" #endif // __REVISION_NR_H__