ACTIONS

Objects

Zonk ActionLists Objects

BeBobish

TBA

PARAMETERS
None
CONTEXT
Object

BeSpritely

TBA

PARAMETERS
None
CONTEXT
Object

GetHurt

Subtract the Damage value of the collision partner from the objects Shield value. If Shield goes below zero, then the objects Death ActionList is called.

PARAMETERS
None
CONTEXT
Collision

HighlightBob

Zonk Action HighlightBob

Tell a bob object to appear 'Highlighted'. Any image displayed by a Highlighted bob is drawn using the last colour in the palette. 'Duration' specifies how long the bob is to stay in its highlighted state before returning to normal. Highlighting has no effect on sprites.

Highlighting is a common technique, often used to provide the player with visual feedback when collisions occur. for example, a player could flash white when hit by a bad dude.

PARAMETERS
Duration: How long to stay highlighted (Frames)
CONTEXT
Object

KillObject

Executes an Objects death ActionList, then removes in from the game. See also ObjectOff.

PARAMETERS
None
CONTEXT
Object

KillChannel

Zonk Action KillChannel

Remove the currently-installed ChannelRoutine from the specified channel. The Channel 'DoneActionList' is not executed. If the channel has no routine installed in it, this Action has no effect.

PARAMETERS
Channel: Channel number (0-4)
CONTEXT
Object

ObjectOff

Removes an Object from the game. The Objects death ActionList is not executed (as opposed to KillObject).

PARAMETERS
None
CONTEXT
Object

SetBorders

Zonk Action SetBorders

Define an objects borders. You can define what happens when the player reaches each border using the Type fields:

  • Off - the border is turned off, and has no effect on the object.
  • Kill - an object is turned off when it hits this border. The objects DeathActionList is not executed - the object is simply removed.
  • Stop - the object stops when it hits this border.
  • Wrap - when the object moves past this border, it is repositioned at the opposite border.
  • Bounce1 - when the object hits this border it bounces off, and the Direction variable is altered to point in the opposite direction.
  • Bounce2 - same as 'Bounce1' only Direction is left unchanged.

Normally, the positions of borders are specified relative to the global playing area, they can be given relative to the current position of the display using the ViewRelative checkboxes.

PARAMETERS
Left Border: X position of left border
Left Type: Off/Kill/Stop/Wrap/Bounce1/Bounce2
Right Border: X position of right border
Right Type: Off/Kill/Stop/Wrap/Bounce1/Bounce2
Top Border: Y position of top border
Top Type: Off/Kill/Stop/Wrap/Bounce1/Bounce2
Bottom Border: Y position of bottom border
Bottom Type: Off/Kill/Stop/Wrap/Bounce1/Bounce2
Left ViewRelative?: Is left border position relative to current view?
Right ViewRelative?: Is right border position relative to current : view?
Top ViewRelative?: Is top border position relative to current view?
Bottom ViewRelative?: Is bottom border position relative to current : view?
CONTEXT
Object

SetChannel

Zonk Action SetChannel

Installs a new update routine into the specified update Channel of an object. Each object has five Channels available. An installed Channel Routine will automatically execute every frame. The Channel will finish either when the timer runs out, or when the Channel Routine finishes (for example, an animation finishing). When the channel ends the 'DoneActionList' will be executed. If this field is left blank, no ActionList will be executed. A new Channel Routine can be selected with the 'Replace' button, while the 'Edit' button lets you alter the parameters of the current one.

PARAMETERS
Channel: The channel to set (0-4)
Routine: Channel routine to install
Timer: How many cycles the routine should be active for (0=forever)
DoneActionList: ActionList to execute when channel finishes
CONTEXT
Object

SetMiscStuff

Zonk Action SetMiscStuff

Sets up assorted parameters for an object.

