Guest User

Paladin-Seal-of-Vengeance-Corruption-fix

a guest
May 24th, 2011
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.37 KB | None | 0 0
  1. From 114bc30766c94593f0628140aa987b6f6e638b2e Mon Sep 17 00:00:00 2001
  2. From: unknown <Kezo@.(none)>
  3. Date: Mon, 9 May 2011 21:14:34 +0200
  4. Subject: [PATCH] [PATCH] [Paladin] Seal of Vengeance/Corruption fix
  5.  
  6. ---
  7. src/server/game/Entities/Unit/Unit.cpp |   32 ++++++++++++++++++++++----------
  8.  1 files changed, 22 insertions(+), 10 deletions(-)
  9.  
  10. diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
  11. index 13a5e4b..13fdda0 100755
  12. --- a/src/server/game/Entities/Unit/Unit.cpp
  13. +++ b/src/server/game/Entities/Unit/Unit.cpp
  14. @@ -6700,22 +6700,28 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
  15.                      if (effIndex != 0)                       // effect 1, 2 used by seal unleashing code
  16.                          return false;
  17.  
  18. -                    // At melee attack or Hammer of the Righteous spell damage considered as melee attack
  19. -                    if ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595))
  20. +                    // Auto attack, Hammer of the Righteous
  21. +                    bool stacker = ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595));
  22. +                    // Divine Storm, Crusader Strike
  23. +                    bool damager = ((procSpell && procSpell->Id == 53385) || (procSpell && procSpell->Id == 35395));
  24. +
  25. +                    // Only proc melee attacks
  26. +                    if (stacker || damager)
  27.                          triggered_spell_id = 31803;
  28.                      // On target with 5 stacks of Holy Vengeance direct damage is done
  29.                      if (Aura * aur = pVictim->GetAura(triggered_spell_id, GetGUID()))
  30.                      {
  31.                          if (aur->GetStackAmount() == 5)
  32.                          {
  33. -                            aur->RefreshDuration();
  34. +                            if (stacker)
  35. +                                aur->RefreshDuration();
  36.                              CastSpell(pVictim, 42463, true);
  37.                              return true;
  38.                          }
  39.                      }
  40.  
  41. -                    // Only Autoattack can stack debuff
  42. -                    if (procFlag & PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS)
  43. +                    // Only Autoattack and Hammer of the Righteous can stack debuff
  44. +                    if (!stacker)
  45.                          return false;
  46.                      break;
  47.                  }
  48. @@ -6725,22 +6731,28 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
  49.                      if (effIndex != 0)                       // effect 1, 2 used by seal unleashing code
  50.                          return false;
  51.  
  52. -                    // At melee attack or Hammer of the Righteous spell damage considered as melee attack
  53. -                    if ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595))
  54. +                    // Auto attack, Hammer of the Righteous
  55. +                    bool stacker = ((procFlag & PROC_FLAG_DONE_MELEE_AUTO_ATTACK) || (procSpell && procSpell->Id == 53595));
  56. +                    // Divine Storm, Crusader Strike
  57. +                    bool damager = ((procSpell && procSpell->Id == 53385) || (procSpell && procSpell->Id == 35395));
  58. +
  59. +                    // Only proc melee attacks
  60. +                    if (stacker || damager)
  61.                          triggered_spell_id = 53742;
  62.                      // On target with 5 stacks of Blood Corruption direct damage is done
  63.                      if (Aura * aur = pVictim->GetAura(triggered_spell_id, GetGUID()))
  64.                      {
  65.                          if (aur->GetStackAmount() == 5)
  66.                          {
  67. -                            aur->RefreshDuration();
  68. +                            if (stacker)
  69. +                                aur->RefreshDuration();
  70.                              CastSpell(pVictim, 53739, true);
  71.                              return true;
  72.                          }
  73.                      }
  74.  
  75. -                    // Only Autoattack can stack debuff
  76. -                    if (procFlag & PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS)
  77. +                    // Only Autoattack and Hammer of the Righteous can stack debuff
  78. +                    if (!stacker)
  79.                          return false;
  80.                      break;
  81.                  }
  82. --
  83. 1.7.3.1.msysgit.0
Advertisement
Add Comment
Please, Sign In to add comment