scenary
This commit is contained in:
1 parent
ed410f46b1
commit
f70a4da530
14 files changed
+264
-64
No files matched your search
+229
-56
@@ -2,6 +2,8 @@
|
||||
return
|
||||
|
||||
init python:
|
||||
renpy.music.register_channel("ambient", "sfx")
|
||||
|
||||
_game_menu_screen = None
|
||||
_skipping = False
|
||||
|
||||
@@ -11,8 +13,15 @@ init python:
|
||||
|
||||
battery = 100
|
||||
fragments = 0
|
||||
sync_points = 0
|
||||
thoughts_processed = False
|
||||
journal = []
|
||||
|
||||
puzzle_parts = [False, False, False, False]
|
||||
puzzle_complete = False
|
||||
|
||||
signal_sequence = [0, 1, 2]
|
||||
player_input = []
|
||||
signal_active = True
|
||||
|
||||
visited_locations = {"room": False, "corridor": False, "terminal": False}
|
||||
game_started = False
|
||||
@@ -36,13 +45,76 @@ screen journal():
|
||||
frame:
|
||||
align (0.5, 0.5)
|
||||
xsize 700 ysize 500
|
||||
background "#333333"
|
||||
vbox:
|
||||
text "МЫСЛИ" size 50
|
||||
for entry in journal:
|
||||
text "- [entry]" size 40
|
||||
textbutton "ПОДУМАТЬ ОБ ЭТОМ" action [SetVariable("sync_points", sync_points + 1), Hide("journal")]
|
||||
text "- [entry]" size 20
|
||||
|
||||
if fragments >= 3 and not thoughts_processed:
|
||||
textbutton "ПОДУМАТЬ ОБ ЭТОМ":
|
||||
action [Hide("journal"), Jump("deep_reflection")]
|
||||
|
||||
textbutton "ЗАКРЫТЬ" action Hide("journal")
|
||||
|
||||
screen corridor_puzzle_screen():
|
||||
modal True
|
||||
frame:
|
||||
align (0.5, 0.5)
|
||||
xsize 640 ysize 750
|
||||
background "#333333"
|
||||
|
||||
vbox:
|
||||
align (0.5, 0.5)
|
||||
spacing 20
|
||||
|
||||
grid 2 2:
|
||||
xalign 0.5
|
||||
spacing 10
|
||||
for i in range(4):
|
||||
button:
|
||||
action [
|
||||
SetDict(puzzle_parts, i, True),
|
||||
Function(renpy.restart_interaction)
|
||||
]
|
||||
xsize 300 ysize 300
|
||||
background "#1a1a1a"
|
||||
|
||||
if puzzle_parts[i]:
|
||||
add "puzzle_[i].png" align (0.5, 0.5)
|
||||
else:
|
||||
add "puzzle_unknown.png" align (0.5, 0.5)
|
||||
|
||||
textbutton "ЗАВЕРШИТЬ СБОРКУ":
|
||||
action If(all(puzzle_parts), [Hide("corridor_puzzle_screen"), Return(True)], [Hide("corridor_puzzle_screen"), Return(False)])
|
||||
xalign 0.5
|
||||
xpadding 40
|
||||
ypadding 20
|
||||
background "#555555"
|
||||
|
||||
screen terminal_rhythm_screen():
|
||||
modal True
|
||||
frame:
|
||||
align (0.5, 0.5)
|
||||
xsize 600 ysize 300
|
||||
background "#333333"
|
||||
|
||||
hbox:
|
||||
align (0.5, 0.5)
|
||||
spacing 20
|
||||
for i in range(3):
|
||||
button:
|
||||
action [
|
||||
Function(player_input.append, i),
|
||||
Function(renpy.restart_interaction)
|
||||
]
|
||||
xsize 150 ysize 150
|
||||
background ("#aaaaaa" if i in player_input else "#1a1a1a")
|
||||
text "[i]" align (0.5, 0.5)
|
||||
|
||||
if len(player_input) >= 3:
|
||||
timer 0.3 action Return(player_input == signal_sequence)
|
||||
|
||||
label start:
|
||||
scene black
|
||||
|
||||
@@ -69,50 +141,53 @@ label start:
|
||||
jump phase_1_intro
|
||||
|
||||
label phase_1_intro:
|
||||
# Инициализация счетчика рутины
|
||||
$ routine_tasks = 0
|
||||
|
||||
scene bg_room with dissolve
|
||||
"Я просыпаюсь. Шум генератора — единственное, что доказывает, что я еще здесь."
|
||||
"Семь лет назад я считал эту станцию своей крепостью. Теперь — это мой склеп, где я сам себе надсмотрщик."
|
||||
"В воздухе пахнет озоном и застоявшейся пылью. Я чувствую каждый вдох, как попытку проглотить этот тяжелый, мертвый воздух."
|
||||
"Я просыпаюсь. Шум генератора — единственное, что доказывает, что я еще здесь. Но сегодня этот звук другой. Он надтреснутый, хриплый, как дыхание умирающего."
|
||||
"Индикатор на консоли мигает тусклым оранжевым. 100\%. Это последняя порция топлива. Последние искры жизни этой консервной банки."
|
||||
"Семь лет назад я считал эту станцию своей крепостью. Теперь — это мой склеп, где я сам себе надсмотрщик, а генератор — мой метроном, отсчитывающий секунды до полной темноты."
|
||||
"В воздухе пахнет озоном, гнилью и невыполненными обещаниями. Я чувствую каждый вдох, как попытку проглотить этот тяжелый, мертвый воздух, который скоро станет моим единственным спутником."
|
||||
|
||||
"Мои руки привычно тянутся к вещам, которые я переставляю изо дня в день. Это не привычка. Это попытка доказать самому себе, что я существую в этой физической реальности."
|
||||
"Мне нужно закончить утренний ритуал. Только после этого я смогу сосредоточиться на всём остальном."
|
||||
"Сегодня двадцатое апреля. И если верить датчикам, сегодня — последний день, когда станция сможет поддерживать жизнеобеспечение. К полуночи, если я не решусь на что-то, здесь станет холодно по-настоящему."
|
||||
"Мои руки привычно тянутся к вещам, которые я переставляю изо дня в день. Это не привычка. Это попытка доказать самому себе, что я всё ещё существую в этой физической реальности, а не стал частью фонового шума оборудования."
|
||||
"Мне нужно закончить утренний ритуал. Последний утренний ритуал. Только после этого я смогу сосредоточиться на том, чтобы принять решение, от которого я бежал три года."
|
||||
|
||||
label routine_loop:
|
||||
if routine_tasks >= 3:
|
||||
jump start_game_proper
|
||||
|
||||
"Комната кажется пустой, но в ней всё ещё остались вещи, которые требуют моего внимания."
|
||||
"Комната кажется пустой, но в ней всё ещё остались вещи, которые требуют моего внимания. Вещи, которые я должен 'оживить' в последний раз."
|
||||
|
||||
menu:
|
||||
"Налить остывший кофе" if not coffee_done:
|
||||
$ coffee_done = True
|
||||
$ routine_tasks += 1
|
||||
"Чашка холодная, стенки покрыты коричневым налетом. Я смотрю на эту жидкость и вспоминаю, как раньше мы спорили о том, какой сорт кофе лучше."
|
||||
"Теперь мне всё равно. Это просто топливо. Жидкая горечь, чтобы проснуться. Я делаю глоток, и холод металла чашки обжигает губы сильнее, чем сам напиток."
|
||||
"Чашка холодная, стенки покрыты въевшимся коричневым налетом. Я смотрю на эту мутную жидкость и вспоминаю, как раньше мы спорили о том, какой сорт кофе лучше — с кислинкой или с горчинкой."
|
||||
"Теперь мне всё равно. Это просто топливо. Жидкая горечь, чтобы хоть как-то почувствовать себя живым. Я делаю глоток, и холод металла чашки обжигает губы сильнее, чем сам напиток. Это вкус прощания."
|
||||
jump routine_loop
|
||||
|
||||
"Подойти к окну и стереть иней" if not window_done:
|
||||
$ window_done = True
|
||||
$ routine_tasks += 1
|
||||
"Стекло промерзло насквозь. Я провожу рукавом, оставляя длинную, неровную полосу."
|
||||
"За окном — только серая, бескрайняя пелена. Ни горизонта, ни неба. Иногда мне кажется, что я нахожусь не на станции связи, а в какой-то космической пустоте, куда забыли подать свет."
|
||||
"Я вглядываюсь в это 'ничто', надеясь увидеть хоть что-то, кроме собственного отражения, но вижу лишь уставшие глаза человека, который слишком долго ждал."
|
||||
"Стекло промерзло насквозь. Я провожу рукавом, оставляя длинную, неровную полосу. Иней осыпается, как пепел."
|
||||
"За окном — только серая, бескрайняя пелена. Ни горизонта, ни неба. Иногда мне кажется, что я нахожусь не на станции связи, а внутри собственного разума, куда забыли подать свет."
|
||||
"Я вглядываюсь в это 'ничто', надеясь увидеть хоть что-то, кроме собственного бледного отражения. Но вижу лишь глаза человека, который три года назад решил, что ожидание лучше, чем риск."
|
||||
jump routine_loop
|
||||
|
||||
"Проверить статус генератора" if not power_done:
|
||||
$ power_done = True
|
||||
$ routine_tasks += 1
|
||||
"Я подхожу к главному щитку. Индикаторы мерцают, как нервные окончания. Семь лет эксплуатации — это не шутки."
|
||||
"Генератор стонет под нагрузкой. Я касаюсь рычага, чувствуя его дрожь. Если я сейчас уйду — он просто сгорит. Если останусь — буду жечь энергию на поддержание пустоты."
|
||||
"Каждый мой шаг здесь — это повторение того, от чего я пытаюсь сбежать, но я не могу позволить станции заглохнуть. Это моё единственное наследие."
|
||||
"Я подхожу к главному щитку. Индикаторы мерцают, как нервные окончания, готовые вот-вот перегореть. Семь лет эксплуатации — это не шутки. Сегодня он сдастся."
|
||||
"Генератор стонет под нагрузкой. Я касаюсь рычага, чувствуя его дрожь. Если я сейчас уйду — он просто сгорит. Если останусь — буду жечь последние крохи энергии на поддержание пустоты."
|
||||
"Каждый мой шаг здесь — это повторение того, от чего я пытаюсь сбежать, но я не могу позволить станции заглохнуть раньше времени. Это моё единственное наследие, мой памятник трусости."
|
||||
jump routine_loop
|
||||
|
||||
label start_game_proper:
|
||||
"Ритуал завершен. Пустота внутри стала немного привычнее."
|
||||
"Теперь, когда я 'дома', можно переходить к делам. Станция ждет. Что я буду делать дальше?"
|
||||
"Ритуал завершен. Пустота внутри стала немного привычнее, но теперь она давит сильнее."
|
||||
"Станция издает низкий, вибрирующий гул. Это звук умирающего сердца станции, и он резонирует где-то в моих ребрах."
|
||||
"Каждый мой шаг отзывается эхом. Здесь слишком много тишины для места, которое когда-то было наполнено смехом и голосами."
|
||||
"Что мне делать сегодня? Время утекает, как песок сквозь пальцы, и заряд батареи с каждой минутой становится всё ближе к нулю."
|
||||
$ game_started = True
|
||||
jump main_loop
|
||||
|
||||
@@ -121,94 +196,192 @@ label main_loop:
|
||||
jump ending_silence
|
||||
|
||||
show screen game_ui
|
||||
"Станция ждет. Что я буду делать?"
|
||||
|
||||
# play ambient "audio/ambient_low_hum.ogg" fadein 2.0 loop
|
||||
|
||||
"Станция ждет. Сегодня всё закончится. Что я буду делать, пока ещё есть свет?"
|
||||
|
||||
menu:
|
||||
"Осмотреть комнату":
|
||||
"Осмотреть рабочий стол (Комната)" if not visited_locations["room"]:
|
||||
$ use_battery(5)
|
||||
$ visited_locations["room"] = True
|
||||
jump qte_date_input
|
||||
"Пойти в коридор":
|
||||
|
||||
"Идти в коридор" if not visited_locations["corridor"]:
|
||||
$ use_battery(5)
|
||||
$ visited_locations["corridor"] = True
|
||||
jump qte_corridor_puzzle
|
||||
"Терминал":
|
||||
|
||||
"Подойти к терминалу" if not visited_locations["terminal"]:
|
||||
$ use_battery(5)
|
||||
$ visited_locations["terminal"] = True
|
||||
jump qte_terminal_rhythm
|
||||
"Идти в серверную" if fragments >= 3:
|
||||
|
||||
"Идти в серверную" if visited_locations["room"] and visited_locations["corridor"] and visited_locations["terminal"]:
|
||||
jump phase_3_culmination
|
||||
|
||||
label qte_date_input:
|
||||
"Нужно ввести дату. Мои руки дрожат."
|
||||
$ date_input = renpy.input("Введите дату (ДД.ММ.ГГГГ):")
|
||||
# scene bg_desk_close with fade
|
||||
# play sound "audio/keyboard_clack.ogg"
|
||||
|
||||
"Рабочий стол. Слой пыли здесь настолько толстый, что кажется, будто никто не садился сюда вечность."
|
||||
"Курсор на экране терминала мигает в ритме моего пульса. Сегодня двадцатое апреля, двадцать третьего года."
|
||||
"Ровно три года с того дня, когда всё пошло прахом. Три года тишины, которую я сам на себя наложил."
|
||||
"Чтобы получить доступ к архиву за тот день, система требует подтвердить текущую дату. Словно издевается, заставляя меня признать, сколько времени я потратил на это самобичевание."
|
||||
|
||||
$ date_input = renpy.input("Введите сегодняшнюю дату (ДД.ММ.ГГГГ):", length=10)
|
||||
|
||||
if date_input == "20.04.2023":
|
||||
"Синхронизация успешна."
|
||||
# play sound "audio/access_granted.ogg"
|
||||
"Экран на мгновение вспыхивает ярким, почти болезненным белым цветом. Система приняла ввод."
|
||||
"Я вхожу в архив. Передо мной всплывают логи трехлетней давности. Двадцатое апреля, двадцатый год."
|
||||
"Я помню этот день по секундам. День, когда я должен был сказать одно слово, но вместо этого промолчал."
|
||||
"Молчание стало моей клеткой. Я сам запер себя здесь, внутри этого 'сегодня', чтобы не сталкиваться с 'тем самым вчера'."
|
||||
|
||||
$ fragments += 1
|
||||
$ journal.append("Я помню этот день. В этот день всё сломалось.")
|
||||
$ journal.append("20.04.2020. Дата моего заточения. Спустя три года я наконец-то открыл архив, который так боялся увидеть.")
|
||||
else:
|
||||
"Ошибка доступа."
|
||||
# play sound "audio/access_denied.ogg"
|
||||
"На экране высветилось: 'ОШИБКА ДОСТУПА'."
|
||||
"Даже простая проверка даты выбивает меня из колеи. Мои руки дрожат так сильно, что я путаю цифры."
|
||||
"Я чувствую, как с каждой неудачной попыткой станция становится всё холоднее. Или это просто моё отчаяние?"
|
||||
|
||||
"Я отхожу от стола. В голове пульсирует лишь одна мысль: я всё ещё здесь. Всё ещё в этом 2020-м."
|
||||
jump main_loop
|
||||
|
||||
label qte_corridor_puzzle:
|
||||
"Коридор. Здесь разбитое зеркало."
|
||||
# Тут будет код пазла (наложение изображений)
|
||||
scene bg_corridor with fade
|
||||
# play sound "audio/wind_echo.ogg"
|
||||
|
||||
"Коридор. Место, где время растянулось, как жевательная резинка."
|
||||
"В конце — разбитое зеркало. Я смотрю в него, и мои глаза встречаются с глазами человека, который проиграл эту жизнь три года назад."
|
||||
"Оно разбито на четыре неравных куска. Я вижу в этих осколках фрагменты того самого дня. Если я соберу их... если я заставлю себя посмотреть на них..."
|
||||
|
||||
call screen corridor_puzzle_screen
|
||||
$ result = _return
|
||||
|
||||
if not result:
|
||||
"Я смотрю на пустые места в зеркале. Я не могу... Руки не слушаются. В голове только шум и липкий страх."
|
||||
"Я слишком слаб, чтобы видеть всё это целиком. Может быть, позже..."
|
||||
jump main_loop
|
||||
|
||||
"Последний осколок встал на место. Изображение сложилось."
|
||||
"Я вижу себя. Я вижу её. Она стоит у двери, её ладонь касается ручки. Она ждёт одного слова. Любого слова."
|
||||
|
||||
"А я? Я просто смотрю в пол. Я не могу поднять взгляд, потому что боюсь увидеть в её глазах подтверждение того, что я — ничтожество."
|
||||
"Это зеркало — не отражение. Это приговор, который я сам себе вынес."
|
||||
|
||||
$ fragments += 1
|
||||
$ journal.append("Отражение пугает. Я вижу в нём чужака.")
|
||||
$ journal.append("Коридор. Я увидел правду в зеркале: я не 'ждал', я намеренно молчал, чтобы она ушла.")
|
||||
|
||||
"Больше здесь не на что смотреть. Я оставляю зеркало в покое, хотя оно всё ещё преследует меня своей правдой."
|
||||
jump main_loop
|
||||
|
||||
label qte_terminal_rhythm:
|
||||
"Сигнал уходит. Нужно поймать момент."
|
||||
# Тут будет код ритм-игры
|
||||
$ fragments += 1
|
||||
$ journal.append("Я пытаюсь связаться, но это крик в пустоту.")
|
||||
scene bg_terminal with fade
|
||||
# play sound "audio/terminal_hum.ogg"
|
||||
|
||||
"Терминал. Моё единственное окно в мир, который меня забыл."
|
||||
"Экран забит мусором — тысячи системных сообщений, ошибок и битых секторов. Где-то там, под слоем цифровой пыли, всё ещё лежат записи того дня."
|
||||
"Сигнал нестабилен, поток данных рвется. Если я не выровняю частоту прямо сейчас, архив удалит себя автоматически как 'неактуальный'."
|
||||
"Мне нужно поймать этот поток. Не для того, чтобы отправить сообщение... а для того, чтобы наконец увидеть, что она мне писала."
|
||||
|
||||
$ player_input = []
|
||||
call screen terminal_rhythm_screen
|
||||
|
||||
if _return:
|
||||
# play sound "audio/success_beep.ogg"
|
||||
"Синхронизация завершена. Помехи исчезли, оставив на экране четкие строки."
|
||||
"Я прокручиваю лог вниз. Вот оно. Сообщение, которое я никогда не открывал."
|
||||
"Моё сердце пропускает удар. Я не отправляю ничего. Я просто читаю её последние слова, и это ранит сильнее, чем любая ошибка связи."
|
||||
|
||||
$ fragments += 1
|
||||
$ journal.append("Терминал: Я открыл её последнее сообщение. Теперь я знаю, что именно я потерял.")
|
||||
else:
|
||||
# play sound "audio/fail_buzz.ogg"
|
||||
"Ошибка синхронизации. Архив свернулся, защищая себя от доступа."
|
||||
"Я снова промахнулся. Руки дрожат, экран гаснет, и я остаюсь в тишине."
|
||||
"Она осталась для меня неразгаданной. Снова. Всегда опаздываю — даже чтобы просто узнать правду."
|
||||
|
||||
"Я выхожу из системы. Терминал остывает, но теперь в комнате стало ещё холоднее от осознания того, что я (не) узнал."
|
||||
jump main_loop
|
||||
|
||||
label deep_reflection:
|
||||
"Я читаю свои записи. За каждой строчкой — трусость. За каждым 'потом' — страх."
|
||||
"Я был таким слепым. Всё это время я думал, что храню память о ней, а на самом деле я просто бережно лелеял собственное бессилие."
|
||||
"Хватит. Я всё понял."
|
||||
|
||||
$ sync_points = 3
|
||||
$ thoughts_processed = True
|
||||
|
||||
"Я закрываю записи. Теперь я знаю, что должен сделать."
|
||||
jump main_loop
|
||||
|
||||
label phase_3_culmination:
|
||||
"Я стою перед дверью в серверную. Пути назад нет."
|
||||
scene bg_door_to_server with dissolve
|
||||
# play sound "audio/heavy_door_open.ogg"
|
||||
|
||||
"Серверная. Место, где родилась вся эта ложь."
|
||||
"Я помню, как три года назад входил сюда, чтобы заглушить голос совести. Семь лет работы, три года молчания — всё это здесь."
|
||||
"Светодиоды на стойках серверов мигают, словно конвульсии умирающего. Воздух здесь настолько сухой и горячий, что обжигает горло при каждом вдохе."
|
||||
"На центральном терминале мерцает последний интерфейс. Если я нажму 'Ввод', пути назад не будет. Станция отключит жизнеобеспечение окончательно."
|
||||
|
||||
jump final_choice
|
||||
|
||||
label final_choice:
|
||||
scene bg_server with fade
|
||||
"Система готова. На экране пульсирует курсор."
|
||||
"Теперь, когда я знаю всё, у меня есть выбор. Но какой из них — мой настоящий?"
|
||||
scene bg_server_close with dissolve
|
||||
# play music "audio/tension_finale.ogg" fadein 5.0
|
||||
|
||||
"Курсор пульсирует. Он ждет. Решение, от которого я бежал три года, теперь стоит передо мной во весь рост."
|
||||
"Я чувствую, как холод металла терминала пробирает до костей, несмотря на жар в серверной."
|
||||
|
||||
menu:
|
||||
# Концовка «Злость» - доступна всегда (гневный побег)
|
||||
"Разбить экран (Гнев)":
|
||||
jump ending_anger
|
||||
|
||||
# Концовка «Принятие» - доступна всегда (нейтральный инфантилизм)
|
||||
"Остаться и ждать конца (Принятие)":
|
||||
jump ending_acceptance
|
||||
|
||||
# Концовка «Переосмысление» - доступна только если собраны все фрагменты
|
||||
"Признать ошибки и выйти (Переосмысление)" if fragments >= 3:
|
||||
jump ending_reflection
|
||||
|
||||
# Концовка «Свет» - доступна только если собраны фрагменты И были «переосмысления» в журнале
|
||||
"Отправить извинения и выйти (Свет)" if fragments >= 3 and sync_points >= 3:
|
||||
"Отправить извинения (Свет)" if fragments >= 3 and sync_points >= 3:
|
||||
jump ending_light
|
||||
|
||||
# --- Концовки ---
|
||||
label ending_silence:
|
||||
"Батарея села. Наконец-таки настала ТИШИНА."
|
||||
scene black with fade
|
||||
"Экран погас. Вместе с ним погас и последний источник света в этом склепе."
|
||||
"Генератор сделал последний судорожный вдох и замолчал. В этой абсолютной темноте я наконец-то слышу то, чего так боялся."
|
||||
"Ничего. Пустоту. Тишину, которая заполняет легкие вместо воздуха."
|
||||
"Наконец-таки настала ТИШИНА."
|
||||
jump quit_after_ending
|
||||
|
||||
label ending_anger:
|
||||
"Я срываю красную панель. Тумблер падает вниз. Искры летят в лицо."
|
||||
"Станция умирает, и я вместе с ней. Я зол на всё это время. Я зол на себя."
|
||||
# play sound "audio/glass_shatter.ogg"
|
||||
"Гнев — это единственное, что заставляет меня чувствовать себя живым. Я срываю красную панель, сдирая кожу на пальцах до крови."
|
||||
"Тумблер падает вниз с хрустом ломающихся костей. Искры бьют в лицо, выжигая остатки рассудка."
|
||||
"Станция умирает, и я тяну её за собой в небытие. Я зол на этот холод, на эти три года, на её молчание... я зол на себя, но мне проще сжечь этот мир, чем признать свою вину."
|
||||
"Я зол."
|
||||
jump quit_after_ending
|
||||
|
||||
label ending_acceptance:
|
||||
"Я ничего не выбираю. Курсор просто мигает."
|
||||
"Я буду ждать здесь, пока генератор не заглохнет. Это проще всего."
|
||||
"Курсор мигает в ритме моего безразличия. Раз, два... Раз, два..."
|
||||
"Зачем что-то менять? Зачем бороться с энтропией, если она всё равно победит?"
|
||||
"Я откидываюсь на спинку кресла. Инфантильное желание просто закрыть глаза и ждать, пока тьма поглотит эту станцию, кажется единственно верным."
|
||||
"Пусть всё закончится само собой. Я устал играть в героя. Я просто... буду ждать."
|
||||
jump quit_after_ending
|
||||
|
||||
label ending_reflection:
|
||||
"Я печатаю: 'Я был неправ. Это была глупая игра в мученика'."
|
||||
"Я выключаю станцию. Впервые за три года я чувствую, что могу вдохнуть полной грудью."
|
||||
"Я печатаю дрожащими пальцами: 'Я был неправ. Это была глупая, бесконечная игра в мученика, в которой не было победителей'."
|
||||
"Я признаю это. Три года я строил стены из своего молчания, думая, что защищаюсь. Но я просто возвел свою собственную тюрьму."
|
||||
"Я выключаю станцию. Впервые за долгое время я чувствую, что в воздухе стало меньше гари. Я должен двигаться дальше. Я не знаю, что там, во внешнем мире, но я больше не заперт внутри себя."
|
||||
jump quit_after_ending
|
||||
|
||||
label ending_light:
|
||||
"Я трачу последние искры энергии на то, чтобы отправить сообщение с извинениями."
|
||||
"Я не знаю, прочтет ли он. Но я знаю, что я отпустил. Я выхожу в коридор, не оборачиваясь."
|
||||
"Я направляю остатки энергии на передатчик. Каждый процент заряда — это вырванный из жизни кусок, который я отдаю за шанс сказать правду."
|
||||
"Я пишу не для того, чтобы получить ответ. Я пишу, чтобы освободиться. 'Прости за тишину. Она была моей ошибкой'."
|
||||
"Нажимаю 'Отправить'. Система оповещает о передаче пакета, и тут же питание отключается. Станция замирает."
|
||||
"Я встаю и иду к выходу. Я не оглядываюсь. Мой долг перед прошлым оплачен, а будущее... будущее наконец-то принадлежит мне."
|
||||
jump quit_after_ending
|
||||
|
||||
label quit_after_ending:
|
||||
|
||||
Reference in new issue
Block a user