WoW API: GetShapeshiftForm
index = GetShapeshiftForm(flag);
Parameters
Arguments
- flag
- Boolean (Optional) - True if return value is to be compared to a macro's conditional statement. This makes it always return zero for Presences and Auras. False or nil returns an index based on which button to highlight on the shapeshift/stance bar left to right starting at 1.
Returns
- index
- Number - one of following:
- Any class
-
- 0 = humanoid form
- Death Knight (only when arg1 is nil)
-
- 1 = Blood Presence
- 2 = Frost Presence
- 3 = Unholy Presence
- Druid
-
- 1 = Bear/Dire Bear Form
- 2 = Aquatic Form
- 3 = Cat Form
- 4 = Travel Form
- 5 = Moonkin/Tree Form (Unless feral. If no moonkin/tree form present, (swift) flight form is form 5)
- 6 = Flight Form
- Paladin (only when arg1 is nil)
-
- 1 = Devotion Aura
- 2 = Retribution Aura
- 3 = Concentration Aura
- 4 = Shadow Resistance Aura
- 5 = Frost Resistance Aura
- 6 = Fire Resistance Aura
- 7 = Crusader Aura
- ? = Sanctity Aura (Retribution Talent, unknown where it fits.)
- Priest
-
- 1 = Shadowform
- Rogue
-
- 1 = Stealth (3.1 - If the player has not learned the Shadow Dance talent, 1 is returned while in Stealth)
- 2 = Stealth (3.1 - If the player has learned the Shadow Dance talent, 2 is returned while in Stealth instead of 1)
- 3 = Shadow Dance (3.1 - This is used while Shadow Dance is active)
- Note: This seems to have changed again in 3.2. It seems now that 1 is always stealth, and 3 is Shadow Dance. I have not done thorough testing to prove this though, so I'm leaving the 3.1 info.
- Shaman
-
- 1 = Ghost Wolf
- Warrior
-
- 1 = Battle Stance
- 2 = Defensive Stance
- 3 = Berserker Stance
Example
local nStance = GetShapeshiftForm();
Notes
For some classes the return value is nil during the loading process. You need to wait until UPDATE_SHAPESHIFT_FORMS fires to get correct return values.