diff options
author | Machiavelli <none@none> | 2010-06-08 16:12:43 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2010-06-08 16:12:43 +0200 |
commit | e5aa4f7be97ca7c03cf9d8f5f3547f01b8c9cd3e (patch) | |
tree | 1e40d5057d042556a835c4e58dd051e19a79eec1 | |
parent | 04955cfb235e7dd3803a486ec1d198401446278f (diff) |
Only proc Infusion of Light (active buff) on Holy Shock criticals. (Problem introduced in previous fix)
Author: Shauren
--HG--
branch : trunk
-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 |