PARAMETERS
Player HitRoutine: ActionList to execute when object hits a Player.
PlayeBullet HitRoutine: ActionList to execute when object hits a
PlayerBullet.
BadDude HitRoutine: ActionList to execute when object hits a BadDude.
Damage: The amount of damage object inflicts on other objects (via
"GetHurt").
Shields: Shield Value for the object
Death Action: ActionList to execute when Shields fall below zero.

CONTEXT Object


SetObjectAction

Zonk Action SetObjectAction

For changing the object Collision and Death ActionLists for an object. You can change the objects actions for: - HitPlayer - HitPlayerBullet - BitBadDude - Death

PARAMETERS
ActionList: An ActionList
Upon: The event which will cause the ActionList to execute
CONTEXT
Object

SpawnBadDude

Zonk Action SpawnBadDude

Creates and initializes a new BadDude object. If used in an object context, the new object will inherit position (altered by 'XOffset' and 'YOffset'), speed and direction from its parent. If called in a global context (ie with no parent object) 'XOffset' and 'YOffset' are used as absolute starting coordinates. If given, 'ActionList' is executed upon the newly created object.

PARAMETERS
Image: Image for new object to show
XOffset: Offset from parent XPos
YOffset: Offset from parent YPos
ActionList: Actionlist used to initialize the new BadDude
CONTEXT
Object or Global

SpawnPlayerBullet

Zonk Action SpawnPlayerBullet

Creates and initializes a new PlayerBullet object. If used in an object context, the new object will inherit position (altered by 'XOffset' and 'YOffset'), speed and direction from its parent. If called in a global context (ie with no parent object) 'XOffset' and 'YOffset' are used as absolute starting coordinates. If given, 'ActionList' is executed upon the newly created object.

PARAMETERS
Image: Image for new object to show
XOffset: Offset from parent XPos
YOffset: Offset from parent YPos
ActionList: Actionlist used to initialize the new PlayerBullet
CONTEXT
Object or Global

Variables

Zonk ActionLists Variables

Variable List

Zonk Action Variables

AddImmediate

Zonk Action AddImmediate

Adds 'Value' to the specifed variable. In certain contexts only some variables may be accessed. For example, the XPos variable of an object can only be set when the context has access to that object.

PARAMETERS
Value: Number to add to the variable
Variable: The variable to add to
CONTEXT
Depends on variable

AddRND

Zonk Action AddRND

Adds a random number, between 'MinValue' and 'MaxValue' inclusive, to the specified variable.

PARAMETERS
MinValue: Lower limit of random value
MaxValue: Upper limit of random value
Variable: The variable to add to
CONTEXT
Depends on variable

AddVariable

Zonk Action AddVariable

Adds source variable to the destination variable. The destination variable holds the result of the addition. Please note that some variables can only be accessed in certain contexts.

PARAMETERS
Source Var: The variable to add to 'Dest Var'
Dest Var: The destination (result) variable
CONTEXT
Depends on the variables

CompareImmediate

Zonk Action CompareImmediate

Compares 'VarToCheck' against 'Value'. The result of the comparision can be acted upon using the 'If...' Actions. In global context, you cannot access any variables which require object context.

PARAMETERS
Value: A value for comparison
VarToCheck: The variable to compare against 'Value'
CONTEXT
Object or Global

CompareVariable

Compares 'VarToCheck' against the contents of 'ValueVar'. The result of the comparision can be acted upon using the 'If...' Actions. In global context, you cannot access any variables which require object context.

Zonk Action CompareVariable

PARAMETERS
ValueVar: Variable containing value for comparison
VarToCheck: The variable to compare against 'ValueVar'
CONTEXT
Object or Global

IfEqual

Zonk Action IfEqual

Conditional execution of an ActionList, depending on a previous comparison Action. The ActionList will be called if the parameters of a previous comparison were equal. A comparison may be followed by multiple 'If...' Actions.

PARAMETERS
ActionList: ActionList to execute if condition is true
CONTEXT
Global

IfGreaterThan

