@@ -19202,7 +19202,7 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam
|
|||||||
( 58442, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 15), -- Airy Pale Ale
|
( 58442, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 15), -- Airy Pale Ale
|
||||||
( 58444, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 5), -- Worg Tooth Oatmeal Stout
|
( 58444, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 5), -- Worg Tooth Oatmeal Stout
|
||||||
( 58626, 0x00, 15, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Death Grip
|
( 58626, 0x00, 15, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Death Grip
|
||||||
( 58642, 0x00, 15, 0x00000000, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Scourge Strike
|
( 58642, 0x00, 15, 0x00000000, 0x08000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0), -- Glyph of Scourge Strike
|
||||||
( 58644, 0x00, 15, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Frost Strike
|
( 58644, 0x00, 15, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Frost Strike
|
||||||
( 58647, 0x00, 15, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Frost Strike
|
( 58647, 0x00, 15, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Frost Strike
|
||||||
( 58676, 0x00, 15, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Vampiric Blood
|
( 58676, 0x00, 15, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Vampiric Blood
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` = 58642;
|
||||||
|
INSERT INTO `spell_proc_event` VALUES
|
||||||
|
(58642, 0x00, 15, 0x00000000, 0x08000000, 0x00000000, 0x00000010, 0x00000000, 0, 0, 0);
|
||||||
@@ -5509,6 +5509,12 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||||||
victim->RemoveAurasWithMechanic(1<<MECHANIC_STUN, AURA_REMOVE_BY_ENEMY_SPELL);
|
victim->RemoveAurasWithMechanic(1<<MECHANIC_STUN, AURA_REMOVE_BY_ENEMY_SPELL);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// Glyph of Scourge Strike
|
||||||
|
case 58642:
|
||||||
|
{
|
||||||
|
triggered_spell_id = 69961; // Glyph of Scourge Strike
|
||||||
|
break;
|
||||||
|
}
|
||||||
// Glyph of Life Tap
|
// Glyph of Life Tap
|
||||||
case 63320:
|
case 63320:
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4337,21 +4337,52 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
|
|||||||
// Glyph of Backstab
|
// Glyph of Backstab
|
||||||
case 63975:
|
case 63975:
|
||||||
{
|
{
|
||||||
|
// search our Rupture aura on target
|
||||||
if (AuraEffect const* aurEff = unitTarget->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, 0x00100000, 0, 0, m_caster->GetGUID()))
|
if (AuraEffect const* aurEff = unitTarget->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, 0x00100000, 0, 0, m_caster->GetGUID()))
|
||||||
{
|
{
|
||||||
uint32 countMin = aurEff->GetBase()->GetMaxDuration();
|
uint32 countMin = aurEff->GetBase()->GetMaxDuration();
|
||||||
uint32 countMax = 12000;
|
uint32 countMax = 12000; // this can be wrong, duration should be based on combo-points
|
||||||
countMax += m_caster->HasAura(56801) ? 4000 : 0;
|
countMax += m_caster->HasAura(56801) ? 4000 : 0;
|
||||||
|
|
||||||
if (countMin < countMax)
|
if (countMin < countMax)
|
||||||
{
|
{
|
||||||
aurEff->GetBase()->SetDuration(uint32(aurEff->GetBase()->GetDuration()+3000));
|
aurEff->GetBase()->SetDuration(uint32(aurEff->GetBase()->GetDuration() + 3000));
|
||||||
aurEff->GetBase()->SetMaxDuration(countMin+2000);
|
aurEff->GetBase()->SetMaxDuration(countMin + 2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Glyph of Scourge Strike
|
||||||
|
case 69961:
|
||||||
|
{
|
||||||
|
Unit::AuraEffectList const &mPeriodic = unitTarget->GetAuraEffectsByType(SPELL_AURA_PERIODIC_DAMAGE);
|
||||||
|
for (Unit::AuraEffectList::const_iterator i = mPeriodic.begin(); i != mPeriodic.end(); ++i)
|
||||||
|
{
|
||||||
|
AuraEffect const* aurEff = *i;
|
||||||
|
SpellEntry const* spellInfo = aurEff->GetSpellProto();
|
||||||
|
// search our Blood Plague and Frost Fever on target
|
||||||
|
if (spellInfo->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT && spellInfo->SpellFamilyFlags[2] & 0x2 &&
|
||||||
|
aurEff->GetCasterGUID() == m_caster->GetGUID())
|
||||||
|
{
|
||||||
|
uint32 countMin = aurEff->GetBase()->GetMaxDuration();
|
||||||
|
uint32 countMax = GetSpellMaxDuration(spellInfo);
|
||||||
|
|
||||||
|
// this Glyph
|
||||||
|
countMax += 9000;
|
||||||
|
// talent Epidemic
|
||||||
|
if (AuraEffect const* epidemic = m_caster->GetAuraEffect(SPELL_AURA_ADD_FLAT_MODIFIER, SPELLFAMILY_DEATHKNIGHT, 234, EFFECT_0))
|
||||||
|
countMax += epidemic->GetAmount();
|
||||||
|
|
||||||
|
if (countMin < countMax)
|
||||||
|
{
|
||||||
|
aurEff->GetBase()->SetDuration(aurEff->GetBase()->GetDuration() + 3000);
|
||||||
|
aurEff->GetBase()->SetMaxDuration(countMin + 3000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
case 45204: // Clone Me!
|
case 45204: // Clone Me!
|
||||||
m_caster->CastSpell(unitTarget, damage, true);
|
m_caster->CastSpell(unitTarget, damage, true);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user