From 1e66682187f53857c2a2aac735b30d0db2e211c7 Mon Sep 17 00:00:00 2001 From: laise Date: Sat, 19 Dec 2009 06:24:58 +0300 Subject: [PATCH] [9025] Implement talent 63373 and ranks. Idea with AddTriggeredSpell use suggested by darkstalker. Signed-off-by: VladimirMangos --- sql/mangos.sql | 3 ++- sql/updates/9025_01_mangos_spell_proc_event.sql | 5 +++++ sql/updates/Makefile.am | 2 ++ src/game/Unit.cpp | 20 +++++++++++++++++++- src/shared/revision_nr.h | 2 +- src/shared/revision_sql.h | 2 +- 6 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 sql/updates/9025_01_mangos_spell_proc_event.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index c295bed31..119f2ad9a 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_9019_01_mangos_spell_threat` bit(1) default NULL + `required_9025_01_mangos_spell_proc_event` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -18521,6 +18521,7 @@ INSERT INTO `spell_proc_event` VALUES (63156, 0x00000000, 0, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (63245, 0x00000000, 5, 0x00000100, 0x00800000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (63320, 0x00000000, 5, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), +(63373, 0x00000000, 11, 0x80000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0.000000, 0.000000, 0), (63534, 0x00000000, 6, 0x00000040, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0), (63625, 0x00000000, 6, 0x02000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0.000000, 0.000000, 0), (63730, 0x00000000, 6, 0x00000800, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), diff --git a/sql/updates/9025_01_mangos_spell_proc_event.sql b/sql/updates/9025_01_mangos_spell_proc_event.sql new file mode 100644 index 000000000..f374ad94c --- /dev/null +++ b/sql/updates/9025_01_mangos_spell_proc_event.sql @@ -0,0 +1,5 @@ +ALTER TABLE db_version CHANGE COLUMN required_9019_01_mangos_spell_threat required_9025_01_mangos_spell_proc_event bit; + +DELETE FROM `spell_proc_event` WHERE `entry` = 63373; +INSERT INTO `spell_proc_event` VALUES +(63373, 0x00000000,11, 0x80000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0.000000, 0.000000, 0); diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 67f836c4e..02ea4d4f8 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -215,6 +215,7 @@ pkgdata_DATA = \ 9015_01_mangos_spell_bonus_data.sql \ 9018_01_mangos_spell_bonus_data.sql \ 9019_01_mangos_spell_threat.sql \ + 9025_01_mangos_spell_proc_event.sql \ README ## Additional files to include when running 'make dist' @@ -410,4 +411,5 @@ EXTRA_DIST = \ 9015_01_mangos_spell_bonus_data.sql \ 9018_01_mangos_spell_bonus_data.sql \ 9019_01_mangos_spell_threat.sql \ + 9025_01_mangos_spell_proc_event.sql \ README diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index b1a5d84d2..7fc7db742 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -6594,7 +6594,25 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu } } return false; - break; + } + // Frozen Power + if (dummySpell->SpellIconID == 3780) + { + Unit *caster = triggeredByAura->GetCaster(); + + if (!procSpell || !caster) + return false; + + float distance = caster->GetDistance(pVictim); + int32 chance = triggerAmount; + + if (distance < 15.0f || !roll_chance_i(chance)) + return false; + + // make triggered cast apply after current damage spell processing for prevent remove by it + if(Spell* spell = GetCurrentSpell(CURRENT_GENERIC_SPELL)) + spell->AddTriggeredSpell(63685); + return true; } break; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 9fb4ae76a..b7694a31f 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 "9024" + #define REVISION_NR "9025" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 1ffd23c72..51acf44ec 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_8874_01_characters_character_skills" - #define REVISION_DB_MANGOS "required_9019_01_mangos_spell_threat" + #define REVISION_DB_MANGOS "required_9025_01_mangos_spell_proc_event" #define REVISION_DB_REALMD "required_9010_01_realmd_realmlist" #endif // __REVISION_SQL_H__ -- 2.11.4.GIT