56 lines
1.8 KiB
CoffeeScript
56 lines
1.8 KiB
CoffeeScript
markdown = require('../../lib/markdown.coffee')
|
|
room = require("../../lib/room.coffee")
|
|
obj = require('../../lib/obj.coffee')
|
|
dialogue = require('../../lib/dialogue.coffee')
|
|
oneOf = require('../../lib/oneOf.coffee')
|
|
require('../../lib/interface.coffee')
|
|
salet = require('../../lib/salet.coffee')
|
|
|
|
undum.game.id = "your-game-id-here"
|
|
undum.game.version = "1.0"
|
|
|
|
###
|
|
Element helpers. There is no real need to build monsters like a().id("hello")
|
|
because you won't use them as is. It does not make sense in context, the
|
|
author has Markdown and all utilities to *forget* about the markup.
|
|
###
|
|
way_to = (content, ref) ->
|
|
return "<a href='#{ref}' class='way'>#{content}</a>"
|
|
textlink = (content, ref) ->
|
|
return "<a href='./_writer_#{ref}' class='once'>#{content}</a>"
|
|
actlink = (content, ref) ->
|
|
return "<a href='./#{ref}' class='once'>#{content}</a>"
|
|
textcycle = (content, ref) ->
|
|
return "<a href='./_replacer_#{ref}' class='cycle' id='#{ref}'>#{content}</a>"
|
|
|
|
# TODO: hide this somewhere in exports or autoreplacer shortcuts
|
|
cyclelink = (content) ->
|
|
return "<a href='./_replacer_cyclewriter' class='cycle' id='cyclewriter'>#{content}</a>"
|
|
|
|
# usage: writemd( system, "Text to write")
|
|
writemd = (system, text) ->
|
|
text = markdown(text)
|
|
system.write(text)
|
|
|
|
get_room = (name) ->
|
|
return undum.game.situations[name]
|
|
|
|
# Function to return the current room.
|
|
# Works because our `enter()` function sets the `data-situation` attribute.
|
|
here = () ->
|
|
return undum.game.situations[document.getElementById("current-situation").getAttribute("data-situation")]
|
|
|
|
# The first room of the game.
|
|
# For accessibility reasons the text is provided in HTML, not here.
|
|
room "start",
|
|
dsc: """
|
|
""",
|
|
choices: "#start"
|
|
|
|
# This function needs to go after the start room.
|
|
is_visited = (situation) ->
|
|
place = undum.game.situations[situation]
|
|
if place
|
|
return Boolean place.visited
|
|
return 0
|