[8841] Implement talent 65661 and ranks.

SQL part prepeared by Laise.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
thenecromancer 2009-11-20 10:08:25 +03:00 committed by VladimirMangos
parent ea28a5cfcb
commit 6c052039fb
7 changed files with 111 additions and 5 deletions

View file

@ -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_8840_01_mangos_spell_proc_event` bit(1) default NULL
`required_8841_02_mangos_spell_chain` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@ -17125,6 +17125,10 @@ INSERT INTO spell_chain VALUES
(51423,49020,49020,2,0),
(51424,51423,49020,3,0),
(51425,51424,49020,4,0),
/*Threat of Thassarian*/
(65661,0,65661,1,0),
(66191,65661,65661,2,0),
(66192,66191,65661,3,0),
/*------------------
--(772)Unholy
------------------*/
@ -17567,7 +17571,7 @@ UNLOCK TABLES;
DROP TABLE IF EXISTS `spell_proc_event`;
CREATE TABLE `spell_proc_event` (
`entry` smallint(5) unsigned NOT NULL default '0',
`entry` mediumint(8) unsigned NOT NULL default '0',
`SchoolMask` tinyint(4) NOT NULL default '0',
`SpellFamilyName` smallint(5) unsigned NOT NULL default '0',
`SpellFamilyMask0` int(10) unsigned NOT NULL default '0',
@ -18362,7 +18366,9 @@ INSERT INTO `spell_proc_event` VALUES
(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),
(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);
/*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */;
UNLOCK TABLES;

View file

@ -0,0 +1,9 @@
ALTER TABLE db_version CHANGE COLUMN required_8840_01_mangos_spell_proc_event required_8841_01_mangos_spell_proc_event bit;
ALTER TABLE `spell_proc_event`
CHANGE `entry` `entry` mediumint(8) unsigned NOT NULL default '0';
DELETE FROM `spell_proc_event` WHERE `entry` IN (65661);
INSERT INTO `spell_proc_event` VALUES
(65661, 0, 15, 0x00400010, 0x20020004, 0x00000000, 0x00000010, 0x00000000, 0.000000, 100.000000, 0);

View file

@ -0,0 +1,8 @@
ALTER TABLE db_version CHANGE COLUMN required_8841_01_mangos_spell_proc_event required_8841_02_mangos_spell_chain bit;
DELETE FROM spell_chain WHERE first_spell = 65661;
INSERT INTO spell_chain VALUES
(65661,0,65661,1,0),
(66191,65661,65661,2,0),
(66192,66191,65661,3,0);

View file

@ -164,6 +164,8 @@ pkgdata_DATA = \
8833_02_mangos_command.sql \
8835_01_mangos_command.sql \
8840_01_mangos_spell_proc_event.sql \
8841_01_mangos_spell_proc_event.sql \
8841_02_mangos_spell_chain.sql \
README
## Additional files to include when running 'make dist'
@ -308,4 +310,6 @@ EXTRA_DIST = \
8833_02_mangos_command.sql \
8835_01_mangos_command.sql \
8840_01_mangos_spell_proc_event.sql \
8841_01_mangos_spell_proc_event.sql \
8841_02_mangos_spell_chain.sql \
README

View file

@ -6404,6 +6404,85 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
triggered_spell_id = 51460;
break;
}
// Threat of Thassarian
if (dummySpell->SpellIconID == 2023)
{
// Must Dual Wield
if (!procSpell || !haveOffhandWeapon())
return false;
// Chance as basepoints for dummy aura
if (!roll_chance_i(triggerAmount))
return false;
switch (procSpell->Id)
{
// Obliterate
case 49020: // Rank 1
triggered_spell_id = 66198; break;
case 51423: // Rank 2
triggered_spell_id = 66972; break;
case 51424: // Rank 3
triggered_spell_id = 66973; break;
case 51425: // Rank 4
triggered_spell_id = 66974; break;
// Frost Strike
case 49143: // Rank 1
triggered_spell_id = 66196; break;
case 51416: // Rank 2
triggered_spell_id = 66958; break;
case 51417: // Rank 3
triggered_spell_id = 66959; break;
case 51418: // Rank 4
triggered_spell_id = 66960; break;
case 51419: // Rank 5
triggered_spell_id = 66961; break;
case 51420: // Rank 6
triggered_spell_id = 66962; break;
// Plague Strike
case 45462: // Rank 1
triggered_spell_id = 66216; break;
case 49917: // Rank 2
triggered_spell_id = 66988; break;
case 49918: // Rank 3
triggered_spell_id = 66989; break;
case 49919: // Rank 4
triggered_spell_id = 66990; break;
case 49920: // Rank 5
triggered_spell_id = 66991; break;
case 49921: // Rank 6
triggered_spell_id = 66992; break;
// Death Strike
case 49998: // Rank 1
triggered_spell_id = 66188; break;
case 49999: // Rank 2
triggered_spell_id = 66950; break;
case 45463: // Rank 3
triggered_spell_id = 66951; break;
case 49923: // Rank 4
triggered_spell_id = 66952; break;
case 49924: // Rank 5
triggered_spell_id = 66953; break;
// Rune Strike
case 56815:
triggered_spell_id = 66217; break;
// Blood Strike
case 45902: // Rank 1
triggered_spell_id = 66215; break;
case 49926: // Rank 2
triggered_spell_id = 66975; break;
case 49927: // Rank 3
triggered_spell_id = 66976; break;
case 49928: // Rank 4
triggered_spell_id = 66977; break;
case 49929: // Rank 5
triggered_spell_id = 66978; break;
case 49930: // Rank 6
triggered_spell_id = 66979; break;
default:
return false;
}
break;
}
// Runic Power Back on Snare/Root
if (dummySpell->Id == 61257)
{

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8840"
#define REVISION_NR "8841"
#endif // __REVISION_NR_H__

View file

@ -1,6 +1,6 @@
#ifndef __REVISION_SQL_H__
#define __REVISION_SQL_H__
#define REVISION_DB_CHARACTERS "required_8828_01_characters_instance_reset"
#define REVISION_DB_MANGOS "required_8840_01_mangos_spell_proc_event"
#define REVISION_DB_MANGOS "required_8841_02_mangos_spell_chain"
#define REVISION_DB_REALMD "required_8728_01_realmd_account"
#endif // __REVISION_SQL_H__