diff options
author | n0n4m3 <none@none> | 2009-12-20 15:07:51 +0100 |
---|---|---|
committer | n0n4m3 <none@none> | 2009-12-20 15:07:51 +0100 |
commit | 89a2d7e46ce47eaa49ce9678a9fe093311edbf30 (patch) | |
tree | 8f7b87284f0ad728c7c45d6f81381b538b88d253 /src | |
parent | baa264e6150700e54a9ba6995d16a6d5af2c0dee (diff) |
Fixed Wild Growth
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
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) |