## REAL ROOM room "start", clear: false before: (from) -> if (!from) salet.character.beat = 0 state.setTag("weather", "warm") audio = document.getElementById("bgsound") audio.currentTime = 0 audio.volume = 1.0 audio.play() return "intro".l() dsc: () -> "dsc".l(Improv, state) afterChoices: () -> if ( salet.character.lastBeat() > 3 and salet.character.killed != true and salet.character.knows_margo and salet.character.knows_alexey ) salet.character.killed = true salet.character.newBeat() salet.goTo("killed") 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()+"**" writers: window: () -> # re-enter the room, reroll the description salet.view.clearContent() salet.here().entering("start") return ""+procgen("window")+"" canExit: (to) -> if salet.character.killed and (to == "margo" or to == "alexey") salet.view.clearContent() salet.view.append(""+"#{to}_reaction".l()+"") return false 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: "Кровь. Вы не очень удивлены." ## ACTUALLY DIALOGUES dlg = (name) -> return room(name, { before: () -> if salet.character["knows_#{name}"] != true salet.character["knows_#{name}"] = true return "meet_#{name}".l() 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() dlg_bye("alexey") dlg_bye("margo") 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" canView: () -> true if !salet.isVisited("killed2") room "killed3", clear: false optionText: "killed3_option".l() dsc: "killed3".l() tags: ["killed"] choices: "#killed" canView: () -> true if salet.isVisited("killed2") and !salet.isVisited("killed3") room "killed4_a", clear: false optionText: "killed4_option_a".l() dsc: "killed4_a".l() tags: ["killed"] choices: "#killed" canView: () -> true if salet.isVisited("killed3") and !salet.isVisited("killed4_b") room "killed4_b", clear: false optionText: "killed4_option_b".l() dsc: "killed4_b".l() tags: ["killed"] choices: "#killed" canView: () -> true if salet.isVisited("killed3") and !salet.isVisited("killed4_a") room "killed5", clear: false enter: () -> state.setTag("weather", "cold") salet.rooms["start"].take(book) salet.rooms["start"].take(blood) 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")