The Salet
class; the only instance of this class is automatically available as window.salet
.
An instance of Character
class, the game's playable character. Every property in this class that can be serialized (i.e. not functions) gets in the save.
Globally Unique ID of the game, arbitrary string. Manages the save slot. You must redefine this property in your game, or you'll be sharing the save slot with other games (and that will break all of these games).
Use UUIDs to avoid collisions.
Game version, arbitrary string. It corresponds to the save slot too (each new version gets a new slot).
Automatic save flag.
If true
, then Salet would save the game when entering every room that has canSave = true
. true
by default.
Automatic load flag.
If true
, then Salet would automatically load the saved game on page load. If you set this to false
it's implied you have your own interface to load the game, also see loadGame
.
It's useful for all sorts of intro menus, where you don't want to continue right where the player left the game.
An instance of the Random
class.
Time in seconds spent since start of the game. A floating point number.
A date in seconds when the game started. A floating point number, read as Unix time.
A regular expression that controls which links are considered internal.
By default, a link is internal when it consists only of Latin letters, digits, dash and underscore signs: room
or room.action
or ./action
.
ID of the current room, where the player is right now.
The flag that shows if Salet is in the interactive mode.
If it's true
, the game is going on right now; if false
, the game is loading (non-interactive mode). In non-interactive mode, all visual animations are skipped.
A system object; a stack of links that are not parsed yet.
A system object; all data to save. Contains the RNG seed seed
, a sequence of visited links sequence
, a sequence of visited rooms path
and save time saveTime
.
A system object; instance of the SaletView
class.
ID of the room the player starts in, start
by default
A system object; keeps all the game rooms.
A system property for all the game timers.
The function called at the start of the game.
It's convenient to redefine in your game to initialize the game state. (You also can do that in the on-entering callback enter
of the starting room)
The function called when the player enters any room. It's called before the enter
handler of the new room.
Argument 1: old room's ID
Argument 2: new room's ID
The function called when the player enters any room. It's called after the enter
handler of the new room.
Argument 1: old room's ID
Argument 2: new room's ID
The function called before any action in any room.
If it returns true
then the action is considered consumed and the room's handler won't act.
Argument 1: room's ID
Argument 2: action ID
The function called after any action in any room.
Argument 1: room's ID
Argument 2: action ID
The function called when the player exits any room before the exit
handler of the old room is called.
Argument 1: old room's ID
Argument 2: new room's ID
Системная функция, которая собирает список комнат по указанному тегу и фильтрует его по размеру. Вызывается при создании автосписков неявного выбора.
Argument 1: тег для фильтра
Argument 2: максимальная длина списка на выходе
Returns a room (SaletRoom
) where the player is.
Aliases: here
Returns ID of the save.
A system function; link handler.
Argument 1: link target
Moved the player to another room. An alias for processClick
.
Argument: room ID
A system function; processes one link.
Argument 1: link target
A system function; processes one link.
Argument 1: link target
Returns the player to N
rooms back. It's not an UNDO command, but rather a "go where I've been" command.
N = 1
is the current room.
Argument: number of rooms to go back, 2
by default
A system function; movement between rooms.
Argument 1: new room ID
Argument 2: forced movement flag (passed to the handlers), false
by default
Shows a warning "do you really want to erase the save?" If the player agrees, erases the save and restarts the game.
Argument: forced erase flag (skips the warning), false
by default.
Returns an array of rooms having the specified tag.
Argument: tag to search.
Saves the game.
Loads the game from the save data.
Argument: save data
Function that returns the save data.
A system function that initializes Salet and begins the game. Calls the init
function, loads the game if the save is found and autoload
is on.
An alias for getCurrentRoom
Returns true
if the player visited the specified room at least once.
Argument: room ID
This function adds a timer in the game.
Timer is a text or a function that will be called after several steps. Step is every click (in-game action).
A timer can be repeatable (called every step
number of steps) or one-time (is removed after the first call).
Argument 1: timer name, mandatory
Argument 2: timer action, mandatory. Can be a string or a function. The value returned by the function is appended to the game text.
Argument 3: repeatable flag, false
by default.
Аргумент 4: number of steps, 1
by default.
The function drops the specified timer. This action cannot be undone.
Argument: timer name
Resets the specified timer.
Argument: timer name
A system function that checks and calls all game timers.
Called after every click in the game.