[8249] Implement support spell_proc_item_enchant table for ppm item enchantments triggering at hit.

* Added a new SQL table, spell_proc_item_enchant, for "custom" ppmRates on Item Enchants that do not use auras.
  With table data this must fix ppm for effect from 8033 and ranks enchanting, and item 6947/10918 and ranks enchanting.

* Implemented SPELLMOD_FREQUENCY_OF_SUCCESS (26).
  That must fix work talent 14113, spell 32645 with ranks, glyph 41094 and item set effect 64917 in frequency part.

Thanks to MaS0n as author alternative patch that partly used in this patch.
Thanks to Thenecromancer as author alternative patch that ideas inspire MaS0n's patch writing and then this patch also.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
nos4r2zod 2009-07-26 04:16:28 +04:00 committed by VladimirMangos
parent 79d49504e0
commit 13b709a10b
14 changed files with 468 additions and 263 deletions

View file

@ -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_8247_01_mangos_spell_bonus_data` bit(1) default NULL
`required_8249_02_mangos_spell_chain` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@ -13569,6 +13569,273 @@ LOCK TABLES `spell_area` WRITE;
/*!40000 ALTER TABLE `spell_area` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for `spell_bonus_data`
--
DROP TABLE IF EXISTS `spell_bonus_data`;
CREATE TABLE `spell_bonus_data` (
`entry` smallint(5) unsigned NOT NULL,
`direct_bonus` float NOT NULL default '0',
`dot_bonus` float NOT NULL default '0',
`ap_bonus` float NOT NULL default '0',
`comments` varchar(255) default NULL,
PRIMARY KEY (`entry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- 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
('49941', '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 Rank 1'),
('7269', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 2'),
('7270', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 3'),
('8419', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 4'),
('8418', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 5'),
('10273', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 6'),
('10274', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 7'),
('25346', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 8'),
('27076', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 9'),
('38700', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 10'),
('38703', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 11'),
('42844', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 12'),
('42845', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 13'),
('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 Rank 1'),
('42209', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 2'),
('42210', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 3'),
('42211', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 4'),
('42212', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 5'),
('42213', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 6'),
('42198', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 7'),
('42937', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 8'),
('42938', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 9'),
('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 Rank 1'),
('43043','0', '0', '0', 'Mage - Molten Armor Triggered Rank 2'),
('43044','0', '0', '0', 'Mage - Molten Armor Triggered Rank 3'),
('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 Rank 1'),
('25911', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 2'),
('25902', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 3'),
('27176', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 4'),
('33073', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 5'),
('48822', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 6'),
('48823', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 7'),
('25914', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 1'),
('25913', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 2'),
('25903', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 3'),
('27175', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 4'),
('33074', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 5'),
('48820', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 6'),
('48821', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 7'),
('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 Rank 1'),
('23458', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 2'),
('23459', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 3'),
('27803', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 4'),
('27804', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 5'),
('27805', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 6'),
('25329', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 7'),
('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 Rank 1'),
('53022', '0.14286', '0', '0', 'Priest - Mind Sear Trigger Rank 2'),
('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 Rank 1'),
('8504', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 2'),
('8505', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 3'),
('11310', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 4'),
('11311', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 5'),
('25538', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 6'),
('25539', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 7'),
('61651', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 8'),
('61660', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 9'),
('8050', '0.2142', '0.1', '0', 'Shaman - Flame Shock'),
('8026', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 1'),
('8028', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 2'),
('8029', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 3'),
('10445', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 4'),
('16343', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 5'),
('16344', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 6'),
('25488', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 7'),
('58786', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 8'),
('58787', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 9'),
('58788', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 10'),
('8056', '0.3858', '0', '0', 'Shaman - Frost Shock'),
('8034', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 1'),
('8037', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 2'),
('10458', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 3'),
('16352', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 4'),
('16353', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 5'),
('25501', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 6'),
('58797', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 7'),
('58798', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 8'),
('58799', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 9'),
('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 Rank 1'),
('26365', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 2'),
('26366', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 3'),
('26367', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 4'),
('26369', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 5'),
('26370', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 6'),
('26363', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 7'),
('26371', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 8'),
('26372', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 9'),
('49278', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 10'),
('49279', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 11'),
('8188', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 1'),
('10582', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 2'),
('10583', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 3'),
('10584', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 4'),
('25551', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 5'),
('58733', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 6'),
('58736', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 7'),
('3606', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 1'),
('6350', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 2'),
('6351', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 3'),
('6352', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 4'),
('10435', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 5'),
('10436', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 6'),
('25530', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 7'),
('58700', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 8'),
('58701', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 9'),
('58702', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 10'),
('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 Rank 1'),
('11681', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 2'),
('11682', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 3'),
('27214', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 4'),
('47822', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 5'),
('42223', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 1'),
('42224', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 2'),
('42225', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 3'),
('42226', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 4'),
('42218', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 5'),
('47817', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 6'),
('47818', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 7'),
('18220', '0.96', '0', '0', 'Warlock - Dark Pact Rank 1'),
('18937', '0.96', '0', '0', 'Warlock - Dark Pact Rank 2'),
('18938', '0.96', '0', '0', 'Warlock - Dark Pact Rank 3'),
('27265', '0.96', '0', '0', 'Warlock - Dark Pact Rank 4'),
('59092', '0.96', '0', '0', 'Warlock - Dark Pact Rank 5'),
('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`
--
@ -13591,6 +13858,37 @@ LOCK TABLES `spell_chain` WRITE;
/*!40000 ALTER TABLE `spell_chain` DISABLE KEYS */;
INSERT INTO spell_chain VALUES
/*------------------
--(0) Not associated with skills
------------------*/
/* 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),
/* 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),
/*------------------
--(6) Frost
------------------*/
/*Blizzard*/
@ -17684,266 +17982,27 @@ INSERT INTO `spell_proc_event` VALUES
UNLOCK TABLES;
--
-- Table structure for spell_bonus_data
-- Table structure for spell_proc_item_enchant
--
DROP TABLE IF EXISTS `spell_bonus_data`;
CREATE TABLE `spell_bonus_data` (
`entry` smallint(5) unsigned NOT NULL,
`direct_bonus` float NOT NULL default '0',
`dot_bonus` float NOT NULL default '0',
`ap_bonus` float NOT NULL default '0',
`comments` varchar(255) default NULL,
DROP TABLE IF EXISTS `spell_proc_item_enchant`;
CREATE TABLE `spell_proc_item_enchant` (
`entry` mediumint unsigned NOT NULL,
`ppmRate` float NOT NULL default '0',
PRIMARY KEY (`entry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
LOCK TABLES `spell_bonus_data` WRITE;
/*!40000 ALTER TABLE `spell_bonus_data` DISABLE KEYS */;
INSERT INTO `spell_bonus_data` VALUES
('49941', '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'),
--
-- Dumping data for table `spell_proc_item_enchant`
--
('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 Rank 1'),
('7269', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 2'),
('7270', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 3'),
('8419', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 4'),
('8418', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 5'),
('10273', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 6'),
('10274', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 7'),
('25346', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 8'),
('27076', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 9'),
('38700', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 10'),
('38703', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 11'),
('42844', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 12'),
('42845', '0.2857', '0', '0', 'Mage - Arcane Missiles Triggered Spell Rank 13'),
('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 Rank 1'),
('42209', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 2'),
('42210', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 3'),
('42211', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 4'),
('42212', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 5'),
('42213', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 6'),
('42198', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 7'),
('42937', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 8'),
('42938', '0.0952', '0', '0', 'Mage - Blizzard Triggered Spell Rank 9'),
('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 Rank 1'),
('43043','0', '0', '0', 'Mage - Molten Armor Triggered Rank 2'),
('43044','0', '0', '0', 'Mage - Molten Armor Triggered Rank 3'),
('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 Rank 1'),
('25911', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 2'),
('25902', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 3'),
('27176', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 4'),
('33073', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 5'),
('48822', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 6'),
('48823', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Hurt Rank 7'),
('25914', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 1'),
('25913', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 2'),
('25903', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 3'),
('27175', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 4'),
('33074', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 5'),
('48820', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 6'),
('48821', '0.4286', '0', '0', 'Paladin - Holy Shock Triggered Heal Rank 7'),
('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 Rank 1'),
('23458', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 2'),
('23459', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 3'),
('27803', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 4'),
('27804', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 5'),
('27805', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 6'),
('25329', '0.3035', '0', '0', 'Priest - Holy Nova Heal Rank 7'),
('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 Rank 1'),
('53022', '0.14286', '0', '0', 'Priest - Mind Sear Trigger Rank 2'),
('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 Rank 1'),
('8504', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 2'),
('8505', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 3'),
('11310', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 4'),
('11311', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 5'),
('25538', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 6'),
('25539', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 7'),
('61651', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 8'),
('61660', '0.2142', '0', '0', 'Shaman - Fire Nova Totem Casted by Totem Rank 9'),
('8050', '0.2142', '0.1', '0', 'Shaman - Flame Shock'),
('8026', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 1'),
('8028', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 2'),
('8029', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 3'),
('10445', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 4'),
('16343', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 5'),
('16344', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 6'),
('25488', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 7'),
('58786', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 8'),
('58787', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 9'),
('58788', '0.1', '0', '0', 'Shaman - Flametongue Weapon Proc Rank 10'),
('8056', '0.3858', '0', '0', 'Shaman - Frost Shock'),
('8034', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 1'),
('8037', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 2'),
('10458', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 3'),
('16352', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 4'),
('16353', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 5'),
('25501', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 6'),
('58797', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 7'),
('58798', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 8'),
('58799', '0.1', '0', '0', 'Shaman - Frostbrand Attack Rank 9'),
('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 Rank 1'),
('26365', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 2'),
('26366', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 3'),
('26367', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 4'),
('26369', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 5'),
('26370', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 6'),
('26363', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 7'),
('26371', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 8'),
('26372', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 9'),
('49278', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 10'),
('49279', '0.33', '0', '0', 'Shaman - Lightning Shield Proc Rank 11'),
('8188', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 1'),
('10582', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 2'),
('10583', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 3'),
('10584', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 4'),
('25551', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 5'),
('58733', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 6'),
('58736', '0.1', '0', '0', 'Shaman - Magma Totam Passive Rank 7'),
('3606', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 1'),
('6350', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 2'),
('6351', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 3'),
('6352', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 4'),
('10435', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 5'),
('10436', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 6'),
('25530', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 7'),
('58700', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 8'),
('58701', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 9'),
('58702', '0.1667', '0', '0', 'Shaman - Searing Totem Attack Rank 10'),
('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 Rank 1'),
('11681', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 2'),
('11682', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 3'),
('27214', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 4'),
('47822', '0.1428', '0', '0', 'Warlock - Hellfire Effect on Enemy Rank 5'),
('42223', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 1'),
('42224', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 2'),
('42225', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 3'),
('42226', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 4'),
('42218', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 5'),
('47817', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 6'),
('47818', '0.952', '0', '0', 'Warlock - Rain of Fire Triggered Rank 7'),
('18220', '0.96', '0', '0', 'Warlock - Dark Pact Rank 1'),
('18937', '0.96', '0', '0', 'Warlock - Dark Pact Rank 2'),
('18938', '0.96', '0', '0', 'Warlock - Dark Pact Rank 3'),
('27265', '0.96', '0', '0', 'Warlock - Dark Pact Rank 4'),
('59092', '0.96', '0', '0', 'Warlock - Dark Pact Rank 5'),
('6229', '0.3', '0', '0', 'Warlock - Shadow Ward'),
('63106', '0', '0', '0', 'Warlock - Siphon Life Triggered');
/*!40000 ALTER TABLE `spell_bonus_data` ENABLE KEYS */;
LOCK TABLES `spell_proc_item_enchant` WRITE;
/*!40000 ALTER TABLE `spell_proc_item_enchant` DISABLE KEYS */;
INSERT INTO `spell_proc_item_enchant` (`entry`, `ppmRate`) VALUES
(8034, 9), -- Frostbrand Weapon
(8680, 8.5714), -- Instant Poison
(13218, 21.4286); -- Wound Poison
/*!40000 ALTER TABLE `spell_proc_item_enchant` ENABLE KEYS */;
UNLOCK TABLES;
--

View file

@ -0,0 +1,13 @@
ALTER TABLE db_version CHANGE COLUMN required_8247_01_mangos_spell_bonus_data required_8249_01_mangos_spell_proc_item_enchant bit;
DROP TABLE IF EXISTS `spell_proc_item_enchant`;
CREATE TABLE `spell_proc_item_enchant` (
`entry` mediumint unsigned NOT NULL,
`ppmRate` float NOT NULL default '0',
PRIMARY KEY (`entry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `spell_proc_item_enchant` (`entry`, `ppmRate`) VALUES
(8034, 9), -- Frostbrand Weapon
(8680, 8.5714), -- Instant Poison
(13218, 21.4286); -- Wound Poison

View file

@ -0,0 +1,31 @@
ALTER TABLE db_version CHANGE COLUMN required_8249_01_mangos_spell_proc_item_enchant required_8249_02_mangos_spell_chain bit;
DELETE FROM `spell_chain` WHERE `spell_id` IN
(8034, 8037, 10458, 16352, 16353, 25501, 58797, 58798, 58799, 8680, 8685, 8689, 11335, 11336, 11337, 26890, 57964, 57965, 13218, 13222, 13223, 13224, 27189, 57974, 57975);
INSERT INTO `spell_chain` (`spell_id`, `prev_spell`, `first_spell`, `rank`, `req_spell`) VALUES
(8034,0,8034,1,0), -- Frostbrand Attack
(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),
(8680,0,8680,1,0), -- Instant Poison
(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),
(13218,0,13218,1,0), -- Wound Poison
(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);

View file

@ -252,6 +252,8 @@ pkgdata_DATA = \
8227_01_mangos_spell_proc_event.sql \
8237_01_mangos_creature_template.sql \
8247_01_mangos_spell_bonus_data.sql \
8249_01_mangos_spell_proc_item_enchant.sql \
8249_02_mangos_spell_chain.sql \
README
## Additional files to include when running 'make dist'
@ -484,4 +486,6 @@ EXTRA_DIST = \
8227_01_mangos_spell_proc_event.sql \
8237_01_mangos_creature_template.sql \
8247_01_mangos_spell_bonus_data.sql \
8249_01_mangos_spell_proc_item_enchant.sql \
8249_02_mangos_spell_chain.sql \
README

View file

@ -451,6 +451,7 @@ ChatCommand * ChatHandler::getCommandTable()
{ "spell_loot_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLootTemplatesSpellCommand, "", NULL },
{ "spell_pet_auras", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSpellPetAurasCommand, "", NULL },
{ "spell_proc_event", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSpellProcEventCommand, "", NULL },
{ "spell_proc_item_enchant", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSpellProcItemEnchantCommand, "", NULL },
{ "spell_script_target", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSpellScriptTargetCommand, "", NULL },
{ "spell_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSpellScriptsCommand, "", NULL },
{ "spell_target_position", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadSpellTargetPositionCommand, "", NULL },

View file

@ -375,6 +375,7 @@ class ChatHandler
bool HandleReloadSpellElixirCommand(const char* args);
bool HandleReloadSpellLearnSpellCommand(const char* args);
bool HandleReloadSpellProcEventCommand(const char* args);
bool HandleReloadSpellProcItemEnchantCommand(const char* args);
bool HandleReloadSpellBonusesCommand(const char* args);
bool HandleReloadSpellScriptTargetCommand(const char* args);
bool HandleReloadSpellScriptsCommand(const char* args);

View file

@ -157,6 +157,7 @@ bool ChatHandler::HandleReloadAllSpellCommand(const char*)
HandleReloadSpellLearnSpellCommand("a");
HandleReloadSpellProcEventCommand("a");
HandleReloadSpellBonusesCommand("a");
HandleReloadSpellProcItemEnchantCommand("a");
HandleReloadSpellScriptTargetCommand("a");
HandleReloadSpellTargetPositionCommand("a");
HandleReloadSpellThreatsCommand("a");
@ -528,6 +529,14 @@ bool ChatHandler::HandleReloadSpellBonusesCommand(const char*)
return true;
}
bool ChatHandler::HandleReloadSpellProcItemEnchantCommand(const char*)
{
sLog.outString( "Re-Loading Spell Proc Item Enchant..." );
spellmgr.LoadSpellProcItemEnchant();
SendGlobalSysMessage("DB table `spell_proc_item_enchant` (item enchantment ppm) reloaded.");
return true;
}
bool ChatHandler::HandleReloadSpellScriptTargetCommand(const char*)
{
sLog.outString( "Re-Loading SpellsScriptTarget..." );

View file

@ -6997,7 +6997,7 @@ void Player::CastItemCombatSpell(Unit* Target, WeaponAttackType attType)
if(spellData.SpellPPMRate)
{
uint32 WeaponSpeed = GetAttackTime(attType);
uint32 WeaponSpeed = proto->Delay;
chance = GetPPMProcChance(WeaponSpeed, spellData.SpellPPMRate);
}
else if(chance > 100.0f)
@ -7027,7 +7027,18 @@ void Player::CastItemCombatSpell(Unit* Target, WeaponAttackType attType)
continue;
}
float chance = pEnchant->amount[s] != 0 ? float(pEnchant->amount[s]) : GetWeaponProcChance();
// Use first rank to access spell item enchant procs
uint32 firstRank = spellmgr.GetFirstSpellInChain(spellInfo->Id);
float ppmRate = spellmgr.GetItemEnchantProcChance(firstRank);
float chance = ppmRate
? GetPPMProcChance(proto->Delay, ppmRate)
: pEnchant->amount[s] != 0 ? float(pEnchant->amount[s]) : GetWeaponProcChance();
ApplySpellMod(spellInfo->Id,SPELLMOD_CHANCE_OF_SUCCESS,chance);
ApplySpellMod(spellInfo->Id,SPELLMOD_FREQUENCY_OF_SUCCESS,chance);
if (roll_chance_f(chance))
{
if(IsPositiveSpell(pEnchant->spellid[s]))

View file

@ -769,6 +769,63 @@ void SpellMgr::LoadSpellProcEvents()
sLog.outString( ">> Loaded %u extra spell proc event conditions", count );
}
void SpellMgr::LoadSpellProcItemEnchant()
{
mSpellProcItemEnchantMap.clear(); // need for reload case
uint32 count = 0;
// 0 1
QueryResult *result = WorldDatabase.Query("SELECT entry, ppmRate FROM spell_proc_item_enchant");
if( !result )
{
barGoLink bar( 1 );
bar.step();
sLog.outString();
sLog.outString( ">> Loaded %u proc item enchant definitions", count );
return;
}
barGoLink bar( result->GetRowCount() );
do
{
Field *fields = result->Fetch();
bar.step();
uint32 entry = fields[0].GetUInt32();
float ppmRate = fields[1].GetFloat();
SpellEntry const* spellInfo = sSpellStore.LookupEntry(entry);
if (!spellInfo)
{
sLog.outErrorDb("Spell %u listed in `spell_proc_item_enchant` does not exist", entry);
continue;
}
if ( GetFirstSpellInChain(entry) != entry )
{
sLog.outErrorDb("Spell %u listed in `spell_proc_item_enchant` is not first rank in chain", entry);
// prevent loading since it won't have an effect anyway
continue;
}
mSpellProcItemEnchantMap[entry] = ppmRate;
++count;
} while( result->NextRow() );
delete result;
sLog.outString();
sLog.outString( ">> Loaded %u proc item enchant definitions", count );
}
void SpellMgr::LoadSpellBonusess()
{
mSpellBonusMap.clear(); // need for reload case

View file

@ -449,6 +449,7 @@ typedef UNORDERED_MAP<uint32, SpellBonusEntry> SpellBonusMap;
#define ELIXIR_SHATTRATH_MASK 0x8
typedef std::map<uint32, uint8> SpellElixirMap;
typedef std::map<uint32, float> SpellProcItemEnchantMap;
// Spell script target related declarations (accessed using SpellMgr functions)
enum SpellTargetType
@ -671,6 +672,16 @@ class SpellMgr
return NULL;
}
// Spell procs from item enchants
float GetItemEnchantProcChance(uint32 spellid) const
{
SpellProcItemEnchantMap::const_iterator itr = mSpellProcItemEnchantMap.find(spellid);
if(itr==mSpellProcItemEnchantMap.end())
return 0.0f;
return itr->second;
}
static bool IsSpellProcEventCanTriggeredBy( SpellProcEventEntry const * spellProcEvent, uint32 EventProcFlag, SpellEntry const * procSpell, uint32 procFlags, uint32 procExtra, bool active);
// Spell bonus data
@ -898,6 +909,7 @@ class SpellMgr
void LoadSpellScriptTarget();
void LoadSpellElixirs();
void LoadSpellProcEvents();
void LoadSpellProcItemEnchant();
void LoadSpellBonusess();
void LoadSpellTargetPositions();
void LoadSpellThreats();
@ -916,6 +928,7 @@ class SpellMgr
SpellTargetPositionMap mSpellTargetPositions;
SpellElixirMap mSpellElixirs;
SpellProcEventMap mSpellProcEventMap;
SpellProcItemEnchantMap mSpellProcItemEnchantMap;
SpellBonusMap mSpellBonusMap;
SkillLineAbilityMap mSkillLineAbilityMap;
SpellPetAuraMap mSpellPetAuraMap;

View file

@ -8926,8 +8926,7 @@ float Unit::GetPPMProcChance(uint32 WeaponSpeed, float PPM) const
{
// proc per minute chance calculation
if (PPM <= 0) return 0.0f;
uint32 result = uint32((WeaponSpeed * PPM) / 600.0f); // result is chance in percents (probability = Speed_in_sec * (PPM / 60))
return result;
return WeaponSpeed * PPM / 600.0f; // result is chance in percents (probability = Speed_in_sec * (PPM / 60))
}
void Unit::Mount(uint32 mount)
@ -11732,7 +11731,10 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit *pVictim, Aura* aura, SpellEntry con
}
// Apply chance modifer aura
if(Player* modOwner = GetSpellModOwner())
{
modOwner->ApplySpellMod(spellProto->Id,SPELLMOD_CHANCE_OF_SUCCESS,chance);
modOwner->ApplySpellMod(spellProto->Id,SPELLMOD_FREQUENCY_OF_SUCCESS,chance);
}
return roll_chance_f(chance);
}

View file

@ -102,14 +102,15 @@ enum SpellModOp
SPELLMOD_CRIT_DAMAGE_BONUS = 15,
SPELLMOD_RESIST_MISS_CHANCE = 16,
SPELLMOD_JUMP_TARGETS = 17,
SPELLMOD_CHANCE_OF_SUCCESS = 18,
SPELLMOD_CHANCE_OF_SUCCESS = 18, // Only used with SPELL_AURA_ADD_FLAT_MODIFIER and affects proc spells
SPELLMOD_ACTIVATION_TIME = 19,
SPELLMOD_EFFECT_PAST_FIRST = 20,
SPELLMOD_CASTING_TIME_OLD = 21,
SPELLMOD_DOT = 22,
SPELLMOD_EFFECT3 = 23,
SPELLMOD_SPELL_BONUS_DAMAGE = 24,
// spellmod 25, 26 unused
// spellmod 25 unused
SPELLMOD_FREQUENCY_OF_SUCCESS = 26, // Only used with SPELL_AURA_ADD_PCT_MODIFIER and affects used on proc spells
SPELLMOD_MULTIPLE_VALUE = 27,
SPELLMOD_RESIST_DISPEL_CHANCE = 28
};

View file

@ -1148,6 +1148,9 @@ void World::SetInitialWorldSettings()
sLog.outString( "Loading Spell Bonus Data..." );
spellmgr.LoadSpellBonusess();
sLog.outString( "Loading Spell Proc Item Enchant..." );
spellmgr.LoadSpellProcItemEnchant(); // must be after LoadSpellChains
sLog.outString( "Loading Aggro Spells Definitions...");
spellmgr.LoadSpellThreats();

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8248"
#define REVISION_NR "8249"
#endif // __REVISION_NR_H__