Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From 114bc30766c94593f0628140aa987b6f6e638b2e Mon Sep 17 00:00:00 2001
- From: unknown <Kezo@.(none)>
- Date: Mon, 9 May 2011 21:14:34 +0200
- Subject: [PATCH] [PATCH] [Paladin] Seal of Vengeance/Corruption fix
- ---
- src/server/game/Entities/Unit/Unit.cpp | 32 ++++++++++++++++++++++----------
- 1 files changed, 22 insertions(+), 10 deletions(-)
- diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
- index 13a5e4b..13fdda0 100755
- --- a/src/server/game/Entities/Unit/Unit.cpp
- +++ b/src/server/game/Entities/Unit/Unit.cpp
- @@ -6700,22 +6700,28 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
- if (effIndex != 0) // effect 1, 2 used by seal unleashing code
- return false;
- - // At melee attack or Hammer of the Righteous spell damage considered as melee attack
- - if ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595))
- + // Auto attack, Hammer of the Righteous
- + bool stacker = ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595));
- + // Divine Storm, Crusader Strike
- + bool damager = ((procSpell && procSpell->Id == 53385) || (procSpell && procSpell->Id == 35395));
- +
- + // Only proc melee attacks
- + if (stacker || damager)
- triggered_spell_id = 31803;
- // On target with 5 stacks of Holy Vengeance direct damage is done
- if (Aura * aur = pVictim->GetAura(triggered_spell_id, GetGUID()))
- {
- if (aur->GetStackAmount() == 5)
- {
- - aur->RefreshDuration();
- + if (stacker)
- + aur->RefreshDuration();
- CastSpell(pVictim, 42463, true);
- return true;
- }
- }
- - // Only Autoattack can stack debuff
- - if (procFlag & PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS)
- + // Only Autoattack and Hammer of the Righteous can stack debuff
- + if (!stacker)
- return false;
- break;
- }
- @@ -6725,22 +6731,28 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
- if (effIndex != 0) // effect 1, 2 used by seal unleashing code
- return false;
- - // At melee attack or Hammer of the Righteous spell damage considered as melee attack
- - if ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595))
- + // Auto attack, Hammer of the Righteous
- + bool stacker = ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595));
- + // Divine Storm, Crusader Strike
- + bool damager = ((procSpell && procSpell->Id == 53385) || (procSpell && procSpell->Id == 35395));
- +
- + // Only proc melee attacks
- + if (stacker || damager)
- triggered_spell_id = 53742;
- // On target with 5 stacks of Blood Corruption direct damage is done
- if (Aura * aur = pVictim->GetAura(triggered_spell_id, GetGUID()))
- {
- if (aur->GetStackAmount() == 5)
- {
- - aur->RefreshDuration();
- + if (stacker)
- + aur->RefreshDuration();
- CastSpell(pVictim, 53739, true);
- return true;
- }
- }
- - // Only Autoattack can stack debuff
- - if (procFlag & PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS)
- + // Only Autoattack and Hammer of the Righteous can stack debuff
- + if (!stacker)
- return false;
- break;
- }
- --
- 1.7.3.1.msysgit.0
Advertisement
Add Comment
Please, Sign In to add comment