diff options
author | Shauren <shauren.trinity@gmail.com> | 2012-11-27 01:28:56 -0800 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2012-11-27 01:28:56 -0800 |
commit | cea752fadf3f86a6317768d8a1c4dac1cb2b0a23 (patch) | |
tree | 1b22cce6e5e78b0639051ae7976238e1ff216485 | |
parent | 611ffbb189ffab88f2c0c87399c4b2dd7dc0bff2 (diff) | |
parent | 4e03a67045237423d006fda4fdb40d5b36b2acbd (diff) |
Merge pull request #8481 from Ne3x/unholy_blight_fix
Core/Spells: Fix Unholy Blight not stacking correctly
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 12 | ||||
-rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 8 |
2 files changed, 9 insertions, 11 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index ab2c07e1925..686b944d967 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7545,12 +7545,18 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere // Unholy Blight if (dummySpell->Id == 49194) { + triggered_spell_id = 50536; + SpellInfo const* unholyBlight = sSpellMgr->GetSpellInfo(triggered_spell_id); + if (!unholyBlight) + return false; + basepoints0 = CalculatePct(int32(damage), triggerAmount); - // Glyph of Unholy Blight + + //Glyph of Unholy Blight if (AuraEffect* glyph=GetAuraEffect(63332, 0)) AddPct(basepoints0, glyph->GetAmount()); - - triggered_spell_id = 50536; + + basepoints0 = basepoints0 / (unholyBlight->GetMaxDuration() / unholyBlight->Effects[0].Amplitude); basepoints0 += victim->GetRemainingPeriodicAmount(GetGUID(), triggered_spell_id, SPELL_AURA_PERIODIC_DAMAGE); break; } diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index b29f1498152..10b38b2de65 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -658,14 +658,6 @@ int32 AuraEffect::CalculateAmount(Unit* caster) AddPct(amount, m_spellInfo->Effects[EFFECT_2].CalcValue(caster)); } } - // Unholy Blight damage over time effect - else if (GetId() == 50536) - { - m_canBeRecalculated = false; - // we're getting total damage on aura apply, change it to be damage per tick - amount = int32((float)amount / GetTotalTicks()); - } - break; case SPELL_AURA_PERIODIC_ENERGIZE: switch (m_spellInfo->Id) { |