Zonk Action IfGreaterThan

Conditional execution of an ActionList, depending on a previous comparison Action. For example, if a 'CompareVariable' was previously executed, then the ActionList would be called if the contents of 'VarToCheck' were greater than the contents of 'ValueVar'. A comparison may be followed by multiple 'If...' Actions.

PARAMETERS
ActionList: ActionList to execute if condition is true
CONTEXT
Global

IfLessThan

Zonk Action IfLowerThan

Conditional execution of an ActionList, depending on a previous comparison Action. For example, if a 'CompareImmediate' was previously executed, then the ActionList would be called if the contents of 'VarToCheck' were less than the contents of 'Value'. A comparison may be followed by multiple 'If...' Actions.

PARAMETERS
ActionList: ActionList to execute if condition is true
CONTEXT
Global

IfNotEqual

Zonk Action IfNotEqual

Conditional execution of an ActionList, depending on a previous comparison Action. The ActionList will be called if the parameters of a previous comparison were not equal. A comparison may be followed by multiple 'If...' Actions.

PARAMETERS
ActionList: ActionList to execute if condition is true
CONTEXT
Global

SetImmediate

Zonk Action SetImmediate

Stores 'Value' in the specifed variable. In certain contexts only some variables may be accessed. For example, the XPos variable of an object can only be set when the context has access to that object.

PARAMETERS
Value: Number to put into the variable
Variable: The variable to set
CONTEXT
Depends on variable

SetRND

Zonk Action SetRND

Puts a random number, between 'MinValue' and 'MaxValue' inclusive, into the specified variable.

PARAMETERS
MinValue: Lower limit of random value
MaxValue: Upper limit of random value
Variable: The variable to set
CONTEXT
Depends on variable

SetVariable

Zonk Action SetVariable

Copies the contents of the source variable into the destination variable. Please note that some variables can only be accessed in certain contexts.

PARAMETERS
Source Var: The variable to put in 'Dest Var'
Dest Var: The destination (result) variable
CONTEXT
Depends on the variables

StatPrintVar

Zonk Action StatPrintVar

Prints the value of a variable in the stat bar. Of course, to print out an object variable this Action needs to be executed on an object (object context). Global variables can be printed out from any context. 'XPos' and 'YPos' are rounded to the nearest eight pixels.

PARAMETERS
XPos - X Position in the Stat Bar
YPos - Y Position in the Stat Bar
Variable - The variable to print
CONTEXT
Depends on variable.

Movement

Zonk ActionLists Movement


DirectionMove

Zonk Action DirectionMove

Sets an object moving at a speed of 'SpeedMagnitude' along the current direction (given in the objects Direction variable). It does this by calculating values for XSpeed and YSpeed. If 'Add to current speeds' is set, then the calculated values will be added to the current XSpeed and YSpeed, instead of replacing them.

PARAMETERS
SpeedMagnitude:
Add to current speeds?:
CONTEXT
Object

Repel

Zonk Action Repel

TBA

PARAMETERS
X Shifts
Y Shifts
CONTEXT
Object

Weapons

Zonk ActionLists Weapons


FireWeaponBay

Zonk Action FireWeaponBay

Fires the Weapon currently installed in the given weapon bay. If no weapon is installed, then this Action will have no effect.

PARAMETERS
Weapon Bay: The number of the weapon bay to fire.
CONTEXT
Player

PowerDownBay

Zonk Action PowerDownBay

If the weapon bay has a weapon installed, this Action will install its PowerDown weapon. If the weapon has no PowerDown weapon defined (meaning that it is the least powerful weapon in the chain), either the current weapon will be retained (if 'KeepLowest' is ticked), or the weapon bay will be left empty ('KeepLowest' not ticked). If the weapon bay is already empty, this Action has no effect.

PARAMETERS
Weapon Bay: The weapon bay to power up.
KeepLowest: Should the powering down stop at the lowest weapon?
CONTEXT
Player

