mirror of
https://gitlab.com/Oreolek/salet-module.git
synced 2024-07-16 21:54:22 +03:00
35 lines
959 B
CoffeeScript
35 lines
959 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, salet, startTag, endTag, text, effect) ->
|
|
retval = room(randomid(), salet, {
|
|
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
|