Line

From Wiki of ZZT
Jump to navigation Jump to search
Line
ZZT-OOP nameline
Internal ID31 (0x1F)
Character#char 206 (0xCE)
Categoryterrain
Stats?no
Other traits
Effect on movementwall
Destructible?no
Uses ZZT-OOP color names?yes

The line element (or more colloquially, "linewall") is one of the built-in wall elements in ZZT. It cannot be moved and is impervious to all damage. It is functionally identical to the solid and normal, except with a sophisticated drawing procedure. Lines can be placed in all of the default ZZT-OOP colors and can be placed in any of the available colors with an external editor.

Draw Procedure

When linewalls are drawn they check if each of the four tiles surrounding them are either another line or a board edge, and then pick the corresponding tile from the following table:

Line Neighbor Chart
Character E W S N
#char 249 (0xF9) N N N N
#char 208 (0xD0) N N N Y
#char 210 (0xD2) N N Y N
#char 186 (0xBA) N N Y Y
#char 181 (0xB5) N Y N N
#char 188 (0xBC) N Y N Y
#char 187 (0xBB) N Y Y N
#char 185 (0xB9) N Y Y Y
#char 198 (0xC6) Y N N N
#char 200 (0xC8) Y N N Y
#char 201 (0xC9) Y N Y N
#char 204 (0xCC) Y N Y Y
#char 205 (0xCD) Y Y N N
#char 202 (0xCA) Y Y N Y
#char 203 (0xCB) Y Y Y N
#char 206 (0xCE) Y Y Y Y
An object places line walls from left to right, creating a temporary visual glitch.

If a portion of a linewall is removed from the board, then the surrounding linewalls will not update their graphics accordingly unless something forces them to redraw. The simplest way to do this is to have an object run the code #change line line. Other events, such as re-entering the board, reloading from a save, having a text window disappear, or having the tile be revealed by a torch can also have the same effect.