PowerUpBay

Zonk Action PowerUpBay

If the weapon bay has a weapon installed, this Action will install its PowerUp weapon, if it has one defined. If the bay is empty 'DefaultWeapon' is installed (if set).

PARAMETERS
Weapon Bay: The weapon bay to power up.
DefaultWeapon: The weapon to install if the bay is empty
CONTEXT
Player

SetWeaponBay

Zonk Action SetWeaponBay

Installs 'Weapon' into 'Weapon Bay'. If 'Weapon' is left blank, the bay will be made empty - any weapon already installed will be removed.

PARAMETERS
Weapon Bay: The number of the weapon bay to set
Weapon: The weapon to install
CONTEXT
Player

SpawnPlayerBullet

See SpawnPlayerBullet


Images

Zonk ActionLists Images


BeBobish

See BeBobish


BeSpritely

See BeSpritely


Dir16Image

Zonk Action Dir16Image2

Sets an objects image to one of the 16 supplied, depending on its direction. The first image corresponds to direction 0 (up) and the other images follow clockwise, sweeping around a circle in 16 steps. If the 'Anim' field is used, images are instead picked from an animation. The 16 image fields will be ignored. The animation must contain at least 16 frames or weird things might happen when the non-existant frames are displayed. If an anim has a speed value other than one (from Gonk) it will, in effect, have extra frames. For example, an 8 frame anim at speed two will appear to be 16 frames long, and can be used the same as a 16 frame anim. An advantage of using the 'Anim' field is that the x & y offsets of each frame are respected.

PARAMETERS
16 Images, corresponding to directions
Anim: Optional anim containing 16 frames (at least)

Dir32Image

Zonk Action Dir32Image

Same as Dir16Image, only with more images.

PARAMETERS
Anim: Optional anim containing 32 frames (at least)

Dir64Image

Zonk Action Dir64Image

Same as Dir16Image, only with lots more images.

PARAMETERS
Anim: Optional anim containing 64 frames (at least)

Dir8Image

Zonk Action Dir8Image

Same as Dir16Image, only with less images.

PARAMETERS
8 Images, corresponding to directions
Anim: Optional anim containing 8 frames (at least)

HighlightBob

See HighlightBob


SetImage

Zonk Action SetImage

Tells a bob (or sprite) to display the specified image. If the 'Image' field is left blank, then the object will be invisible.

PARAMETERS
Image: The image to display
CONTEXT
Object

ActionLists

Zonk ActionLists ActionList


CollisionPartnerExecute

Zonk Action CollisionPartnerExecute

Executes the specified ActionList on the Collision Partner object.

PARAMETERS
ActionList: ActionList to execute
CONTEXT
Collision

Dir16Action

Zonk Action Dir16Action

Executes an Actionlist depending on direction. The first ActionList corresponds to direction 0 (up), the other ActionLists sweeping out around the circle clockwise.

PARAMETERS
16 Actionlists, corresponding to directions

Dir32Action

Zonk Action Dir32Action

Executes an Actionlist depending on direction. The first ActionList corresponds to direction 0 (up), the other ActionLists sweeping out around the circle clockwise.

PARAMETERS
32 Actionlists, corresponding to directions

Dir64Action

Zonk Action Dir64Action

Executes an Actionlist depending on direction. The first ActionList corresponds to direction 0 (up), the other ActionLists sweeping out around the circle clockwise.

PARAMETERS
64 Actionlists, corresponding to directions

Dir8Action

Zonk Action Dir8Action

Executes an Actionlist depending on direction. The first ActionList corresponds to direction 0 (up), the other ActionLists sweeping out around the circle clockwise.

PARAMETERS
8 Actionlists, corresponding to directions

Execute

Zonk Action Execute

Executes the specified actionlist (similar to a GOSUB in BASIC). When the ActionList finishes, control will resume at the next Action after the Execute.

