Jump to content

[fixed][bug] powershifting


Geri00

Recommended Posts

Mangos Version: 10892

Custom Patches: N/A

SD2 Version: 1913

Database Name and Version: UDB 0.12.1 (395) for MaNGOS 10892 with SD2 SQL for rev. 1913

How it should work: On offi servers there is a way for druids to enter a stance (form) by pushing one button, even if the druid is already in that stance. If u recast a form which you are already in, it is called powershifting. Today the use of this act is to drop all movement impairing effects/roots, without losing much time with going in and out of form (or going to another form and back).

Mangos already supports shapeshifting directly from one form to another, but I think there is a problem with how shapeshifting is handled. (Or maybe not correct spell used? Dunno:))

Easiest way to powershift on official server is by using the macro "/cast !Cat Form" (Or /cast !Dire Bear Form, etc works with all forms). What it does is cast Cat form, whatever form you are in, from bear to cat or from cat to cat also, without leaving cat.

There is another way, that should also work. If you create a macro like this, it should also work.

/cancelaura Dire Bear Form

/cancelaura Cat Form

/cancelaura Travel Form

/cast Cat Form

How it works:

Using the macro with "/cast !Cat Form", isn't going to help you a lot.

If you use it from caster form/bear/travel, the first use is going to put you in Cat Form, and it works as intended!

Second use (from cat) , you re-enter Cat Form, you can see the *poof* effect around the cat, and you really recast the form. The problem is, that even though you can see the cat form buff among your buffs, ,it seems like you aren't in any form (No active icon on stance bar! As if you were in caster), and also you CANT use any cat abilities, and you get the error "Must be in cat form".

Third use, nothing will happen, no *poof*, no casting just the error "You are in shapeshift form"...but you aren't actually, although you still look like a cat...

Using the longer macro I posted, works a bit better, but still not good enough.

First use from "not cat form" , u go in cat (abilities usable etc.) Second and later pushes refresh Cat Form form (*poof*, and you really cast it every time) but you can't use abilities. At least it doesnt give the "You are in shapeshift form" error.

I think it might be some incorrect spell casted by macro, but how should I cast a different spell from the one in spellbook? Can any1 test if it's bad for everyone else?

Blackjoe

Link to comment
Share on other sites

  • 3 months later...

this seems to solve the problem (hack?)

diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index 489cbbb..415c3fd 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -763,6 +763,9 @@ void Object::_SetUpdateBits(UpdateMask *updateMask, Player* /*target*/) const
        if(m_uint32Values_mirror[index]!= m_uint32Values[index])
            updateMask->SetBit(index);
    }
+    // always update this field to prevent problems with shapeshifting
+    if (GetTypeId() == TYPEID_PLAYER)
+        updateMask->SetBit(UNIT_FIELD_BYTES_2);
}

void Object::_SetCreateBits(UpdateMask *updateMask, Player* /*target*/) const

seems that some update values are lost when applied too fast.

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks 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