diff options
author | QAston <none@none> | 2009-07-31 13:21:01 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-07-31 13:21:01 +0200 |
commit | 1f53433c6c4de01709410581ba644be7e6aaf6fe (patch) | |
tree | 82ef56f79191af1e702dcfd9ab8dbd3c57f97ed9 | |
parent | 2bddcc4303060a42e88a0478005c3c0368e3569a (diff) |
Backed out changeset "[8251] Store in some DB tables only data for first rank. Author: VladimirMangos" until support for different values for ranks and for custom ranks is added.
--HG--
branch : trunk
-rw-r--r-- | sql/mangos.sql | 437 | ||||
-rw-r--r-- | sql/updates/4667_8251_02_mangos_spell_bonus_data.sql | 23 | ||||
-rw-r--r-- | sql/updates/4667_8251_03_mangos_spell_proc_event.sql | 8 | ||||
-rw-r--r-- | src/game/Pet.cpp | 11 | ||||
-rw-r--r-- | src/game/Player.cpp | 11 | ||||
-rw-r--r-- | src/game/SpellMgr.cpp | 156 | ||||
-rw-r--r-- | src/game/SpellMgr.h | 32 |
7 files changed, 145 insertions, 533 deletions
diff --git a/sql/mangos.sql b/sql/mangos.sql index 40877767793..3e99024dfc6 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_8251_03_mangos_spell_proc_event` bit(1) default NULL + `required_8247_01_mangos_spell_bonus_data` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -13583,171 +13583,6 @@ CREATE TABLE `spell_chain` ( ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Spell Additinal Data'; -- -<<<<<<< HEAD:sql/mangos.sql -======= --- Dumping data for table `spell_bonus_data` --- - -LOCK TABLES `spell_bonus_data` WRITE; -/*!40000 ALTER TABLE `spell_bonus_data` DISABLE KEYS */; -INSERT INTO `spell_bonus_data` VALUES -('48721', '0', '0', '0.04', 'Death Knight - Blood Boil'), -('55078', '0', '0', '0.055', 'Death Knight - Blood Plague Dummy Proc'), -('50444', '0', '0', '0.105', 'Death Knight - Corpse Explosion Triggered'), -('52212', '0', '0', '0.0475', 'Death Knight - Death and Decay Triggered'), -('47632', '0', '0', '0.15', 'Death Knight - Death Coil Damage'), -('47633', '0', '0', '0.15', 'Death Knight - Death Coil Heal'), -('55095', '0', '0', '0.055', 'Death Knight - Frost Fever'), -('49184', '0', '0', '0.1', 'Death Knight - Howling Blast'), -('45477', '0', '0', '0.1', 'Death Knight - Icy Touch'), -('50842', '0', '0', '0.04', 'Death Knight - Pestilence'), -('47476', '0', '0', '0.06', 'Death Knight - Strangulate'), -('50536', '0', '0', '0.013', 'Death Knight - Unholy Blight Triggered'), -('50401', '0', '0', '0', 'Death Knight - Razor Frost'), -('56903', '0', '0', '0', 'Death Knight - Lichflame'), -('5185', '1.6104', '0', '0', 'Druid - Healing Touch'), -('33763', '0', '0.09518', '0', 'Druid - Lifebloom'), -('774', '0', '0.37604', '0', 'Druid - Rejuvenation'), -('8936', '0.539', '0.188', '0', 'Druid - Regrowth'), -('50288', '0.05', '0', '0', 'Druid - Starfall'), -('50294', '0.012', '0', '0', 'Druid - Starfall AOE'), -('18562', '0', '0', '0', 'Druid - Swiftmend'), -('44203', '0.538', '0', '0', 'Druid - Tranquility Triggered'), -('48438', '0', '0.11505', '0', 'Druid - Wild Growth'), -('50464', '0.6611', '0', '0', 'Druid - Nourish'), -('339', '0', '0.1', '0', 'Druid - Entangling Roots'), -('42231', '0.12898', '0', '0', 'Druid - Hurricane Triggered'), -('5570', '0', '0.127', '0', 'Druid - Insect Swarm'), -('8921', '0.1515', '0.13', '0', 'Druid - Moonfire'), -('2912', '1', '0', '0', 'Druid - Starfire'), -('5176', '0.5714', '0', '0', 'Druid - Wrath'), -('30451', '0.7143', '0', '0', 'Mage - Arcane Blast'), -('1449', '0.2128', '0', '0', 'Mage - Arcane Explosion'), -('7268', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell'), -('1463', '0.8053', '0', '0', 'Mage - Mana Shield'), -('44425', '0.8571', '0', '0', 'Mage - Arcane Barrage'), -('11113', '0.1357', '0', '0', 'Mage - Blast Wave Rank'), -('31661', '0.1357', '0', '0', 'Mage - Dragons Breath'), -('2136', '0.4286', '0', '0', 'Mage - Fire Blast'), -('133', '1', '0', '0', 'Mage - Fire Ball'), -('2120', '0.2357', '0.122', '0', 'Mage - Flamestrike'), -('11366', '1.15', '0.05', '0', 'Mage - Pyroblast'), -('2948', '0.4286', '0', '0', 'Mage - Scorch'), -('44614', '0.8571', '0', '0', 'Mage - Frostfire Bolt'), -('44457', '0.4', '0.2', '0', 'Mage - Living Bomb'), -('42208', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell'), -('120', '0.1357', '0', '0', 'Mage - Cone of Cold'), -('122', '0.193', '0', '0', 'Mage - Frost Nova'), -('116', '0.8143', '0', '0', 'Mage - Frost Bolt'), -('11426', '0.8053', '0', '0', 'Mage - Ice Barrier'), -('30455', '0.1429', '0', '0', 'Mage - Ice Lance'), -('34913','0', '0', '0', 'Mage - Molten Armor Triggered'), -('19750','0.4286', '0', '0', 'Paladin - Flash of Light'), -('635', '0.7143', '0', '0', 'Paladin - Holy Light'), -('25912', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt'), -('25914', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal'), -('31935', '0.07', '0', '0.07', 'Paladin - Avengers Shiled'), -('26573', '0', '0.04', '0.04', 'Paladin - Consecration'), -('879', '0.15', '0', '0.15', 'Paladin - Exorcism'), -('24275', '0.15', '0', '0.15', 'Paladin - Hammer of Wrath'), -('20925', '0.09', '0', '0.056', 'Paladin - Holy Shield'), -('2812', '0.07', '0', '0.07', 'Paladin - Holy Wrath'), -('31893', '0.25', '0', '0.16', 'Paladin - Seal of Blood Enemy Proc'), -('32221', '0.25', '0', '0.16', 'Paladin - Seal of Blood Self Proc'), -('20424', '0.25', '0', '0.16', 'Paladin - Seal of Command Proc'), -('379', '0', '0', '0', 'Shaman - Earth Shield Triggered'), -('20167', '0.25', '0', '0.16', 'Paladin - Seal of Light Proc'), -('53719', '0.25', '0', '0.16', 'Paladin - Seal of The Martyr Enemy Proc'), -('53718', '0.25', '0', '0.16', 'Paladin - Seal of The Martyr Self Proc'), -('25742', '0.07', '0', '0.039', 'Paladin - Seal of Righteousness Dummy Proc'), -('53595', '0', '0', '0','Paladin - Hammer of the Righteous'), -('31803', '0', '0.013', '0.15', 'Paladin - Holy Vengeance'), -('52042', '0.045', '0', '0', 'Shaman - Healing Stream Totem Triggered Heal'), -('32546', '0.8068', '0', '0', 'Priest - Binding Heal'), -('34861', '0.402', '0', '0', 'Priest - Circle of Healing'), -('19236', '0.8068', '0', '0', 'Priest - Desperate Prayer'), -('2061', '0.8068', '0', '0', 'Priest - Flash Heal'), -('2060', '1.6135', '0', '0', 'Priest - Greater Heal'), -('23455', '0.3035', '0', '0', 'Priest - Holy Nova Heal'), -('17', '0.8068', '0', '0', 'Priest - Power Word: Shield'), -('596', '0.8086', '0', '0', 'Priest - Prayer of Healing'), -('33110', '0.8068', '0', '0', 'Priest - Prayer of Mending Heal Proc'), -('139', '0', '0.376', '0', 'Priest - Renew'), -('2944', '0.1849', '0', '0', 'Priest - Devouring Plague'), -('14914', '0.5711', '0.024', '0', 'Priest - Holy Fire'), -('15237', '0.1606', '0', '0', 'Priest - Holy Nova Damage'), -('8129', '0', '0', '0', 'Priest - Mana Burn'), -('8092', '0.4296', '0', '0', 'Priest - Mind Blast'), -('15407', '0.257', '0', '0', 'Priest - Mind Flay'), -('49821', '0.14286', '0', '0', 'Priest - Mind Sear Trigger'), -('34433', '0.65', '0', '0', 'Priest - Shadowfiend'), -('32379', '0.4296', '0', '0', 'Priest - Shadow Word: Death'), -('589', '0', '0.1829', '0', 'Priest - Shadow Word: Pain'), -('585', '0.714', '0', '0', 'Priest - Smite'), -('34914', '0', '0.4', '0', 'Priest - Vampiric Touch'), -('974', '0.4762', '0', '0', 'Shaman - Earth Shield'), -('1064', '1.34', '0', '0', 'Shaman - Chain Heal'), -('331', '1.6106', '0', '0', 'Shaman - Healing Wave'), -('8004', '0.8082', '0', '0', 'Shaman - Lesser Healing Wave'), -('61295', '0.4', '0.18', '0', 'Shaman - Riptide'), -('421', '0.57', '0', '0', 'Shaman - Chain Lightning'), -('8042', '0.3858', '0', '0', 'Shaman - Earth Shock'), -('8443', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem'), -('8050', '0.2142', '0.1', '0', 'Shaman - Flame Shock'), -('8026', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc'), -('8056', '0.3858', '0', '0', 'Shaman - Frost Shock'), -('8034', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 1'), -('51505', '0.5714', '0', '0', 'Shaman - Lava Burst'), -('403', '0.7143', '0', '0', 'Shaman - Lightning Bolt'), -('26364', '0.33', '0', '0', 'Shaman - Lightning Shield Proc'), -('8188', '0.1', '0', '0', 'Shaman - Magma Totam Passive'), -('3606', '0.1667', '0', '0', 'Shaman - Searing Totem Attack'), -('980', '0', '0.1', '0', 'Warlock - Curse of Agony'), -('603', '0', '2', '0', 'Warlock - Curse of Doom'), -('172', '0', '0.3', '0', 'Warlock - Corruption'), -('348', '0.2', '0.2', '0', 'Warlock - Immolate'), -('27243', '0.22', '0.25', '0', 'Warlock - Seed of Corruption'), -('30108', '0', '0.24', '0', 'Warlock - Unstable Affliction'), -('31117', '1.8', '0', '0', 'Warlock - Unstable Affliction Dispell'), -('17962', '0', '0', '0', 'Warlock - Conflagrate'), -('6789', '0.22', '0', '0', 'Warlock - Death Coil'), -('28176', '0', '0', '0', 'Warlock - Fel Armor'), -('48181', '0.4729', '0', '0', 'Warlock - Haunt'), -('29722', '0.7143', '0', '0', 'Warlock - Incinerate'), -('5676', '0.4286', '0', '0', 'Warlock - Searing Pain'), -('686', '0.8571', '0', '0', 'Warlock - Shadow Bolt'), -('17877', '0.4286', '0', '0', 'Warlock - Shadowburn'), -('30283', '0.195', '0', '0', 'Warlock - Shadowfury'), -('6353', '1.15', '0', '0', 'Warlock - Soul Fire'), -('689', '0', '0.1428', '0', 'Warlock - Drain Life'), -('5138', '0', '0', '0', 'Warlock - Drain Mana'), -('1120', '0', '0.4286', '0', 'Warlock - Drain Soul'), -('755', '0', '0.4485', '0', 'Warlock - Health Funnel'), -('1949', '0', '0.0946', '0', 'Warlock - Hellfire'), -('5857', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy'), -('42223', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered'), -('18220', '0.96', '0', '0', 'Warlock - Dark Pact'), -('6229', '0.3', '0', '0', 'Warlock - Shadow Ward'), -('63106', '0', '0', '0', 'Warlock - Siphon Life Triggered'); -/*!40000 ALTER TABLE `spell_bonus_data` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `spell_chain` --- - -DROP TABLE IF EXISTS `spell_chain`; -CREATE TABLE `spell_chain` ( - `spell_id` mediumint(9) NOT NULL default '0', - `prev_spell` mediumint(9) NOT NULL default '0', - `first_spell` mediumint(9) NOT NULL default '0', - `rank` tinyint(4) NOT NULL default '0', - `req_spell` mediumint(9) NOT NULL default '0', - PRIMARY KEY (`spell_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Spell Additinal Data'; - --- ->>>>>>> 954eedf306a348c60a33f65d0640208c3965d77b:sql/mangos.sql -- Dumping data for table `spell_chain` -- @@ -13755,80 +13590,6 @@ LOCK TABLES `spell_chain` WRITE; /*!40000 ALTER TABLE `spell_chain` DISABLE KEYS */; INSERT INTO spell_chain VALUES /*------------------ -<<<<<<< HEAD:sql/mangos.sql -======= ---(0) Not associated with skills -------------------*/ -/* Fire Nova Totem Casted by Totem */ -(8443,0,8443,1,0), -(8504,8443,8443,2,0), -(8505,8504,8443,3,0), -(11310,8505,8443,4,0), -(11311,11310,8443,5,0), -(25538,11311,8443,6,0), -(25539,25538,8443,7,0), -(61651,25539,8443,8,0), -(61660,61651,8443,9,0), -/* Flametongue Weapon Proc */ -(8026,0,8026,1,0), -(8028,8026,8026,2,0), -(8029,8028,8026,3,0), -(10445,8029,8026,4,0), -(16343,10445,8026,5,0), -(16344,16343,8026,6,0), -(25488,16344,8026,7,0), -(58786,25488,8026,8,0), -(58787,58786,8026,9,0), -(58788,58787,8026,10,0), -/* Frostbrand Attack */ -(8034,0,8034,1,0), -(8037,8034,8034,2,0), -(10458,8037,8034,3,0), -(16352,10458,8034,4,0), -(16353,16352,8034,5,0), -(25501,16353,8034,6,0), -(58797,25501,8034,7,0), -(58798,58797,8034,8,0), -(58799,58798,8034,9,0), -/* Instant Poison */ -(8680,0,8680,1,0), -(8685,8680,8680,2,0), -(8689,8685,8680,3,0), -(11335,8689,8680,4,0), -(11336,11335,8680,5,0), -(11337,11336,8680,6,0), -(26890,11337,8680,7,0), -(57964,26890,8680,8,0), -(57965,57964,8680,9,0), -/* Magma Totam Passive */ -(8188,0,8188,1,0), -(10582,8188,8188,2,0), -(10583,10582,8188,3,0), -(10584,10583,8188,4,0), -(25551,10584,8188,5,0), -(58733,25551,8188,6,0), -(58736,58733,8188,7,0), -/* Searing Totem Attack */ -(3606,0,3606,1,0), -(6350,3606,3606,2,0), -(6351,6350,3606,3,0), -(6352,6351,3606,4,0), -(10435,6352,3606,5,0), -(10436,10435,3606,6,0), -(25530,10436,3606,7,0), -(58700,25530,3606,8,0), -(58701,58700,3606,9,0), -(58702,58701,3606,10,0), -/* Wound Poison */ -(13218,0,13218,1,0), -(13222,13218,13218,2,0), -(13223,13222,13218,3,0), -(13224,13223,13218,4,0), -(27189,13224,13218,5,0), -(57974,27189,13218,6,0), -(57975,57974,13218,7,0), -/*------------------ ->>>>>>> 954eedf306a348c60a33f65d0640208c3965d77b:sql/mangos.sql --(6) Frost ------------------*/ /*Blizzard*/ @@ -13841,16 +13602,6 @@ INSERT INTO spell_chain VALUES (27085,10187,10,7,0), (42939,27085,10,8,0), (42940,42939,10,9,0), -/* Blizzard Triggered Spell */ -(42208,0,42208,1,0), -(42209,42208,42208,2,0), -(42210,42209,42208,3,0), -(42211,42210,42208,4,0), -(42212,42211,42208,5,0), -(42213,42212,42208,6,0), -(42198,42213,42208,7,0), -(42937,42198,42208,8,0), -(42938,42937,42208,9,0), /*ConeofCold*/ (120,0,120,1,0), (8492,120,120,2,0), @@ -13919,7 +13670,7 @@ INSERT INTO spell_chain VALUES /*------------------ --(8)Fire ------------------*/ -/*Blast Wave*/ +/*BlastWave*/ (11113,0,11113,1,0), (13018,11113,11113,2,0), (13019,13018,11113,3,0), @@ -13929,7 +13680,7 @@ INSERT INTO spell_chain VALUES (33933,27133,11113,7,0), (42944,33933,11113,8,0), (42945,42944,11113,9,0), -/*Dragon's Breath*/ +/*Dragon'sBreath*/ (31661,0,31661,1,0), (33041,31661,31661,2,0), (33042,33041,31661,3,0), @@ -13986,21 +13737,17 @@ INSERT INTO spell_chain VALUES (27086,10216,2120,7,0), (42925,27086,2120,8,0), (42926,42925,2120,9,0), -/*Frostfire Bolt*/ +/*FrostfireBolt*/ (44614,0,44614,1,0), (47610,44614,44614,2,0), -/*Living Bomb*/ +/*LivingBomb*/ (44457,0,44457,1,0), (55359,44457,44457,2,0), (55360,55359,44457,3,0), -/*Molten Armor*/ +/*MoltenArmor*/ (30482,0,30482,1,0), (43045,30482,30482,2,0), (43046,43045,30482,3,0), -/* Molten Armor Triggered */ -(34913,0,34913,1,0), -(43043,34913,34913,2,0), -(43044,43043,34913,3,0), /*Pyroblast*/ (11366,0,11366,1,0), (12505,11366,11366,2,0), @@ -14256,7 +14003,7 @@ INSERT INTO spell_chain VALUES (34866,34865,34861,5,0), (48088,34866,34861,6,0), (48089,48088,34861,7,0), -/*Desperate Prayer*/ +/*DesperatePrayer*/ (19236,0,19236,1,0), (19238,19236,19236,2,0), (19240,19238,19236,3,0), @@ -14270,7 +14017,7 @@ INSERT INTO spell_chain VALUES (63534,0,63534,1,0), (63542,63534,63534,2,0), (63543,63542,63534,3,0), -/*Flash Heal*/ +/*FlashHeal*/ (2061,0,2061,1,0), (9472,2061,2061,2,0), (9473,9472,2061,3,0), @@ -14282,7 +14029,7 @@ INSERT INTO spell_chain VALUES (25235,25233,2061,9,0), (48070,25235,2061,10,0), (48071,48070,2061,11,0), -/*Greater Heal*/ +/*GreaterHeal*/ (2060,0,2060,1,0), (10963,2060,2060,2,0), (10964,10963,2060,3,0), @@ -14319,15 +14066,7 @@ INSERT INTO spell_chain VALUES (25331,27801,15237,7,0), (48077,25331,15237,8,0), (48078,48077,15237,9,0), -/* Holy Nova Heal */ -(23455,0,23455,1,0), -(23458,23455,23455,2,0), -(23459,23458,23455,3,0), -(27803,23459,23455,4,0), -(27804,27803,23455,5,0), -(27805,27804,23455,6,0), -(25329,27805,23455,7,0), -/*Lesser Heal*/ +/*LesserHeal*/ (2050,0,2050,1,0), (2052,2050,2050,2,0), (2053,2052,2050,3,0), @@ -14421,7 +14160,7 @@ INSERT INTO spell_chain VALUES (25375,25372,8092,11,0), (48126,25375,8092,12,0), (48127,48126,8092,13,0), -/*Mind Flay*/ +/*MindFlay*/ (15407,0,15407,1,0), (17311,15407,15407,2,0), (17312,17311,15407,3,0), @@ -14431,12 +14170,9 @@ INSERT INTO spell_chain VALUES (25387,18807,15407,7,0), (48155,25387,15407,8,0), (48156,48155,15407,9,0), -/*Mind Sear*/ +/*MindSear*/ (48045,0,48045,1,0), (53023,48045,48045,2,0), -/* Mind Sear Trigger */ -(49821,0,49821,1,0), -(53022,49821,49821,2,0), /*MindVision*/ (2096,0,2096,1,0), (10909,2096,2096,2,0), @@ -15073,7 +14809,7 @@ INSERT INTO spell_chain VALUES /*------------------ --(236)Pet-Scorpid ------------------*/ -/*Scorpid Poison*/ +/*ScorpidPoison*/ (24640,0,24640,1,0), (24583,24640,24640,2,0), (24586,24583,24640,3,0), @@ -15083,7 +14819,7 @@ INSERT INTO spell_chain VALUES /*------------------ --(237)Arcane ------------------*/ -/*Amplify Magic*/ +/*AmplifyMagic*/ (1008,0,1008,1,0), (8455,1008,1008,2,0), (10169,8455,1008,3,0), @@ -15091,20 +14827,20 @@ INSERT INTO spell_chain VALUES (27130,10170,1008,5,0), (33946,27130,1008,6,0), (43017,33946,1008,7,0), -/*Arcane Barrage*/ +/*ArcaneBarrage*/ (44425,0,44425,1,0), (44780,44425,44425,2,0), (44781,44780,44425,3,0), -/*Arcane Blast*/ +/*ArcaneBlast*/ (30451,0,30451,1,0), (42894,30451,30451,2,0), (42896,42894,30451,3,0), (42897,42896,30451,4,0), -/*Arcane Brilliance*/ +/*ArcaneBrilliance*/ (23028,0,23028,1,0), (27127,23028,23028,2,0), (43002,27127,23028,3,0), -/*Arcane Explosion*/ +/*ArcaneExplosion*/ (1449,0,1449,1,0), (8437,1449,1449,2,0), (8438,8437,1449,3,0), @@ -15115,7 +14851,7 @@ INSERT INTO spell_chain VALUES (27082,27080,1449,8,0), (42920,27082,1449,9,0), (42921,42920,1449,10,0), -/*Arcane Intellect*/ +/*ArcaneIntellect*/ (1459,0,1459,1,0), (1460,1459,1459,2,0), (1461,1460,1459,3,0), @@ -15123,7 +14859,7 @@ INSERT INTO spell_chain VALUES (10157,10156,1459,5,0), (27126,10157,1459,6,0), (42995,27126,1459,7,0), -/*Arcane Missiles*/ +/*ArcaneMissiles*/ (5143,0,5143,1,0), (5144,5143,5143,2,0), (5145,5144,5143,3,0), @@ -15137,21 +14873,7 @@ INSERT INTO spell_chain VALUES (38704,38699,5143,11,0), (42843,38704,5143,12,0), (42846,42843,5143,13,0), -/* Arcane Missiles Triggered Spell */ -(7268,0,7268,1,0), -(7269,7268,7268,2,0), -(7270,7269,7268,3,0), -(8419,7270,7268,4,0), -(8418,8419,7268,5,0), -(10273,8418,7268,6,0), -(10274,10273,7268,7,0), -(25346,10274,7268,8,0), -(27076,25346,7268,9,0), -(38700,27076,7268,10,0), -(38703,38700,7268,11,0), -(42844,38703,7268,12,0), -(42845,42844,7268,13,0), -/*Conjure Food*/ +/*ConjureFood*/ (587,0,587,1,0), (597,587,587,2,0), (990,597,587,3,0), @@ -15160,7 +14882,7 @@ INSERT INTO spell_chain VALUES (10145,10144,587,6,0), (28612,10145,587,7,0), (33717,28612,587,8,0), -/*Conjure Mana Gem*/ +/*ConjureManaGem*/ (759,0,759,1,0), (3552,759,759,2,0), (10053,3552,759,3,0), @@ -15764,18 +15486,6 @@ INSERT INTO spell_chain VALUES (25472,25469,324,9,0), (49280,25472,324,10,0), (49281,49280,324,11,0), -/* Lightning Shield Proc */ -(26364,0,26364,1,0), -(26365,26364,26364,2,0), -(26366,26365,26364,3,0), -(26367,26366,26364,4,0), -(26369,26367,26364,5,0), -(26370,26369,26364,6,0), -(26363,26370,26364,7,0), -(26371,26363,26364,8,0), -(26372,26371,26364,9,0), -(49278,26372,26364,10,0), -(49279,49278,26364,11,0), /*Nature Resistance Totem*/ (10595,0,10595,1,0), (10600,10595,10595,2,0), @@ -16136,7 +15846,7 @@ INSERT INTO spell_chain VALUES (26983,9863,740,5,0), (48446,26983,740,6,0), (48447,48446,740,7,0), -/*Wild Growth*/ +/*WildGrowth*/ (48438,0,48438,1,0), (53248,48438,48438,2,0), (53249,53248,48438,3,0), @@ -16172,7 +15882,7 @@ INSERT INTO spell_chain VALUES (17402,17401,16914,3,0), (27012,17402,16914,4,0), (48467,27012,16914,5,0), -/*Insect Swarm*/ +/*InsectSwarm*/ (5570,0,5570,1,0), (24974,5570,5570,2,0), (24975,24974,5570,3,0), @@ -16195,7 +15905,7 @@ INSERT INTO spell_chain VALUES (26988,26987,8921,12,0), (48462,26988,8921,13,0), (48463,48462,8921,14,0), -/*Soothe Animal*/ +/*SootheAnimal*/ (2908,0,2908,1,0), (8955,2908,2908,2,0), (9901,8955,2908,3,0), @@ -16257,7 +15967,7 @@ INSERT INTO spell_chain VALUES /*------------------ --(593)Destruction ------------------*/ -/*Chaos Bolt*/ +/*ChaosBolt*/ (50796,0,50796,1,0), (59170,50796,50796,2,0), (59171,59170,50796,3,0), @@ -16268,12 +15978,6 @@ INSERT INTO spell_chain VALUES (11684,11683,1949,3,0), (27213,11684,1949,4,0), (47823,27213,1949,5,0), -/* Hellfire Effect on Enemy */ -(5857,0,5857,1,0), -(11681,5857,5857,2,0), -(11682,11681,5857,3,0), -(27214,11682,5857,4,0), -(47822,27214,5857,5,0), /*Immolate*/ (348,0,348,1,0), (707,348,348,2,0), @@ -16295,7 +15999,7 @@ INSERT INTO spell_chain VALUES (63349,0,63349,1,0), (63350,63349,63349,2,0), (63351,63350,63349,3,0), -/*Rain of Fire*/ +/*RainofFire*/ (5740,0,5740,1,0), (6219,5740,5740,2,0), (11677,6219,5740,3,0), @@ -16303,15 +16007,7 @@ INSERT INTO spell_chain VALUES (27212,11678,5740,5,0), (47819,27212,5740,6,0), (47820,47819,5740,7,0), -/* Rain of Fire Triggered */ -(42223,0,42223,1,0), -(42224,42223,42223,2,0), -(42225,42224,42223,3,0), -(42226,42225,42223,4,0), -(42218,42226,42223,5,0), -(47817,42218,42223,6,0), -(47818,47817,42223,7,0), -/*Searing Pain*/ +/*SearingPain*/ (5676,0,5676,1,0), (17919,5676,5676,2,0), (17920,17919,5676,3,0), @@ -16322,7 +16018,7 @@ INSERT INTO spell_chain VALUES (30459,27210,5676,8,0), (47814,30459,5676,9,0), (47815,47814,5676,10,0), -/*Shadow Bolt*/ +/*ShadowBolt*/ (686,0,686,1,0), (695,686,686,2,0), (705,695,686,3,0), @@ -16425,7 +16121,7 @@ INSERT INTO spell_chain VALUES (27136,27135,635,11,0), (48781,27136,635,12,0), (48782,48781,635,13,0), -/*Holy Shock*/ +/*HolyShock*/ (20473,0,20473,1,0), (20929,20473,20473,2,0), (20930,20929,20473,3,0), @@ -16433,23 +16129,7 @@ INSERT INTO spell_chain VALUES (33072,27174,20473,5,0), (48824,33072,20473,6,0), (48825,48824,20473,7,0), -/* Holy Shock Triggered Hurt */ -(25912,0,25912,1,0), -(25911,25912,25912,2,0), -(25902,25911,25912,3,0), -(27176,25902,25912,4,0), -(33073,27176,25912,5,0), -(48822,33073,25912,6,0), -(48823,48822,25912,7,0), -/* Holy Shock Triggered Heal */ -(25914,0,25914,1,0), -(25913,25914,25914,2,0), -(25903,25913,25914,3,0), -(27175,25903,25914,4,0), -(33074,27175,25914,5,0), -(48820,33074,25914,6,0), -(48821,48820,25914,7,0), -/*Holy Wrath*/ +/*HolyWrath*/ (2812,0,2812,1,0), (10318,2812,2812,2,0), (27139,10318,2812,3,0), @@ -17171,6 +16851,9 @@ LOCK TABLES `spell_proc_event` WRITE; /*!40000 ALTER TABLE `spell_proc_event` DISABLE KEYS */; INSERT INTO `spell_proc_event` VALUES ( 324, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +( 325, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +( 905, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +( 945, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), ( 974, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), ( 1463, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), ( 3232, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), @@ -17178,11 +16861,19 @@ INSERT INTO `spell_proc_event` VALUES ( 6346, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0.000000, 0.000000, 0), ( 7383, 0x00000001, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0.000000, 0.000000, 0), ( 7434, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), +( 8134, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), ( 8178, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), +( 8494, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), +( 8495, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), ( 9452, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 3.000000, 0.000000, 0), ( 9782, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), ( 9784, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), ( 9799, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), +(10191, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), +(10192, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), +(10193, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), +(10431, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(10432, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (11095, 0x00000000, 3, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (11119, 0x00000004, 3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (11120, 0x00000004, 3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), @@ -17253,6 +16944,11 @@ INSERT INTO `spell_proc_event` VALUES (14193, 0x00000000, 8, 0x40800508, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (14194, 0x00000000, 8, 0x40800508, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (14195, 0x00000000, 8, 0x40800508, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), +(14318, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(14319, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(14320, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(14321, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(14322, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (14531, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (14774, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (14892, 0x00000000, 6, 0x10001E00, 0x00010004, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), @@ -17343,6 +17039,8 @@ INSERT INTO `spell_proc_event` VALUES (20705, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (20911, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000070, 0.000000, 0.000000, 0), (20925, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), +(20927, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), +(20928, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), (21185, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 10), (21882, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (21890, 0x00000000, 4, 0x2A764EEF, 0x0000036C, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), @@ -17365,11 +17063,16 @@ INSERT INTO `spell_proc_event` VALUES (23920, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0.000000, 0.000000, 0), (24353, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (24389, 0x00000000, 3, 0x00C00017, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(24398, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (24658, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00014110, 0x00000000, 0.000000, 0.000000, 0), (24905, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 15.000000, 0.000000, 0), (24932, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 6), (25050, 0x00000004, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(25296, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(25469, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(25472, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (25669, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 1.000000, 0.000000, 0), +(25899, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000070, 0.000000, 0.000000, 0), (25988, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (26016, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 2.000000, 0.000000, 0), (26107, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0.000000, 0.000000, 0), @@ -17378,6 +17081,9 @@ INSERT INTO `spell_proc_event` VALUES (26135, 0x00000000, 10, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), (26480, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 3.000000, 0.000000, 0), (26605, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), +(27044, 0x00000000, 9, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(27131, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), +(27179, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), (27419, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 3.000000, 0.000000, 0), (27498, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 3.000000, 0.000000, 0), (27521, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), @@ -17479,6 +17185,8 @@ INSERT INTO `spell_proc_event` VALUES (32394, 0x00000000, 5, 0x00000402, 0x00000011, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (32409, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (32587, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), +(32593, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(32594, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (32642, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), (32734, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (32748, 0x00000000, 8, 0x00000000, 0x00000001, 0x00000000, 0x00000140, 0x00000000, 0.000000, 0.000000, 0), @@ -17503,9 +17211,11 @@ INSERT INTO `spell_proc_event` VALUES (33510, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 5.000000, 0.000000, 0), (33648, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (33719, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0.000000, 0.000000, 0), +(33736, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (33746, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 10), (33757, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (33759, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 10), +(33776, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00008800, 0x00000000, 0.000000, 0.000000, 0), (33881, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (33882, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (33883, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), @@ -17535,6 +17245,8 @@ INSERT INTO `spell_proc_event` VALUES (34859, 0x00000000, 6, 0x00001800, 0x00000004, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (34860, 0x00000000, 6, 0x00001800, 0x00000004, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (34914, 0x00000000, 6, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(34916, 0x00000000, 6, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(34917, 0x00000000, 6, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (34935, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 8), (34938, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 8), (34939, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 8), @@ -17624,6 +17336,8 @@ INSERT INTO `spell_proc_event` VALUES (42368, 0x00000000, 10, 0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (42370, 0x00000000, 11, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (42770, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), +(43019, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), +(43020, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0.000000, 0.000000, 0), (43338, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (43443, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0.000000, 0.000000, 0), (43726, 0x00000000, 10, 0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), @@ -17707,6 +17421,10 @@ INSERT INTO `spell_proc_event` VALUES (47582, 0x00000000, 6, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), (48110, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x000A02A8, 0x00000000, 0.000000, 0.000000, 0), (48111, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x000A02A8, 0x00000000, 0.000000, 0.000000, 0), +(48112, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x000A02A8, 0x00000000, 0.000000, 0.000000, 0), +(48113, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x000A02A8, 0x00000000, 0.000000, 0.000000, 0), +(48159, 0x00000000, 6, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(48160, 0x00000000, 6, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (48483, 0x00000000, 7, 0x00008800, 0x00000440, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (48484, 0x00000000, 7, 0x00008800, 0x00000440, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (48485, 0x00000000, 7, 0x00008800, 0x00000440, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), @@ -17722,12 +17440,18 @@ INSERT INTO `spell_proc_event` VALUES (48833, 0x00000000, 7, 0x00000000, 0x00000440, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (48835, 0x00000000, 10, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (48837, 0x00000000, 11, 0x90100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(48951, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), +(48952, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0.000000, 0.000000, 0), (48988, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (49018, 0x00000000, 15, 0x01400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (49137, 0x00000000, 15, 0x00000000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (49188, 0x00000000, 15, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (49208, 0x00000000, 15, 0x00440000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (49222, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(49280, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(49281, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(49283, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(49284, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (49503, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (49504, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (49529, 0x00000000, 15, 0x01400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), @@ -17789,6 +17513,11 @@ INSERT INTO `spell_proc_event` VALUES (52008, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 20.000000, 0), (52020, 0x00000000, 7, 0x00008000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (52127, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(52129, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(52131, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(52134, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(52136, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), +(52138, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (52420, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 30), (52423, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0.000000, 0.000000, 0), (52795, 0x00000000, 6, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), @@ -17881,6 +17610,7 @@ INSERT INTO `spell_proc_event` VALUES (57878, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0.000000, 0.000000, 0), (57880, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0.000000, 0.000000, 0), (57881, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0.000000, 0.000000, 0), +(57960, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 3), (58357, 0x00000000, 4, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (58364, 0x00000000, 4, 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (58372, 0x00000000, 4, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), @@ -17936,7 +17666,6 @@ INSERT INTO `spell_proc_event` VALUES ======= (63108, 0x00000000, 5, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (63156, 0x00000000, 0, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), -<<<<<<< HEAD:sql/mangos.sql (63158, 0x00000000, 0, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), <<<<<<< HEAD:sql/mangos.sql (63245, 0x00000000, 5, 0x00000100, 0x00800000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0); @@ -17947,10 +17676,6 @@ INSERT INTO `spell_proc_event` VALUES (63733, 0x00000000, 6, 0x00000800, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (63737, 0x00000000, 6, 0x00000800, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); >>>>>>> ee001a20a10446a8936bec95b7680b50319ac61d:sql/mangos.sql -======= -(63245, 0x00000000, 5, 0x00000100, 0x00800000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), -(63730, 0x00000000, 6, 0x00000800, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); ->>>>>>> 954eedf306a348c60a33f65d0640208c3965d77b:sql/mangos.sql /*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/updates/4667_8251_02_mangos_spell_bonus_data.sql b/sql/updates/4667_8251_02_mangos_spell_bonus_data.sql deleted file mode 100644 index ca9614fff3e..00000000000 --- a/sql/updates/4667_8251_02_mangos_spell_bonus_data.sql +++ /dev/null @@ -1,23 +0,0 @@ --- ALTER TABLE db_version CHANGE COLUMN required_8251_01_mangos_spell_chain required_8251_02_mangos_spell_bonus_data bit; - -DELETE FROM `spell_bonus_data` where entry in ( - 49941,48721, - 8037,10458,16352,16353,25501,58797,58798,58799,18937,18938,27265,59092,49941, - 7269,7270,8419,8418,10273,10274,25346,27076,38700,38703,42844,42845, - 42209,42210,42211,42212,42213,42198,42937,42938, - 43043,43044, - 25911,25902,27176,33073,48822,48823, - 25913,25903,27175,33074,48820,48821, - 23458,23459,27803,27804,27805,25329, - 53022, - 8504,8505,11310,11311,25538,25539,61651,61660, - 8028,8029,10445,16343,16344,25488,58786,58787,58788, - 26365,26366,26367,26369,26370,26363,26371,26372,49278,49279, - 10582,10583,10584,25551,58733,58736, - 6350,6351,6352,10435,10436,25530,58700,58701,58702, - 11681,11682,27214,47822, - 42224,42225,42226,42218,47817,47818 -); - -INSERT INTO `spell_bonus_data` VALUES -('48721', '0', '0', '0.04', 'Death Knight - Blood Boil'); diff --git a/sql/updates/4667_8251_03_mangos_spell_proc_event.sql b/sql/updates/4667_8251_03_mangos_spell_proc_event.sql deleted file mode 100644 index d07659e6096..00000000000 --- a/sql/updates/4667_8251_03_mangos_spell_proc_event.sql +++ /dev/null @@ -1,8 +0,0 @@ --- ALTER TABLE db_version CHANGE COLUMN required_8251_02_mangos_spell_bonus_data required_8251_03_mangos_spell_proc_event bit; - -DELETE FROM `spell_proc_event` WHERE entry IN ( - 325,905,945,8134,8494,8495,10191,10192,10193,10431,10432,14318,14319,14320, - 14321,14322,20927,20928,24398,25296,25469,25472,25899,27044,27131,27179,32593, - 32594,33736,33776,34916,34917,43019,43020,63158,48159,48160,48951,48952,49280, - 49281,49283,49284,52129,52131,52134,52136,52138,57960,48112,48113,63733,63737 -); diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp index 6a7d809da03..4071cfb50bb 100644 --- a/src/game/Pet.cpp +++ b/src/game/Pet.cpp @@ -1858,19 +1858,12 @@ void Pet::CastPetAura(PetAura const* aura) CastSpell(this, auraId, true); } -struct DoPetLearnSpell -{ - DoPetLearnSpell(Pet& _pet) : pet(_pet) {} - void operator() (uint32 spell_id) { pet.learnSpell(spell_id); } - Pet& pet; -}; - void Pet::learnSpellHighRank(uint32 spellid) { learnSpell(spellid); - DoPetLearnSpell worker(*this); - spellmgr.doForHighRanks(spellid,worker); + if(uint32 next = spellmgr.GetNextSpellInChain(spellid)) + learnSpellHighRank(next); } void Pet::SynchronizeLevelWithOwner() diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 6c7fb40c3fa..d610031da00 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -20563,19 +20563,12 @@ bool Player::IsAllowUseFlyMountsHere() const return v_map == 530 || v_map == 571 && HasSpell(54197) && zoneId != 4197; } -struct DoPlayerLearnSpell -{ - DoPlayerLearnSpell(Player& _player) : player(_player) {} - void operator() (uint32 spell_id) { player.learnSpell(spell_id,false); } - Player& player; -}; - void Player::learnSpellHighRank(uint32 spellid) { learnSpell(spellid,false); - DoPlayerLearnSpell worker(*this); - spellmgr.doForHighRanks(spellid,worker); + if(uint32 next = spellmgr.GetNextSpellInChain(spellid)) + learnSpellHighRank(next); } void Player::_LoadSkills() diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 7e1da72be4e..f1f43d57821 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1204,13 +1204,6 @@ bool SpellMgr::IsAffectedByMod(SpellEntry const *spellInfo, SpellModifier *mod) return false; } -struct DoSpellProcEvent -{ - DoSpellProcEvent(SpellProcEventEntry const& _spe) : spe(_spe) {} - void operator() (uint32 spell_id) { spellmgr.mSpellProcEventMap[spell_id] = spe; } - SpellProcEventEntry const& spe; -}; - void SpellMgr::LoadSpellProcEvents() { mSpellProcEventMap.clear(); // need for reload case @@ -1245,15 +1238,6 @@ void SpellMgr::LoadSpellProcEvents() continue; } - uint32 first_id = GetFirstSpellInChain(entry); - - if ( first_id != entry ) - { - sLog.outErrorDb("Spell %u listed in `spell_proc_event` is not first rank (%u) in chain", entry, first_id); - // prevent loading since it won't have an effect anyway - continue; - } - SpellProcEventEntry spe; spe.schoolMask = fields[1].GetUInt32(); @@ -1269,10 +1253,6 @@ void SpellMgr::LoadSpellProcEvents() mSpellProcEventMap[entry] = spe; - // also add to high ranks - DoSpellProcEvent worker(spe); - doForHighRanks(entry,worker); - if (spell->procFlags==0) { if (spe.procFlags == 0) @@ -1294,74 +1274,6 @@ void SpellMgr::LoadSpellProcEvents() sLog.outString( ">> Loaded %u extra spell proc event conditions", count ); } -struct DoSpellProcItemEnchant -{ - DoSpellProcItemEnchant(SpellEnchantProcEntry const &_spe) : spe(_spe) {} - void operator() (uint32 spell_id) { spellmgr.mSpellEnchantProcEventMap[spell_id] = spe; } - SpellEnchantProcEntry const &spe; -}; - -void SpellMgr::LoadSpellEnchantProcData() -{ - mSpellEnchantProcEventMap.clear(); // need for reload case - - uint32 count = 0; - - // 0 1 2 3 - QueryResult *result = WorldDatabase.Query("SELECT entry, customChance, PPMChance, procEx FROM spell_enchant_proc_data"); - if( !result ) - { - - barGoLink bar( 1 ); - - bar.step(); - - sLog.outString(); - sLog.outString( ">> Loaded %u spell enchant proc event conditions", count ); - return; - } - - barGoLink bar( result->GetRowCount() ); - do - { - Field *fields = result->Fetch(); - - bar.step(); - - uint32 entry = fields[0].GetUInt32(); - - SpellItemEnchantmentEntry const *ench = sSpellItemEnchantmentStore.LookupEntry(entry); - if (!ench) - { - sLog.outErrorDb("Enchancment %u listed in `spell_enchant_proc_data` does not exist", entry); - continue; - } - - SpellEnchantProcEntry spe; - - spe.customChance = fields[1].GetUInt32(); - spe.PPMChance = fields[2].GetFloat(); - spe.procEx = fields[3].GetUInt32(); - - // also add to high ranks - DoSpellProcItemEnchant worker(spe); - doForThisAndHighRanks(entry,worker); - - ++count; - } while( result->NextRow() ); - - delete result; - - sLog.outString( ">> Loaded %u enchant proc data definitions", count); -} - -struct DoSpellBonusess -{ - DoSpellBonusess(SpellBonusEntry const& _spellBonus) : spellBonus(_spellBonus) {} - void operator() (uint32 spell_id) { spellmgr.mSpellBonusMap[spell_id] = spellBonus; } - SpellBonusEntry const& spellBonus; -}; - void SpellMgr::LoadSpellBonusess() { mSpellBonusMap.clear(); // need for reload case @@ -1384,22 +1296,13 @@ void SpellMgr::LoadSpellBonusess() bar.step(); uint32 entry = fields[0].GetUInt32(); - SpellEntry const* spell = sSpellStore.LookupEntry(entry); + const SpellEntry *spell = sSpellStore.LookupEntry(entry); if (!spell) { sLog.outErrorDb("Spell %u listed in `spell_bonus_data` does not exist", entry); continue; } - uint32 first_id = GetFirstSpellInChain(entry); - - if ( first_id != entry ) - { - sLog.outErrorDb("Spell %u listed in `spell_bonus_data` is not first rank (%u) in chain", entry, first_id); - // prevent loading since it won't have an effect anyway - continue; - } - SpellBonusEntry sbe; sbe.direct_damage = fields[1].GetFloat(); @@ -1409,11 +1312,6 @@ void SpellMgr::LoadSpellBonusess() mSpellBonusMap[entry] = sbe; ++count; - - // also add to high ranks - DoSpellBonusess worker(sbe); - doForHighRanks(entry,worker); - } while( result->NextRow() ); delete result; @@ -3423,6 +3321,58 @@ bool IsDispelableBySpell(SpellEntry const * dispelSpell, uint32 spellId, bool de return def; } +void SpellMgr::LoadSpellEnchantProcData() +{ + mSpellEnchantProcEventMap.clear(); // need for reload case + + uint32 count = 0; + + // 0 1 2 3 + QueryResult *result = WorldDatabase.Query("SELECT entry, customChance, PPMChance, procEx FROM spell_enchant_proc_data"); + if( !result ) + { + + barGoLink bar( 1 ); + + bar.step(); + + sLog.outString(); + sLog.outString( ">> Loaded %u spell enchant proc event conditions", count ); + return; + } + + barGoLink bar( result->GetRowCount() ); + do + { + Field *fields = result->Fetch(); + + bar.step(); + + uint32 enchantId = fields[0].GetUInt32(); + + SpellItemEnchantmentEntry const *ench = sSpellItemEnchantmentStore.LookupEntry(enchantId); + if (!ench) + { + sLog.outErrorDb("Enchancment %u listed in `spell_enchant_proc_data` does not exist", enchantId); + continue; + } + + SpellEnchantProcEntry spe; + + spe.customChance = fields[1].GetUInt32(); + spe.PPMChance = fields[2].GetFloat(); + spe.procEx = fields[3].GetUInt32(); + + mSpellEnchantProcEventMap[enchantId] = spe; + + ++count; + } while( result->NextRow() ); + + delete result; + + sLog.outString( ">> Loaded %u enchant proc data definitions", count); +} + void SpellMgr::LoadSpellRequired() { mSpellsReqSpell.clear(); // need for reload case diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h index be34f4af2eb..f1d551298f0 100644 --- a/src/game/SpellMgr.h +++ b/src/game/SpellMgr.h @@ -729,10 +729,6 @@ inline bool IsProfessionOrRidingSkill(uint32 skill) class SpellMgr { - friend struct DoSpellBonusess; - friend struct DoSpellProcEvent; - friend struct DoSpellProcItemEnchant; - // Constructors public: SpellMgr(); @@ -802,7 +798,13 @@ class SpellMgr SpellBonusMap::const_iterator itr = mSpellBonusMap.find(spellId); if( itr != mSpellBonusMap.end( ) ) return &itr->second; - + // Not found, try lookup for 1 spell rank if exist + if (uint32 rank_1 = GetFirstSpellInChain(spellId)) + { + SpellBonusMap::const_iterator itr2 = mSpellBonusMap.find(rank_1); + if( itr2 != mSpellBonusMap.end( ) ) + return &itr2->second; + } return NULL; } @@ -860,26 +862,6 @@ class SpellMgr SpellsRequiringSpellMap const& GetSpellsRequiringSpell() const { return mSpellsReqSpell; } - template<typename Worker> - void doForThisAndHighRanks(uint32 spellid, Worker& worker) - { - worker(spellid); - if(uint32 nextSpellId = GetNextSpellInChain(spellid)) - doForThisAndHighRanks(nextSpellId, worker); - } - - template<typename Worker> - void doForHighRanks(uint32 spellid, Worker& worker) - { - if(uint32 nextSpellId = GetNextSpellInChain(spellid)) - { - worker(nextSpellId); - doForHighRanks(nextSpellId, worker); - } - } - - // Note: not use rank for compare to spell ranks: spell chains isn't linear order - // Use IsHighRankOfSpell instead uint8 GetSpellRank(uint32 spell_id) const { if(SpellChainNode const* node = GetSpellChainNode(spell_id)) |