PARAMETERS
ActionList: The actionlist to execute.
CONTEXT
Global

ExecuteIfOnScreen

Executes 'ActionList' only if the object in context is currently within view.

Zonk Action ExecuteIfOnScreen

PARAMETERS
ActionList: The actionlist to execute.
CONTEXT
Object

ExecuteOnPlayer

Zonk Action ExecuteOnPlayer

Executes 'ActionList' on the specified Player.

PARAMETERS
Player: The player to execute on
ActionList: The actionlist to execute
CONTEXT
Global

IfEqual

See IfEqual


IfGreaterThan

See IfGreaterThan


IfLessThan

See IfLessThan


IfNotEqual

See IfNotEqual


SetObjectAction

See SetObjectAction


Other (All)


CollisionPartnerOff

Turns off the collision partner object. It's death ActionList is not called. See also KillCollisionPartner

PARAMETERS
None
CONTEXT
Collision

EndLevel

Zonk Action EndLevel

Stops the game, and jumps to the specified level. If 'Next Level' is left blank, then control will go to the first level.

PARAMETERS
Next Level: The level to go to
CONTEXT
Global

InitScroll

Zonk Action InitScroll

Sets the display window to a specific positon (in pixels) on the background map. This action must be called if you are using a backgound map, usually from the 'LevelInit' ActionList (set in the Display Chunk). Don't use this Action if you are using an IFF picture as a backdrop.

PARAMETERS
X Position: XPos of top left corner of display window
Y Position: YPos of top left corder of display window
CONTEXT
Global

GiveScore

Zonk Action GiveScore

Adds 'Score' to a players score after a collision. If the collision partner is a player, then 'Score' is directly added onto the players score variable. If the object is a PlayerBullet, then 'Score' is added onto the score variable of the player that fired the bullet.

PARAMETERS
Score
CONTEXT
Collision

KillCollisionPartner

Turns off the collision partner object after executing its death ActionList (if set). See also CollisionPartnerOff

PARAMETERS
None
CONTEXT
Collision

PlayModule

Zonk Action PlayModule

Starts playing the specified tracker music module. See also StopModule

PARAMETERS
Module Name: Filename of the module to play
CONTEXT
Global

PlaySFX

Zonk Action PlaySFX

Plays the specified sound effect through an audio channel.

PARAMETERS
Effect: Sound effect to play
AudioChannel: Hardware audio channel to use
CONTEXT
Global

PushScrollTrackX

Zonk Action PushScrollTrackX

Sets the horizontal scrolling to track the specified player. If the player moves right of 'Right Push Pos' then the view scrolls right. Going left of 'Left Push Pos' scrolls the view left. 'Max speed' limits the speed of the scrolling.

PARAMETERS
Player to track
Left Push Pos
Right Push Pos
Max Speed
CONTEXT
Global

PushScrollTrackY

Zonk Action PushScrollTrackY

Sets the vertical scrolling to track the specified player. If the player moves above 'Top Push Pos' then the view scrolls up. Going below 'Bottom Push Pos' scrolls the view down. 'Max speed' limits the speed of the scrolling.

PARAMETERS
Player to track
Top Push Pos
Bottom Push Pos
Max Speed
CONTEXT
Global

RandomEvent

Zonk Action RandomEvent

A random number between 0 and 255 is picked. If it is less than "Probability" then the ActionList is executed. A probability of 0 means the event will never occur, while a probability of 255 is a certainty. The actionlist will be executed in the current context. That is, if the "RandomEvent" is being executed on an Object, for example, then the ActionList it executes will also execute on the Object. There is also a ChannelRoutine "RandomEvent".

PARAMETERS
Probability: The chances of the event happening (0=never, 255=always).
ActionList: The ActionList to execute if the event occurs.

