aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
authorthenecromancer <none@none>2010-02-18 00:31:50 +0100
committerthenecromancer <none@none>2010-02-18 00:31:50 +0100
commit6d05d649eb7427e84df13fc2b72f78384ba729ed (patch)
treea203d055b7d48a9e91b298306e22ebc2ab37e665 /src/game/Unit.cpp
parent401a8eec02992605c64900baa9a39d7c24ba7810 (diff)
Fix Glyph of Unholy Blight, and make Unholy Blight accumulate damage.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index f0d6f0b9b4b..12e8f1b37e6 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -7288,6 +7288,19 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
if (dummySpell->Id == 49194)
{
basepoints0 = triggerAmount * damage / 100;
+ // Glyph of Unholy Blight
+ if (AuraEffect *glyph=GetAuraEffect(63332,0))
+ basepoints0 += basepoints0 * glyph->GetAmount() / 100;
+ // Find replaced aura to use it's remaining amount
+ AuraEffectList const& DoTAuras = target->GetAuraEffectsByType(SPELL_AURA_PERIODIC_DAMAGE);
+ for (Unit::AuraEffectList::const_iterator i = DoTAuras.begin(); i != DoTAuras.end(); ++i)
+ {
+ if ((*i)->GetCasterGUID() != GetGUID() || (*i)->GetId() != 50536)
+ continue;
+ basepoints0 += ((*i)->GetAmount() * ((*i)->GetTotalTicks() - ((*i)->GetTickNumber()))) / (*i)->GetTotalTicks();
+ break;
+ }
+
triggered_spell_id = 50536;
break;
}