diff options
-rw-r--r-- | sql/base/world_database.sql | 6 | ||||
-rw-r--r-- | sql/updates/9551_world_spell_bonus_data.sql | 1 | ||||
-rw-r--r-- | sql/updates/9551_world_spell_proc_event.sql | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 46 |
4 files changed, 54 insertions, 2 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 939a7269a43..5b08ce40e27 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -5290,7 +5290,8 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a (25530, 0.1667, -1, -1, -1, 'Shaman - Searing Totem Attack Rank 7'), (58700, 0.1667, -1, -1, -1, 'Shaman - Searing Totem Attack Rank 8'), (58701, 0.1667, -1, -1, -1, 'Shaman - Searing Totem Attack Rank 9'), -(52752, 0, 0, 0, 0, 'Ancestral Awakening'), +(52752, 0, 0, 0, 0, 'Shaman - Ancestral Awakening'), +(70809, 0, 0, 0, 0, 'Shaman - Item - T10 Restoration 4P Bonus'), (55533, 0, 0, 0, 0, 'Shaman - Glyph of Healing Wave'), (50796, 0.7139, -1, -1, -1, 'Warlock - Chaos Bolt'), (17962, 0, 0, 0, 0, 'Warlock - Conflagrate'), @@ -7417,7 +7418,8 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam ( 67771, 0x01, 0, 0x00000000, 0x00000000, 0x00000000, 0x00851154, 0x00000003, 0, 35, 45), -- Item - Coliseum Melee Trinket 10men ( 67702, 0x01, 0, 0x00000000, 0x00000000, 0x00000000, 0x00851154, 0x00000003, 0, 35, 45), -- Item - Coliseum Melee Trinket 25men ( 70748, 0x00, 3, 0x00000000, 0x00200000, 0x00000000, 0x00000400, 0x00000000, 0, 0, 0), -- Item - Mage T10 4P Bonus -( 70807, 0x00, 11, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0, 100, 0), -- Item - Shaman T10 Restoration 2P Bonus +( 70807, 0x00, 11, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Shaman T10 Restoration 2P Bonus +( 70830, 0x00, 11, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Shaman T10 Enhancement 2P Bonus ( 71519, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 105), -- Item - Deathbringer's Will Trinket Normal ( 71562, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 105), -- Item - Deathbringer's Will Trinket Heroic ( 70761, 0x00, 10, 0x00000000, 0x80004000, 0x00000001, 0x00000400, 0x00000000, 0, 0, 0), -- Item - Paladin T10 Protection 4P Bonus diff --git a/sql/updates/9551_world_spell_bonus_data.sql b/sql/updates/9551_world_spell_bonus_data.sql new file mode 100644 index 00000000000..ae040a7e03c --- /dev/null +++ b/sql/updates/9551_world_spell_bonus_data.sql @@ -0,0 +1 @@ +INSERT INTO `spell_bonus_data` VALUES (70809, 0, 0, 0, 0, 'Item - Shaman T10 Restoration 4P Bonus'); diff --git a/sql/updates/9551_world_spell_proc_event.sql b/sql/updates/9551_world_spell_proc_event.sql new file mode 100644 index 00000000000..572673adeb7 --- /dev/null +++ b/sql/updates/9551_world_spell_proc_event.sql @@ -0,0 +1,3 @@ +-- Item - Shaman T10 Enhancement 2P Bonus +DELETE FROM `spell_proc_event` WHERE `entry` = 70830; +INSERT INTO `spell_proc_event` VALUES (70830, 0x00, 11, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0);
\ No newline at end of file diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index bb91a4852bb..ab2ca3fff8c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7327,6 +7327,52 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger triggered_spell_id = 64930; // Electrified break; } + // Shaman T9 Elemental 4P Bonus + case 67228: + { + // Lava Burst + if (procSpell->SpellFamilyFlags[1] & 0x1000) + { + triggered_spell_id = 71824; + SpellEntry const* triggeredSpell = sSpellStore.LookupEntry(triggered_spell_id); + if (!triggeredSpell) + return false; + basepoints0 = int32(triggerAmount * damage / 100 / (GetSpellMaxDuration(triggeredSpell) / triggeredSpell->EffectAmplitude[0])); + } + break; + } + // Item - Shaman T10 Restoration 4P Bonus + case 70808: + { + // Chain Heal + if((procSpell->SpellFamilyFlags[0] & 0x100) && (procEx & PROC_EX_CRITICAL_HIT)) + { + triggered_spell_id = 70809; + SpellEntry const* triggeredSpell = sSpellStore.LookupEntry(triggered_spell_id); + if (!triggeredSpell) + return false; + basepoints0 = int32(triggerAmount * damage / 100 / (GetSpellMaxDuration(triggeredSpell) / triggeredSpell->EffectAmplitude[0])); + } + break; + } + // Item - Shaman T10 Elemental 2P Bonus + case 70811: + { + // Lightning Bolt & Chain Lightning + if(procSpell->SpellFamilyFlags[0] & 0x3) + { + if (ToPlayer()->HasSpellCooldown(16166)) + { + uint32 newCooldownDelay = ToPlayer()->GetSpellCooldownDelay(16166) - 2; + if (newCooldownDelay < 0) newCooldownDelay = 0; + ToPlayer()->AddSpellCooldown(16166,0, uint32(time(NULL) + newCooldownDelay)); + + //TODO: need to send CD decrease to client + return true; + } + } + return false; + } } // Frozen Power if (dummySpell->SpellIconID == 3780) |