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;