release:tyger
Table of Contents
Tyger
Tyger is a clone of ZZT and Super ZZT developed by Dr. Dos in the late 00s and early 10s using the Python programming language and Pygame library.
Extensions
World format
Tyger repurposes the BoardTimeHsec field in the TWorldInfo structure as two bytes:
Offset | Type | Description |
---|---|---|
0x00 | byte | Tyger world selection game name color? (Unused) |
0x01 | byte | Tyger world selection game name length? (Unused) |
Scripting
In general, Tyger is not constrained to the limits of 16-bit ZZT counters.
Tyger adds the following OOP extensions:
- Additional colors have defined names for use in OOP commands:
- dblue - dark blue (color 1),
- dgreen - dark green (color 2),
- dcyan - dark cyan (color 3),
- dred - dark red (color 4),
- dpurple - dark purple (color 5)
- dyellow - dark yellow/brown (color 6),
- gray, grey, dwhite - light gray (color 7),
- dgray, dgrey, dblack - dark gray (color 8),
- black - black (color 0),
- any - any (command-specific),
- def - default (command-specific).
- Additional elements have defined names for use in OOP commands:
- edge - board edge,
- messenger - message timer,
- monitor - title screen monitor,
- horizray - horizontal blink wall ray,
- vertray - vertical blink wall ray,
- element46 - element 46,
- bluetext - blue text,
- greentext - green text,
- cyantext - cyan text,
- redtext - red text,
- purpletext - purple text,
- yellowtext - yellow text,
- whitetext - background-less text.
#become
,#change
and#if any
supports providing the background color as a second argument, as in#become fg bg element
or#change fg bg element1 fg bg element2
.#become
and#change
supports usingany
for a given color to re-use the tile's existing color as foreground, background, or both.#become
and#change
supports usingdefault
for a given color to use the ZZT-defined default color as foreground, background, or both.#char
supports character 0. In addition, for out-of-range character values, it will resort to using character 32 instead of ignoring it (vanilla ZZT behaviour).#cycle
supports setting cycle 0.#die
creates a black-on-black instead of white-on-black empty.#give
and#take
support giving and taking the following additional kinds:seconds
- the opposite oftime
,light
- additional torch cycles,invuln
- additional energizer cycles (this also sends every object to the:ENERGIZE
label),energizer
- one energizer item's worth of cycles - use without an argument, as in#give energizer
,key
- a key - provide a key name as argument, as follows:- blue, darkblue - blue key,
- green, darkgreen - green key,
- cyan, darkcyan - cyan key,
- red, darkred - red key,
- purple, darkpurple - purple key,
- yellow, darkyellow - yellow key,
- white, gray - white key,
- black, darkgray - black key.
- In
#if
,aligned
can be used as a synonym foralligned
.
Cheats
Tyger adds a significant amount of additional cheats.
Cheat code | Vanilla? | Effect |
---|---|---|
ammo | Yes | Adds 5 ammo. |
torches | Yes | Adds 3 torches. |
gems | Yes | Adds 5 gems. |
score | No | Adds 100 score. |
health | Yes | Adds 50 health. |
dark/-dark | Yes | Sets or clears board darkness. |
light | No | Synonymous with -dark, but does not edit the DARK OOP flag. |
keys | Yes | Grants the player all keys. |
time | Yes | Adds 30 seconds of time. |
zap | Yes | Removes tiles from player-neighboring squares. |
idspispopd, noclip | No | Toggles no-clip movement. |
iddqd, energized | No | Sets the player to be energized forever. |
idfa | No | Sets the player to 32767 ammo, 32767 torches, 32767 gems and 32767 health. |
idkfa | No | Sets the player to 32767 ammo, 32767 torches, 32767 gems, 32767 health, and all keys. |
^^vv<><>bastart, ^^vv<><>baselectstart | No | Sets the player's health to 3000. |
count leaves | No | Sets the player to have 6 health, 9 ammo, 1 torch, 0 gems and 5 score. |
kill | No | Kills the player. |
explode | No | Blows up the player. |
+/- | Yes | Sets/clears flags. |
#, /, ? | No | Runs OOP code on the player's location. |
Links
release/tyger.txt · Last modified: 2021/02/28 22:01 by asie