diff options
author | thenecromancer <none@none> | 2010-02-18 00:31:50 +0100 |
---|---|---|
committer | thenecromancer <none@none> | 2010-02-18 00:31:50 +0100 |
commit | 6d05d649eb7427e84df13fc2b72f78384ba729ed (patch) | |
tree | a203d055b7d48a9e91b298306e22ebc2ab37e665 /src | |
parent | 401a8eec02992605c64900baa9a39d7c24ba7810 (diff) |
Fix Glyph of Unholy Blight, and make Unholy Blight accumulate damage.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Unit.cpp | 13 |
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; } |