diff --git a/ending.lua b/ending.lua new file mode 100644 --- /dev/null +++ b/ending.lua @@ -0,0 +1,187 @@ +--[[ +1. Leaving the tower +]] + +room { + state = 0; + nam = 'ending_left'; + nofollow = true; + theme = 'tower'; + disp = 'Конец игры'; + noinv = true; + onenter = function(s) + s.state = s.state + 1; + if s.state == 1 then + pr 'Я делаю шаг в сторону двери, но что-то останавливает меня. Что, если второго шанса не будет?'; + return false; + elseif s.state == 2 then + pr 'Я продолжаю двигаться к выходу, В моей голове возникает изображение двери башни, захлопывающейся за мной. '; + return false; + elseif s.state == 3 then + pr 'Я продолжаю двигаться к выходу из башни, воздух словно сгущается передо мной, не желая выпускать. Темнота вокруг меня становится гуще, как будто башня начинает отторгать меня. '; + return false; + end; + end; + dsc = function(s) + pr [[Я выхожу из башни, и массивная каменная плита опускается за мной, навеки закрывая путь внутрь. ]] + if solarscale_with_me then + pr [[Соларскейл задумчиво смотрит на меня и на башню. Некоторое время мы тщательно изучаем ее со всех сторон, но в конце концов, отчаявшись, отправляемся каждый своей дорогой. ]]; + end; + pr [[^Столетие за столетием я возвращался к этому месту, но гладкий черный камень все также оставался неприступен для меня. ]]; + if solarscale_with_me then + pr [[Не удалось мне найти и Соларскейл -- сколько ни пытался, я не смог обнаружить никаких следов прекрасной драконессы. ]]; + end; + end; +} + +--[[ +2. Destroying the tower +]] + +room { + nam = 'ending_formatted'; + disp = 'Конец игры'; + theme = 'tower'; + nofollow = true; + noinv = true; + dsc = function(s) + if solarscale_with_me then + pr [[Я отошел от компьютера и в этот момент ощутил неуловимое изменение, произошедшее в башне. Мир вокруг нас с Соларскейл начал расплываться и вскоре мы оказались в лесу. Повсюду валялись обломки черного камня, только что составлявшего башню, хотя узнать ее в них было бы непросто. Переглянувшись с драконессой, мы попрощались и отправились каждый своей дорогой. Столетие за столетием я возвращался к этому месту, но не находил ничего, кроме забытых всеми осколков черного камня. Неизвестной для меня осталась и судьба Соларскейл -- сколько ни пытался, я не смог найти никаких следов прекрасной драконессы. ]]; + else + pr [[Я отошел от компьютера и в этот момент ощутил неуловимое изменение, произошедшее в башне. Мир вокруг меня начал расплываться и вскоре мы оказались в лесу. Повсюду валялись обломки черного камня, только что составлявшего башню, хотя узнать ее в них было бы непросто. Вздохнув, я расправил крылья и отправился домой. Столетие за столетием я возвращался к этому месту, но не находил ничего, кроме забытых всеми осколков черного камня. ]]; + end; + end; +} + +--[[ +3. True ending stage 1 +]] + +-- 3a. With solarscale + +room { + nam = 'ending_solarscale_pre'; + nofollow = true; + theme = 'tower'; + disp = 'Башня, серверная'; + noinv = true; + dsc = [[В сознании моем звучит мягкий, спокойный и, кажется, давно знакомый голос: "Добро пожаловать домой". Стены начинают растворяться, открывая вид на бескрайние просторы вселенной и в этот момент я чувствую легкое прикосновение, возвращающее меня к реальности. ]]; + way = { + path {'Продолжить', 'ending_solarscale_dlg'}; + }; +} + +dlg { + nam = 'ending_solarscale_dlg'; + nofollow = true; + theme = 'tower'; + noinv = true; + disp = 'Соларскейл'; + enter = [[Соларскейл произносит слова прощания: "Мне пора уходить. Счастливого путешествия! Надеюсь, мы еще увидимся". ]]; + phr = { + {"[Схватить Соларскейл за руку]", function(s) + walk('ending_solarscale_leaving'); + return [[Я слышу в голове голос: "Оставь ее. У нее свой путь". От удивления я разжимаю руку. Этого оказывается достаточно. ]]; + end}; + {"Вы не хотите остаться?", function(s) + if solarscale_helps >= 2 and _'solarscale_ally'.tea_given then + walk('ending_solarcale_stays'); + return 'Соларскейл на мгновение замирает, а потом с искрами в глазах отвечает: "Конечно, хочу!"'; + else + walk('ending_solarscale_leaving'); + return 'Соларскейл печально опускает голову: "Меня ждут дома. Мне нужно лететь". ' + emd; + end}; + {"Что же, не буду вас задерживать. До новых встреч. ", function(s) + walk('ending_solarscale_leaving') + return false; + end}; + }; +} + +room { + nam = 'ending_solarcale_stays'; + nofollow = true; + theme = 'tower'; + noinv = true; + disp = 'Конец игры'; + dsc = [[Мое восприятие изменяется. Я ощущаю, как башня медленно растворяется в воздухе. Соларскейл с изумлением глядит на то, как башня адаптируется под нас -- меняются размеры и расположение комнат, появляются и исчезают предметы окружения и стены. ]]; + way = { + path {'Продолжить', 'ending_with_solarscale'}; + }; +}; + +room { + nam = 'ending_solarscale_leaving'; + nofollow = true; + theme = 'tower'; + noinv = true; + disp = 'Конец игры'; + dsc = [[Я не успеваю моргнуть и глазом, как Соларскейл покидает башню. Кажется, я вижу собственными глазами, как драконесса вылетает через проем на первом этаже. Тяжелая каменная плита опускается за ней. Я вижу, как Соларскейл оборачивается, глядя на башню. Ее чешуя сияет в лучах заходящего Солнца, а изумрудно-зеленые глаза смотрят на меня. Мое восприятие изменяется. Я ощущаю, как башня медленно растворяется в воздухе, а драконесса отворачивается и продолжает свой путь. ]]; + way = { + path {'Продолжить', function(s) + if irradiated then + return 'ending_irradiated'; + else + return 'ending_alone'; + end; + end}; + }; +} + +-- 3b. Without solarscale +room { + nam = 'ending_no_solarscale'; + nofollow = true; + theme = 'tower'; + noinv = true; + disp = 'Конец игры'; + dsc = 'На одной из вершин на краю кратере сидела золотая драконесса. Ее чешуя сверкала в лучах заходящего Солнца, а изумрудно-зеленые глаза смотрели в центр кратера на медленно растворяющуюся в воздухе черную башню. Как только башня полностью исчезла, драконесса расправила тонкие сияющие крылья и поднялась в небеса. '; + way = { + path {'Продолжить', function(s) + if irradiated then + return 'ending_irradiated'; + else + return 'ending_alone'; + end; + end}; + }; +} + +--[[ +4. True ending stage 2 +]] + +-- 4a. With solarscale +room { + nam = 'ending_with_solarscale'; + nofollow = true; + disp = 'Конец игры'; + noinv = true; + theme = 'tower'; + dsc = [[ + Перед моим взором раскинулась бескрайняя вселенная. Все дороги и все миры открыты передо мной. По своему желанию я могу оказаться в любом месте в любое время. Я поднимаюсь на вершину башни и мысленно отдаю команду отправляться в путь. Соларскейл же немедленно начинает исследовать внутренние пространства башни. ^Сперва меня удивляет, насколько легко и чутко башня реагирует на нас, меняя размеры, расположение и даже количество комнат, но вскоре я привыкаю к тому, что за дверью всегда находится именно то, что я ищу. И как бы далеко ни отдалялись мы с Соларскейл, мы всегда непостижимым образом находились рядом. ^Тысячелетие за тысячелетием мы путешествуем по мирам, собирая их знания, помогая нуждающимся и сохраняя самое ценное их наследие. Вскоре время и пространство перестают иметь для нас всякое значение. + ]]; +} + +-- 4b. Without solarscale +room { + nam = 'ending_alone'; + nofollow = true; + disp = 'Конец игры'; + noinv = true; + theme = 'tower'; + dsc = [[ + Перед моим взором раскинулась бескрайняя вселенная. Все дороги и все миры открыты передо мной. По своему желанию я могу оказаться в любом месте в любое время. Я поднимаюсь на вершину башни и мысленно отдаю команду отправляться в путь. ^Сперва меня удивляет, насколько легко и чутко башня реагирует на мое состояние, меняя размеры, расположение и даже количество комнат, но вскоре я привыкаю к тому, что за ближайшей дверью всегда находится именно то, что я ищу. Тысячелетие за тысячелетием я путешествую по мирам, собирая их знания, помогая нуждающимся и сохраняя самое ценное их наследие. Вскоре время и пространство перестают иметь для меня всякое значение. + ]]; +} + +-- 4c. Irradiated +room { + nam = 'ending_irradiated'; + nofollow = true; + theme = 'tower'; + noinv = true; + disp = 'Конец игры'; + dsc = [[Перед моим взором раскинулась бескрайняя вселенная. Все дороги и все миры открыты передо мной. По своему желанию я могу оказаться в любом месте в любое время. Я мысленно отдаю команду отправляться в путь. ^Сперва меня удивляет, насколько легко и чутко башня реагирует на мое состояние, меняя размеры, расположение и даже количество комнат, но вскоре я привыкаю к тому, что за ближайшей дверью всегда находится именно то, что я ищу. Тысячелетие за тысячелетием я путешествую по мирам, собирая их знания, помогая нуждающимся и сохраняя самое ценное их наследие. Несмотря на все это, странное ощущение не дает мне покоя -- словно дни мои медленно истекают и путешествие мое не будет вечным. ]]; +} diff --git a/main3.lua b/main3.lua --- a/main3.lua +++ b/main3.lua @@ -123,6 +123,7 @@ include "computer_parts" include "solarscale" include "tower" include "forest" +include "ending" local menu = { system_settings = { @@ -502,6 +503,7 @@ end; room { nam = 'intro_settings'; + nofollow = true; notitle = true; nosave = true; noautosave = true; @@ -1720,7 +1722,12 @@ function start(load) --_('level_3_main_room'):enable(); --_('level_4_next_room'):enable(); --_'tower_level_3_room_2'.light = true; - --walk('tower_level_2_room_2'); + solarscale_with_me = true; + remove('solarscale', where('solarscale')); + put('solarscale_ally', here()); + lifeon(_'solarscale_ally'); + power_on = true; + walk('tower_level_1_room_2'); end; end; diff --git a/solarscale.lua b/solarscale.lua --- a/solarscale.lua +++ b/solarscale.lua @@ -7,6 +7,8 @@ obj { level_3_2_visited = false; level_2_2_visited = false; level_1_2_visited = false; + tea_asked = false; + tea_given = false; nam = 'solarscale_ally'; dsc = function(s) if here()^'above_forest' or here()^'above_near_village' or here()^'above_village' or here()^'above_crater' or here()^'above_west' then @@ -166,6 +168,15 @@ dlg { end; phr = { {cond=function(s) return here():from()^'tower_level_1' and not have('tower_box') and not _('tower_level_1').keys_taken and not have('tower_level_2_key') and _('level_1_up'):disabled() end, 'У вас есть идеи, как открыть эту дверь?', 'Соларскейл задумчиво произносит: "Пока не знаю. Надо все внимательно осмотреть". '}; + {cond=function(s) return here():from()^'tower_level_1_room_2' and not _'solarscale_ally'.tea_asked end, 'Вы любите чай?', function(s) + _'solarscale_ally'.tea_asked = true; + return 'Соларскейл игриво спрашивает: "А вы угощаете?"' + end}; + {cond=function(s) return here():from()^'tower_level_1_room_2' and _'solarscale_ally'.tea_asked and have('tea') end, '[Подать Соларскейл чашку] Ваш чай.', function(s) + _'solarscale_ally'.tea_given = true; + remove('tea', pl); + return 'Соларскейл залпом выпивает чай и с улыбкой смотрит на меня: "Благодарю!"' + end}; {cond=function(s) return here():from()^'tower_level_1' and have('tower_box') and not _('tower_level_1').keys_taken and _('level_1_up'):disabled() end, 'У вас есть идеи, что мы должны сделать?', 'Соларскейл подлетает ко мне: "Я могу взглянуть на шкатулку, что вы только что подняли?" ', only=true; {'[Протянуть шкатулку Соларскейл] Да, конечно. ', 'Соларскейл берет шкатулку и внимательно осматривает, прежде чем вернуть ее мне. Наконец, она изрекает: "Четыре замочные скважины... Наверное, и ключи должны быть где-то здесь". '}; diff --git a/tower.lua b/tower.lua --- a/tower.lua +++ b/tower.lua @@ -124,6 +124,109 @@ obj { inv = 'Набор отверток для электроники. Нигде на коробке нет никаких отметок о производителе. Отвертки при это очень качественно изготовлены и прекрасно сохранились. '; }; +--[[ +1. В шкафу взять чайник и чашку +2. В чайник налить воды из крана +3. Чайник поставить на плиту, чтобы он вскипел(эл-во должно быть включено) +4. Из шкафчика достать чай +5. Чай поместить в чашку +6. Налить воды в чашку + +- Чашку с водой/чаем и чайник нельзя бросить в котел +]] + +obj { + state = 0; -- 0 - empty, 1 - cold water, 2 - hot water + nam = 'kettle'; + disp = function(s) + if s.state == 0 then + return 'Чайник'; + elseif s.state == 1 then + return 'Чайник с водой'; + elseif s.state == 2 then + return 'Чайник с кипятком'; + end; + end; + disp2 = 'чайник'; + disp3 = 'чайник'; + inv = function(s) + if s.state == 0 then + return 'Самый обычный металлический чайник. Сейчас он пуст. '; + elseif s.state == 1 then + return 'Самый обычный металлический чайник. Сейчас он полон холодной воды. '; + elseif s.state == 2 then + return 'Самый обычный металлический чайник. Сейчас он наполнен кипятком. '; + end; + end; +} + +obj { + has_tea = false; + has_water = false; + nam = 'cup'; + disp = function(s) + if s.has_tea then + return 'Чашка с пакетиком' + elseif s.has_water then + return 'Чашка с водой'; + else + return 'Пустая чашка'; + end; + end; + disp2 = 'чашка'; + disp3 = 'чашку'; + inv = function(s) + if s.has_tea then + return 'Миниатюрная фарфоровая чашечка. Внутри лежит чайный пакетик. '; + elseif s.has_water then + return 'Миниатюрная фарфоровая чашечка, наполненная горячей водой. '; + else + return 'Миниатюрная фарфоровая чашечка. '; + end; + end; + used = function(s, o) + if o ^ 'kettle' then + if o.state == 2 then + if s.has_water then + return 'В чашке уже достаточно воды. '; + end; + s.has_water = true; + pr 'Я наливаю воду в чашку. '; + elseif o.state == 1 then + return 'В холодной воде чай не заварится. '; + else + return 'А что я хочу налить из пустого чайника? '; + end; + elseif o ^ 'teabag' then + s.has_tea = true; + remove('teabag', pl); + pr 'Я кладу пакетик в чашку. '; + else + return false + end; + if s.has_tea and s.has_water then + remove('cup', pl); + take('tea'); + return 'Чай готов! '; + end; + end; +} + +obj { + nam = 'teabag'; + disp = 'Чайный пакетик'; + disp2 = 'чайный пакетик'; + disp3 = 'чайный пакетик'; + inv = 'Обыкновенный чайный пакетик. '; +} + +obj { + nam = 'tea'; + disp = 'Чашка с чаем'; + disp2 = 'чашка с чаем'; + disp3 = 'Чашку с чаем'; + inv = 'Миниатюрная фарфоровая чашечка, наполненная ароматным напитком. '; +} room { keys_taken = false; @@ -2238,31 +2341,65 @@ room { nam = 'tower_level_1_room_2'; disp = 'Башня, кухня'; pic = 'images/tower_level_1_room_2.png'; - decor = [[По периметру этой просторной комнаты расположена узкая {#tabletop|столешница} из черного камня, под которой расположились всевозможные {#cabinets1|шкафчики}. Над столешницей находятся навесные {#cabinets2|шкафы}. В углу стоит старинный {#fridge|холодильник}. В углу напротив стоит электрическая {#stove|плита}. В помещении царит такой же тихий и уютный полумрак, что и в большинстве помещений башни. ]]; + decor = [[По периметру этой просторной комнаты расположена узкая {#tabletop|столешница} из черного камня, под которой расположились всевозможные {#cabinets1|шкафчики}. Над столешницей находятся навесные {#cabinets2|шкафы}. В углу стоит старинный {#fridge|холодильник}. В углу напротив стоит электрическая {#stove|плита}. Рядом с плитой находится {#kitchen_sink|раковина}. В помещении царит такой же тихий и уютный полумрак, что и в большинстве помещений башни. ]]; way = { path {'Наверх', 'tower_level_2_room_2'}; path {'level_1_main_room', 'В гостиную', 'tower_level_1'}:disable(); }; }: with { obj { - nam = '#tabletop'; - act = 'Столешница сделана из того же материала, что и стены. Прочность этого холодного и гладкого камня не вызывает сомнений.'; + nam = '#kitchen_sink'; + act = 'Полированная поверхность каменной раковины, врезанной в столешницу блестит в свете электрических ламп. '; + used = function(s, o) + if o ^ 'kettle' then + if o.state == 0 then + o.state = 1; + return 'Я наполняю чайник водой. '; + else + return 'Чайник уже полон. '; + end; + end; + end; }; obj { - nam = '#cabinets1'; - act = 'В шкафах только посуда и различные столовые приборы. '; + nam = '#tabletop'; + act = 'Столешница сделана из того же материала, что и стены. Прочность этого холодного и гладкого камня не вызывает сомнений. '; }; obj { - state = false; + state = 0; + nam = '#cabinets1'; + act = function(s) + if _'solarscale_ally'.tea_asked and s.state == 0 then + s.state = 1; + take('teabag'); + return 'В одном из шкафов обнаруживается коробочка чая. Я беру один пакетик. '; + end; + + return 'В шкафах только посуда и различные столовые приборы. '; + end; + }; + obj { + state = 0; nam = '#cabinets2'; act = function(s) - if s.state then - return 'В шкафах только посуда и различные столовые приборы. '; - else - s.state = true; - take('password_note'); - return 'В одном из шкафчиков я обнаруживаю кем-то оставленную записку. Я забираю ее себе. '; + if s.state < 3 then + if s.state == 0 then + s.state = 1; + take('password_note'); + return 'В одном из шкафчиков я обнаруживаю кем-то оставленную записку. Я забираю ее себе. '; + elseif _'solarscale_ally'.tea_asked then + if s.state == 1 then + s.state = 2; + take('kettle'); + return 'В одном из шкафчиков я нахожу чайник. '; + elseif s.state == 2 then + s.state = 3; + take('cup'); + return 'В одном из шкафчиков я нахожу небольшую фарфоровую чашечку. '; + end; + end; end; + return 'В шкафах только посуда и различные столовые приборы. '; end; }; obj { @@ -2272,6 +2409,22 @@ room { obj { nam = '#stove'; act = 'Электрическая плита на четыре конфорки с электрической же духовкой. Со своими электронными элементами управления она выглядит слишком современной для этого места. '; + used = function(s, o) + if o ^ 'kettle' then + if power_on then + if o.state == 0 then + pr [[Бессмысленно кипятить пустой чайник. ]]; + elseif o.state == 2 then + pr [[Вода в чайнике уже горячая. ]]; + else + o.state = 2; + pr [[Я ставлю чайник на плиту и через несколько минут вода в нем закипает. ]]; + end; + else + pr [[Без электричества ничего не получится. ]]; + end; + end; + end; }; obj { nam = 'silver_fork'; @@ -2924,137 +3077,3 @@ room { end; } -room { - state = 0; - nam = 'ending_left'; - nofollow = true; - theme = 'tower'; - disp = 'Конец игры'; - noinv = true; - onenter = function(s) - s.state = s.state + 1; - if s.state == 1 then - pr 'Я делаю шаг в сторону двери, но что-то останавливает меня. Что, если второго шанса не будет?'; - return false; - elseif s.state == 2 then - pr 'Я продолжаю двигаться к выходу, В моей голове возникает изображение двери башни, захлопывающейся за мной. '; - return false; - elseif s.state == 3 then - pr 'Я продолжаю двигаться к выходу из башни, воздух словно сгущается передо мной, не желая выпускать. Темнота вокруг меня становится гуще, как будто башня начинает отторгать меня. '; - return false; - end; - end; - dsc = function(s) - pr [[Я выхожу из башни, и массивная каменная плита опускается за мной, навеки закрывая путь внутрь. ]] - if solarscale_with_me then - pr [[Соларскейл задумчиво смотрит на меня и на башню. Некоторое время мы тщательно изучаем ее со всех сторон, но в конце концов, отчаявшись, отправляемся каждый своей дорогой. ]]; - end; - pr [[^Столетие за столетием я возвращался к этому месту, но гладкий черный камень все также оставался неприступен для меня. ]]; - if solarscale_with_me then - pr [[Не удалось мне найти и Соларскейл -- сколько ни пытался, я не смог обнаружить никаких следов прекрасной драконессы. ]]; - end; - end; -} - -room { - nam = 'ending_formatted'; - disp = 'Конец игры'; - theme = 'tower'; - nofollow = true; - noinv = true; - dsc = function(s) - if solarscale_with_me then - pr [[Я отошел от компьютера и в этот момент ощутил неуловимое изменение, произошедшее в башне. Мир вокруг нас с Соларскейл начал расплываться и вскоре мы оказались в лесу. Повсюду валялись обломки черного камня, только что составлявшего башню, хотя узнать ее в них было бы непросто. Переглянувшись с драконессой, мы попрощались и отправились каждый своей дорогой. Столетие за столетием я возвращался к этому месту, но не находил ничего, кроме забытых всеми осколков черного камня. Неизвестной для меня осталась и судьба Соларскейл -- сколько ни пытался, я не смог найти никаких следов прекрасной драконессы. ]]; - else - pr [[Я отошел от компьютера и в этот момент ощутил неуловимое изменение, произошедшее в башне. Мир вокруг меня начал расплываться и вскоре мы оказались в лесу. Повсюду валялись обломки черного камня, только что составлявшего башню, хотя узнать ее в них было бы непросто. Вздохнув, я расправил крылья и отправился домой. Столетие за столетием я возвращался к этому месту, но не находил ничего, кроме забытых всеми осколков черного камня. ]]; - end; - end; -} - -room { - nam = 'ending_no_solarscale'; - nofollow = true; - theme = 'tower'; - noinv = true; - disp = 'Конец игры'; - dsc = 'На одной из вершин на краю кратере сидела золотая драконесса. Ее чешуя сверкала в лучах заходящего Солнца, а изумрудно-зеленые глаза смотрели в центр кратера на медленно растворяющуюся в воздухе черную башню. Как только башня полностью исчезла, драконесса расправила тонкие сияющие крылья и поднялась в небеса. '; - way = { - path {'Продолжить', function(s) - if irradiated then - return 'ending_irradiated'; - else - return 'ending_true'; - end; - end}; - }; -} - -room { - nam = 'ending_solarscale_pre'; - nofollow = true; - theme = 'tower'; - disp = 'Башня, серверная'; - noinv = true; - dsc = [[В сознании моем звучит мягкий, спокойный и, кажется, давно знакомый голос: "Добро пожаловать домой". Стены начинают растворяться, открывая вид на бескрайние просторы вселенной и в этот момент я чувствую легкое прикосновение, возвращающее меня к реальности. ]]; - way = { - path {'Продолжить', 'ending_solarscale_dlg'}; - }; -} - -dlg { - nam = 'ending_solarscale_dlg'; - nofollow = true; - theme = 'tower'; - noinv = true; - disp = 'Соларскейл'; - enter = [[Соларскейл произносит слова прощания: "Мне пора уходить. Счастливого путешествия! Надеюсь, мы еще увидимся". ]]; - phr = { - {"[Схватить Соларскейл за руку]", function(s) - walk('ending_solarscale'); - return [[Я слышу в голове голос: "Оставь ее. У нее свой путь". От удивления я разжимаю руку. Этого оказывается достаточно. ]]; - end}; - {"Вы не хотите остаться?", 'Соларскейл печально опускает голову: "Меня ждут дома. Мне нужно лететь". '}; - {"Что же, не буду вас задерживать. До новых встреч. ", function(s) - walk('ending_solarscale') - return false; - end}; - }; -} - -room { - nam = 'ending_solarscale'; - nofollow = true; - theme = 'tower'; - noinv = true; - disp = 'Конец игры'; - dsc = [[Я не успеваю моргнуть и глазом, как Соларскейл покидает башню. Кажется, я вижу собственными глазами, как драконесса вылетает через проем на первом этаже. Тяжелая каменная плита опускается за ней. Я вижу, как она оборачивается, глядя на башню. Ее чешуя сияет в лучах заходящего Солнца, а изумрудно-зеленые глаза смотрят на меня. Я ощущаю то, что она должна сейчас видеть: медленно растворяющуюся в воздухе черную башню. Как только башня полностью исчезает, драконесса продолжает свой путь. ]]; - way = { - path {'Продолжить', function(s) - if irradiated then - return 'ending_irradiated'; - else - return 'ending_true'; - end; - end}; - }; -} - -room { - nam = 'ending_irradiated'; - nofollow = true; - theme = 'tower'; - noinv = true; - disp = 'Конец игры'; - dsc = [[Перед моим взором раскинулась бескрайняя вселенная. Все дороги и все миры открыты передо мной. По своему желанию я могу оказаться в любом месте в любое время. Я мысленно отдаю команду отправляться в путь. ^Сперва меня удивляет, насколько легко и чутко башня реагирует на мое состояние, меняя размеры, расположение и даже количество комнат, но вскоре я привыкаю к тому, что за ближайшей дверью всегда находится именно то, что я ищу. Тысячелетие за тысячелетием я путешествую по мирам, собирая их знания, помогая нуждающимся и сохраняя самое ценное их наследие. Несмотря на все это, странное ощущение не дает мне покоя -- словно дни мои медленно истекают и путешествие мое не будет вечным. ]]; -} - -room { - nam = 'ending_true'; - nofollow = true; - disp = 'Конец игры'; - noinv = true; - theme = 'tower'; - dsc = [[ - Перед моим взором раскинулась бескрайняя вселенная. Все дороги и все миры открыты передо мной. По своему желанию я могу оказаться в любом месте в любое время. Я поднимаюсь на вершину башни и мысленно отдаю команду отправляться в путь. ^Сперва меня удивляет, насколько легко и чутко башня реагирует на мое состояние, меняя размеры, расположение и даже количество комнат, но вскоре я привыкаю к тому, что за ближайшей дверью всегда находится именно то, что я ищу. Тысячелетие за тысячелетием я путешествую по мирам, собирая их знания, помогая нуждающимся и сохраняя самое ценное их наследие. Вскоре время и пространство перестают иметь для меня всякое значение. - ]]; -}