Files

65 lines
2.2 KiB
TOML
Raw Permalink Normal View History

2026-07-11 12:40:35 -05:00
[world]
name = "Dark Maze"
start = "cave"
2026-07-11 14:47:08 -05:00
# The player's own torch is small, so external lights clearly matter. Remove this
# line to fall back to the default radius of 10.
torch = 4
2026-07-11 12:40:35 -05:00
[scripts]
# An always-talking object. Placed behind a wall so it starts out of the player's
# field of view — its bubble should draw with NO tail until you can see it.
hidden = """
fn tick(me, dt) {
if !me.waiting {
say("Who's there?");
delay(2);
}
}
"""
# A talker placed in the open near the player, so its bubble keeps its tail.
lantern = """
fn init(me) {
say("A warm light\\nflickers here.");
}
fn bump(me, _dir) {
say("The lantern\\nglows steadily.");
}
"""
[boards.cave.map]
name = "The Cave"
width = 40
height = 15
dark = true
floor = { generator = "stone" }
2026-07-11 14:47:08 -05:00
# The 'H' object glows magenta inside a walled chamber: its light fills that room
# but the player can't see in until they line up with the gap in the wall. 'L' is
# an amber lantern out in the open, and 'T' is a wall torch (glowing terrain) off
# in a far corner — a warm point of light you'll only reach by walking to it.
2026-07-11 12:40:35 -05:00
[boards.cave.grid]
content = """
########################################
# #
# #
# ########### #
# # # #
# @ # H # L #
# # # #
# #### ###### #
# #
# #
2026-07-11 14:47:08 -05:00
# T #
2026-07-11 12:40:35 -05:00
# #
# #
# #
########################################
"""
[boards.cave.grid.palette]
"#" = { kind = "wall", tile = "#", fg = "#808080", bg = "#404040" }
"@" = { kind = "player" }
2026-07-11 14:47:08 -05:00
"T" = { kind = "torch" } # glowing terrain: emits its own warm light
"H" = { kind = "object", tile = 2, fg = "#cc66cc", bg = "#000000", solid = true, light = 5, name = "hidden", script_name = "hidden" }
"L" = { kind = "object", tile = 15, fg = "#ffcc55", bg = "#000000", solid = true, light = 6, name = "lantern", script_name = "lantern" }