aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
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;
}