*Fix Glyph of Starfire

*Fix Glyph of Shred
*Fix Glyph of Backstab
-- Thanks megamage for help me with that.

--HG--
branch : trunk
This commit is contained in:
Nevan
2009-08-23 17:59:32 +02:00
parent 0b06baee4d
commit 023e98f21f
4 changed files with 82 additions and 1 deletions
+4 -1
View File
@@ -1531,7 +1531,10 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
( 50034, 0x00, 15, 0x00000010, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Death Rune Mastery
( 63373, 0x00, 11, 0x80000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0, 0, 0), -- Frozen Power (Rank 1)
( 63374, 0x00, 11, 0x80000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0, 0, 0), -- Frozen Power (Rank 2)
( 54821, 0x00, 7, 0x00001000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0); -- Glyph of Rake
( 54821, 0x00, 7, 0x00001000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0), -- Glyph of Rake
( 54815, 0x00, 7, 0x00008000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0), -- Glyph of Shred
( 54845, 0x00, 7, 0x00000004, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0, 0, 0), -- Glyph of Starfire
( 56800, 0x00, 8, 0x00800004, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0); -- Glyph of Backstab
-- --------
-- ENCHANT PROC
@@ -0,0 +1,5 @@
DELETE FROM `spell_proc_event` WHERE `entry` IN (54815,54845,56800);
INSERT INTO `spell_proc_event` VALUES
( 54815, 0x00, 7, 0x00008000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0), -- Glyph of Shred
( 54845, 0x00, 7, 0x00000004, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0, 0, 0), -- Glyph of Starfire
( 56800, 0x00, 8, 0x00800004, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0); -- Glyph of Backstab
+55
View File
@@ -4714,6 +4714,61 @@ void Spell::EffectScriptEffect(uint32 effIndex)
{
switch(m_spellInfo->Id)
{
// Glyph of Starfire
case 54846:
{
if (AuraEffect const * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_DRUID,0x00000002,0,0,m_caster->GetGUID()))
{
uint32 countMin = aurEff->GetParentAura()->GetAuraMaxDuration();
uint32 countMax = 18000;
countMax += m_caster->HasAura(38414) ? 3000 : 0;
countMax += m_caster->HasAura(57865) ? 3000 : 0;
if (countMin < countMax)
{
aurEff->GetParentAura()->SetAuraDuration(uint32(aurEff->GetParentAura()->GetAuraDuration()+3000));
aurEff->GetParentAura()->SetAuraMaxDuration(countMin+3000);
}
}
return;
}
// Glyph of Shred
case 63974:
{
if (AuraEffect const * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_DRUID,0x00800000,0,0,m_caster->GetGUID()))
{
uint32 countMin = aurEff->GetParentAura()->GetAuraMaxDuration();
uint32 countMax = 20000;
countMax += m_caster->HasAura(54818) ? 4000 : 0;
countMax += m_caster->HasAura(60141) ? 4000 : 0;
if (countMin < countMax)
{
aurEff->GetParentAura()->SetAuraDuration(uint32(aurEff->GetParentAura()->GetAuraDuration()+3000));
aurEff->GetParentAura()->SetAuraMaxDuration(countMin+2000);
}
}
return;
}
// Glyph of Backstab
case 63975:
{
if (AuraEffect const * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_ROGUE,0x00100000,0,0,m_caster->GetGUID()))
{
uint32 countMin = aurEff->GetParentAura()->GetAuraMaxDuration();
uint32 countMax = 12000;
countMax += m_caster->HasAura(56801) ? 4000 : 0;
if (countMin < countMax)
{
aurEff->GetParentAura()->SetAuraDuration(uint32(aurEff->GetParentAura()->GetAuraDuration()+3000));
aurEff->GetParentAura()->SetAuraMaxDuration(countMin+2000);
}
}
return;
}
// Dispelling Analysis
case 37028:
{
+18
View File
@@ -5800,6 +5800,18 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
{
switch(dummySpell->Id)
{
// Glyph of Starfire
case 54845:
{
triggered_spell_id = 54846;
break;
}
// Glyph of Shred
case 54815:
{
triggered_spell_id = 63974;
break;
}
// Glyph of Rake
case 54821:
{
@@ -5975,6 +5987,12 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
{
switch(dummySpell->Id)
{
// Glyph of Backstab
case 56800:
{
triggered_spell_id = 63975;
break;
}
// Deadly Throw Interrupt
case 32748:
{