[7033] Add some dummy triggers

DK - 49015 and ranks, 51459 and ranks, 48979 and ranks
Druid - 48516 and ranks, 48496 and ranks
Shaman - 55440 glyph
Also fix send AttackStateUpdate on block
Add some spell_proc_event data
Fix sql update for 7031

Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
DiSlord 2009-01-05 16:55:30 +03:00
parent 5bf32dd62a
commit 675a90b267
6 changed files with 184 additions and 4 deletions

View file

@ -22,7 +22,7 @@
DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`required_7026_01_mangos_battleground_template` bit(1) default NULL
`required_7033_01_mangos_spell_proc_event` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@ -16707,7 +16707,26 @@ INSERT INTO `spell_proc_event` VALUES
(60572, 0x00000000, 11, 0x0000000090100000, 0x00000000, 0x00000000, 0, 0, 0),
(60617, 0x00000000, 0, 0x0000000000000000, 0x00000000, 0x00000020, 0, 0, 0),
(60826, 0x00000000, 15, 0x0000000001400000, 0x00000000, 0x00000000, 0, 0, 0),
(61324, 0x00000000, 10, 0x0002000000000000, 0x00000000, 0x00000000, 0, 0, 0);
(61324, 0x00000000, 10, 0x0002000000000000, 0x00000000, 0x00000000, 0, 0, 0),
(48516, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30),
(48521, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30),
(48525, 0x00000000, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0, 0, 30),
(48496, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0),
(48499, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0),
(48500, 0x00000000, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0, 0, 0),
(53228, 0x00000000, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0, 0, 0),
(53232, 0x00000000, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0, 0, 0),
(55440, 0x00000000, 11, 0x0000000000000040, 0x00000000, 0x00000000, 0, 0, 0),
(52795, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0),
(52797, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0),
(52798, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0),
(52799, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0),
(52800, 0x00000000, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0, 0, 0),
(55677, 0x00000000, 6, 0x0000000100000000, 0x00000000, 0x00000000, 0, 0, 0),
(55680, 0x00000000, 6, 0x0000000000000200, 0x00000000, 0x00000000, 0, 0, 0),
(47572, 0x00000000, 6, 0x0000000000010000, 0x00000000, 0x00000000, 0, 0, 0),
(48159, 0x00000020, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0, 0, 0),
(48160, 0x00000020, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0, 0, 0);
/*!40000 ALTER TABLE `spell_proc_event` ENABLE KEYS */;
UNLOCK TABLES;

View file

