1
0
Fork 0
mirror of https://gitlab.com/Oreolek/salet.git synced 2024-06-13 05:38:18 +03:00
salet/game/story.coffee

107 lines
2.9 KiB
CoffeeScript
Raw Normal View History

room "world",
2016-01-16 08:26:25 +02:00
tags: ["start"],
optionText: "Enter the world",
2016-01-15 17:29:15 +02:00
ways: ["plaza"]
enter: () ->
bugg.put(@name)
content: """
### Rhinestone Room
You're in a large room carved inside a giant milky rock mountain.
The floor and walls are littered with signs and signatures of the previous visitors.
2016-01-15 03:06:03 +02:00
A steep narrow #{textlink("well", "well")} proceeds upward.
2016-01-15 03:06:03 +02:00
"""
writers:
well: "There is only one passage out. See the „Other rooms“ block popped up? Click it."
2016-01-15 03:06:03 +02:00
2016-01-15 17:29:15 +02:00
room "plaza",
title: (from) ->
if from == "world"
return "Upwards"
else
return "Town plaza"
2016-01-16 08:26:25 +02:00
cycle_gallery: () -> # it needs to be a function if you want localization
2016-01-15 17:29:15 +02:00
return [
"quirky", "distinct", "kooky", "crazy", "quaint"
]
ways: ["shop"]
2016-01-15 03:06:03 +02:00
before: () ->
"""
2016-01-16 08:26:25 +02:00
You climb up the well and come out to a central plaza of a #{cyclelink("quaint")} little town.
2016-01-15 17:29:15 +02:00
A plaque nearby says it's the town of *Innsmouth,* wherever that is.
2016-01-15 03:06:03 +02:00
"""
content: """
2016-01-15 17:29:15 +02:00
There are #{textlink("people shouting", "people")} nearby.
You could ask a policeman #{textlink("for directions.", "mark")}
"""
writers:
cyclewriter: (character) -> cycle(this, character)
mark: (character) ->
if character.sandbox.has_mark?
return "You already talked to him, no need to bug the man twice."
character.sandbox.has_mark ?= true
get_room("lair").destination()
2016-01-15 17:29:15 +02:00
"""
Here, let me mark it on your map.
"""
people: 'Just some weirdos shouting "Viva la Cthulhu!". Typical.'
room "shop",
title: "The Shop"
ways: ["plaza", "shop-inside", "lair"]
2016-01-15 17:29:15 +02:00
content: """
Being the only shop in town, this trendy establishment did not need a name.
It's an open question why it had one, especially because its name was "Hung Crossing".
You are standing in front of a picturesque sign. It's cold here.
2016-01-15 03:06:03 +02:00
"""
2016-01-15 17:29:15 +02:00
room "lair",
title: "The Lair"
before: "Seems like you can't leave this just like that."
2016-01-15 03:06:03 +02:00
content: """
2016-01-15 17:29:15 +02:00
The Lair of Yog-Sothoth is a very *n'gai* cave, full of *buggs-shoggogs* and *n'ghaa ng'aa*.
2016-01-15 03:06:03 +02:00
"""
2016-01-15 17:29:15 +02:00
bugg = obj "bugg-shoggog",
dsc: "You see a particularly beautiful slimy {{bugg.}}"
2016-01-16 19:04:00 +02:00
takeable: false
2016-01-16 18:43:20 +02:00
act: () =>
here().drop(@name)
2016-01-15 17:29:15 +02:00
return "You eat the bugg mass. Delicious and raw."
2016-01-16 08:26:25 +02:00
2016-01-16 19:04:00 +02:00
dialogue "Yes", "merchant", "merchant", """
Yes.
"""
2016-01-16 08:26:25 +02:00
room "shop-inside",
ways: ["shop"]
2016-01-16 19:04:00 +02:00
tags: ["merchant"]
optionText: "End the conversation"
2016-01-16 08:26:25 +02:00
title: "Inside the Shop"
content: """
The insides are painted pastel white, honouring The Great Milk Spill of 1985.
"""
2016-01-16 19:04:00 +02:00
objects: {
merchant: obj "merchant",
dsc: "A {{merchant}} eyes you warily."
takeable: false
act: (character, system) =>
undum.processClick("merchdialogue")
return ""
}
2016-01-16 08:26:25 +02:00
lamp = obj "lamp",
dsc: "You see a {{lamp.}}"
2016-01-16 18:43:20 +02:00
takeable: true
2016-01-16 19:04:00 +02:00
lamp.put("shop-inside")
room "merchdialogue",
choices: "#merchant",
content: """
Nice day, isn't it?
"""