Новый сюжет и много текста

This commit is contained in:
Alexander Yakovlev 2016-12-11 01:47:43 +07:00
parent 65e4295304
commit 37e6edcacf
6 changed files with 126 additions and 90 deletions

View File

@ -5,49 +5,61 @@ module.exports =
intro: """
# Не забыть назвать игру
*Пум пурум-пум пум пум пум пум
Пум пурурум пум пум пум
Пум пурурум пурум пум пум
Пуру рурумпум пумпумрум!!!*
Был холодный серый ноябрьский вечер.
Поезд Москва-Владивосток прибыл на четвёртую платформу ровно в семнадцать
ноль-ноль.
Вы уже заканчиваете
Группа «Зелёный Дракон»
У вас не было билета.
Но вам было очень нужно попасть на восток.
Поэтому, когда хмурый контролёр на секунду отвлёкся, вы прошмыгнули в вагон и
спрятались в одном из купе.
Наконец-то. Наконец-то эти однообразные концерты закончились, и ваша группа
поехала на гастроли. По Сибири. Играть очень народный фолк.
Именно проклиная всё, что было с вами по ту сторону Урала, вы едете по трассе
прямо на восток, пока не приедете в Самое Холодное Место.
А оттуда уже можно будет город за городом прыгать домой.
До Иркутска оставалось ещё двадцать четыре остановки и день пути.
Поезд тихо тронулся.
"""
dsc: (Improv, state) -> """
##### В машине
dsc: (Improv, state) ->
"""
##### В купе поезда
Рядом с вами сидит [Лёша](alexey). #{Improv.gen("alexey", state)}
Передним пассажиром едет [Марго](margo). #{Improv.gen("margo", state)}
Вы сидите на заднем сидении, за спиной водителя [Кати](katie). #{Improv.gen("katie", state)}
На верхней полке напротив вас сидит [#{if salet.character.knows_alexey then "Лёша" else "небритый парень в тёмном спортивном костюме"}](alexey). #{Improv.gen("alexey", state)}
Вы положили в карман дверцы [мобильный телефон.](phone)
За [окном машины](./_writer_window) проносится трасса.
На нижней полке рядом с вами отдыхает [#{if salet.character.knows_margo then "Марго" else "красивая дама с ручным хорьком и циничным взглядом"}](margo). #{Improv.gen("margo", state)}
За [окном поезда](./_writer_window) проносятся столбы.
#{Improv.gen("you", state)}
"""
meet_alexey: """
-- Добрый вечер.
-- И тебе привет. Я Лёша.
Вы представляетесь.
"""
meet_margo: """
-- Добрый вечер.
Вы представляетесь. Дама прожигает вас взглядом и отвечает:
-- Маргарита.
-- Очень приятно.
-- Я вас ненавижу.
Вы считаете, что знакомство состоялось.
"""
story_call: """
У Марго звонит телефон.
И тут за дверью купе раздаётся зычный голос:
Она недолго что-то слушает, переспрашивает, заканчивает звонок и сообщает:
-- Проверка билетов!
-- Это была директор клуба, где мы должны играть вечером.
Говорит, что у них какие-то проблемы.
Вы оглядываетесь вам некуда деться.
Но тут поезд проезжает через тоннель.
-- Нам разворачиваться за сотню километров?
-- Клуб окружил десяток парней, все в красном, но никто не знает, откуда они.
Никого не пускают внутрь.
-- И что нам делать?!
-- Не знаю. Едем, надеемся.
Свет меркнет.
Вы не успеваете опомниться, как кто-то толкает вас в бок, а затем все звуки
внезапно замолкают.
"""
alexey_dsc: (Improv, state) -> """
Лучший клавишник России по мнению Маргариты (что не мешает ему сидеть на перкуссии),
@ -58,20 +70,10 @@ module.exports =
margo_dsc: (Improv, state) -> """
#{Improv.gen("margo", state)}
"""
katie_dsc: (Improv, state) -> """
#{Improv.gen("katie", state)}
"""
katie_bye: """
margo_bye: """
-- Ладно, не буду отвлекать.
Катя многозначительно молчит в ответ.
"""
margo_bye: """
-- Ну ладно, у меня тут в окне важные дела.
-- Всё интересное мы уже проехали.
-- А я не хочу ничего пропустить!
Маргарита многозначительно молчит в ответ.
"""
alexey_bye: """
Я замолкаю. Разговор быстро затухает, как будто мы и не говорили вовсе.
@ -87,14 +89,36 @@ module.exports =
-- Не надо.
"""
phone_dsc: "Вы открываете список контактов. Кому бы позвонить…"
director_prompt: "Директор музыкального клуба"
director_dsc: """
Алло? Анна Борисовна?
"""
bye: "Закончить разговор"
cyalater: """
Спасибо. Созвонимся.
"""
end_phone: "Отложить телефон"
end: "Передумать"
killed2_option: "Осмотреться"
killed2: """
Вас ослепляет яркий свет.
Вы видите то же купе, но сейчас дверь открыта, и внутри никого нет.
Куда все так внезапно ушли?
Верхние полки сложены, а на столе лежит книжка Стивена Кинга.
"""
killed3_option: "Выйти из купе"
killed3: """
Вы подходите к двери, но вас что-то останавливает.
Вы физически не можете выйти из купе.
Разозлившись, вы стучите кулаком по двери и ваш кулак проходит сквозь неё.
Вы не чувствуете сопротивления, когда машете рукой сквозь дверь.
Спустя некоторое время вы понимаете, что стол, пол, полки и стены тоже не ограничивают вас.
Но всё-таки вы не можете вытащить туловище дальше границ купе.
Что за чертовщина?
Наконец, дверь открывается, и в купе входит уже знакомый вам Алексей.
"""
killed4_option_a: "Поздороваться с ним"
killed4_option_b: "Задушить его"
killed4_a: """
[Поздороваться с ним]
"""
killed4_b: """
[Задушить его]
"""

View File

@ -1,3 +0,0 @@
phrases: [
"выжимает из машины всё, что дозволено правилами."
]

View File

@ -1,7 +1,6 @@
phrases: [
"Он обнимает футляр с гитарой Марго."
"Он насвистывает свою партию в песне про солнце."
"Он насвистывает какую-то песенку."
"Он задумчиво смотрит в одну точку."
"Он выудил откуда-то томик Стивена Кинга и взахлёб читает."
"Он развалился, уткнув ноги в спинку переднего сиденья."
"Он развалился, свесив ноги с полки."
]

View File

@ -1,3 +0,0 @@
phrases: [
"Она выжимает из машины всё, что дозволено правилами."
]

View File

@ -9,11 +9,16 @@ room "start",
state.setTag("mood", "calm")
return "intro".l()
dsc: () -> "dsc".l(Improv, state)
beforeChoices: () ->
if salet.character.lastBeat() > 3 and salet.character.heard_call != true
salet.character.heard_call = true
afterChoices: () ->
if (
salet.character.lastBeat() > 3 and
salet.character.heard_call != true and
salet.character.knows_margo and
salet.character.knows_alexey
)
salet.character.killed = true
salet.character.beat = salet.progress.sequence.length
salet.view.write "<b>#{"story_call".l()}</b>"
salet.goTo("killed")
writers:
window: () ->
# re-enter the room, reroll the description
@ -25,6 +30,10 @@ room "start",
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)
@ -42,32 +51,45 @@ dlg_bye = (name) ->
dlg("alexey")
dlg("margo")
dlg("katie")
dlg("phone")
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")
dlg_bye("katie")
room "director",
tags: ["phone"],
choices: "#director"
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"
room "killed3",
clear: false
optionText: "killed3_option".l()
dsc: "killed3".l()
tags: ["killed"]
canView: () ->
return salet.character.heard_call == true
optionText: "director_prompt".l()
dsc: "director_dsc".l()
true if salet.isVisited("killed2")
dialogue "bye".l(), "director", "phone", "cyalater".l()
room "killed4_a",
clear: false
optionText: "killed4_option_a".l()
dsc: "killed4_a".l()
tags: ["killed"]
canView: () ->
true if salet.isVisited("killed3")
# Virtual room to go around limitations
room "vstart",
tags: ["phone"]
optionText: (from) ->
switch from
when "phone" then "end_phone".l()
else "end".l()
enter: () ->
salet.goTo("start")
room "killed4_b",
clear: false
optionText: "killed4_option_b".l()
dsc: "killed4_b".l()
tags: ["killed"]
canView: () ->
true if salet.isVisited("killed3")

View File

@ -92,9 +92,6 @@ body {
text-align: center;
margin-bottom: 1em;
}
p {
hyphens: auto;
}
padding: 1em;
ul {
margin: 0;