@ -1,3 +1,5 @@
ALTER TABLE db_version CHANGE COLUMN required_7026_01_mangos_battleground_template required_7031_01_mangos_spell_proc_event bit;
-- (44445) Hot Streak (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (44445);
INSERT INTO `spell_proc_event` VALUES (44445, 0x00, 3, 0x0000100000000013, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);

View file

@ -0,0 +1,78 @@
ALTER TABLE db_version CHANGE COLUMN required_7031_01_mangos_spell_proc_event required_7033_01_mangos_spell_proc_event bit;
-- (48516) Eclipse (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48516);
INSERT INTO `spell_proc_event` VALUES (48516, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30);
-- (48521) Eclipse (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48521);
INSERT INTO `spell_proc_event` VALUES (48521, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30);
-- (48525) Eclipse (Rank 3)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48525);
INSERT INTO `spell_proc_event` VALUES (48525, 0x00, 7, 0x0000000000000005, 0x00000000, 0x00000002, 0.000000, 0.000000, 30);
-- (48496) Living Seed (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48496);
INSERT INTO `spell_proc_event` VALUES (48496, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
-- (48499) Living Seed (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48499);
INSERT INTO `spell_proc_event` VALUES (48499, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
-- (48500) Living Seed (Rank 3)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48500);
INSERT INTO `spell_proc_event` VALUES (48500, 0x00, 7, 0x0200000200000060, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
-- (53228) Rapid Recuperation (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (53228);
INSERT INTO `spell_proc_event` VALUES (53228, 0x00, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (53232) Rapid Recuperation (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (53232);
INSERT INTO `spell_proc_event` VALUES (53232, 0x00, 9, 0x0000000000000020, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (55440) Glyph of Healing Wave ()
DELETE FROM `spell_proc_event` WHERE `entry` IN (55440);
INSERT INTO `spell_proc_event` VALUES (55440, 0x00, 11, 0x0000000000000040, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (52795) Borrowed Time (Rank 1)
DELETE FROM `spell_proc_event` WHERE `entry` IN (52795);
INSERT INTO `spell_proc_event` VALUES (52795, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (52797) Borrowed Time (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (52797);
INSERT INTO `spell_proc_event` VALUES (52797, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (52798) Borrowed Time (Rank 3)
DELETE FROM `spell_proc_event` WHERE `entry` IN (52798);
INSERT INTO `spell_proc_event` VALUES (52798, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (52799) Borrowed Time (Rank 4)
DELETE FROM `spell_proc_event` WHERE `entry` IN (52799);
INSERT INTO `spell_proc_event` VALUES (52799, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (52800) Borrowed Time (Rank 5)
DELETE FROM `spell_proc_event` WHERE `entry` IN (52800);
INSERT INTO `spell_proc_event` VALUES (52800, 0x00, 6, 0x0000000000000001, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (55677) Glyph of Dispel Magic ()
DELETE FROM `spell_proc_event` WHERE `entry` IN (55677);
INSERT INTO `spell_proc_event` VALUES (55677, 0x00, 6, 0x0000000100000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (55680) Glyph of Prayer of Healing ()
DELETE FROM `spell_proc_event` WHERE `entry` IN (55680);
INSERT INTO `spell_proc_event` VALUES (55680, 0x00, 6, 0x0000000000000200, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (47572) Psychic Horror (Rank 2)
DELETE FROM `spell_proc_event` WHERE `entry` IN (47572);
INSERT INTO `spell_proc_event` VALUES (47572, 0x00, 6, 0x0000000000010000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (48159) Vampiric Touch (Rank 4)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48159);
INSERT INTO `spell_proc_event` VALUES (48159, 0x20, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
-- (48160) Vampiric Touch (Rank 5)
DELETE FROM `spell_proc_event` WHERE `entry` IN (48160);
INSERT INTO `spell_proc_event` VALUES (48160, 0x20, 6, 0x0000000000000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);

View file

@ -112,6 +112,7 @@ pkgdata_DATA = \
7024_01_mangos_spell_chain.sql \
7026_01_mangos_battleground_template.sql \
7031_01_mangos_spell_proc_event.sql \
7033_01_mangos_spell_proc_event.sql \
README
## Additional files to include when running 'make dist'
@ -204,4 +205,5 @@ EXTRA_DIST = \
7024_01_mangos_spell_chain.sql \
7026_01_mangos_battleground_template.sql \
7031_01_mangos_spell_proc_event.sql \
7033_01_mangos_spell_proc_event.sql \
README

View file

@ -4044,7 +4044,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo)
data << (uint32)damageInfo->resist; // Resist
}
data << (uint32)damageInfo->TargetState;
data << (uint8)damageInfo->TargetState;
data << (uint32)0;
data << (uint32)0;
@ -4554,6 +4554,14 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
}
return false;
}
// Living Seed
case 48504:
{
triggered_spell_id = 48503;
basepoints0 = triggeredByAura->GetModifier()->m_amount;
target = this;
break;
}
}
break;
}
@ -4941,6 +4949,39 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
break;
}
}
// Eclipse
if (dummySpell->SpellIconID == 2856)
{
if (!procSpell)
return false;
// Only 0 aura can proc
if (triggeredByAura->GetEffIndex()!=0)
return true;
// Wrath crit
if (procSpell->SpellFamilyFlags & 0x0000000000000001LL)
{
if (!roll_chance_i(60))
return false;
triggered_spell_id = 48518;
target = this;
break;
}
// Starfire crit
if (procSpell->SpellFamilyFlags & 0x0000000000000004LL)
{
triggered_spell_id = 48517;
target = this;
break;
}
return false;
}
// Living Seed
else if (dummySpell->SpellIconID == 2860)
{
triggered_spell_id = 48504;
basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100;
break;
}
break;
}
case SPELLFAMILY_ROGUE:
@ -5390,6 +5431,44 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
return true;
}
// Glyph of Healing Wave
case 55440:
{
// Not proc from self heals
if (this==pVictim)
return false;
basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100;
target = this;
triggered_spell_id = 55533;
break;
}
break;
}
case SPELLFAMILY_DEATHKNIGHT:
{
// Vendetta
if (dummySpell->SpellFamilyFlags & 0x0000000000010000LL)
{
basepoints0 = triggeredByAura->GetModifier()->m_amount * GetMaxHealth() / 100;
triggered_spell_id = 50181;
target = this;
break;
}
// Necrosis
else if (dummySpell->SpellIconID == 2709)
{
basepoints0 = triggeredByAura->GetModifier()->m_amount * damage / 100;
triggered_spell_id = 51460;
break;
}
// Butchery
else if (dummySpell->SpellIconID == 2664)
{
basepoints0 = triggeredByAura->GetModifier()->m_amount;
triggered_spell_id = 50163;
target = this;
break;
}
break;
}
default:

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7032"
#define REVISION_NR "7033"
#endif // __REVISION_NR_H__