Jump to content

[FIX] Some glyph


Guest Most_Mangos

Recommended Posts

Description of the bug?

this glyph wasn't working at all before

For which repository revision was the patch created?

10180+

Is there a thread in the bug report section or at lighthouse?

none

Who has been writing this patch?

переделано с тринити

diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 3a8457c..4dbb693 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp@@ -5835,6 +5835,64 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
                    unitTarget->HandleEmoteCommand(EMOTE_STATE_DANCE);
                    return;
                }
+               // Glyph of Starfire
+                case 54846:
+                {
+                    if (Aura * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_DRUID,0x00000002,0,m_caster->GetGUID()))
+                    {
+                        uint32 countMin = aurEff->GetAuraMaxDuration();
+                        uint32 countMax = 18000;
+                        countMax += m_caster->HasAura(38414) ? 3000 : 0;
+                        countMax += m_caster->HasAura(57865) ? 3000 : 0;
+
+                        if (countMin < countMax)
+                        {
+                            aurEff->SetAuraDuration(uint32(aurEff->GetAuraDuration()+3000));
+                            aurEff->SetAuraMaxDuration(countMin+3000);
+                            aurEff->SendAuraUpdate(false);
+                        }
+                    }
+                    return;
+                }
+                // Glyph of Shred
+                case 63974:
+                {
+                    if (Aura * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_DRUID,0x00800000,0,m_caster->GetGUID()))
+                    {
+                        uint32 countMin = aurEff->GetAuraMaxDuration();
+                        uint32 countMax = 20000;
+                        countMax += m_caster->HasAura(54818) ? 4000 : 0;
+                        countMax += m_caster->HasAura(60141) ? 4000 : 0;
+
+                        if (countMin < countMax)
+                        {
+                            aurEff->SetAuraDuration(uint32(aurEff->GetAuraDuration()+3000));
+                            aurEff->SetAuraMaxDuration(countMin+2000);
+                            aurEff->SendAuraUpdate(false);
+                        }
+
+                    }
+                    return;
+                }
+                // Glyph of Backstab
+                case 63975:
+                {
+                    if (Aura * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_ROGUE,0x00100000,0,m_caster->GetGUID()))
+                    {
+                        uint32 countMin = aurEff->GetAuraMaxDuration();
+                        uint32 countMax = 12000;
+                        countMax += m_caster->HasAura(56801) ? 4000 : 0;
+
+                        if (countMin < countMax)
+                        {
+                            aurEff->SetAuraDuration(uint32(aurEff->GetAuraDuration()+3000));
+                            aurEff->SetAuraMaxDuration(countMin+2000);
+                            aurEff->SendAuraUpdate(false);
+                        }
+
+                    }
+                    return;
+                }
                case 20589:                                 // Escape artist
                {
                    if(!unitTarget)
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 0a3b89a..5c219aa 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -6373,6 +6373,18 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                    }
                    break;
                }
+               // Glyph of Starfire
+                case 54845:
+                {
+                    triggered_spell_id = 54846;
+                    break;
+                }
+                // Glyph of Shred
+                case 54815:
+                {
+                    triggered_spell_id = 63974;
+                    break;
+                }
                // Glyph of Rejuvenation
                case 54754:
                {
@@ -6474,6 +6486,12 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
        {
            switch(dummySpell->Id)
            {
+               // Glyph of Backstab
+                case 56800:
+                {
+                    triggered_spell_id = 63975;
+                    break;
+                }
                // Deadly Throw Interrupt
                case 32748:
                {

Link to comment
Share on other sites

  • 4 months later...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use