From 33808ab5679f84f434579086cb49a864fe6b1dc8 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Mon, 20 Dec 2010 01:58:15 +0100 Subject: [PATCH] Core/Spells: Fix Improved Spirit Tap proc from Mind Flay crits. Author: Dr.Tenma Fixes issue #2786 --HG-- branch : trunk --- sql/base/world_database.sql | 4 ++-- sql/updates/10733_world_spell_proc_event.sql | 4 ++++ src/server/game/Entities/Unit/Unit.cpp | 12 ++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 sql/updates/10733_world_spell_proc_event.sql diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 4309a3b3d5..ed1225ece5 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -18378,8 +18378,8 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam ( 15128, 0x04, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Mark of Flames ( 15277, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 6, 0, 0), -- Seal of Reckoning ( 15286, 0x20, 6, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Vampiric Embrace -( 15337, 0x00, 6, 0x00002000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Spirit Tap (Rank 1) -( 15338, 0x00, 6, 0x00002000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Spirit Tap (Rank 2) +( 15337, 0x00, 6, 0x00802000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Spirit Tap (Rank 1) +( 15338, 0x00, 6, 0x00802000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Improved Spirit Tap (Rank 2) ( 15346, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 6, 0, 0), -- Seal of Reckoning ( 15362, 0x00, 6, 0x10001E00, 0x00010004, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Inspiration (Rank 2) ( 15363, 0x00, 6, 0x10001E00, 0x00010004, 0x00000000, 0x00000000, 0x00000002, 0, 0, 0), -- Inspiration (Rank 3) diff --git a/sql/updates/10733_world_spell_proc_event.sql b/sql/updates/10733_world_spell_proc_event.sql new file mode 100644 index 0000000000..ed30cb35d1 --- /dev/null +++ b/sql/updates/10733_world_spell_proc_event.sql @@ -0,0 +1,4 @@ +DELETE FROM `spell_proc_event` WHERE `entry` IN ('15337','15338'); +INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES +('15337','0','6','8396800','2','0','0','2','0','0','0'), -- Improved Spirit Tap (Rank 1) +('15338','0','6','8396800','2','0','0','2','0','0','0'); -- Improved Spirit Tap (Rank 2) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index d6bfb80edb..7670c3f811 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -8759,6 +8759,18 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig case 72176: basepoints0 = 3; break; + case 15337: // Improved Spirit Tap (Rank 1) + case 15338: // Improved Spirit Tap (Rank 2) + { + if (procSpell->SpellFamilyFlags[0] & 0x800000) + if ((procSpell->Id != 58381) || !roll_chance_i(50)) + return false; + + target = pVictim; + break; + } + default: + break; } // Blade Barrier