diff --git a/sql/mangos.sql b/sql/mangos.sql index b7d52f8ba..d8c7dc946 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_9716_02_mangos_mangos_string` bit(1) default NULL + `required_9720_01_mangos_spell_proc_event` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- diff --git a/sql/updates/9720_01_mangos_spell_proc_event.sql b/sql/updates/9720_01_mangos_spell_proc_event.sql new file mode 100644 index 000000000..5e9468169 --- /dev/null +++ b/sql/updates/9720_01_mangos_spell_proc_event.sql @@ -0,0 +1,4 @@ +ALTER TABLE db_version CHANGE COLUMN required_9716_02_mangos_mangos_string required_9720_01_mangos_spell_proc_event bit; + +DELETE FROM `spell_proc_event` WHERE `entry` = 63108; +INSERT INTO `spell_proc_event` VALUES (63108, 0x00, 5, 0x00000002, 0x00000000, 0x00000000, 0x00040000, 0x00000000, 0.000000, 0.000000, 0); \ No newline at end of file diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 483b23838..724063c30 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -114,6 +114,7 @@ pkgdata_DATA = \ 9710_01_mangos_command.sql \ 9716_01_mangos_npc_vendor.sql \ 9716_02_mangos_mangos_string.sql \ + 9720_01_mangos_spell_proc_event.sql \ README ## Additional files to include when running 'make dist' @@ -208,4 +209,5 @@ EXTRA_DIST = \ 9710_01_mangos_command.sql \ 9716_01_mangos_npc_vendor.sql \ 9716_02_mangos_mangos_string.sql \ + 9720_01_mangos_spell_proc_event.sql \ README diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index a8b27e044..6514fe5d4 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5823,6 +5823,12 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu // Siphon Life case 63108: { + if (triggeredByAura->GetEffIndex() != EFFECT_INDEX_0) + return false; + + if (Aura *aur = GetAura(56216, EFFECT_INDEX_0)) + triggerAmount += triggerAmount * aur->GetModifier()->m_amount / 100; + basepoints[0] = int32(damage * triggerAmount / 100); triggered_spell_id = 63106; break; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b0f42c653..79004806a 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 "9719" + #define REVISION_NR "9720" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 10d234aa2..785a30a86 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_9702_01_characters_item" - #define REVISION_DB_MANGOS "required_9716_02_mangos_mangos_string" + #define REVISION_DB_MANGOS "required_9720_01_mangos_spell_proc_event" #define REVISION_DB_REALMD "required_9010_01_realmd_realmlist" #endif // __REVISION_SQL_H__