Jump to content

[fix][dev]Fingers of Frost, Aura 262


Auntie Mangos

Recommended Posts

  • Replies 173
  • Created
  • Last Reply

Top Posters In This Topic

Just note, talent Warbringer applies 3 auras. I think that 262 only enables charge in combat. Making charge usable in any stance should most likely be handled by aura 275 (ignore_shapeshift) and making charge remove movement impairing effect may be aura Override Class Script (so instead for aura 57499, you should be looking for SPELL_AURA_OVERRIDE_CLASS_SCRIPTS with misc value 6953 .... and maybe move it to separate patch :P )

And triggering juggernaut spell (crit bonus) is IMO not related to aura 262 as well

Link to comment
Share on other sites

This should fix vanish:

//check caster for combat
   if(m_caster->isInCombat() && IsNonCombatSpell(m_spellInfo) && !m_caster->isIgnoreUnitState(m_spellInfo) 
      && m_spellInfo->Id != 11327 && m_spellInfo->Id != 11329 && m_spellInfo->Id != 26888)  // Vanish hack
       return SPELL_FAILED_AFFECTING_COMBAT;

Just note, talent Warbringer applies 3 auras. I think that 262 only enables charge in combat. Making charge usable in any stance should most likely be handled by aura 275 (ignore_shapeshift)...

Yes, on server side. But client needs special aura slot and flags to allow it in different stances :(

making charge remove movement impairing effect may be aura Override Class Script (so instead for aura 57499, you should be looking for SPELL_AURA_OVERRIDE_CLASS_SCRIPTS with misc value 6953 .... and maybe move it to separate patch :P )

And triggering juggernaut spell (crit bonus) is IMO not related to aura 262 as well

Ok, I will separate these.

Link to comment
Share on other sites

This should fix vanish:

//check caster for combat
   if(m_caster->isInCombat() && IsNonCombatSpell(m_spellInfo) && !m_caster->isIgnoreUnitState(m_spellInfo) 
      && m_spellInfo->Id != 11327 && m_spellInfo->Id != 11329 && m_spellInfo->Id != 26888)  // Vanish hack
       return SPELL_FAILED_AFFECTING_COMBAT;

Yes, on server side. But client needs special aura slot and flags to allow it in different stances :(

Ok, I will separate these.

I'm going to test this and i tell you

Link to comment
Share on other sites

V6


+                uint32 rage2 = rage;
+                uint32 lastrage=0;
+                //Sudden Death
+                if(m_caster->HasAura(52437))
+                {
+                    if(m_caster->HasAura(29723)) lastrage=30;
+                    else if (m_caster->HasAura(29725)) lastrage=70;
+                    else if (m_caster->HasAura(29724)) lastrage=100;
+                   [color="Red"] rage2 = rage2 - 300;[/color]
+                    rage2 = rage2<lastrage?lastrage:rage2;
+                 }

typo?

Link to comment
Share on other sites

About sending packets to client:

   static const AuraType auratypes[] =
   {
       SPELL_AURA_MOD_FEAR,     SPELL_AURA_TRANSFORM,                 SPELL_AURA_WATER_WALK,
       SPELL_AURA_FEATHER_FALL, SPELL_AURA_HOVER,                     SPELL_AURA_SAFE_FALL,
-       SPELL_AURA_FLY,          SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED,   SPELL_AURA_NONE
+      SPELL_AURA_FLY,          SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED,   SPELL_AURA_IGNORE_UNIT_STATE
+     SPELL_AURA_NONE
   }; 

On second thought:

Why not add it here, and send the packet from the handler?

Also, why don't use this to send it in the handler?

if(this->isPassive())
   {
       SetAuraSlot(255);
       SetAuraFlags(19);
       SendAuraUpdate(false);
   }

Is the exact 255 slot needed?

However I think we sholud use something like SpellMod mechanic here - Aura 262,263 spells have EffectSpellClassMask set, and are similar (Allow masked, disallow masked, modify masked)

PS. 263 is set implictly - allows only one spell

Link to comment
Share on other sites

About sending packets to client:

   static const AuraType auratypes[] =
   {
       SPELL_AURA_MOD_FEAR,     SPELL_AURA_TRANSFORM,                 SPELL_AURA_WATER_WALK,
       SPELL_AURA_FEATHER_FALL, SPELL_AURA_HOVER,                     SPELL_AURA_SAFE_FALL,
-       SPELL_AURA_FLY,          SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED,   SPELL_AURA_NONE
+      SPELL_AURA_FLY,          SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED,   SPELL_AURA_IGNORE_UNIT_STATE
+     SPELL_AURA_NONE
   }; 

I did this in V5b, and as you can try, it does not work :(

On second thought:

Why not add it here, and send the packet from the handler?

Also, why don't use this to send it in the handler?

if(this->isPassive())
   {
       SetAuraSlot(255);
       SetAuraFlags(19);
       SendAuraUpdate(false);
   }

Is the exact 255 slot needed?

I dont know what version are you watching, but I am using this since V5...

However I think we sholud use something like SpellMod mechanic here - Aura 262,263 spells have EffectSpellClassMask set, and are similar (Allow masked, disallow masked, modify masked)

PS. 263 is set implictly - allows only one spell

I have not any experiences with that.... :(

Link to comment
Share on other sites

I did this in V5b, and as you can try, it does not work :(

Kind of should... calls the Handler, handler sends packet... will look into it.

I'm working on yours v6, trying to make it more generic and get rid of hardcodes/hacks. Will post the effects here if there will be any success :)

Link to comment
Share on other sites

Well... did a bit of research, and even when I apply the patch exactly my client refuses to allow me to charge in combat... and Fingers of Frost disappear after one spell, not two (but work as expected).

Perhaps I got something stupid wrong...

:(

Link to comment
Share on other sites

warrior still can use Charge in combat after talent reseting if Juggernaut was taken in previous talent build - it's a big exploit for dual spec patch users.

This is normal ? :)

2>Spell.cpp
2>..\\..\\src\\game\\Spell.cpp(4149) : warning C4806: '&' : unsafe operation: no value of type 'bool' promoted to type 'unsigned __int64' can equal the given constant

Link to comment
Share on other sites

As i understand you talk about a problem when SD and ToB buffs replace each other

here a simple solution

diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index bc98152..eebd0d9 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1497,6 +1497,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
                if( (spellInfo_1->SpellIconID == 456 && spellInfo_2->SpellIconID == 2006) ||
                    (spellInfo_2->SpellIconID == 456 && spellInfo_1->SpellIconID == 2006) )
                    return false;
+
+                // Taste of Blood and Sudden Death
+                if( (spellInfo_1->Id == 52437 && spellInfo_2->Id == 60503) ||
+                    (spellInfo_2->Id == 52437 && spellInfo_1->Id == 60503) )
+                    return false;
            }

            // Hamstring -> Improved Hamstring (multi-family check)

Does anyone know how to fix a bug that described in my previous post?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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