updating test maps

This commit is contained in:
2026-08-04 22:56:05 -05:00
parent ab5f22fe76
commit 30e09a40c4
4 changed files with 46 additions and 12 deletions
+4
View File
@@ -116,6 +116,10 @@ impl Glyph {
pub const fn is_visible(&self) -> bool {
self.tile != '\0'
}
pub fn is_transparent(&self) -> bool {
self == &Self::transparent()
}
}
/// The `tile` value for a glyph that draws nothing — the `serde` default, used
+1
View File
@@ -215,6 +215,7 @@ pub struct SensorSpec {
pub y: usize,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub script: Option<String>,
#[serde(default, skip_serializing_if = "Glyph::is_transparent")]
pub glyph: Glyph,
#[serde(flatten, default)]
pub optics: Optics,
+40 -11
View File
@@ -12,7 +12,7 @@ hidden = """
fn tick(me, dt) {
if !me.waiting {
say("Who's there?");
delay(2);
delay(2.0);
}
}
"""
@@ -27,19 +27,18 @@ fn bump(me, _dir) {
}
"""
[boards.cave.map]
[boards.cave]
name = "The Cave"
width = 40
height = 15
dark = true
floor = { generator = "stone" }
floor = { biome = "stone" }
# 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.
[boards.cave.grid]
content = """
grid = """
########################################
# #
# #
@@ -56,9 +55,39 @@ content = """
# #
########################################
"""
[boards.cave.grid.palette]
"#" = { kind = "wall", tile = "#", fg = "#808080", bg = "#404040" }
"@" = { kind = "player" }
"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" }
[boards.cave.palette]
"#" = { type = "builtin", kind = "wall" }
"@" = { type = "player" }
# A wall torch. There is no `torch` builtin — a light source is just an object
# with a `glow` radius and no script.
[boards.cave.palette.T]
type = "object"
enter = "block"
glow = 4
tile = "*"
fg = "#ffaa33"
bg = "#000000"
# Glows magenta inside the walled chamber: its light fills that room, but the
# player cannot see in until they line up with the gap in the south wall.
[boards.cave.palette.H]
type = "object"
script = "hidden"
name = "hidden"
enter = "block"
glow = 5
tile = "☻" # CP437 2 — `tile = 2` is equivalent
fg = "#cc66cc"
bg = "#000000"
# An amber lantern out in the open, near the player.
[boards.cave.palette.L]
type = "object"
script = "lantern"
name = "lantern"
enter = "block"
glow = 6
tile = "☼" # CP437 15
fg = "#ffcc55"
bg = "#000000"
+1 -1
View File
@@ -37,7 +37,7 @@ grid = """
"""
[boards.start.palette]
"#" = { type = "builtin", kind = "wall" }
"o" = { type = "builtin", kind = "crate", glyph = { tile = 254, fg = "#aaaaaa", bg = "#000000" } }
"o" = { type = "builtin", kind = "crate", tile = 254, fg = "#4444bb", bg = "#000000" }
"@" = { type = "player" }
# "G" = { type = "object", tile = 35, fg = "#aa3333", bg = "#000000", enter = "block", script_name = "greeter" }
"h" = { type = "builtin", kind = "heart" }