2016-01-15 10:10:12 +02:00
|
|
|
room "world",
|
2016-01-16 08:26:25 +02:00
|
|
|
tags: ["start"],
|
2016-01-15 10:10:12 +02:00
|
|
|
optionText: "Enter the world",
|
2016-01-15 17:29:15 +02:00
|
|
|
ways: ["plaza"]
|
2016-01-15 10:10:12 +02:00
|
|
|
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
|
|
|
|
2016-01-15 10:10:12 +02:00
|
|
|
A steep narrow #{textlink("well", "well")} proceeds upward.
|
2016-01-15 03:06:03 +02:00
|
|
|
"""
|
2016-01-15 10:10:12 +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-16 19:24:02 +02:00
|
|
|
before: (character, system, from) ->
|
|
|
|
if from == 'world'
|
|
|
|
"""
|
|
|
|
You climb up the well and come out to a central plaza of a #{cyclelink("quaint")} little town.
|
|
|
|
A plaque nearby says it's the town of *Innsmouth,* wherever that is.
|
|
|
|
"""
|
|
|
|
else
|
|
|
|
"You quickly find the central plaza."
|
|
|
|
content: (character, system) ->
|
|
|
|
retval = "There are #{textlink("people shouting", "people")} nearby."
|
|
|
|
unless character.sandbox.has_mark?
|
|
|
|
retval += "\n\nYou could ask a policeman #{textlink("for directions.", "mark")}"
|
|
|
|
return retval
|
2016-01-15 17:29:15 +02:00
|
|
|
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
|
2016-01-16 18:24:23 +02:00
|
|
|
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"
|
2016-01-16 18:24:23 +02:00
|
|
|
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"
|
2016-01-16 19:24:02 +02:00
|
|
|
before: "Finding The Lair is easy. Leaving it is impossible. Your game ends here."
|
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-16 19:24:02 +02:00
|
|
|
objects: {
|
|
|
|
bugg: obj "bugg",
|
|
|
|
dsc: "You see a particularly beautiful slimy {{bugg.}}"
|
|
|
|
takeable: false
|
|
|
|
act: () =>
|
|
|
|
here().drop(@name)
|
|
|
|
return "You eat the bugg mass. Delicious and raw. Perhaps it's a good lair to live in."
|
|
|
|
}
|
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
|
|
|
|
2016-01-16 19:24:02 +02:00
|
|
|
###
|
|
|
|
I want to be able to do this but I can't because I'm lost in all the `this` and @objects and `new`.
|
|
|
|
The chain of calls is very weird and this puts an object IN EVERY ROOM for God's sake.
|
|
|
|
I need someone smarter than me to fix this.
|
|
|
|
|
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")
|
2016-01-16 19:24:02 +02:00
|
|
|
###
|
2016-01-16 19:04:00 +02:00
|
|
|
|
|
|
|
room "merchdialogue",
|
|
|
|
choices: "#merchant",
|
|
|
|
content: """
|
|
|
|
Nice day, isn't it?
|
|
|
|
"""
|
|
|
|
|