| Levels / Routines
| A routine is a set of one or more actions that affect a level or its inhabitants. There are several events that can cause routines to be performed, and a huge variety of actions that can be carried out by a routine once it is performed. For example, the player might walk into a certain hot zone that triggers a routine that activates a force field. Or the death of an enemy character might trigger a routine that causes fireworks to appear. Routines can also assign values to variables which can then be referred to by other objects in the level. To make things even more interesting, a routine could cause one or more additional routines to be performed, perhaps after a set delay.
Routine Triggering Events | Any of the following events may trigger the performance of a routine: The starting of a level The completion of a level The death of the player The ending of the game The passage of a periodic time interval in a level The actions of a particular character The activation or deactivation of a switch The entering of a hot zone The appearance or disappearance of a particular message pane
Routine Actions | When a routine is performed, it may trigger any combination of the following actions: Level Actions Insert a block of material into the level Change the amount of time remaining Connect to another level Set Player Properties Change the player's player type Warp the player to a new location Change the player's current weapon Control Player Behavior Make the player aim in a specific direction Make the player accelerate or decelerate Make the player attack, jump, or leave a vehicle Set Character Properties Change a character's character type Warp a character to a new location Change character's goals Control Character Behavior Make a character aim in a specific direction Make a character accelerate, decelerate, or patrol Make a character attack, jump, unleash children, or drop items Apply Force to Character Apply directional force to a character Apply directional force to the player Create Character Add a new character to the level Damage Character Reduce a character's hit points to or by a certain value Contrail Actions Add a new contrail to the level Door Actions Open or close a door Change who can open or close a door Force Field Actions Activate, deactivate, or toggle a force field Change who a force field affects Hot Zone Actions Move a hot zone Item Actions Give item to player Create new item Light Actions Move a lighting effect Change a lighting effect's strength Change a lighting effect's color Message Pane Actions Show a message pane Hide a message pane Projectile Actions Add a new projectile to the level Detonate all enemy projectiles Detonate all player projectiles Scenery Actions Activate or deactivate animated scenery Move animated scenery Change animated scenery draw order Scrolling Actions Focus the camera on specific location in the level Hold the camera position stationary Scroll the level horizontally or vertically Change the types of scrolling allowed in the level Sound Actions Play or stop a sound Play or stop the level's background music Change the level's background music volume Switch Actions Turn a switch on or off Change who can turn a switch on or off Variable Actions Change the values of up to two variables Perform Additional Routines Perform up to three other routines, each with an optional delay Because so many actions can be performed by routines, and because there are so many different events that can trigger routines, it is possible to configure levels that almost take on lives of their own. Routines can be further enhanced through the assignment of certain Performance Conditions; for example, a routine might only be allowed to be performed five times, or it might only be performed if the value of the variable A is greater than a certain number. (There are twenty six variables that may be utilized by routines.) If something wonderful–or inexplicable–seems to be happening in a Power Game Factory game, it is likely a routine that is to be thanked–or blamed. Information on configuring routines is available in the Level Routine Editing section.