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 From 719c151b7b68a1b14aebc00a2bb97c78a893d959 Mon Sep 17 00:00:00 2001 From: hacknowledge Date: Thu, 25 Aug 2011 00:32:46 +0200 Subject: tabs to spaces --- src/server/game/Spells/Spell.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f2e2d915847..41a330869d4 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3289,9 +3289,9 @@ 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(); + // handle ammo consumption for Hunter's volley spell + if (m_spellInfo->IsRangedWeaponSpell() && m_spellInfo->IsChanneled()) + TakeAmmo(); if (m_spellState != SPELL_STATE_CASTING) @@ -6644,9 +6644,9 @@ 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; + // do not consume ammo anymore for Hunter's volley spell + if (IsTriggered() && m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && m_spellInfo->IsAOE()) + usesAmmo = false; if (usesAmmo) { -- cgit v1.2.3 From 7f7ca27aa615c601f817770727b6db6780e9396c Mon Sep 17 00:00:00 2001 From: hacknowledge Date: Thu, 25 Aug 2011 00:41:02 +0200 Subject: white space correction --- src/server/game/Spells/Spell.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 41a330869d4..c7b11a05696 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3290,7 +3290,7 @@ void Spell::handle_immediate() TakeCastItem(); // handle ammo consumption for Hunter's volley spell - if (m_spellInfo->IsRangedWeaponSpell() && m_spellInfo->IsChanneled()) + if (m_spellInfo->IsRangedWeaponSpell() && m_spellInfo->IsChanneled()) TakeAmmo(); -- cgit v1.2.3