fov
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
[world]
|
||||
name = "Dark Maze"
|
||||
start = "cave"
|
||||
|
||||
[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" }
|
||||
|
||||
# A room the player stands in, with a wall dividing it. The 'H' object sits in
|
||||
# the far chamber behind the wall (out of sight until you walk around); the 'L'
|
||||
# lantern sits in the open with the player.
|
||||
[boards.cave.grid]
|
||||
content = """
|
||||
########################################
|
||||
# #
|
||||
# #
|
||||
# ########### #
|
||||
# # # #
|
||||
# @ # H # L #
|
||||
# # # #
|
||||
# #### ###### #
|
||||
# #
|
||||
# #
|
||||
# #
|
||||
# #
|
||||
# #
|
||||
# #
|
||||
########################################
|
||||
"""
|
||||
[boards.cave.grid.palette]
|
||||
"#" = { kind = "wall", tile = "#", fg = "#808080", bg = "#404040" }
|
||||
"@" = { kind = "player" }
|
||||
"H" = { kind = "object", tile = 2, fg = "#cc66cc", bg = "#000000", solid = true, name = "hidden", script_name = "hidden" }
|
||||
"L" = { kind = "object", tile = 15, fg = "#ffdd88", bg = "#000000", solid = true, name = "lantern", script_name = "lantern" }
|
||||
Reference in New Issue
Block a user