WoW:API CastShapeshiftForm: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (sp)
m (Move page script moved page API CastShapeshiftForm to API CastShapeshiftForm without leaving a redirect)
 
(One intermediate revision by one other user not shown)
Line 54: Line 54:


== Example ==
== Example ==
This Example shows how to return to your human form our of any other form.
This Example shows how to return to your human form out of any other form.
   for i=1, GetNumShapeshiftForms() do
   for i=1, GetNumShapeshiftForms() do
     _, name, active = GetShapeshiftFormInfo(i);
     _, name, active = GetShapeshiftFormInfo(i);

Latest revision as of 04:45, 15 August 2023

WoW API < CastShapeshiftForm

Casts Shapeshift on yourself. This is class dependent - not all classes have special abilities.

 CastShapeshiftForm(index);

Parameters[edit]

Arguments[edit]

index
relates to the different forms:
Druid
  • 1 = Bear/Dire Bear Form
  • 2 = Aquatic Form
  • 3 = Cat Form
  • 4 = Travel Form
  • 5 = Moonkin Form
Rogue
  • 1 = Stealth
Warrior
  • 1 = Battle Stance
  • 2 = Defensive Stance
  • 3 = Beserker Stance


Returns[edit]

nil


Example[edit]

 CastShapeshiftForm(1);

Result[edit]

Shapeshifts caster into Bear Form.


Note[edit]

Note, casting the spell again changes back to caster form. So, for instance;

 if (GetNumShapeshiftForms()==1) then CastShapeshiftForm(1);end;

In this case, the script checks if you're in Bear/Dire Bear form, and if so, casts the spell to change you back to Caster form. It has the same restrictions as other casting spells in that the trigger event needs to involve a keystroke or mouse click.


To use a particular shape in a macro and avoiding error messages, use:

 /script icon, name, active = GetShapeshiftFormInfo(index);if (active==1) then CastShapeshiftForm(index);end;

where index is the number of the shape as given above.


Example[edit]

This Example shows how to return to your human form out of any other form.

 for i=1, GetNumShapeshiftForms() do
    _, name, active = GetShapeshiftFormInfo(i);
    if( active ~= nil ) then
       DEFAULT_CHAT_FRAME:AddMessage("SQS: leaving '"..name.."'");
       CastShapeshiftForm(i)
       break;
    end
 end