aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/world_database.sql6
-rw-r--r--sql/updates/9551_world_spell_bonus_data.sql1
-rw-r--r--sql/updates/9551_world_spell_proc_event.sql3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp46
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)