mirror of
https://gitlab.com/Oreolek/black_phone.git
synced 2024-06-29 05:15:11 +03:00
35 lines
945 B
CoffeeScript
35 lines
945 B
CoffeeScript
|
room = require("./room.coffee")
|
||
|
|
||
|
randomid = () ->
|
||
|
alphabet = "abcdefghijklmnopqrstuvwxyz0123456789" # see the dreaded linkRe expression in Undum
|
||
|
rndstr = []
|
||
|
for i in [1..10]
|
||
|
rndstr.push alphabet.charAt(Math.floor(Math.random() * alphabet.length))
|
||
|
return rndstr.join('').toString()
|
||
|
|
||
|
###
|
||
|
A dialogue shortcut.
|
||
|
Usage:
|
||
|
|
||
|
dialogue "Point out a thing in her purse (mildly)", "start", "mild", """
|
||
|
Point out a thing in her purse (mildly)
|
||
|
""", "character.sandbox.mild = true"
|
||
|
###
|
||
|
dialogue = (title, startTag, endTag, text, effect) ->
|
||
|
retval = room(randomid(), {
|
||
|
optionText: title
|
||
|
dsc: text
|
||
|
clear: false # backlog is useful in dialogues
|
||
|
choices: "#"+endTag
|
||
|
})
|
||
|
if typeof(startTag) == "string"
|
||
|
retval.tags = [startTag]
|
||
|
else if typeof(startTag) == "object"
|
||
|
retval.tags = startTag
|
||
|
if effect?
|
||
|
retval.before = (character, system) ->
|
||
|
eval(effect)
|
||
|
return retval
|
||
|
|
||
|
module.exports = dialogue
|