diff options
-rw-r--r-- | sql/updates/8253_02_mangos_spell_proc_event.sql.tbd | 21 | ||||
-rw-r--r-- | src/game/Unit.cpp | 12 |
2 files changed, 33 insertions, 0 deletions
diff --git a/sql/updates/8253_02_mangos_spell_proc_event.sql.tbd b/sql/updates/8253_02_mangos_spell_proc_event.sql.tbd new file mode 100644 index 00000000000..8e3472cbc0d --- /dev/null +++ b/sql/updates/8253_02_mangos_spell_proc_event.sql.tbd @@ -0,0 +1,21 @@ +ALTER TABLE db_version CHANGE COLUMN required_8253_01_mangos_spell_chain required_8253_02_mangos_spell_proc_event bit; + +/*Bandit's Insignia*/ +DELETE FROM `spell_proc_event` WHERE entry IN (60442); +INSERT INTO spell_proc_event VALUES +(60442, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 45); + +/*Seal of wisdom*/ +DELETE FROM `spell_proc_event` WHERE `entry` IN (20166); +INSERT INTO `spell_proc_event` VALUES +(20166, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,15.000000, 0.000000, 0); + +/*Shadow embrace*/ +DELETE FROM `spell_proc_event` WHERE `entry` IN (32385); +INSERT INTO `spell_proc_event` VALUES +(32385, 0x00000000, 5, 0x00000001, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); + +/*Maelstrom Weapon*/ +DELETE FROM `spell_proc_event` WHERE `entry` IN (51528); +INSERT INTO `spell_proc_event` VALUES +(51528, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,12.500000, 0.000000, 0); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index c72187df8f3..7489341338e 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7052,6 +7052,7 @@ bool Unit::HandleObsModEnergyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* SpellEntry const* triggerEntry = sSpellStore.LookupEntry(triggered_spell_id); + // Try handle unknown trigger spells if(!triggerEntry) { sLog.outError("Unit::HandleObsModEnergyAuraProc: Spell %u have not existed triggered spell %u",dummySpell->Id,triggered_spell_id); @@ -7877,6 +7878,17 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig basepoints0 = GetCreateMana() * 0.20f; break; } + // Maelstrom Weapon + case 53817: + { + // have rank dependent proc chance, ignore too often cases + // PPM = 2.5 * (rank of talent), + uint32 rank = spellmgr.GetSpellRank(auraSpellInfo->Id); + // 5 rank -> 100% 4 rank -> 80% and etc from full rate + if(!roll_chance_i(20*rank)) + return false; + break; + } // Brain Freeze case 57761: { |