Jump to content

Buff Time Increasing Glyphs


Guest NetSky

Recommended Posts

  • 1 month later...

       if (unitPlayer && target == this)
       {
           switch(spellProto->SpellFamilyName)
           {
               case SPELLFAMILY_DRUID:
                   if (spellProto->SpellFamilyFlags & UI64LIT(0x100))
                   {
                       // Glyph of Thorns
                       if (Aura * aur = GetAura(57862, 0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   break;
               case SPELLFAMILY_PALADIN:
                   if (spellProto->SpellFamilyFlags & UI64LIT(0x00000002))
                   {
                       // Glyph of Blessing of Might
                       if (Aura * aur = GetAura(57958, 0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   else if (spellProto->SpellFamilyFlags & UI64LIT(0x00010000))
                   {
                       // Glyph of Blessing of Wisdom
                       if (Aura * aur = GetAura(57979, 0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   break;
               default:
                   break;
           }
       }

i will provide a patchfile maybe later

this is addition for CalculateSpellDuration Method.

Link to comment
Share on other sites

Updated : - added Bufftimeincreasing for Glyph of Horn of Winter (DK)

       if (unitPlayer && target == this)
       {
           switch(spellProto->SpellFamilyName)
           {
               case SPELLFAMILY_DRUID:
                   if (spellProto->SpellFamilyFlags & UI64LIT(0x100))
                   {
                       // Glyph of Thorns
                       if (Aura * aur = GetAura(57862, 0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   break;
               case SPELLFAMILY_PALADIN:
                   if (spellProto->SpellFamilyFlags & UI64LIT(0x00000002))
                   {
                       // Glyph of Blessing of Might
                       if (Aura * aur = GetAura(57958, 0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   else if (spellProto->SpellFamilyFlags & UI64LIT(0x00010000))
                   {
                       // Glyph of Blessing of Wisdom
                       if (Aura * aur = GetAura(57979, 0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   break;
               default:
                   break;
           }
       }
       else if(unitPlayer)
       {
           switch(spellProto->SpellFamilyName)
           {          
               case SPELLFAMILY_DEATHKNIGHT:
                   // Glyph of Horn of Winter
                   if(spellProto->Id == 57330 || spellProto->Id == 57623)
                   {
                       if(Aura * aur = GetAura(58680,0))
                           duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                   }
                   break;
               default:
                   break;
           }
       }

i will provide a patchfile maybe later

this is addition for CalculateSpellDuration Method.

This is cool but where to apply ? :) since the original post at pastebin.org is expired

Link to comment
Share on other sites

and here is your patchfile ;)

diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 24354a8..a880583 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -10689,6 +10689,37 @@ int32 Unit::CalculateSpellDuration(SpellEntry const* spellProto, uint8 effect_in
    else
        duration = minduration;

+    if (unitPlayer && target == this)
+    {
+        switch(spellProto->SpellFamilyName)
+        {
+            case SPELLFAMILY_DRUID:
+                if (spellProto->SpellFamilyFlags & UI64LIT(0x100))
+                {
+                    // Glyph of Thorns
+                    if (Aura *aur = GetAura(57862, 0))
+                        duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
+                }
+                break;
+            case SPELLFAMILY_PALADIN:
+                if (spellProto->SpellIconID == 298 && spellProto->SpellFamilyFlags & UI64LIT(0x00000002))
+                {
+                    // Glyph of Blessing of Might
+                    if (Aura *aur = GetAura(57958, 0))
+                        duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
+                }
+                else if (spellProto->SpellIconID == 306 && spellProto->SpellFamilyFlags & UI64LIT(0x00010000))
+                {
+                    // Glyph of Blessing of Wisdom
+                    if (Aura *aur = GetAura(57979, 0))
+                        duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
+                }
+                break;
+            default:
+                break;
+        }
+    }
+       
    if (duration > 0)
    {
        int32 mechanic = GetEffectMechanic(spellProto, effect_index);

Link to comment
Share on other sites

from reading i'm sure they should not affect Greater Blessing of X (Thorns is out of question)

From a look into the Spell.dbc i now realize, that the FamilyFlags of Blessings and Greater Blessings are identical. So its more than likely, that this patch will affect Greater Blessings whereras it should not....

oh well...

/e: fixed

Link to comment
Share on other sites

  • 2 months later...
  • 1 year 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