aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <none@none>2010-07-24 22:14:23 +0200
committerShauren <none@none>2010-07-24 22:14:23 +0200
commit687cd83bddfbc5416ba11bff53c8a636747a5802 (patch)
tree6af8172452168675be92414785063e694a2b76cb
parent32ceff1267fc74bb72cf421e0e016d8ec5b51c39 (diff)
Fixed Thrill of the Hunt not restoring mana when Explosive Shot crits
Closes issue #2221. --HG-- branch : trunk
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 10e6905ec8a..e9e1bdc0258 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -6627,8 +6627,14 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
if (!procSpell)
return false;
- // mana cost save
- basepoints0 = CalculatePowerCost(procSpell, this, SpellSchoolMask(procSpell->SchoolMask)) * 4/10;
+ // Explosive Shot
+ if (procSpell->SpellFamilyFlags[2] & 0x200)
+ {
+ if (AuraEffect const* pEff = pVictim->GetAuraEffect(SPELL_AURA_PERIODIC_DUMMY, SPELLFAMILY_HUNTER, 0x0, 0x80000000, 0x0, GetGUID()))
+ basepoints0 = CalculatePowerCost(pEff->GetSpellProto(), this, SpellSchoolMask(pEff->GetSpellProto()->SchoolMask)) * 4/10/3;
+ }
+ else
+ basepoints0 = CalculatePowerCost(procSpell, this, SpellSchoolMask(procSpell->SchoolMask)) * 4/10;
if (basepoints0 <= 0)
return false;