diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 2ae97b3a5..114734ad3 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5535,10 +5535,14 @@ SpellCastResult Spell::CheckCast(bool strict) { Unit* pTarget = m_targets.getUnitTarget(); + // In case of TARGET_SCRIPT, we have already added a target. Use it here (and find a better solution) + if (m_UniqueTargetInfo.size() == 1) + pTarget = m_caster->GetMap()->GetAnyTypeCreature(m_UniqueTargetInfo.front().targetGUID); + if (!pTarget) return SPELL_FAILED_BAD_TARGETS; - if (pTarget->GetTypeId() != TYPEID_UNIT) // Target must be creature + if (pTarget->GetTypeId() != TYPEID_UNIT) // Target must be creature. TODO: Check if target can also be player return SPELL_FAILED_BAD_TARGETS; if (pTarget == m_caster) // Clone self can't be accepted diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 745dc02c9..e7b818bf4 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 "11446" + #define REVISION_NR "11447" #endif // __REVISION_NR_H__