diff options
author | megamage <none@none> | 2009-07-31 10:36:29 +0800 |
---|---|---|
committer | megamage <none@none> | 2009-07-31 10:36:29 +0800 |
commit | c26d5560ea446e2aca2ecfbddc08adf6e168fa7b (patch) | |
tree | 5bf961bf2591a6a4548b290647af8ee34047f27f | |
parent | 2bddcc4303060a42e88a0478005c3c0368e3569a (diff) |
[8253] Some spell proc fixes. Author: Den
--HG--
branch : trunk
-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: { |