From eb15c8c08a3792b9de7153a7085e1f37f8cdbe73 Mon Sep 17 00:00:00 2001 From: hacknowledge Date: Wed, 24 Aug 2011 23:26:25 +0200 Subject: Fixes ammo consumption for Hunter's Volley #2734 --- src/server/game/Spells/Spell.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 84d31449c41..f2e2d915847 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3289,6 +3289,11 @@ void Spell::handle_immediate() // Remove used for cast item if need (it can be already NULL after TakeReagents call TakeCastItem(); + // handle ammo consumption for Hunter's volley spell + if (IsRangedWeaponSpell(m_spellInfo) && IsChanneledSpell(m_spellInfo)) + TakeAmmo(); + + if (m_spellState != SPELL_STATE_CASTING) finish(true); // successfully finish spell cast (not last in case autorepeat or channel spell) } @@ -6639,6 +6644,10 @@ void Spell::CalculateDamageDoneForAllTargets() if (!unit) // || !unit->isAlive()) do we need to check alive here? continue; + // do not consume ammo anymore for Hunter's volley spell + if (IsTriggered() && m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && IsAreaOfEffectSpell(m_spellInfo)) + usesAmmo = false; + if (usesAmmo) { bool ammoTaken = false; -- cgit v1.2.3