From e489988bf484b039736f7fb6c7d15d7924cdd320 Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 15 Jun 2009 23:17:48 -0500 Subject: [PATCH] [8021] Implement triggering part of shaman talent 51483 and ranks. Author: Beaste. sql by QAston --HG-- branch : trunk --- sql/mangos.sql | 5 ++++- sql/updates/4045_world_spell_proc_event.sql | 5 +++++ sql/world_spell_full.sql | 3 +++ src/game/Unit.cpp | 14 ++++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 sql/updates/4045_world_spell_proc_event.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index 636af9faca..7316cd17df 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -23,7 +23,7 @@ DROP TABLE IF EXISTS `db_version`; CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, - `required_8016_01_mangos_npc_spellclick_spells` bit(1) default NULL + `required_8021_01_mangos_spell_proc_event` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -17409,6 +17409,9 @@ INSERT INTO `spell_proc_event` VALUES (51474, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), (51478, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), (51479, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), +(51483, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0), +(51485, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0), +(51486, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0), (51556, 0x00000000, 11, 0x000000C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (51557, 0x00000000, 11, 0x000000C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (51558, 0x00000000, 11, 0x000000C0, 0x00000000, 0x00000010, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), diff --git a/sql/updates/4045_world_spell_proc_event.sql b/sql/updates/4045_world_spell_proc_event.sql new file mode 100644 index 0000000000..6104f0d078 --- /dev/null +++ b/sql/updates/4045_world_spell_proc_event.sql @@ -0,0 +1,5 @@ +DELETE FROM `spell_proc_event` WHERE `entry` IN (51483,51485,51486); +INSERT INTO `spell_proc_event` VALUES +(51483, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0.000000, 0.000000, 0), +(51485, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0.000000, 0.000000, 0), +(51486, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0.000000, 0.000000, 0); \ No newline at end of file diff --git a/sql/world_spell_full.sql b/sql/world_spell_full.sql index 42c2257ec2..c39370ec58 100644 --- a/sql/world_spell_full.sql +++ b/sql/world_spell_full.sql @@ -1200,6 +1200,9 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell ( 51474, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0, 0, 0), -- Astral Shift (Rank 1) ( 51478, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0, 0, 0), -- Astral Shift (Rank 2) ( 51479, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0, 0, 0), -- Astral Shift (Rank 3) +(51483, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0.000000, 0.000000, 0), +(51485, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0.000000, 0.000000, 0), +(51486, 0x00000001, 11, 0x20000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0.000000, 0.000000, 0), ( 51521, 0x00, 11, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Improved Stormstrike ( 51522, 0x00, 11, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Improved Stormstrike ( 51528, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2.5, 0, 0), -- Maelstrom Weapon (Rank 1) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index dd1307e7ef..190aea1b92 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6575,6 +6575,20 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger break; } } + // Storm, Earth and Fire + if (dummySpell->SpellIconID == 3063) + { + // Earthbind Totem summon only + if(procSpell->Id != 2484) + return false; + + float chance = triggerAmount; + if (!roll_chance_f(chance)) + return false; + + triggered_spell_id = 64695; + break; + } // Ancestral Awakening if (dummySpell->SpellIconID == 3065) {