Headcannon Game Engine Script Commands - Players
Index:
Player Manipulation:
(D) (E) | _Character_Reload |
(D) (E) | _Player_SetCharacter |
(D) (E) | _Player_RestoreConstants |
(D) (E) | _Player_SetPos |
Player Fetching:
(D) (E) | _FetchPlayer |
(D) (E) | _FetchPlayer_Reg |
(D) (E) | _FetchPlayer_CurrChr |
(D) (E) | _FetchPlayer_CurrObj |
(D) (E) | _FetchPlayer_FetchedChr |
(D) (E) | _FetchPlayer_FetchedObj |
(D) (E) | _CopyFetch_Player |
(D) (E) | _SwapFetch_Player |
Player Collision Testing:
(D) (E) | _TestCollisions(CurrentPlayer) |
(D) (E) | _TestCollisions(OtherPlayer) |
Function Control:
(D) (E) | _CallFunc_CharVar |
(D) (E) | _RunFunc_CharVar |
(D) (E) | _StopFunc_CharVar |
(D) (E) | _CallFunc_CharList |
(D) (E) | _RunFunc_CharList |
(D) (E) | _StopFunc_CharList |
(D) (E) | _CallFunc_CurrPlayer_Const |
(D) (E) | _CallFunc_CurrPlayer_Chr |
(D) (E) | _RunFunc_CurrPlayer_Const |
(D) (E) | _RunFunc_CurrPlayer_Chr |
(D) (E) | _StopFunc_CurrPlayer_Const |
(D) (E) | _StopFunc_CurrPlayer_Chr |
(D) (E) | _CallFunc_FetchedPlayer_Const |
(D) (E) | _CallFunc_FetchedPlayer_Chr |
(D) (E) | _RunFunc_FetchedPlayer_Const |
(D) (E) | _RunFunc_FetchedPlayer_Chr |
(D) (E) | _StopFunc_FetchedPlayer_Const |
(D) (E) | _StopFunc_FetchedPlayer_Chr |
(D) (E) | _CallFunc_CurrPlayer_PList |
(D) (E) | _RunFunc_CurrPlayer_PList |
(D) (E) | _StopFunc_CurrPlayer_PList |
(D) (E) | _CallFunc_FetchedPlayer_PList |
(D) (E) | _RunFunc_FetchedPlayer_PList |
(D) (E) | _StopFunc_FetchedPlayer_PList |
Player Pointers:
(D) (E) | _Reg=Ptr(CurrPlayer) |
(D) (E) | _Chr=Ptr(CurrPlayer) |
(D) (E) | _Obj=Ptr(CurrPlayer) |
(D) (E) | _Reg=Ptr(FetchedPlayer) |
(D) (E) | _Chr=Ptr(FetchedPlayer) |
(D) (E) | _Obj=Ptr(FetchedPlayer) |
ShovePlayer:
(D) (E) | _ShovePlayer_Path(Reg) |
(D) (E) | _ShovePlayer_Path(Chr) |
(D) (E) | _ShovePlayer_Path(Obj) |
(D) (E) | _ShovePlayer_Path(Const) |
(D) (E) | _ShovePlayer_X(Reg) |
(D) (E) | _ShovePlayer_X(Chr) |
(D) (E) | _ShovePlayer_X(Obj) |
(D) (E) | _ShovePlayer_X(Const) |
(D) (E) | _ShovePlayer_Y(Reg) |
(D) (E) | _ShovePlayer_Y(Chr) |
(D) (E) | _ShovePlayer_Y(Obj) |
(D) (E) | _ShovePlayer_Y(Const) |
(D) (E) | _ShovePlayer_Diag(Reg) |
(D) (E) | _ShovePlayer_Diag(Chr) |
(D) (E) | _ShovePlayer_Diag(Obj) |
(D) (E) | _ShovePlayer_Diag(Const) |
(D) (E) | _ShovePlayer_ObjectBounds |
(D) (E) | _ShovePlayer_Within_TiledObject_X |
(D) (E) | _ShovePlayer_Within_TiledObject_Y |
(D) (E) | _ShovePlayer_Within_TiledObject_Diag |
(D) (E) | _ShovePlayer_Riding_TiledObject_X |
(D) (E) | _ShovePlayer_Riding_TiledObject_Y |
(D) (E) | _ShovePlayer_Riding_TiledObject_Diag |
(D) (E) | _ShovePlayer_Within_SolidObject_X |
(D) (E) | _ShovePlayer_Within_SolidObject_Y |
(D) (E) | _ShovePlayer_Within_SolidObject_Diag |
Viewport Setting:
(D) (E) | _Player_ForceVPUpdate |
Setting the "Current Player":
(D) (E) | _Set_CurrPlayer_ByID |
(D) (E) | _Set_CurrPlayer_Reg |
(D) (E) | _Set_CurrPlayer_Chr |
(D) (E) | _Set_CurrPlayer_Obj |
(D) (E) | _Player_SetCollisionArea_Reg |
(D) (E) | _Player_SetCollisionArea_CurrObj |
Descriptions:
Player Manipulation:
_Character_Reload
(ALL) (REG) (Example)
Loads new Player Character Script data into the specified Player Character Type "slot" from the file whose name is given by the specified Game/Zone Text. This can be used to support many Player Characters or Character variations for a single game without the memory cost of loading them all at once
The _Pal_LoadNewGlobal Command can also be used in cases where the new Player Character graphics would also require new Global Palette colors
The "R" or "r" tags
may be used to obtain a value from a Register for either Parameter
Parameters:
- Text ID
ID number of the Text string that contains the filename of the
data to load. This ID references Text from a Game Def
or a Zone Def. The "G" and "Z" tags may be used to reference "Game" and "Zone" Texts, respectively
The filename in the Text string must be relative to the "Program Folder", not to the folder that contains
the file in which it appears.
- Character ID
ID number of the Player Character Type "slot" into which the data should be loaded
The desired "slot" must have been allocated within the Game Def. Player Character data cannot be loaded into a "slot" ID greater than or equal to the specified total number of Player Character Types
_Player_SetCharacter
(ALL) (REG) (Example)
Sets the given player to the given character
The "R" or "r" tags
may be used to obtain a value from a Register for either Parameter
Parameters:
- Player ID
ID number of the Player that should be set. The "Curr_Player"
variable ("r9") may be substituted for the ID if this command is called in a Player Function
or during a "Boundary Event", otherwise it may not have the desired effect
- Character ID
_Player_RestoreConstants
(ALL) (REG) (Example)
Resets the values of the given range of Player Constants to the values given to them
in the Character Def of the Player Character currently being used. The "R" or "r" tags
may be used to obtain a value from a Register for either Parameter
Parameters:
- Starting Constant ID
The ID number of the first Player Constant to restore. The lower-case "c" tag may
be used to signify a user-defined Player Constant as opposed to one of the required
Constants
- Ending Constant ID
The ID number of the last Player Constant to restore. The lower-case "c" tag may
be used to signify a user-defined Player Constant as opposed to one of the required
Constants
_Player_SetPos
(ALL) (REG) (Example)
Sets the position of a Player in the level, allowing for the Viewport to be Adjusted, and
for the Player to be aligned against a Path in any direction. The "R" and "r" tags may
be used to obtain a Player ID (Including "r9" for "Current Player" during any Player or
Collision Function) and/or X/Y Positions from Registers
Parameters:
- Player ID
ID number of the Player whose position should be set
- X Pos
- Y Pos
The new X and Y positions at which to place the Player
- Alignment
How to align the Player against a Path when the movement is done. The values are
as follows:
0 | - | _PAlign_None | - | No alignment, Player stays at the exact X and Y positions specified |
1 | - | _PAlign_Floor | - | Move the Player down to the nearest floor Path, or up if an above Path is colliding with his "MainBounds" Box |
2 | - | _PAlign_Right | - | Move the Player right to the nearest right wall Path, or left if a leftward Path is colliding with his "MainBounds" Box |
3 | - | _PAlign_Ceiling | - | Move the Player Up to the nearest ceiling Path, or down if a below Path is colliding with his "MainBounds" Box |
4 | - | _PAlign_Left | - | Move the Player left to the nearest left wall Path, or right if a rightward Path is colliding with his "MainBounds" Box |
- Adjust Viewport
This value specifies whether the Viewport should be updated to follow the Player to his
new position, or if it's left where it is. (If this flag isn't set, the Viewport
will scroll until it reaches the Player's new position.)
0 | - | _PAlign_VPScroll | - | Don't set the Viewport position (It will scroll) |
1 | - | _PAlign_VPSet | - | Set the Viewport position to the appropriate location relative to the Player |
Player Fetching:
_FetchPlayer
(ALL) (REG) (Example)
"Fetches" a Player by Player ID
Parameters:
- Reference:
ID number of the "Reference" that the Player should be "Fetched" to:
0 | - | _Ref_Src0 | - | Fetch this Player to Reference 0 |
1 | - | _Ref_Src1 | - | Fetch this Player to Reference 1 |
2 | - | _Ref_Dest | - | Fetch this Player to Reference 2 |
3 | - | _Ref_Src0_Src1 | - | Fetch this Player to Reference 0 and 1 |
4 | - | _Ref_Src1_Dest | - | Fetch this Player to Reference 1 and 2 |
5 | - | _Ref_Src0_Dest | - | Fetch this Player to Reference 0 and 2 |
6 | - | _Ref_All | - | Fetch this Player to Reference 0, 1, and 2 |
- Player ID
ID number of the Player to "Fetch" to this "Reference". The "R" and "r" tags may
be used to obtain a Player ID (Including "r9" for "Curr_Player" during any Player or
Collision Function) from a Register
_FetchPlayer_Reg
_FetchPlayer_CurrChr
_FetchPlayer_CurrObj
_FetchPlayer_FetchedChr
_FetchPlayer_FetchedObj
(ALL) (Example)
"Fetches" a Player pointer that was stored in a Register, Player Variable, or Object Variable
For "_Curr" versions, The given variable is read from the "Current Player" or "Current Object"
For "_Fetched" versions, The given variable is read from the Player or Object that was already Fetched to Reference 0
Parameters:
- Reference:
ID number of the "Reference" that the Player should be "Fetched" to:
0 | - | _Ref_Src0 | - | Fetch this Player to Reference 0 |
1 | - | _Ref_Src1 | - | Fetch this Player to Reference 1 |
2 | - | _Ref_Dest | - | Fetch this Player to Reference 2 |
3 | - | _Ref_Src0_Src1 | - | Fetch this Player to Reference 0 and 1 |
4 | - | _Ref_Src1_Dest | - | Fetch this Player to Reference 1 and 2 |
5 | - | _Ref_Src0_Dest | - | Fetch this Player to Reference 0 and 2 |
6 | - | _Ref_All | - | Fetch this Player to Reference 0, 1, and 2 |
- Var ID
In the case of "Registers", "Var ID" is the ID of the "Register" that contains the pointer. The "U" tag may be used
to specify a user-defined Register. Otherwise, the ID will refer to a Game Register
In the case of Player Variables, "Var ID" is the ID of the Player Variable that contains the pointer. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
In the case of Object Variables, "Var ID" is the ID of the Object Variable that contains the pointer. The "E" tag may
be used to specify an "Extra" variable. Otherwise, the ID will refer to one of the
Object's standard variables
_CopyFetch_Player
(ALL) (Example)
Copies a "Fetched" Player from one Reference to another
Parameters:
- Src Reference:
ID number of the "Reference" to copy
- Dest Reference:
ID number of the "Reference" that the Player should be copied to:
0 | - | _Ref_Src0 | - | Fetch this Player to Reference 0 |
1 | - | _Ref_Src1 | - | Fetch this Player to Reference 1 |
2 | - | _Ref_Dest | - | Fetch this Player to Reference 2 |
3 | - | _Ref_Src0_Src1 | - | Fetch this Player to Reference 0 and 1 |
4 | - | _Ref_Src1_Dest | - | Fetch this Player to Reference 1 and 2 |
5 | - | _Ref_Src0_Dest | - | Fetch this Player to Reference 0 and 2 |
6 | - | _Ref_All | - | Fetch this Player to Reference 0, 1, and 2 |
_SwapFetch_Player
(ALL) (Example)
Swaps "Fetched" Players between two References
Parameters:
- References
Specifies which two References should be swapped:
0 | - | _Swap_Src0_Src0 | - | Swap References 0 and 1 |
1 | - | _Swap_Src0_Dest | - | Swap References 1 and 2 |
2 | - | _Swap_Src0_Dest | - | Swap References 0 and 2 |
Player Collision Testing:
_TestCollisions(CurrentPlayer)
(ALL) (Example)
Causes the "Current Player" to test for collision against Objects.
This runs the Built-in and Scripted "Collision" functions associated with all Objects within
"Activity Range".
Because some "Collision" Script Commands test the
direction of the Player's movement, the
Player's "X_Count" and "Y_Count" must be set to the
proper values for accurate results. An "X_Count" greater than 255 signifies right motion,
while a value less than -255 signifies left motion. Similarly, a "Y_Count" greater than 255
signifies downward motion, while a value less than -255 signifies upward motion. Collision
must be tested on only one axis (X or Y) at a time, and as such, when using "X_Count",
"Y_Count" must be between -255 and 255, and when using "Y_Count", "X_Count" must be between
-255 and 255
Parameters:
None
_TestCollisions(OtherPlayer)
(ALL) (REG) (Example)
Causes the given Player to test for collision against Objects.
This runs the Built-in and Scripted "Collision" functions associated with all Objects within
"Activity Range".
Because some "Collision" Script Commands test the
direction of the Player's movement, the
Player's "X_Count" and "Y_Count" must be set to the
proper values for accurate results. An "X_Count" greater than 255 signifies right motion,
while a value less than -255 signifies left motion. Similarly, a "Y_Count" greater than 255
signifies downward motion, while a value less than -255 signifies upward motion. Collision
must be tested on only one axis (X or Y) at a time, and as such, when using "X_Count",
"Y_Count" must be between -255 and 255, and when using "Y_Count", "X_Count" must be between
-255 and 255
Parameters:
- Player ID
ID number of the Player to test for collisions. The "R" and "r" tags may
be used to obtain a Player ID from a Register
Function Control:
_CallFunc_CharVar
_RunFunc_CharVar
_StopFunc_CharVar
(ALL) (Example)
Calls, Runs, or Stops the Scripted Character Common Function given
by the specified Player Variable as a "Movement/Sentry Function". The "Current Player" is used for obtaining the variable value, and will be the Player whose Functions are affected
Parameters:
- Var ID
ID of the Player Variable that contains the Function ID. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
_CallFunc_CharList
_RunFunc_CharList
_StopFunc_CharList
(ALL) (REG) (Example)
_CallFunc_CurrPlayer_Const
_CallFunc_CurrPlayer_Chr
_RunFunc_CurrPlayer_Const
_RunFunc_CurrPlayer_Chr
_StopFunc_CurrPlayer_Const
_StopFunc_CurrPlayer_Chr
_CallFunc_FetchedPlayer_Const
_CallFunc_FetchedPlayer_Chr
_RunFunc_FetchedPlayer_Const
_RunFunc_FetchedPlayer_Chr
_StopFunc_FetchedPlayer_Const
_StopFunc_FetchedPlayer_Chr
(ALL) (Example)
Calls, Runs, or Stops the Scripted Character Common Function given
by the specified variable as a "Movement/Sentry Function"
For the "_CurrPlayer" versions, the "Current Player" is used for obtaining the variable value in the case of Player Variables, and will be the Player whose Functions are affected
For the "_FetchedPlayer" versions, the Player "Fetched" to "Reference 2" is used for obtaining the variable value in the case of Player Variables, and will be the Player whose Functions are affected
Parameters:
- Var ID
In the case of a Constant Value, the ID of the Character Common Function should be entered as the "Var ID"
parameter rather than any actual variable ID. However, the "R" or "r" tags
may be used to obtain the ID from a Register
In the case of Player Variables, Var ID is the ID of the Player Variable that contains the Function ID. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
_CallFunc_CurrPlayer_PList
_RunFunc_CurrPlayer_PList
_StopFunc_CurrPlayer_PList
_CallFunc_FetchedPlayer_PList
_RunFunc_FetchedPlayer_PList
_StopFunc_FetchedPlayer_PList
(ALL) (REG) (Example)
Calls, Runs, or Stops the given Scripted Character-Specific Function
Variable as a "Movement/Sentry Function"
For the "_CurrPlayer" versions, the "Current Player" will be the Player whose Functions are affected
For the "_FetchedPlayer" versions, the Player "Fetched" to "Reference 2" will be the Player whose Functions are affected
Parameters:
- Var ID
ID of the desired "Character-Specific Function". The "R" and "r" tags may
be used to obtain the ID from a Register
Player Pointers:
_Reg=Ptr(CurrPlayer)
_Chr=Ptr(CurrPlayer)
_Obj=Ptr(CurrPlayer)
_Reg=Ptr(FetchedPlayer)
_Chr=Ptr(FetchedPlayer)
_Obj=Ptr(FetchedPlayer)
(ALL) (Example)
Obtain a pointer to the Player, and place it in the given variable for later retrieval by special Fetch Commands
For "_Curr" versions, a pointer to the "Current Player" will be retrieved
For "_Fetched" versions, a pointer to the Player that was "Fetched" to "Reference 0" will be retrieved
Parameters:
- Var ID
In the case of "Registers", "Var ID" is the ID of the "Register" into which to place the pointer. The "U" tag may be used
to specify a user-defined Register. Otherwise, the ID will refer to a Game Register
In the case of Player Variables, "Var ID" is the ID of the Player Variable into which to place the pointer. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
In the case of Object Variables, "Var ID" is the ID of the Object Variable into which to place the pointer. The "E" tag may
be used to specify an "Extra" variable. Otherwise, the ID will refer to one of the
Object's standard variables
ShovePlayer:
_ShovePlayer_Path(Reg)
_ShovePlayer_Path(Chr)
_ShovePlayer_Path(Obj)
_ShovePlayer_Path(Const)
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by
Scripted Object Movement Functions for Objects that move the Player, or by other special scripted movement
that must take place after the Player's normal Hard-Coded Movement has already been processed for the current
Game Frame
These Commands must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
These "_Path" versions leave the Player connected to any Path he may be following, and apply the velocity as "Path Velocity".
The Player's original Path Velocity is automatically restored after the movement is complete
Parameters:
- Var ID
In the case of "Registers", "Var ID" is the ID of the "Register" that contains the velocity to apply. The "U" tag may be used
to specify a user-defined Register. Otherwise, the ID will refer to a Game Register
In the case of Player Variables, "Var ID" is the ID of the Player Variable that contains the velocity to apply. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
In the case of Object Variables, "Var ID" is the ID of the Object Variable that contains the velocity to apply. The "E" tag may
be used to specify an "Extra" variable. Otherwise, the ID will refer to one of the
Object's standard variables
In the case of a Constant Value, the velocity value itself should be entered as the "Var ID" Parameter, rather than any actual Variable ID
_ShovePlayer_X(Reg)
_ShovePlayer_X(Chr)
_ShovePlayer_X(Obj)
_ShovePlayer_X(Const)
_ShovePlayer_Y(Reg)
_ShovePlayer_Y(Chr)
_ShovePlayer_Y(Obj)
_ShovePlayer_Y(Const)
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by
Scripted Object Movement Functions for Objects that move the Player, or by other special scripted movement
that must take place after the Player's normal Hard-Coded Movement has already been processed for the current
Game Frame
These Commands must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
These "_X"/"_Y" versions disconnect the Player from any Path he may be following, and apply the velocity as X or Y Velocity.
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- Var ID
In the case of "Registers", "Var ID" is the ID of the "Register" that contains the velocity to apply. The "U" tag may be used
to specify a user-defined Register. Otherwise, the ID will refer to a Game Register
In the case of Player Variables, "Var ID" is the ID of the Player Variable that contains the velocity to apply. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
In the case of Object Variables, "Var ID" is the ID of the Object Variable that contains the velocity to apply. The "E" tag may
be used to specify an "Extra" variable. Otherwise, the ID will refer to one of the
Object's standard variables
In the case of a Constant Value, the velocity value itself should be entered as the "Var ID" Parameter, rather than any actual Variable ID
_ShovePlayer_Diag(Reg)
_ShovePlayer_Diag(Chr)
_ShovePlayer_Diag(Obj)
_ShovePlayer_Diag(Const)
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by
Scripted Object Movement Functions for Objects that move the Player, or by other special scripted movement
that must take place after the Player's normal Hard-Coded Movement has already been processed for the current
Game Frame
These Commands must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
These "_Diag" versions disconnect the Player from any Path he may be following, and apply the velocities as X and Y Velocities.
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- Var ID X
- Var ID Y
In the case of "Registers", "Var ID" is the ID of the "Register" that contains the velocity to apply. The "U" tag may be used
to specify a user-defined Register. Otherwise, the ID will refer to a Game Register
In the case of Player Variables, "Var ID" is the ID of the Player Variable that contains the velocity to apply. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
In the case of Object Variables, "Var ID" is the ID of the Object Variable that contains the velocity to apply. The "E" tag may
be used to specify an "Extra" variable. Otherwise, the ID will refer to one of the
Object's standard variables
In the case of a Constant Value, the velocity value itself should be entered as the "Var ID" Parameter, rather than any actual Variable ID
_ShovePlayer_ObjectBounds
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Solid Objects
that move the Player, when the Player is not standing on them. When the Player is standing on the Object, use
_ShovePlayer_Diag(Obj) or _ShovePlayer_X/Y_Obj
This Command must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
This "_ObjectBounds" version disconnects the Player from any Path he may be following, and applies just enough X or Y
Velocity to shove the Player outside of the Object's "MainBounds" Collision Box in the selected direction.
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- Direction
The Direction in which to shove the Player out of the Object:
0 | - | _Shove_ToTop | - | Shove Player to the top of the Object |
1 | - | _Shove_ToBottom | - | Shove Player to the bottom of the Object |
2 | - | _Shove_ToLeft | - | Shove Player to the left of the Object |
3 | - | _Shove_ToRight | - | Shove Player to the right of the Object |
_ShovePlayer_Within_TiledObject_X
_ShovePlayer_Within_TiledObject_Y
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Tiled Path Objects
that move the Player, when the Player is not standing on them. When the Player is standing on the Object, use
_ShovePlayer_Riding_TiledObject_Diag or _ShovePlayer_Riding_TiledObject_X/Y
These Commands must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
These "_Riding_TiledObject_?" versions disconnect the Player from any Path he may be following, and apply just enough X or Y
Velocity to shove the Player outside of any of the Object's solid areas in its direction of movement (determined by given Object Variable).
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- VarID
ID number of the Object Variable from the "Current Object" that should be used to determine the Object's direction of
movement (usually it's velocity). Negative value for up/left, positive for down/right
_ShovePlayer_Within_TiledObject_Diag
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Tiled Path Objects
that move the Player, when the Player is not standing on them
This Command must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
This "_Riding_TiledObject_Diag" version disconnects the Player from any Path he may be following, and applies just enough X and Y
Velocity to shove the Player outside of any of the Object's solid areas in its direction of movement (determined by given Object Variable).
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- VarID X
- VarID Y
ID number of the Object Variables from the "Current Object" that should be used to determine the Object's direction of
movement (usually it's velocity). Negative value for up/left, positive for down/right
_ShovePlayer_Riding_TiledObject_X
_ShovePlayer_Riding_TiledObject_Y
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Tiled Path Objects
that move the Player, when the Player is standing on them. When the Player is not standing on the Object, use
_ShovePlayer_Within_TiledObject_Diag or _ShovePlayer_Within_TiledObject_X/Y
These Commands must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
These "_Riding_TiledObject_?" versions disconnect the Player from any Path he may be following, and apply just enough X or Y
Velocity to shove the Player outside of any of the Object's solid areas in its direction of movement (determined by given Object Variable).
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- VarID
ID number of the Object Variable from the "Current Object" that should be used to determine the Object's direction of
movement (usually it's velocity). Negative value for up/left, positive for down/right
_ShovePlayer_Riding_TiledObject_Diag
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Tiled Path Objects
that move the Player, when the Player is standing on them. When the Player is not standing on the Object, use
_ShovePlayer_Within_TiledObject_Diag or _ShovePlayer_Within_TiledObject_X/Y
This Command must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
This "_Riding_TiledObject_Diag" version disconnects the Player from any Path he may be following, and applies just enough X and Y
Velocity to shove the Player outside of any of the Object's solid areas in its direction of movement (determined by given Object Variable).
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- VarID X
- VarID Y
ID number of the Object Variables from the "Current Object" that should be used to determine the Object's direction of
movement (usually it's velocity). Negative value for up/left, positive for down/right
_ShovePlayer_Within_SolidObject_X
_ShovePlayer_Within_SolidObject_Y
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Solid Objects
that move the Player, when the Player is not standing on them. When the Player is standing on the Object, use
_ShovePlayer_Diag(Obj) or _ShovePlayer_X/Y_Obj
These Commands must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
These "_Within_SolidObject_?" versions disconnect the Player from any Path he may be following, and apply just enough X or Y
Velocity to shove the Player outside of the Object's "MainBounds" Collision Box in its direction of movement (determined by given Object Variable).
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- VarID
ID number of the Object Variable from the "Current Object" that should be used to determine the Object's direction of
movement (usually it's velocity). Negative value for up/left, positive for down/right
_ShovePlayer_Within_SolidObject_Diag
(ALL) (Example)
Moves the Player "Fetched" to "Reference 2" by calling his
Hard-Coded Movement with the given velocity, allowing
for proper collision testing against Objects and the Level during the movement
This is Primarily used by Scripted Object Movement Functions for Solid Objects
that move the Player, when the Player is not standing on them. When the Player is standing on the Object, use
_ShovePlayer_Diag(Obj) or _ShovePlayer_X/Y_Obj
This Command must not be used during Scripted Object Collision Functions, because those Functions
are processed during the Player's normal Hard-Coded Movement
This "_Within_SolidObject_?" version disconnects the Player from any Path he may be following, and applies just enough X or Y
Velocity to shove the Player outside of the Object's "MainBounds" Collision Box in its direction of movement (determined by given Object Variable).
The Player's original X and Y Velocities are automatically restored after the movement is complete
Parameters:
- VarID X
- VarID Y
ID number of the Object Variables from the "Current Object" that should be used to determine the Object's direction of
movement (usually it's velocity). Negative value for up/left, positive for down/right
Viewport Setting:
1407 - _Player_ForceVPUpdate
(ALL) (Example)
Setting the "Current Player":
_Set_CurrPlayer_ByID
(ALL) (REG) (Example)
Sets the the Player whose ID is given by the parameter as the "Current Player". Manually modifying
"Curr_Player" is insufficient; this Command will
perform a proper setting, including automatically modifying "Curr_Player"
This Command is meant to be used in Functions that are not a part of normal Player processing,
so that Commands that read or manipulate the "Current Player" can still be used as desired.
This Command can be used to switch the "Current Player" during Player processing Functions such
as Player movement, update, and input Functions, as well as during Object collisions, but in
these cases, the original "Current Player" must be restored when finished
Parameters:
- Player ID
ID number of the Player to set as the "Current Player". The "R" and "r" tags may
be used to obtain a Player ID from a Register
_Set_CurrPlayer_Reg
_Set_CurrPlayer_Chr
_Set_CurrPlayer_Obj
(ALL) (Example)
Sets the "Current Player" to the Player whose pointer is stored in the given variable. Manually modifying
"Curr_Player" is insufficient; this Command will
perform a proper setting, including automatically modifying "Curr_Player"
This Command is meant to be used in Functions that are not a part of normal Player processing,
so that Commands that read or manipulate the "Current Player" can still be used as desired.
This Command can be used to switch the "Current Player" during Player processing Functions such
as Player movement, update, and input Functions, as well as during Object collisions, but in
these cases, the original "Current Player" must be restored when finished
Parameters:
- Var ID
In the case of "Registers", "Var ID" is the ID of the "Register" that contains the pointer. The "U" tag may be used
to specify a user-defined Register. Otherwise, the ID will refer to a Game Register
In the case of Player Variables, "Var ID" is the ID of the Player Variable that contains the pointer. The capital "A"
tag may be used to specify an "Active" variable, the lower-case "a" to specify a user-
defined "Active" variable, and the lower-case "c" to specify a user-defined Constant.
Otherwise, the ID will refer to one of the Player's required Constants
In the case of Object Variables, "Var ID" is the ID of the Object Variable that contains the pointer. The "E" tag may
be used to specify an "Extra" variable. Otherwise, the ID will refer to one of the
Object's standard variables
_Set_Player_Collision_Area
(ALL) (REG) (Example)
Sets the given Player to the specified "Collision Area". This is primarily used so that Objects may properly test for
collisions with Players during their own movement
when the Level is set for looping
Also Sets the "Current Player" to the Player whose ID is given by the parameter. Manually modifying
"Curr_Player" is insufficient; this Command will
perform a proper setting, including automatically modifying "Curr_Player"
This Command is meant to be used in Functions that are not a part of normal Player processing.
This is not necessary during normal Player/Object collision testing because
it is handled automatically, nor is it at all necessary when the level is not looping
Parameters:
_Player_SetCollisionArea_CurrObj
(ALL) (REG) (Example)
Sets the given Player to the same "Collision Area" as the "Current Object". This is primarily used so that Objects may properly test for
collisions with Players during their own movement
when the Level is set for looping
Also Sets the "Current Player" to the Player whose ID is given by the parameter. Manually modifying
"Curr_Player" is insufficient; this Command will
perform a proper setting, including automatically modifying "Curr_Player"
This Command is meant to be used in Functions that are not a part of normal Player processing.
This is not necessary during normal Player/Object collision testing because
it is handled automatically, nor is it at all necessary when the level is not looping
Parameters:
- Player ID
ID number of the Player to set as the "Current Player", and whose "Collision Area" to set by the given ID. The "R" and "r" tags may
be used to obtain a Player ID from a Register
Examples:
#_Character_Reload ;Load new Player Character data into Player Character Type "slot" 1 from the Character Def whose file name is given by Game Text 4
: 1 ;(Char ID) Player Character Type "slot" 1
: G4 ;(Text ID) "Game" Text 4
; ----------
#_Character_Reload ;Load new Player Character data into Player Character Type "slot" whose ID is stored in User Register 7 from the Character Def whose file name is given by Game Text whose ID is stored in User Register 8
: R7 ;(Char ID) Value stored in User Register 7
: R6 ;(Text ID) Value stored in User Register 8
_Player_SetCharacter
(Description)
#_Player_SetCharacter ;Set Player 1 to use Player Character Type 0
:_Player1 ;(Plyr ID)
: 0 ;(Char ID) Player Character Type 0
; ----------
#_Player_SetCharacter ;Set Player 1 to use the Player Character whose ID is stored in User Register 0
:_Player2 ;(Plyr ID)
: R6 ;(Char ID) Value stored in User Register 6
_Player_RestoreConstants
(Description)
#_Player_RestoreConstants ;Restore the default values of User-created "Constant"s 5 through 9 of the Player "Fetched" to "Reference 2"
: c5 ;(Start) User-created "Constant" of the Player "Fetched" to "Reference 2"
: c9 ;(End) User-created "Constant" of the Player "Fetched" to "Reference 9"
; ----------
#_Player_RestoreConstants ;Restore the default values of the User-created "Constant"s of the Player "Fetched" to "Reference 2" whose values begin at the value stored in User Register 16, and end at the value stored in User Register 17
: R16 ;(Start) Value stored in User Register 16
: R17 ;(End) Value stored in User Register 17
_Player_SetPos
(Description)
#_Player_SetPos ;Set the Current Player's X and Y position to exactly 50,256, without aligning him against the level and without adjusting his viewport to follow [this will cause the screen to scroll to him if he is flagged for automatic viewport updates]
:_Player1 ;(Plyr ID)
: 50 ;(X)
: 256 ;(Y)
:_PAlign_None ;(Align)
:_PAlign_VPScroll ;(VPAdj)
; ----------
#_Player_SetPos ;Set the Current Player's X and Y position to the values of User Registers 7 and 8, respectively, adjusting his Y position to set him onto the floor, and adjusting the viewport to follow
:r_Curr_Player ;(Plyr ID) Current Player
: R7 ;(X) User Register 7
: R8 ;(Y) User Register 8
:_PAlign_Floor ;(Align)
:_PAlign_VPSet ;(VPAdj)
Player Fetching:
#_FetchPlayer ;Fetch Player 1 to Reference 0, Reference 1, and Reference 2
:_Ref_All
:_Player1
; ----------
#_FetchPlayer ;Fetch the "Current Player" to Reference 0
:_Ref_Src0
:r_Curr_Player
; ----------
#_FetchPlayer ;Fetch Player 2 to Reference 0 and Reference 2
:_Ref_Src0_Dest
:_Player2
_FetchPlayer_Reg
_FetchPlayer_CurrChr
_FetchPlayer_CurrObj
_FetchPlayer_FetchedChr
_FetchPlayer_FetchedObj
(Description)
#_FetchPlayer_Reg ;Fetch the Player whose pointer is stored in User Register 4 to Reference 0, Reference 1, and Reference 2
:_Ref_All
: U4 ;User Register 4
; ----------
#_FetchPlayer_CurrChr ;Fetch the Player whose pointer is stored in User-created "Active Variable" 32 of the "Current Player" to Reference 2
:_Ref_Dest
: a32 ;User-created "Active Variable" 32 of the "Current Player"
; ----------
#_FetchPlayer_FetchedObj ;Fetch the Player whose pointer is stored in "Extra Variable" 8 of the Object "Fetched" to Reference 0 to Reference 1 and Reference 2
:Ref_Src1_Dest
: E8 ;"Extra Variable" 8 of the Object "Fetched" to Reference 0
_CopyFetch_Player
(Description)
#_CopyFetch_Player ;Fetch the Player Fetched to Reference 1 to Reference 2 [Both will reference the Player originally referenced by Reference 1]
:_Ref_Src1 ;(Src)
:_Ref_Dest ;(Dest)
; ----------
#_CopyFetch_Player ;Fetch the Player Fetched to Reference 2 to both Reference 0 and Reference 1 [All three will reference the Player originally referenced by Reference 2]
:_Ref_Dest ;(Src)
:_Ref_Src0_Src1 ;(Dest)
_SwapFetch_Player
(Description)
#_SwapFetch_Player ;Swap the Players that were Fetched to References 0 and 2 [Ex: If Reference 0 previously referenced Player 1, and Reference 2 previously referenced Player 2, then Reference 0 will now reference Player 2, and Reference 2 will now reference Player 1]
:_Swap_Src0_Dest
Player Collision Testing:
#_TestCollisions(CurrentPlayer) ;Cause the "Current Player" to test for Collisions with all Objects within "Activity Range"
_TestCollisions(OtherPlayer)
(Description)
#_TestCollisions(OtherPlayer) ;Cause Player 2 to test for Collisions with all Objects within "Activity Range"
:_Player_2
; ----------
#_TestCollisions(OtherPlayer) ;Cause the Player whose ID is stored in User Register 5 to test for Collisions with all Objects within "Activity Range"
: R5 ;Value stored in User Register 5
Function Control:
_CallFunc_CharVar
_RunFunc_CharVar
_StopFunc_CharVar
(Description)
#_CallFunc_CharVar ;Cause the "Current Player" to queue the Character-Common Function whose ID is stored in User-created "Constant" 13 of the "Current Player"
: c13 ;User-created "Constant" 13 of the "Current Player"
; ----------
#_RunFunc_CharVar ;Cause the "Current Player" to queue and immediately process the Character-Common Function whose ID is stored in User-created "Active Variable" 27 of the "Current Player"
: a27 ;User-created "Active Variable" 27 of the "Current Player"
; ----------
#_StopFunc_CharVar ;Cause the "Current Player" to remove from its queue the Character-Common Function whose ID is stored in User-created "Active Variable" 5 of the "Current Player"
: a5 ;User-created "Active Variable" 5 of the "Current Player"
_CallFunc_CharList
_RunFunc_CharList
_StopFunc_CharList
(Description)
#_CallFunc_CharList ;Cause the "Current Player" to queue Character-Specific Function 8 of the Character Def that corresponds with its Player Character Type
: 8 ;Character-Specific Function 8
; ----------
#_RunFunc_CharList ;Cause the "Current Player" to queue and immediately process the Character-Specific Function whose value is stored in User Register 4, of the Character Def that corresponds with its Player Character Type
: R4 ;Value stored in User Register 4
; ----------
#_StopFunc_CharList ;Cause the "Current Player" to remove from its queue Character-Specific Function 16 of the Character Def that corresponds with its Player Character Type
: 16 ;Character-Specific Function 16
_CallFunc_CurrPlayer_Const
_CallFunc_CurrPlayer_Chr
_RunFunc_CurrPlayer_Const
_RunFunc_CurrPlayer_Chr
_StopFunc_CurrPlayer_Const
_StopFunc_CurrPlayer_Chr
_CallFunc_FetchedPlayer_Const
_CallFunc_FetchedPlayer_Chr
_RunFunc_FetchedPlayer_Const
_RunFunc_FetchedPlayer_Chr
_StopFunc_FetchedPlayer_Const
_StopFunc_FetchedPlayer_Chr
(Description)
#_CallFunc_CurrPlayer_Const ;Cause the "Current Player" to queue Character-Common Function 10
: 10 ;Character-Common Function 10
; ----------
#_RunFunc_CurrPlayer_Const ;Cause the "Current Player" to queue and immediately process the Character-Common Function whose value is stored in User Register 2
: R2 ;Value stored in User Register 2"
; ----------
#_StopFunc_FetchedPlayer_Chr ;Cause the Player "Fetched" to "Reference 2" to remove from its queue the Character-Common Function whose value is stored in User-created "Active Variable" 9 of the Player "Fetched" to "Reference 2"
: a9 ;User-created "Active Variable" 9 of the Player "Fetched" to "Reference 2"
_CallFunc_CurrPlayer_PList
_RunFunc_CurrPlayer_PList
_StopFunc_CurrPlayer_PList
_CallFunc_FetchedPlayer_PList
_RunFunc_FetchedPlayer_PList
_StopFunc_FetchedPlayer_PList
(Description)
#_CallFunc_CurrPlayer_PList ;Cause the "Current Player" to queue Character-Specific Function 31 of the Character Def that corresponds with its Player Character Type
: 31 ;Character-Specific Function 31
; ----------
#_RunFunc_FetchedPlayer_PList ;Cause the Player "Fetched" to "Reference 2" to queue and immediately process the Character-Specific Function whose value is stored in User Register 19, of the Character Def that corresponds with its Player Character Type
: R19 ;Value stored in User Register 19
; ----------
#_StopFunc_FetchedPlayer_PList ;Cause the Player "Fetched" to "Reference 2" to remove from its queue the Character-Specific Function whose value is stored in User Register 1, of the Character Def that corresponds with its Player Character Type
: R1 ;Value stored in User Register 1
Player Pointers:
_Reg=Ptr(CurrPlayer)
_Chr=Ptr(CurrPlayer)
_Obj=Ptr(CurrPlayer)
_Reg=Ptr(FetchedPlayer)
_Chr=Ptr(FetchedPlayer)
_Obj=Ptr(FetchedPlayer)
(Description)
#_Reg=Ptr(CurrPlayer) ;Store a pointer to the "Current Player" in User Register 7
: U7 ;User Register 7
; ----------
#_Chr=Ptr(FetchedPlayer) ;Store a pointer to the Player "Fetched" to "Reference 0" in User-created "Active Variable" 11 of the Player "Fetched" to "Reference 2"
: a11 ;User-created "Active Variable" 11 of the Player "Fetched" to "Reference 2"
; ----------
#_Obj=Ptr(FetchedPlayer) ;Store a pointer to the Player "Fetched" to "Reference 0" in "Extra Variable" 0 of the Object "Fetched" to "Reference 2"
: E0 ;"Extra Variable" 0 of the Object "Fetched" to "Reference 2"
ShovePlayer:
_ShovePlayer_Path(Reg)
_ShovePlayer_Path(Chr)
_ShovePlayer_Path(Obj)
_ShovePlayer_Path(Const)
(Description)
#_ShovePlayer_Path(Reg) ;"Shove" the Player "Fetched" to "Reference 2" along the path with the velocity given by User Register 8
: U8 ;User Register 8
; ----------
#_ShovePlayer_Path(Chr) ;"Shove" the Player "Fetched" to "Reference 2" along the path with the velocity given by User-created "Active Variable" 15 of the Player "Fetched" to "Reference 0"
: a15 ;User-created "Active Variable" 15 of the Player "Fetched" to "Reference 0"
; ----------
#_ShovePlayer_Path(Obj) ;"Shove" the Player "Fetched" to "Reference 2" along the path with the velocity given by "Extra Variable" 1 of the Object "Fetched" to "Reference 0"
: E1 ;"Extra Variable" 1 of the Object "Fetched" to "Reference 0"
; ----------
#_ShovePlayer_Path(Const) ;"Shove" the Player "Fetched" to "Reference 2" along the path with a velocity of 512
: 512 ;Velocity 512 (512/256 = 2 pixels per frame)
_ShovePlayer_X(Reg)
_ShovePlayer_X(Chr)
_ShovePlayer_X(Obj)
_ShovePlayer_X(Const)
_ShovePlayer_Y(Reg)
_ShovePlayer_Y(Chr)
_ShovePlayer_Y(Obj)
_ShovePlayer_Y(Const)
(Description)
#_ShovePlayer_X(Reg) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with the X velocity given by User Register 21
: U21 ;User Register 21
; ----------
#_ShovePlayer_Y(Chr) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with the Y velocity given by User-created "Active Variable" 6 of the Player "Fetched" to "Reference 0"
: a6 ;User-created "Active Variable" 6 of the Player "Fetched" to "Reference 0"
; ----------
#_ShovePlayer_X(Obj) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with the X velocity given by "Extra Variable" 12 of the Object "Fetched" to "Reference 0"
: E12 ;"Extra Variable" 12 of the Object "Fetched" to "Reference 0"
; ----------
#_ShovePlayer_Y(Const) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with a Y velocity of 1024
:1024 ;Velocity 1024 (1024/256 = 4 pixels per frame)
_ShovePlayer_Diag(Reg)
_ShovePlayer_Diag(Chr)
_ShovePlayer_Diag(Obj)
_ShovePlayer_Diag(Const)
(Description)
#_ShovePlayer_Diag(Reg) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with the X and Y velocities given by User Registers 7 and 8
: U7 ;(Reg X) User Register 7
: U8 ;(Reg Y) User Register 7
; ----------
#_ShovePlayer_Diag(Chr) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with the X and Y velocities given by User-created "Active Variable"s 17 and 18 of the Player "Fetched" to "Reference 0"
: a17 ;(Chr0 X) User-created "Active Variable" 17 of the Player "Fetched" to "Reference 0"
: a18 ;(Chr0 Y) User-created "Active Variable" 18 of the Player "Fetched" to "Reference 0"
; ----------
#_ShovePlayer_Diag(Obj) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with the X and Y velocities given by "Extra Variable"s 0 and 1 of the Object "Fetched" to "Reference 0"
: E0 ;(Obj0 X) "Extra Variable" 0 of the Object "Fetched" to "Reference 0"
: E1 ;(Obj0 Y) "Extra Variable" 1 of the Object "Fetched" to "Reference 0"
; ----------
#_ShovePlayer_Diag(Const) ;"Shove" the Player "Fetched" to "Reference 2" through freespace with X and Y velocities of 4096 and 1024
:4096 ;(Const X) Velocity 4096 (4096/256 = 16 pixels per frame)
:1024 ;(Const Y) Velocity 1024 (1024/256 = 4 pixels per frame)
_ShovePlayer_ObjectBounds
(Description)
#_ShovePlayer_ObjectBounds ;"Shove" the Player "Fetched" to "Reference 2" through freespace to the top of the "MainBounds" Box of the "Current Object"
:_Shove_ToTop
; ----------
#_ShovePlayer_ObjectBounds ;"Shove" the Player "Fetched" to "Reference 2" through freespace to the left of the "MainBounds" Box of the "Current Object"
:_Shove_ToLeft
_ShovePlayer_Within_TiledObject_X
_ShovePlayer_Within_TiledObject_Y
(Description)
#_ShovePlayer_Within_TiledObject_X ;"Shove" the Player "Fetched" to "Reference 2" through freespace on the X axis to the outside of the Object's Tile Solidity in the direction specified by "Extra Variable" 4 of the "Current Object"
: E4 ;"Extra Variable" 4 of the "Current Object"
; ----------
#_ShovePlayer_Within_TiledObject_Y ;ShovePlayer Within TiledObject Y ("Shove" the Player "Fetched" to "Reference 2" through freespace on the Y axis to the outside of the Object's Tile Solidity in the direction specified by "Extra Variable" 5 of the "Current Object")
: E5 ;"Extra Variable" 5 of the "Current Object"
_ShovePlayer_Within_TiledObject_Diag
(Description)
#_ShovePlayer_Within_TiledObject_Diag ;"Shove" the Player "Fetched" to "Reference 2" through freespace to the outside of the Object's Tile Solidity in the direction specified by "Extra Variable"s 4 and 5 of the "Current Object"
: E4 ;(Obj0 X) "Extra Variable" 4 of the "Current Object"
: E5 ;(Obj0 Y) "Extra Variable" 5 of the "Current Object"
_ShovePlayer_Riding_TiledObject_X
_ShovePlayer_Riding_TiledObject_Y
(Description)
#_ShovePlayer_Riding_TiledObject_X ;"Shove" the Player "Fetched" to "Reference 2" through freespace on the X axis along with the Object's Tile Solidity in the direction specified by "Extra Variable" 4 of the "Current Object"
: E4 ;"Extra Variable" 4 of the "Current Object"
; ----------
#_ShovePlayer_Riding_TiledObject_Y ;"Shove" the Player "Fetched" to "Reference 2" through freespace on the Y axis along with the Object's Tile Solidity in the direction specified by "Extra Variable" 5 of the "Current Object"
: E5 ;"Extra Variable" 5 of the "Current Object"
_ShovePlayer_Riding_TiledObject_Diag
(Description)
#_ShovePlayer_Riding_TiledObject_Diag ;"Shove" the Player "Fetched" to "Reference 2" through freespace along with the Object's Tile Solidity in the direction specified by "Extra Variable"s 4 and 5 of the "Current Object"
: E4 ;(Obj0 X) "Extra Variable" 4 of the "Current Object"
: E5 ;(Obj0 Y) "Extra Variable" 5 of the "Current Object"
_ShovePlayer_Within_SolidObject_X
_ShovePlayer_Within_SolidObject_Y
(Description)
#_ShovePlayer_Within_SolidObject_X ;"Shove" the Player "Fetched" to "Reference 2" through freespace on the X axis to the outside of the Object's "MainBounds" Box in the direction specified by "Extra Variable" 4 of the "Current Object"
: E4 ;"Extra Variable" 4 of the "Current Object"
; ----------
#_ShovePlayer_Within_SolidObject_Y ;"Shove" the Player "Fetched" to "Reference 2" through freespace on the Y axis to the outside of the Object's "MainBounds" Box in the direction specified by "Extra Variable" 5 of the "Current Object"
: E5 ;"Extra Variable" 5 of the "Current Object"
_ShovePlayer_Within_SolidObject_Diag
(Description)
#_ShovePlayer_Within_SolidObject_Diag ;"Shove" the Player "Fetched" to "Reference 2" through freespace to the outside of the Object's "MainBounds" Box in the direction specified by "Extra Variable"s 4 and 5 of the "Current Object"
: E4 ;(Obj0 X) "Extra Variable" 4 of the "Current Object"
: E5 ;(Obj0 Y) "Extra Variable" 5 of the "Current Object"
Viewport Setting:
#__Player_ForceVPUpdate ;Update the viewport corresponding with the Player "Fetched" to "Reference 2" based on his automatic viewport settings
Setting the "Current Player":
#_Set_CurrPlayer_ByID ;Set Player 1 as the "Current Player"
:_Player1
; ----------
#_Set_CurrPlayer_ByID ;Set the Player whose ID is stored in User Register 3 as the "Current Player"
: R3 ;Value stored in User Register 3
_Set_CurrPlayer_Reg
_Set_CurrPlayer_Chr
_Set_CurrPlayer_Obj
(Description)
#_Set_CurrPlayer_Reg ;Set the Player whose pointer is stored in User Register 20 as the "Current Player"
: U20 ;User Register 20
; ----------
#_Set_CurrPlayer_Chr ;Set the Player whose pointer is stored in User-created "Active Variable" 1 of the Player "Fetched" to "Reference 0" as the "Current Player"
: a1 ;User-created "Active Variable" 1 of the Player "Fetched" to "Reference 0"
; ----------
#_Set_CurrPlayer_Obj ;Set the Player whose pointer is stored in "Extra Variable" 8 of the Object "Fetched" to "Reference 0" as the "Current Player"
: E8 ;"Extra Variable" 8 of the Object "Fetched" to "Reference 0"
_Set_Player_Collision_Area
(Description)
#_Set_Player_Collision_Area ;Set Player 1 as the "Current Player", and to Collision Area 5, the incoming area beyond the horizontal end of the looping area
:_Player_1 ;Player 1
: 5 ;The incoming area to the right of the loop's horizontal end
; ----------
#_Set_Player_Collision_Area ;Set Player whose ID is stored in User Register 6 as the "Current Player", and to the Collision Area whose ID is stored in User Register 7
: R6 ;(Player) Value stored in User Register 6
: R7 ;(ColArea) Value stored in User Register 7
_Player_SetCollisionArea_CurrObj
(Description)
#_Player_SetCollisionArea_CurrObj ;Set Player 1 as the "Current Player", and to the Collision Area that the "Current Object" is in
:_Player1 ;(Player)
; ----------
#_Player_SetCollisionArea_CurrObj ;Set Player whose ID is stored in User Register 9 as the "Current Player", and to the Collision Area that the "Current Object" is in
: R9 ;(Player) Value stored in User Register 9