diff options
-rw-r--r-- | sql/base/world_database.sql | 1 | ||||
-rw-r--r-- | sql/updates/9695_world_spell_proc_event.sql | 3 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 24 |
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: |