/*
-------------------------------------------------------------------------------------------------
# Template for Movement Commands
-------------------------------------------------------------------------------------------------

How to use:
----------------------------------------

Copy and Paste the following code in this js file.
----------------------------------------
Game_Interpreter.prototype.animateAnimationName = function(characterId, waitDuration) {

// Define Default
// Character ID is stated in the documentation above
//----------------------------------------
if (characterId === undefined) { characterId = 0; }
// waitDuration is how fast you want the animation to play.
//----------------------------------------
if (waitDuration === undefined) { waitDuration = 15; }

// Get Character
this._character = this.character(characterId);

// Initialize Move Route
// Repeat = Repeat Movements
// Skippable = Skip if Cannot Move
// Wait = Wait for Completion
//----------------------------------------
var moveRoute = {list: , repeat: false, skippable: false, wait: true};

// Your move route code here.
// Start Inserting it y'all.

// Add Ending of Move Route (Needed)
moveRoute.list.push({code: Game_Character.ROUTE_END, indent: null, parameters: })

// If Character Exists
if (this._character) { this._character.forceMoveRoute(moveRoute); }
// If Move Route wait flag is true
if (moveRoute.wait) { this.setWaitMode('route') };
return true;
};
------------------------------------------------------------------------------------------------

Change the function name to something you'd like. For Example:
----------------------------------------
Game_Interpreter.prototype.animateAnimationName = function(characterId, waitDuration) {

to

Game_Interpreter.prototype.animateDancingRalph = function(characterId, waitDuration) {

The new name will be the ID for the Script Call. This will be explained later.
-------------------------------------------------------------------------------------------------

Explaining Character Index and Pattern:
----------------------------------------
In a character sheet you would get something like this:












ID is the number of the Character row you want to reference.
Pattern (0,1,2) is the individual frames per each direction (Up, Down, Left, Right).

If you want to change the pattern of the object you want to animate, use this command:
----------------------------------------
this._originalPattern = this._pattern = x;
(With x being one of the values 0/1/2)

If you want to change the graphic of the object that is set in another index, use this command:
----------------------------------------
this._characterIndex = ID;
(With ID being the index you want to reference. Make sure to refer to the chart above)

If you want to change the direction, use this command:
----------------------------------------
this.setDirection(ID);
(Refer to the chart to figure out what number the direction is)

If you want to use all three, it will look something like this:
----------------------------------------
moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT , indent: null, parameters: });

-------------------------------------------------------------------------------------------------
Use the Script Call event command. Not inside a move route. The name will depend on the function name
you have set earlier:

animateAnimationName(ID, Wait)
----------------------------------------
-1 is the player
0 is the current event
ID beyond -1 and 0 is Event ID.

For example:
Script call animateAnimationName(0, 15)
-----------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------------------
Example Animation Presets
-----------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------------------
Animate Door -- Opening
Script call animateOpenDoor(0, 15)
-----------------------------------------------------------------------------------------------*/
Game_Interpreter.prototype.animateOpenDoor = function(characterId, waitDuration) {

// Define Default
// Character ID is stated in the documentation above
//----------------------------------------
if (characterId === undefined) { characterId = 0; }
// waitDuration is how fast you want the animation to play.
//----------------------------------------
if (waitDuration === undefined) { waitDuration = 15; }

// Get Character
this._character = this.character(characterId);

// Initialize Move Route
// Repeat = Repeat Movements
// Skippable = Skip if Cannot Move
// Wait = Wait for Completion
//----------------------------------------
var moveRoute = {list: , repeat: false, skippable: false, wait: true};

// Your move route code here.
moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT, indent: null, parameters: });
moveRoute.list.push({code: Game_Character.ROUTE_WAIT, indent: null, parameters: });

moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT , indent: null, parameters: });
moveRoute.list.push({code: Game_Character.ROUTE_WAIT, indent: null, parameters: });

moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT , indent: null, parameters: });
moveRoute.list.push({code: Game_Character.ROUTE_WAIT, indent: null, parameters: });


moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT , indent: null, parameters: });
moveRoute.list.push({code: Game_Character.ROUTE_WAIT, indent: null, parameters: });

moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT , indent: null, parameters: });
moveRoute.list.push({code: Game_Character.ROUTE_WAIT, indent: null, parameters: });

moveRoute.list.push({code: Game_Character.ROUTE_SCRIPT , indent: null, parameters: });
moveRoute.list.push({code: Game_Character.ROUTE_WAIT, indent: null, parameters: });

// Add Ending of Move Route (Needed)
moveRoute.list.push({code: Game_Character.ROUTE_END, indent: null, parameters: })

// If Character Exists
if (this._character) { this._character.forceMoveRoute(moveRoute); }

// If Move Route wait flag is true
if (moveRoute.wait) { this.setWaitMode('route') };
return true;
};