2016-12-10 17:31:49 +02:00
|
|
|
## REAL ROOM
|
|
|
|
|
2016-12-10 08:20:02 +02:00
|
|
|
room "start",
|
2016-12-10 17:31:49 +02:00
|
|
|
clear: false
|
2016-12-10 08:20:02 +02:00
|
|
|
before: (from) ->
|
|
|
|
if (!from)
|
2016-12-10 17:31:49 +02:00
|
|
|
salet.character.beat = 0
|
|
|
|
state.setTag("weather", "warm")
|
2016-12-11 14:52:58 +02:00
|
|
|
audio = document.getElementById("bgsound")
|
2016-12-11 15:18:34 +02:00
|
|
|
audio.currentTime = 0
|
2016-12-11 14:52:58 +02:00
|
|
|
audio.volume = 0.5
|
|
|
|
audio.play()
|
2016-12-10 15:46:48 +02:00
|
|
|
return "intro".l()
|
2016-12-10 17:31:49 +02:00
|
|
|
dsc: () -> "dsc".l(Improv, state)
|
2016-12-10 20:47:43 +02:00
|
|
|
afterChoices: () ->
|
|
|
|
if (
|
|
|
|
salet.character.lastBeat() > 3 and
|
2016-12-11 15:18:34 +02:00
|
|
|
salet.character.killed != true and
|
2016-12-10 20:47:43 +02:00
|
|
|
salet.character.knows_margo and
|
|
|
|
salet.character.knows_alexey
|
|
|
|
)
|
|
|
|
salet.character.killed = true
|
2016-12-11 17:12:06 +02:00
|
|
|
salet.character.newBeat()
|
2016-12-10 20:47:43 +02:00
|
|
|
salet.goTo("killed")
|
2016-12-11 17:12:06 +02:00
|
|
|
if (salet.character.book = true and salet.character.lastBeat() == 2)
|
|
|
|
salet.view.write "**"+"reset_book".l()+"**"
|
|
|
|
if (salet.character.book = true and salet.character.lastBeat() > 3)
|
|
|
|
salet.character.book = false
|
|
|
|
salet.character.newBeat()
|
|
|
|
salet.view.write "**"+"reset_book_ends".l()+"**"
|
2016-12-10 08:20:02 +02:00
|
|
|
writers:
|
2016-12-10 08:32:43 +02:00
|
|
|
window: () ->
|
2016-12-10 15:46:48 +02:00
|
|
|
# re-enter the room, reroll the description
|
2016-12-10 10:04:14 +02:00
|
|
|
salet.view.clearContent()
|
2016-12-10 15:46:48 +02:00
|
|
|
salet.here().entering("start")
|
2016-12-10 17:31:49 +02:00
|
|
|
return "<em>"+procgen("window")+"</em>"
|
2016-12-11 15:18:34 +02:00
|
|
|
canExit: (to) ->
|
|
|
|
if salet.character.killed and (to == "margo" or to == "alexey")
|
|
|
|
salet.view.clearContent()
|
|
|
|
salet.view.append("<em>"+"#{to}_reaction".l()+"</em>")
|
|
|
|
return false
|
2016-12-11 17:12:06 +02:00
|
|
|
units:[
|
|
|
|
unit "debug",
|
|
|
|
dsc: "{{Пропустить интро}}"
|
|
|
|
act: () ->
|
|
|
|
state.setTag("weather", "cold")
|
|
|
|
salet.here().take(book)
|
|
|
|
salet.here().take(blood)
|
|
|
|
salet.character.newBeat()
|
|
|
|
salet.character["knows_alexey"] = true
|
|
|
|
salet.character["knows_margo"] = true
|
|
|
|
salet.here().drop("debug")
|
|
|
|
salet.character.killed = true
|
|
|
|
salet.view.clearContent()
|
|
|
|
salet.here().entering("start")
|
|
|
|
return "*Сделано.*"
|
|
|
|
]
|
|
|
|
|
|
|
|
book = cunit "book",
|
|
|
|
dsc: () ->
|
|
|
|
if salet.character.book
|
|
|
|
return "book_floor".l()
|
|
|
|
else
|
|
|
|
return "book".l()
|
|
|
|
enact: () ->
|
|
|
|
if salet.character.book
|
|
|
|
return "book_act_twice".l()
|
|
|
|
else
|
|
|
|
salet.character.book = true
|
|
|
|
salet.character.newBeat()
|
|
|
|
return "book_act".l()
|
|
|
|
|
|
|
|
blood = cunit "blood",
|
|
|
|
dsc: "Вы замечаете на полу {{красное пятно.}}"
|
|
|
|
enact: "Кровь. Вы не очень удивлены."
|
2016-12-10 17:31:49 +02:00
|
|
|
|
|
|
|
## ACTUALLY DIALOGUES
|
|
|
|
|
|
|
|
dlg = (name) ->
|
|
|
|
return room(name, {
|
2016-12-10 20:47:43 +02:00
|
|
|
before: () ->
|
|
|
|
if salet.character["knows_#{name}"] != true
|
|
|
|
salet.character["knows_#{name}"] = true
|
|
|
|
return "meet_#{name}".l()
|
2016-12-10 17:31:49 +02:00
|
|
|
choices: "##{name}",
|
|
|
|
dsc: () ->
|
|
|
|
"#{name}_dsc".l(Improv, state)
|
|
|
|
})
|
|
|
|
|
|
|
|
dlg_bye = (name) ->
|
|
|
|
return room("#{name}_bye", {
|
|
|
|
clear: false
|
|
|
|
tags: [name]
|
|
|
|
optionText: "bye".l()
|
|
|
|
dsc: "#{name}_bye".l()
|
|
|
|
after: () ->
|
|
|
|
return salet.goTo("start")
|
|
|
|
})
|
|
|
|
|
|
|
|
dlg("alexey")
|
|
|
|
dlg("margo")
|
|
|
|
|
|
|
|
dialogue "alexey_mood".l(), "alexey", "alexey", "alexey_mood_answ".l()
|
|
|
|
dialogue "alexey_speed".l(), "alexey", "alexey", "alexey_speed_answ".l()
|
2016-12-10 08:20:02 +02:00
|
|
|
|
2016-12-10 17:31:49 +02:00
|
|
|
dlg_bye("alexey")
|
|
|
|
dlg_bye("margo")
|
2016-12-10 08:20:02 +02:00
|
|
|
|
2016-12-10 20:47:43 +02:00
|
|
|
room "killed",
|
|
|
|
clear: false
|
|
|
|
choices: "#killed"
|
|
|
|
dsc: "story_call".l()
|
|
|
|
|
|
|
|
room "killed2",
|
|
|
|
clear: false
|
|
|
|
optionText: "killed2_option".l()
|
|
|
|
dsc: "killed2".l()
|
|
|
|
tags: ["killed"]
|
|
|
|
choices: "#killed"
|
2016-12-11 15:18:34 +02:00
|
|
|
canView: () ->
|
|
|
|
true if !salet.isVisited("killed2")
|
2016-12-10 20:47:43 +02:00
|
|
|
|
|
|
|
room "killed3",
|
|
|
|
clear: false
|
|
|
|
optionText: "killed3_option".l()
|
|
|
|
dsc: "killed3".l()
|
|
|
|
tags: ["killed"]
|
2016-12-11 14:52:58 +02:00
|
|
|
choices: "#killed"
|
2016-12-10 19:27:55 +02:00
|
|
|
canView: () ->
|
2016-12-11 15:18:34 +02:00
|
|
|
true if salet.isVisited("killed2") and !salet.isVisited("killed3")
|
2016-12-10 08:20:02 +02:00
|
|
|
|
2016-12-10 20:47:43 +02:00
|
|
|
room "killed4_a",
|
|
|
|
clear: false
|
|
|
|
optionText: "killed4_option_a".l()
|
|
|
|
dsc: "killed4_a".l()
|
|
|
|
tags: ["killed"]
|
2016-12-11 14:52:58 +02:00
|
|
|
choices: "#killed"
|
2016-12-10 20:47:43 +02:00
|
|
|
canView: () ->
|
2016-12-11 15:18:34 +02:00
|
|
|
true if salet.isVisited("killed3") and !salet.isVisited("killed4_b")
|
2016-12-10 08:20:02 +02:00
|
|
|
|
2016-12-10 20:47:43 +02:00
|
|
|
room "killed4_b",
|
|
|
|
clear: false
|
|
|
|
optionText: "killed4_option_b".l()
|
|
|
|
dsc: "killed4_b".l()
|
|
|
|
tags: ["killed"]
|
2016-12-11 14:52:58 +02:00
|
|
|
choices: "#killed"
|
2016-12-10 20:47:43 +02:00
|
|
|
canView: () ->
|
2016-12-11 15:18:34 +02:00
|
|
|
true if salet.isVisited("killed3") and !salet.isVisited("killed4_a")
|
2016-12-11 14:52:58 +02:00
|
|
|
|
|
|
|
room "killed5",
|
|
|
|
clear: false
|
2016-12-11 15:18:34 +02:00
|
|
|
enter: () ->
|
|
|
|
state.setTag("weather", "cold")
|
2016-12-11 17:12:06 +02:00
|
|
|
salet.rooms["start"].take(book)
|
|
|
|
salet.rooms["start"].take(blood)
|
2016-12-11 14:52:58 +02:00
|
|
|
optionText: "killed5_option".l()
|
|
|
|
dsc: "killed5".l()
|
|
|
|
tags: ["killed"]
|
|
|
|
canView: () ->
|
|
|
|
true if salet.isVisited("killed4_a") or salet.isVisited("killed4_b")
|
|
|
|
after: () ->
|
|
|
|
return salet.goTo("start")
|