Compo version (forgot to commit)

This commit is contained in:
Alexander Yakovlev 2016-12-12 13:47:10 +07:00
parent 43ec0302b7
commit 669eead43a
5 changed files with 351 additions and 57 deletions

View File

@ -1,29 +1,297 @@
module.exports = module.exports =
back: "Go back"
intro: """ intro: """
-- Just got a call from the club. <..> # Stowaway tragedy
<small>BEWARE: the game was translated by a dumb bot and a very tired human</small>
It was a cold gray November evening.
The Moscow-Vladivostok train arrived on the fourth platform at exactly 17pm.
You did not have a ticket.
But you really needed to go east.
So, when the gloomy conductor was distracted for a moment, you slipped into the car and
hid in one of the compartments.
There were still twenty-four stops and a day's journey until Irkutsk.
The train moved off quietly.
""" """
dsc: (Improv) -> window: "The pillars flash by in {{the window.}}"
dsc: """
##### In a train compartment
It is a small compartment for four people.
""" """
### In the car alexey: (Improv, state) ->
Рядом с вами сидит [Лёша](alexey) и #{Improv.gen("alexey")}
На переднем сидении [Марго](margo) #{Improv.gen("margo")}
Вы сидите на заднем сидении, за спиной водителя. [Катя](katie) #{Improv.gen("katie")}
Вы положили в карман дверцы [мобильный телефон.](phone)
За [окном машины](./_writer_window) проносится трасса.
#{Improv.gen("you")}
""" """
phone_dsc: "Вы открываете список контактов. Кому бы позвонить…" On the top shelf in front of you sits {{#{if salet.character.knows_alexey then "Alex" else "an unshaven man in a dark tracksuit"}.}}
director_prompt: "Директор музыкального клуба" #{Improv.gen("alexey", state)}
director_dsc: """ """
Hello? Alla Borisovna? alexey_end: """
The man in a dark tracksuit rummages through the lower shelves.
""" """
bye: "Say bye" margo: (Improv, state) ->
cyalater: """ """
Thank you, I'll be in touch. On the bottom shelf near you rests {{#{if salet.character.knows_margo then "Margo" else "a beautiful lady with a hand ferret and cynical eyes"}.}}
#{Improv.gen("margo", state)}
"""
margo_end: """
The girl is looking for a ferret in his luggage.
Bags, a few suitcases ... it stuck for a long time.
"""
owindow: "You notice that the window {{is not closed.}}"
dsc_ferret: """
##### In a train compartment
It is a small compartment for four people.
There are exactly four people here, if you can count yourself as human.
"""
window_end: "You don't pay attention to a fierce snowstorm in {{the window.}}"
owindow_end: "But you do notice that the window is still {{not completely closed.}}"
window_open_no: "You are not stuffy. Why open a window?"
window_open: """
With a sharp force you open the window.
A small snowfall starts in the coupe.
"""
meet_alexey: """
Good evening.
- Hello to you. I'm Alex.
You introduce yourself.
"""
meet_margo: """
- Good evening.
You introduce yourself. Lady burns your eyes and replies:
- Margarita.
Very nice.
I hate you.
You think that's enough for the introductions.
"""
alexey_dsc: (Improv, state) -> """
He is a simple little scruffy guy in a dark jumpsuit.
His hair is dyed in blond, but you already can see the dark ends.
Under the suit he wears a T-shirt with the inscription: "Green Dragon".
#{Improv.gen("alexey", state)}
"""
margo_dsc: (Improv, state) -> """
#{Improv.gen("margo", state)}
"""
margo_bye: """
Ok I will not distract you anymore.
Margarita is pointedly silent in response.
"""
alexey_bye: """
I fall silent. The conversation quickly fades as if we did not talk at all.
"""
alexey_mood: "How's the mood, Alex?"
alexey_mood_answ: "Lousy. But that's OK, it's always lousy."
alexey_speed: "What do you think, will soon come?"
alexey_speed_answ: """
What do you think will come soon?
- We will arrive as the come.
They also have a schedule.
You want to play cards?
Nope.
"""
alexey_reaction: "He does not pay attention to you."
margo_reaction: "She does not notice you, but her ferret is watching you."
bye: "End the conversation"
end: "Change your mind"
story_call: """
And then the door is heard loud voice:
- Checking the tickets!
You look - you have nowhere to go.
The coupe already comes to the conductor of the car.
Lesch closes the book and puts it on the table.
- Here's your ticket ... - but the conductor stops him:
-- Later. It is better to leave the compartment, it will be between us.
-- What?
Explore frowns.
- And take the girl. She does not want to see it.
- Uh ... yes.
He throws a surprised look at you and quickly disappeared behind the door.
You do not have time to recover, as a vehicle hits you with his fist on the forehead, and then all sounds
suddenly cease.
"""
killed2_option: "Look around"
killed2: """
You blinding glare.
You see the same compartment, but now the door is open, and no one is inside.
Outside, the warm autumn landscape gave way to a blizzard.
Are you already in Siberia?
Where everything is suddenly gone?
Upper shelves stacked, and on the table book by Stephen King.
"""
killed3_option: "Get out of the compartment"
killed3: """
You come to the door, but you have something stops.
You physically can not get out of the compartment.
Angry, you knock on the door with his fist ... and your fist goes through it.
Do not you feel resistance when the waving through the door.
After a while you realize that the table, the floor, walls and shelves, too, does not restrict you.
Still, you can not pull the trunk compartment on the borders.
What the hell is this?
Finally, the door opens, and in comes the coupe is already familiar to you Alex.
"""
killed4_option_a: "Say hello to him"
killed4_option_b: "Yell at him"
killed4: """
He does not notice you.
Wait, that's not quite true: it passes **through** you and does not notice you.
"""
killed4_a: () -> """
Hi, Alex.
#{"killed4".l()}
"""
killed4_b: () -> """
Can *you* tell me **what is going on here?!**
#{"killed4".l()}
"""
killed5_option: "Demand answers"
killed5: """
What the hell?!
You jump to Alexei and try to shake it, but your hand pass through it.
You shout, but he can not hear you.
You are trying to strangle him - nothing comes out.
The compartment includes Margarita and sits on his seat.
In the hearts of you banging his fist on the table.
To your surprise, the table jumps.
You have an idea.
You carefully look at the hand and touch the books,
which lies on the table.
You can slide it!
Of course, you still disembodied ghost, but it is something.
You matures revenge.
But if you can not go, how to get the conductor to come here?
"""
book: "There's {{a paperback book}} on the table."
book_floor: "There's {{a paperback book}} on the floor."
book_act: "Напрягшись, вы берёте книгу и роняете её со стола."
book_act_twice: "Книга только упала со столика, а вы и так устали."
reset_book: "Алексей замечает книгу на полу и нагибается, чтобы её поднять."
reset_book_ends: "Алексей поднимается и кладёт книгу на место."
reset_window: """
Маргарита замечает открытое окно и тянется, чтобы его закрыть.
"""
reset_window_ends: """
Маргарита закрывает окно, спускается и занимает своё прежнее место.
"""
blood_dsc: "Вы замечаете на полу {{красное пятно.}}"
blood_act: "Кровь. Вы не очень удивлены."
ferret_dsc: "{{Ручной хорёк}} Маргариты внимательно смотрит на вас."
ferret_dsc_end: "{{Ручной хорёк}} Юля смотрит на вас из тёмного угла."
ferret_act: """
Маргарита не выпускает хорька из рук, но маленькому прохвосту не терпится
побегать.
"""
ferret_one_margo: """
Хорёк пускается в бег, но внимательная хозяйка не даёт ему убежать.
"""
ferret_one_alexey: """
Хорёк пускается в бег, но ваш сосед замечает его и быстро ловит.
"""
ferret_run: """
Когда оба человека отвлекаются, хорёк пулей летит прочь с полки.
Он прячется в дальнем углу, где вам хорошо его видно.
Когда Маргарита обнаруживает пропажу, она поднимает крик.
Караул! Юля! Юля! Она же может быть где угодно в вагоне!
Видимо, хорёк был девочкой.
Хозяйка уходит, а через некоторое время возвращается вместе с проводником
вагона.
Я точно говорю, она не могла далеко убежать.
Давайте поищем сначала в вашем купе.
Как раз тут вам и нужен проводник.
Как же теперь его нейтрализовать?
"""
conductor: """
{{Проводник}} осматривает пол.
Он не двигается с места, поэтому не может заметить хорька.
"""
table: """
{{Раскладной столик}} собран, чтобы открыть пол.
"""
table_act: """
Вы опускаете столик.
Вы не в силах поставить его на защёлку, поэтому он тут же складывается обратно.
"""
alexey_final: """
Вы опускаете столик прямо на голову Алексею.
Он тихо охает и складывается на полу.
"""
alexey_final_dsc: "На полу под столиком лежит бесчувственный спортсмен."
margo_final: """
Проводник прыгает, чтобы поймать хорька, но случайно задевает
девушку, которая пытается дотянуться до защёлки окна.
Девушка падает и ударяется головой о стену. Она лежит без сознания.
"""
margo_final_dsc: """
На полке лежит бессознательная любительница редких животных.
"""
ferret_whereto: "Вы можете выманить хорька, но куда?"
ferret_close: "Приманить к столу"
ferret_close_dsc: """
Хорёк делает два прыжка к столу, но тут же разворачивается и прячется обратно.
"""
ferret_far: "Приманить на середину купе"
ferret_far_dsc: """
Хорёк прыгает на середину купе, делает круг и возвращается в тёмный угол,
так никем и не замеченный.
"""
ferret_blood: "Приманить к луже крови"
ferret_blood_dsc: """
Хорёк не хочет бежать так далеко там слишком много людей.
"""
conductor_examine: """
Злобный кондуктор, который убил вас, но ещё не знает, что вы стали призраком
и теперь навечно будете обитать в таинственном четырёхместном купе поезда Москва-Владивосток.
И если ваш план удастся, то он останется здесь с вами.
"""
final: """
Ага, вот ты где!
Проводник идёт к хорьку, но вместо этого подскальзывается на луже из вашей крови.
Он падает, и ударяется головой об угол полки. Если он выживет, это будет ещё долго болеть.
Месть совершена. Вы чувствуете, что можете выйти из поезда.
### КОНЕЦ
""" """
end_phone: "Put down the phone"
end: "Nah, I'll think of something else."