CONTEXT `: Global


RestrictDirection

Zonk Action RestrictDirection

Restricts the Direction variable of an object to specified values, depending on the 'Restriction' field:

  • Min-Max - Direction is constrained to be between Min and Max values.
  • Left/Right - Direction is set to Left (6) or Right (2), whichever the the current direction is closest to.
  • Up/Down - Direction is set to Up (0) or Down (4).
  • 4-Way - Direction is rounded to up, down, left or right.
  • 8-Way - Direction is rounded to the nearest 45 degrees.
  • Min and Max are ignored unless 'Restriction' is set to Min-Max.
PARAMETERS
Restriction: 'Min-Max'/'Left/Right'/'Up/Down'/'4-Way'/'8-Way'
Min: Least clockwise direction allowed in 'Min-Max' mode
Max: Most clockwise direction allowed in 'Min-Max' mode
CONTEXT
Object

ScrollConstantXSpeed

Zonk Action ScrollConstantXSpeed

NOTE1: Only scrolling to the right is implemented as yet (ie Speed must be positive)... NOTE2: Only checks position of first player (TODO: fix this sometime).

Sets the background map scrolling horizontally at a constant speed, specified in the 'Speed' field. The player can force the scrolling to go in the opposite direction by moving within 'ScrollBackZoneWidth' pixels of the trailing edge of the view. 'ScrollBackDistance' specifies the distance, in pixels, the view can scroll back before it stops. Note that the scrolling in no way limits the movement of the player - if you want to keep the player within view you can use the 'SetBorders' action to set up view-relative borders. When the (forward) scrolling reaches the end of a map, the scrolling stops, scrollback is disabled and 'EndOfMapActionList' is executed (in a global context). Note: you can only scroll Map backgrounds, not IFF backdrops.

PARAMETERS
Speed: How fast to scroll (in pixels per frame)
ScrollBackDistance: Distance the players are allowed to scroll backward
ScrollBackSpeed: Speed of backward scrolling
ScrollBackZoneWidth: Width of zone to trigger back scroll
EndOfMapActionList: Executed when scrolling reaches end of map
CONTEXT
Global

ScrollXCenterPlayers

Zonk Action ScrollXCenterPlayers

NOTE: Only 1,2 or 4 players are supported at the moment. Tries to keep all players within view. This is done by working out the average x position of all players and moving the view to center on that point. The tracking can be retarded using the 'MaxScrollSpeed' field. If the players get too far apart (further than the width of the view), the scrolling will display the empty space between them. This can be prevented using view-relative borders (use the SetBorders action). You have to be careful to 'balance' the borders - the center of the view (x = 160) must be exactly inbetween the left and right borders or else players may be able to 'drag' each other in certain directions. Note: you can only scroll Map backgrounds, not IFF backdrops.

PARAMETERS
MaxScrollSpeed: Maximum speed allowed, in pixels per frame
CONTEXT
Global

ScrollYCenterPlayers

Zonk Action ScrollYCenterPlayers

NOTE: Only 1,2 or 4 players are supported at the moment. Tries to keep all players within view. This is done by working out the average x position of all players and moving the view to center on that point. The tracking can be retarded using the 'MaxScrollSpeed' field. If the players get too far apart (further than the width of the view), the scrolling will display the empty space between them. This can be prevented using view-relative borders (use the SetBorders action). You have to be careful to 'balance' the borders - the center of the view (x = 160) must be exactly inbetween the left and right borders or else players may be able to 'drag' each other in certain directions. Note: you can only scroll Map backgrounds, not IFF backdrops.

PARAMETERS
MaxScrollSpeed: Maximum speed allowed, in pixels per frame
CONTEXT
Global

SetCollisions

Zonk Action SetCollisions

Turns object-to-object collision checking on or off for a particular object. With a bad dude for example, you may want to turn collsions off when it explodes so that the player can't shoot the explosion.

PARAMETERS
State: On or Off
CONTEXT
Object

StopModule

Stops a currently playing tracker music module. See also PlayModule.

PARAMETERS
None
CONTEXT
Global