diff --git a/sql/mangos.sql b/sql/mangos.sql index 2986b63db..eece58437 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -23,7 +23,7 @@ DROP TABLE IF EXISTS `db_version`; CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, - `required_7777_01_mangos_spell_proc_event` bit(1) default NULL + `required_7782_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/7782_01_mangos_spell_proc_event.sql b/sql/updates/7782_01_mangos_spell_proc_event.sql new file mode 100644 index 000000000..8efa5573b --- /dev/null +++ b/sql/updates/7782_01_mangos_spell_proc_event.sql @@ -0,0 +1,4 @@ +ALTER TABLE db_version CHANGE COLUMN required_7777_01_mangos_spell_proc_event required_7782_01_mangos_spell_proc_event bit; + +DELETE FROM spell_proc_event WHERE entry = 34074; +INSERT INTO spell_proc_event VALUES (34074, 0, 9, 522819, 8917121, 513, 0, 0, 0, 0, 0); \ No newline at end of file diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 2ec65ade2..1973ed5de 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -179,6 +179,7 @@ pkgdata_DATA = \ 7720_01_mangos_mangos_string.sql \ 7776_01_mangos_npc_spellclick_spells.sql \ 7777_01_mangos_spell_proc_event.sql \ + 7782_01_mangos_spell_proc_event.sql \ README ## Additional files to include when running 'make dist' @@ -338,4 +339,5 @@ EXTRA_DIST = \ 7720_01_mangos_mangos_string.sql \ 7776_01_mangos_npc_spellclick_spells.sql \ 7777_01_mangos_spell_proc_event.sql \ + 7782_01_mangos_spell_proc_event.sql \ README diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 455cf8b48..6220e5e18 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5317,6 +5317,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu } case SPELLFAMILY_HUNTER: { + // Aspect of the Viper + if ( dummySpell->SpellFamilyFlags & 0x4000000000000LL ) + { + uint32 maxmana = GetMaxPower(POWER_MANA); + basepoints0 = maxmana* GetAttackTime(RANGED_ATTACK)/1000.0f/100.0f; + + target = this; + triggered_spell_id = 34075; + break; + } // Thrill of the Hunt if ( dummySpell->SpellIconID == 2236 ) { @@ -10608,6 +10618,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag break; } case SPELL_AURA_MANA_SHIELD: + case SPELL_AURA_OBS_MOD_MANA: case SPELL_AURA_DUMMY: { sLog.outDebug("ProcDamageAndSpell: casting spell id %u (triggered by %s dummy aura of spell %u)", spellInfo->Id,(isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId()); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 8c0bea120..b303affc6 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 "7781" + #define REVISION_NR "7782" #endif // __REVISION_NR_H__