View File

@ -3,7 +3,7 @@ module.exports =
erase_message: "Это навсегда удалит вашего персонажа и немедленно вернёт вас на старт игры. Вы уверены?" erase_message: "Это навсегда удалит вашего персонажа и немедленно вернёт вас на старт игры. Вы уверены?"
back: "Обратно" back: "Обратно"
intro: """ intro: """
# Не забыть назвать игру # Трагедия железнодорожного зайца
Был холодный серый ноябрьский вечер. Был холодный серый ноябрьский вечер.
Поезд Москва-Владивосток прибыл на четвёртую платформу ровно в семнадцать Поезд Москва-Владивосток прибыл на четвёртую платформу ровно в семнадцать
@ -55,22 +55,22 @@ module.exports =
В купе начинается небольшой снегопад. В купе начинается небольшой снегопад.
""" """
meet_alexey: """ meet_alexey: """
-- Добрый вечер. Добрый вечер.
-- И тебе привет. Я Лёша. И тебе привет. Я Лёша.
Вы представляетесь. Вы представляетесь.
""" """
meet_margo: """ meet_margo: """
-- Добрый вечер. Добрый вечер.
Вы представляетесь. Дама прожигает вас взглядом и отвечает: Вы представляетесь. Дама прожигает вас взглядом и отвечает:
-- Маргарита. Маргарита.
-- Очень приятно. Очень приятно.
-- Я вас ненавижу. Я вас ненавижу.
Вы считаете, что знакомство состоялось. Вы считаете, что знакомство состоялось.
""" """
@ -85,7 +85,7 @@ module.exports =
#{Improv.gen("margo", state)} #{Improv.gen("margo", state)}
""" """
margo_bye: """ margo_bye: """
-- Ладно, не буду отвлекать. Ладно, не буду отвлекать.
Маргарита многозначительно молчит в ответ. Маргарита многозначительно молчит в ответ.
""" """
@ -96,13 +96,13 @@ module.exports =
alexey_mood_answ: "Паршивое. Но это нормально, оно всегда паршивое." alexey_mood_answ: "Паршивое. Но это нормально, оно всегда паршивое."
alexey_speed: "Как думаешь, скоро приедем?" alexey_speed: "Как думаешь, скоро приедем?"
alexey_speed_answ: """ alexey_speed_answ: """
-- Как думаешь, скоро приедем? Как думаешь, скоро приедем?
-- Приедем как приедем. Приедем как приедем.
У них тоже расписание есть. У них тоже расписание есть.
Хочешь, в картишки перекинемся? Хочешь, в картишки перекинемся?
-- Не надо. Не надо.
""" """
alexey_reaction: "Он не обращает на вас внимания." alexey_reaction: "Он не обращает на вас внимания."
margo_reaction: "Она не замечает вас, но её хорёк следит за вами." margo_reaction: "Она не замечает вас, но её хорёк следит за вами."
@ -111,23 +111,23 @@ module.exports =
story_call: """ story_call: """
И тут за дверью раздаётся зычный голос: И тут за дверью раздаётся зычный голос:
-- Проверка билетов! Проверка билетов!
Вы оглядываетесь вам некуда деться. Вы оглядываетесь вам некуда деться.
В купе уже заходит проводник вагона. В купе уже заходит проводник вагона.
Лёша закрывает книгу и кладёт её на стол. Лёша закрывает книгу и кладёт её на стол.
-- Вот ваш билет - но проводник останавливает его: Вот ваш билет - но проводник останавливает его:
-- Позже. Лучше выйдите из купе, это будет между нами. Позже. Лучше выйдите из купе, это будет между нами.
-- Что? Что?
Проводник хмурится. Проводник хмурится.
-- И девушку возьмите. Она не хочет это видеть. И девушку возьмите. Она не хочет это видеть.
-- Эээ да. Эээ да.
Он бросает удивлённый взгляд на вас и быстро исчезает за дверью. Он бросает удивлённый взгляд на вас и быстро исчезает за дверью.
@ -167,18 +167,18 @@ module.exports =
Подождите, это не совсем так: он проходит **сквозь** вас и не замечает вас. Подождите, это не совсем так: он проходит **сквозь** вас и не замечает вас.
""" """
killed4_a: () -> """ killed4_a: () -> """
-- Привет, Лёш. Привет, Лёш.
#{"killed4".l()} #{"killed4".l()}
""" """
killed4_b: () -> """ killed4_b: () -> """
-- Может, ты мне скажешь, **что здесь происходит?!** Может, ты мне скажешь, **что здесь происходит?!**
#{"killed4".l()} #{"killed4".l()}
""" """
killed5_option: "Требовать ответов" killed5_option: "Требовать ответов"
killed5: """ killed5: """
-- Какого чёрта?! Какого чёрта?!
Вы подскакиваете к Алексею и пытаетесь его потрясти, но ваши руки проходят сквозь него. Вы подскакиваете к Алексею и пытаетесь его потрясти, но ваши руки проходят сквозь него.
Вы кричите, но он вас не слышит. Вы кричите, но он вас не слышит.

