From 89a2d7e46ce47eaa49ce9678a9fe093311edbf30 Mon Sep 17 00:00:00 2001 From: n0n4m3 Date: Sun, 20 Dec 2009 15:07:51 +0100 Subject: Fixed Wild Growth --HG-- branch : trunk --- src/game/Spell.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 4d610fb41ec..11aaa192727 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5089,6 +5089,26 @@ SpellCastResult Spell::CheckCast(bool strict) if(m_caster->GetTypeId() != TYPEID_PLAYER || !((Player*)m_caster)->IsInFeralForm()) return SPELL_FAILED_ONLY_SHAPESHIFT; break; + // Wild Growth + case 48438: + case 53248: + case 53249: + case 53251: + { + if (m_caster->GetTypeId() != TYPEID_PLAYER) + return SPELL_FAILED_DONT_REPORT; + + Unit* target = m_targets.getUnitTarget(); + if (!target || target->GetTypeId() != TYPEID_PLAYER) + return SPELL_FAILED_BAD_TARGETS; + + const Group* casterGroup = ((Player*)m_caster)->GetGroup(); + bool isInSameRaidOrGroup = casterGroup && casterGroup == ((Player*)target)->GetGroup(); + if (m_caster != target && !isInSameRaidOrGroup) + return SPELL_FAILED_BAD_TARGETS; + + break; + } case 1515: { if (m_caster->GetTypeId() != TYPEID_PLAYER) -- cgit v1.2.3