[8882] Implement talent 63625 and ranks.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also add `spell_chain` data for spell 56636.
This commit is contained in:
Splinter 2009-11-27 21:59:57 +03:00 committed by VladimirMangos
parent a744ffc4c0
commit 026e540c49
8 changed files with 69 additions and 20 deletions

View file

@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
`version` varchar(120) default NULL, `version` varchar(120) default NULL,
`creature_ai_version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL,
`cache_id` int(10) default '0', `cache_id` int(10) default '0',
`required_8873_02_mangos_spell_learn_spell` bit(1) default NULL `required_8882_03_mangos_spell_bonus_data` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
-- --
@ -14048,6 +14048,7 @@ INSERT INTO `spell_bonus_data` VALUES
(2061, 0.8068, 0, 0, 'Priest - Flash Heal'), (2061, 0.8068, 0, 0, 'Priest - Flash Heal'),
(2060, 1.6135, 0, 0, 'Priest - Greater Heal'), (2060, 1.6135, 0, 0, 'Priest - Greater Heal'),
(23455, 0.3035, 0, 0, 'Priest - Holy Nova Heal'), (23455, 0.3035, 0, 0, 'Priest - Holy Nova Heal'),
(63675, 0, 0, 0, 'Priest - Improved Devouring Plague Triggered'),
(8129, 0, 0, 0, 'Priest - Mana Burn'), (8129, 0, 0, 0, 'Priest - Mana Burn'),
(58381, 0.257143,0, 0, 'Priest - Mind Flay Triggered'), (58381, 0.257143,0, 0, 'Priest - Mind Flay Triggered'),
(49821, 0.14286,0, 0, 'Priest - Mind Sear Trigger'), (49821, 0.14286,0, 0, 'Priest - Mind Sear Trigger'),
@ -14440,7 +14441,11 @@ INSERT INTO spell_chain VALUES
(25208,11574,772,8,0), (25208,11574,772,8,0),
(46845,25208,772,9,0), (46845,25208,772,9,0),
(47465,46845,772,10,0), (47465,46845,772,10,0),
/*ThunderClap*/ /*Taste for Blood*/
(56636,0,56636,1,0),
(56637,56636,56636,2,0),
(56638,56637,56636,3,0),
/*Thunder Clap*/
(6343,0,6343,1,0), (6343,0,6343,1,0),
(8198,6343,6343,2,0), (8198,6343,6343,2,0),
(8204,8198,6343,3,0), (8204,8198,6343,3,0),
@ -18304,8 +18309,6 @@ INSERT INTO `spell_proc_event` VALUES
(56613, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (56613, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
(56614, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (56614, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
(56636, 0x00000000, 4, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 6), (56636, 0x00000000, 4, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 6),
(56637, 0x00000000, 4, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 6),
(56638, 0x00000000, 4, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 6),
(56816, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0.000000, 0.000000, 0), (56816, 0x00000000, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0.000000, 0.000000, 0),
(56821, 0x00000000, 8, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (56821, 0x00000000, 8, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
(56822, 0x00000000, 15, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (56822, 0x00000000, 15, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
@ -18372,6 +18375,7 @@ INSERT INTO `spell_proc_event` VALUES
(63156, 0x00000000, 0, 0x00000001, 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0), (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), (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), (63320, 0x00000000, 5, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 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), (63730, 0x00000000, 6, 0x00000800, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0),
(64928, 0x00000000, 11, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0), (64928, 0x00000000, 11, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0),
(65661, 0x00000000, 15, 0x00400010, 0x20020004, 0x00000000, 0x00000010, 0x00000000, 0.000000, 100.000000, 0); (65661, 0x00000000, 15, 0x00400010, 0x20020004, 0x00000000, 0x00000010, 0x00000000, 0.000000, 100.000000, 0);

View file

@ -0,0 +1,7 @@
ALTER TABLE db_version CHANGE COLUMN required_8873_02_mangos_spell_learn_spell required_8882_01_mangos_spell_proc_event bit;
DELETE FROM `spell_proc_event` WHERE `entry` IN (63625);
INSERT INTO `spell_proc_event` VALUES
(63625, 0x00000000, 6, 0x02000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0.000000, 0.000000, 0);
DELETE FROM spell_proc_event WHERE entry IN (56637, 56638);

View file

@ -0,0 +1,9 @@
ALTER TABLE db_version CHANGE COLUMN required_8882_01_mangos_spell_proc_event required_8882_02_mangos_spell_chain bit;
DELETE FROM spell_chain WHERE first_spell = 56636;
/*Taste for Blood*/
INSERT INTO spell_chain VALUES
(56636, 0, 56636, 1, 0),
(56637, 56636, 56636, 2, 0),
(56638, 56637, 56636, 3, 0);

View file

@ -0,0 +1,5 @@
ALTER TABLE db_version CHANGE COLUMN required_8882_02_mangos_spell_chain required_8882_03_mangos_spell_bonus_data bit;
DELETE FROM spell_bonus_data WHERE entry = 63675;
INSERT INTO spell_bonus_data VALUES
(63675, 0, 0, 0, 'Priest - Improved Devouring Plague Triggered');

View file

@ -175,6 +175,9 @@ pkgdata_DATA = \
8873_01_mangos_spell_proc_event.sql \ 8873_01_mangos_spell_proc_event.sql \
8873_02_mangos_spell_learn_spell.sql \ 8873_02_mangos_spell_learn_spell.sql \
8874_01_characters_character_skills.sql \ 8874_01_characters_character_skills.sql \
8882_01_mangos_spell_proc_event.sql \
8882_02_mangos_spell_chain.sql \
8882_03_mangos_spell_bonus_data.sql \
README README
## Additional files to include when running 'make dist' ## Additional files to include when running 'make dist'
@ -330,4 +333,7 @@ EXTRA_DIST = \
8873_01_mangos_spell_proc_event.sql \ 8873_01_mangos_spell_proc_event.sql \
8873_02_mangos_spell_learn_spell.sql \ 8873_02_mangos_spell_learn_spell.sql \
8874_01_characters_character_skills.sql \ 8874_01_characters_character_skills.sql \
8882_01_mangos_spell_proc_event.sql \
8882_02_mangos_spell_chain.sql \
8882_03_mangos_spell_bonus_data.sql \
README README

View file

@ -5426,22 +5426,40 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
return true; // no hidden cooldown return true; // no hidden cooldown
} }
// Divine Aegis switch(dummySpell->SpellIconID)
if (dummySpell->SpellIconID == 2820)
{ {
basepoints0 = damage * triggerAmount/100; // Improved Shadowform
triggered_spell_id = 47753; case 217:
break; {
} if(!roll_chance_i(triggerAmount))
// Improved Shadowform return false;
else if (dummySpell->SpellIconID == 217)
{
if(!roll_chance_i(triggerAmount))
return false;
RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT); RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT);
RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED); RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
break; break;
}
// Divine Aegis
case 2820:
{
basepoints0 = damage * triggerAmount/100;
triggered_spell_id = 47753;
break;
}
// Improved Devouring Plague
case 3790:
{
if (!procSpell)
return false;
Aura* leachAura = pVictim->GetAura(procSpell->Id,0);
if (!leachAura)
return false;
int32 damagefromticks = SpellDamageBonus(pVictim, procSpell, (leachAura->GetModifier()->m_amount* GetSpellAuraMaxTicks(procSpell)), DOT);
basepoints0 = damagefromticks * triggerAmount / 100;
triggered_spell_id = 63675;
break;
}
} }
switch(dummySpell->Id) switch(dummySpell->Id)

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8881" #define REVISION_NR "8882"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__

View file

@ -1,6 +1,6 @@
#ifndef __REVISION_SQL_H__ #ifndef __REVISION_SQL_H__
#define __REVISION_SQL_H__ #define __REVISION_SQL_H__
#define REVISION_DB_CHARACTERS "required_8874_01_characters_character_skills" #define REVISION_DB_CHARACTERS "required_8874_01_characters_character_skills"
#define REVISION_DB_MANGOS "required_8873_02_mangos_spell_learn_spell" #define REVISION_DB_MANGOS "required_8882_03_mangos_spell_bonus_data"
#define REVISION_DB_REALMD "required_8728_01_realmd_account" #define REVISION_DB_REALMD "required_8728_01_realmd_account"
#endif // __REVISION_SQL_H__ #endif // __REVISION_SQL_H__