aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/world_database.sql1
-rw-r--r--sql/updates/9695_world_spell_proc_event.sql3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp24
3 files changed, 28 insertions, 0 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index 7606f49ae8a..3936238030b 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -7445,6 +7445,7 @@ 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
( 70652, 0x00, 15, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Death Knight T10 Tank 4P Bonus
+( 70656, 0x00, 15, 0x00000000, 0x00000000, 0x00000000, 0x00014000, 0x00000000, 0, 0, 0), -- Item - Death Knight T10 Melee 4P Bonus
( 70727, 0x00, 9, 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000, 0, 0, 0), -- Item - Hunter T10 2P Bonus
( 70730, 0x00, 9, 0x00004000, 0x00001000, 0x00000000, 0x00040000, 0x00000000, 0, 0, 0), -- Item - Hunter T10 4P Bonus
( 70748, 0x00, 3, 0x00000000, 0x00200000, 0x00000000, 0x00000400, 0x00000000, 0, 0, 0), -- Item - Mage T10 4P Bonus
diff --git a/sql/updates/9695_world_spell_proc_event.sql b/sql/updates/9695_world_spell_proc_event.sql
new file mode 100644
index 00000000000..974065aa476
--- /dev/null
+++ b/sql/updates/9695_world_spell_proc_event.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_proc_event` WHERE entry IN (70656);
+INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
+( 70656, 0x00, 15, 0x00000000, 0x00000000, 0x00000000, 0x00014000, 0x00000000, 0, 0, 0); -- Item - Death Knight T10 Melee 4P Bonus \ 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 1c4c19a77eb..cc2023b79bf 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -6651,6 +6651,20 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
triggered_spell_id = 32747;
break;
}
+ // Item - Druid T10 Balance 4P Bonus
+ case 70723:
+ {
+ // Wrath & Starfire
+ if ((procSpell->SpellFamilyFlags[0] & 0x5) && (procEx & PROC_EX_CRITICAL_HIT))
+ {
+ triggered_spell_id = 71023;
+ SpellEntry const* triggeredSpell = sSpellStore.LookupEntry(triggered_spell_id);
+ if (!triggeredSpell)
+ return false;
+ basepoints0 = int32(triggerAmount * damage / 100 / (GetSpellMaxDuration(triggeredSpell) / triggeredSpell->EffectAmplitude[0]));
+ }
+ break;
+ }
}
// Eclipse
if (dummySpell->SpellIconID == 2856 && GetTypeId() == TYPEID_PLAYER)
@@ -7802,6 +7816,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
}
}
}
+ // Item - Death Knight T10 Melee 4P Bonus
+ if (dummySpell->Id == 70656)
+ {
+ if (!this->ToPlayer())
+ return false;
+
+ for (uint32 i = 0; i < MAX_RUNES; ++i)
+ if (this->ToPlayer()->GetRuneCooldown(i) == 0)
+ return false;
+ }
break;
}
case SPELLFAMILY_POTION: