1
0
Fork 0
being-astrid/game/begin.coffee

77 lines
2.1 KiB
CoffeeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

salet.game_id = "your-game-id-here"
salet.game_version = "1.6"
ably = new Ably.Realtime('v6yAiA.PKvuDg:iJhwQu-DkAWpDOUB')
channel = ably.channels.get('astrid')
$(document).ready(() ->
window.addEventListener('popstate', (event) ->
salet.goBack()
)
$("#night").on("click", () ->
if (window.night)
styles = {
"-webkit-filter": ""
"filter": ""
"background-color": ""
}
$("body").css(styles)
$("#night").removeClass("active")
window.night = false
else
styles = {
"-webkit-filter": "invert(1)hue-rotate(180deg)"
"filter": "invert(1)hue-rotate(180deg)"
"background-color": "#000"
}
$("body").css(styles)
$("#night").addClass("active")
window.night = true
)
channel.subscribe('enter', (message) ->
if (
message.data.room == salet.current and
message.data.name != salet.character.name
)
salet.view.write("В комнату входит "+message.data.name+".")
)
salet.beginGame()
)
###
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>"
# The first room of the game.
# For accessibility reasons the text is provided in HTML, not here.
room "start",
enter: () ->
names = [
'рыжая Астрид',
'Астрид-хулиганка',
'волшебная русалка Астрид',
'Астрид-ведьма'
]
salet.character.name = names[salet.rnd.randomInt(names.length)]
dsc: ""
choices: "#start"
croom = (name, options) ->
options.enter = () ->
if (salet.interactive)
channel.publish('enter', {
room: @name,
name: salet.character.name
})
options.dsc = "### #{options.title}\n" + options.dsc
return room(name,options)