diff --git a/sql/mangos.sql b/sql/mangos.sql index d2e061d53..aee7b60fd 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -24,7 +24,7 @@ CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, `cache_id` int(10) default '0', - `required_11529_01_mangos_command` bit(1) default NULL + `required_11530_01_mangos_spell_proc_event` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -17357,7 +17357,7 @@ INSERT INTO `spell_proc_event` VALUES (46916, 0x00, 4, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x00000400, 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (46951, 0x00, 4, 0x00000400, 0x00000400, 0x00000400, 0x00000040, 0x00000040, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (47195, 0x00, 5, 0x00000002, 0x00000002, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 30), -(47201, 0x00, 5, 0x00000008, 0x00000008, 0x00000008, 0x00040000, 0x00040000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), +(47201, 0x00, 5, 0x00004009, 0x00004009, 0x00004009, 0x00040000, 0x00040000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), (47245, 0x20, 5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (47258, 0x00, 5, 0x00000000, 0x00000000, 0x00000000, 0x00800000, 0x00800000, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0), (47263, 0x20, 5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 20), diff --git a/sql/updates/11530_01_mangos_spell_proc_event.sql b/sql/updates/11530_01_mangos_spell_proc_event.sql new file mode 100644 index 000000000..e304eedb2 --- /dev/null +++ b/sql/updates/11530_01_mangos_spell_proc_event.sql @@ -0,0 +1,5 @@ +ALTER TABLE db_version CHANGE COLUMN required_11529_01_mangos_command required_11530_01_mangos_spell_proc_event bit; + +DELETE FROM `spell_proc_event` WHERE entry = 47201; +INSERT INTO `spell_proc_event` VALUE +(47201, 0x00, 5, 0x00004009, 0x00004009, 0x00004009, 0x00040000, 0x00040000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0.000000, 0.000000, 0); diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 1d67e09e3..5bf7e25ba 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1010,8 +1010,10 @@ void Aura::HandleAddModifier(bool apply, bool Real) if (apply) { + SpellEntry const* spellProto = GetSpellProto(); + // Add custom charges for some mod aura - switch (GetSpellProto()->Id) + switch (spellProto->Id) { case 17941: // Shadow Trance case 22008: // Netherwind Focus @@ -1036,6 +1038,13 @@ void Aura::HandleAddModifier(bool apply, bool Real) // prevent expire spell mods with (charges > 0 && m_stackAmount > 1) // all this spell expected expire not at use but at spell proc event check GetSpellProto()->StackAmount > 1 ? 0 : GetHolder()->GetAuraCharges()); + + // Everlasting Affliction, overwrite wrong data, if will need more better restore support of spell_affect table + if (spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK && spellProto->SpellIconID == 3169) + { + m_spellmod->mask = UI64LIT(0x0000010000000002); // Corruption and Unstable Affliction + m_spellmod->mask2 = 0x00000000; + } } ((Player*)GetTarget())->AddSpellMod(m_spellmod, apply); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 69752d554..e2581d642 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11529" + #define REVISION_NR "11530" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index a361b3ba3..12e301d18 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ #define REVISION_DB_CHARACTERS "required_11436_01_characters_character_queststatus" - #define REVISION_DB_MANGOS "required_11529_01_mangos_command" + #define REVISION_DB_MANGOS "required_11530_01_mangos_spell_proc_event" #define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version" #endif // __REVISION_SQL_H__