diff options
| -rw-r--r-- | sql/updates/8511_world_spell_proc_event.sql | 1 | ||||
| -rw-r--r-- | sql/world_database.sql | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 13 | 
3 files changed, 12 insertions, 6 deletions
diff --git a/sql/updates/8511_world_spell_proc_event.sql b/sql/updates/8511_world_spell_proc_event.sql new file mode 100644 index 00000000000..91cc7841f97 --- /dev/null +++ b/sql/updates/8511_world_spell_proc_event.sql @@ -0,0 +1 @@ +UPDATE spell_proc_event SET procEx = 0x0 WHERE entry IN(53569,53576); diff --git a/sql/world_database.sql b/sql/world_database.sql index 60c05bd068f..b589f3b1b0f 100644 --- a/sql/world_database.sql +++ b/sql/world_database.sql @@ -6947,8 +6947,8 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam  ( 53551, 0x00,  10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,   0,   0,   0), -- Sacred Cleansing (Rank 1)  ( 53552, 0x00,  10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,   0,   0,   0), -- Sacred Cleansing (Rank 2)  ( 53553, 0x00,  10, 0x00001000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,   0,   0,   0), -- Sacred Cleansing (Rank 3) -( 53569, 0x00,  10, 0x40200000, 0x00010000, 0x00000000, 0x00000000, 0x00000003,   0,   0,   0), -- Infusion of Light (Rank 1) -( 53576, 0x00,  10, 0x40200000, 0x00010000, 0x00000000, 0x00000000, 0x00000003,   0,   0,   0), -- Infusion of Light (Rank 2) +( 53569, 0x00,  10, 0x40200000, 0x00010000, 0x00000000, 0x00000000, 0x00000000,   0,   0,   0), -- Infusion of Light (Rank 1) +( 53576, 0x00,  10, 0x40200000, 0x00010000, 0x00000000, 0x00000000, 0x00000000,   0,   0,   0), -- Infusion of Light (Rank 2)  ( 53646, 0x00,   0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002,   0,   0,   0), -- Demonic Pact (Rank 1)  ( 53671, 0x00,  10, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00040000,   0,   0,   0), -- Judgements of the Pure (Rank 1)  ( 53672, 0x00,  10, 0x00200000, 0x00010000, 0x00000000, 0x00000000, 0x00000002,   0,   0,   0), -- Infusion of Light diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index a5a3ea268f3..e2493e50e3c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7753,7 +7753,7 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura,              // Infusion of Light              if (dummySpell->SpellIconID == 3021)              { -                // Flash of Light Heal over Time +                // Flash of Light HoT on Flash of Light when Sacred Shield active                  if (procSpell->SpellFamilyFlags[0] & 0x40000000 && procSpell->SpellIconID == 242)                  {                      *handled = true; @@ -7763,9 +7763,14 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura,                          CastCustomSpell(pVictim, 66922, &bp0, NULL, NULL, true);                          return true;                      }    -                 } -              } -        }break; +                } +                // but should not proc on non-critical Holy Shocks +                else if ((procSpell->SpellFamilyFlags[0] & 0x200000 || procSpell->SpellFamilyFlags[1] & 0x10000) && !(procEx & PROC_EX_CRITICAL_HIT)) +                    *handled = true; +                break; +            } +            break; +        }          case SPELLFAMILY_MAGE:          {              // Combustion  | 