View File

@ -82,8 +82,10 @@ room "start",
"margo".l(Improv, state) "margo".l(Improv, state)
enact: () -> enact: () ->
salet.goTo("margo") salet.goTo("margo")
]
###
cunit "debug", cunit "debug",
dsc: "<center>{{Пропустить всё до загадок}}</center>" dsc: "<center>{{Skip until the puzzles}}</center>"
order: 666 order: 666
enact: () -> enact: () ->
state.setTag("weather", "cold") state.setTag("weather", "cold")
@ -95,8 +97,8 @@ room "start",
salet.character["knows_margo"] = true salet.character["knows_margo"] = true
salet.here().drop("debug") salet.here().drop("debug")
salet.character.killed = true salet.character.killed = true
return "Сделано." return "Done."
] ###
book = cunit "book", book = cunit "book",
order: 7 order: 7

View File

@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>One room</title> <title>Stowaway tradegy</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link href='https://fonts.googleapis.com/css?family=PT+Sans:400,400italic|PT+Sans+Caption' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=PT+Sans:400,400italic|PT+Sans+Caption' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/main.css"> <link rel="stylesheet" href="css/main.css">
@ -18,16 +18,6 @@
</div> <!-- End of div.tools_wrapper --> </div> <!-- End of div.tools_wrapper -->
</div> </div>
<div class="container"> <div class="container">
<div class="row">
<div id="title" class="title">
<div class="label">
<h1>&lt;Note: name the game&gt;</h1>
<noscript>
<p class="noscript_message">This game requires Javascript.</p>
</noscript>
</div>
</div>
</div>
<div id="content_wrapper" class="row"> <div id="content_wrapper" class="row">
<div id="content" class="content"> <div id="content" class="content">
<noscript>You need to turn on Javascript to play this game.</noscript> <noscript>You need to turn on Javascript to play this game.</noscript>
@ -51,5 +41,22 @@
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script>
<script type="text/javascript" src="game/bundle.js"></script> <script type="text/javascript" src="game/bundle.js"></script>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
// you can set up to 5 custom variables for each visitor
_paq.push(["setCustomVariable", 1, "", "", "visit"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//webstats.oreolek.ru/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '8']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="//webstats.oreolek.ru/piwik.php?idsite=8" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
</body> </body>
</html> </html>

View File

@ -2,7 +2,7 @@
<html lang="ru"> <html lang="ru">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>И ТУТ НЕ ЗАБЫТЬ НАЗВАТЬ ИГРУ</title> <title>Трагедия железнодорожного зайца</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link href='https://fonts.googleapis.com/css?family=PT+Sans:400,400italic|PT+Sans+Caption' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=PT+Sans:400,400italic|PT+Sans+Caption' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/main.css"> <link rel="stylesheet" href="css/main.css">
@ -43,5 +43,22 @@
<!-- <audio id="bgsound" preload="auto" loop="loop"><source src="audio/bgr.mp3" type='audio/mpeg; codecs="mp3"'></audio> --> <!-- <audio id="bgsound" preload="auto" loop="loop"><source src="audio/bgr.mp3" type='audio/mpeg; codecs="mp3"'></audio> -->
<script type="text/javascript" src="game/bundle.js"></script> <script type="text/javascript" src="game/bundle.js"></script>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
// you can set up to 5 custom variables for each visitor
_paq.push(["setCustomVariable", 1, "", "", "visit"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//webstats.oreolek.ru/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '8']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="//webstats.oreolek.ru/piwik.php?idsite=8" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
</body> </body>
</html> </html>