panic_first_warning_dlg = dlg { nam = "Телефон"; disp = "Телефон"; entered = [[Вы снимаете трубку. Собседник на том конце провода молчит, видимо ожидая, что вы что-то скажете, ]]; phr = { {"Дрейк слушает.", [[Из трубки доносится голос Винсента Даркстара: "Дрейк! Какого черта вы делаете? Я же просил вас не распространяться про события в Игнисе. Если вы будете продолжать нарушать мои указания, мне придется принять меры. Конец связи. "]], code [[ back();]]}; {"Алло.", [[Из трубки доносится голос Винсента Даркстара: "Дрейк! Какого черта вы делаете? Я же просил вас не распространяться про события в Игнисе. Если вы будете продолжать нарушать мои указания, мне придется принять меры. И в следующий раз, отвечайте по протоколу. Конец связи. "]], code [[back();]]}; {"[Положить трубку]", code [[ atl_lfc_panic_warning = 1; back(); ]]}; }; }; atl_lfc_darkstar_dlg = dlg { var { total_limit = 3; limit = 3; q2_states = 0; }; nam = "Винсент Даркстар"; disp = "Винсент Даркстар"; enter = function(s) psub("q1"); s.limit = 3; q2_states = 0; if (atl_lfc_electric == 1) then pon('electric'); end; if (atl_lfc_board == 1) then pon('board'); end; if (atl_lfc_hallrooms == 1) then pon('halldoors'); end; if (atl_jack_in_party) then pon("random_lie", "wright_said"); poff("random_true"); else poff("random_lie", "wright_said"); pon("random_true"); end; return [[Винсент Даркстар сидит за столом в своем кабинете. Он приглашает вас сесть напротив, а охранников просит покинуть помещение. ^Как только они выходят, Даркстар достает из под стола папку с какими-то бумагами и начинает спрашивать вас: "Где вы были, когда начался пожар?" ]]; end; phr = { {tag="q1"}; {"Вы меня подозреваете?", [[Даркстар приказывает: "Отвечайте на поставленный вопрос. Это не имеет значения". ]]}; {always=true, "Мы с Леарр разговаривали в зале А.", [[Даркстар кивает: "Хорошо. Дальше. Заметили ли вы что-то необычное в секции?" ]], code [[ psub("q2"); ]]}; {always=true, "Я не хочу отвечать.", [[Даркстар разводит руками: "Нет проблем. Следующий вопрос. Заметили ли вы что-то необычное в секции?" ]], code [[ atl_lfc_darkstar_dlg.limit = atl_lfc_darkstar_dlg.limit - 1; psub("q2"); ]]}; {tag="q2"}; {always=true,"Больше ничего.", function(s) if (atl_lfc_darkstar_dlg.q2_states < 2) then atl_lfc_darkstar_dlg.limit = atl_lfc_darkstar_dlg.limit - 1; end; pr [[Даркстар кивает: "Хорошо, идем дальше. ]]; if (atl_jack_in_party) then psub("q3_1"); return [[Что делал в это время ваш друг, Джек?" ]]; else psub("q3_2"); return [[Кроме вас кто-нибудь еще был в секции?" ]]; end; end}; {tag="halldoors", false, "Двери в другие залы не работали.", [[Даркстар вздыхает: "Техники..." ]], code [[ atl_lfc_darkstar_dlg.q2_states = atl_lfc_darkstar_dlg.q2_states + 1; ]]}; {tag="board", false, "Один из электрощитов не был закрыт.", [[Даркстар вздыхает: "Обычное дело на Атлантиде. Наши техники порой позволяют себе невероятную неаккуратность". ]], code [[ atl_lfc_darkstar_dlg.q2_states = atl_lfc_darkstar_dlg.q2_states + 1; ]]}; {tag="electric", false, "В зале А не работали электроприборы.", [[Даркстар недовольно качает головой: "Это уже совсем ни в какие ворота не лезет". ]], code [[ atl_lfc_darkstar_dlg.q2_states = atl_lfc_darkstar_dlg.q2_states + 1; ]]}; {tag="q3_1"};--Что делал в это время ваш друг, Джек? {always=true,"Он вышел в главный зал, чтобы не мешать нам.", function(s) if (atl_lfc_darkstar_dlg.limit < 2) then psub("i1"); return [[Даркстар спрашивает: "Вы в Игнис с какой целью пришли?" ]]; else walk("atl_lfc_darkstar_interlude"); return [[Даркстар кивает: "Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]]; end; end}; {always=true,"Он был с нами.", function(s) if (atl_lfc_darkstar_dlg.limit < 2) then psub("i1"); return [[Даркстар спрашивает: "Вы в Игнис с какой целью пришли?" ]]; else walk("atl_lfc_darkstar_interlude"); return [[Даркстар кивает: "Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]]; end; end}; {always=true,"Не помню.", function(s) atl_lfc_darkstar_dlg.limit = atl_lfc_darkstar_dlg.limit - 1; if (atl_lfc_darkstar_dlg.limit < 2) then psub("i1"); return [[Даркстар спрашивает: "Вы в Игнис с какой целью пришли?" ]]; else walk("atl_lfc_darkstar_interlude"); return [[Даркстар кивает: "Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]]; end; end}; {tag="q3_2"};--Кроме вас с Леарр кто-нибудь еще был в секции? {always=true,"Я никого не видел.", function(s) if (atl_lfc_darkstar_dlg.limit < 2) then psub("i1"); return [[Даркстар спрашивает: "Вы в Игнис с какой целью пришли?" ]]; else walk("atl_lfc_darkstar_interlude"); return [[Даркстар кивает: "Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]]; end; end}; {always=true,"Не помню.", function(s) atl_lfc_darkstar_dlg.limit = atl_lfc_darkstar_dlg.limit - 1; if (atl_lfc_darkstar_dlg.limit < 2) then psub("i1"); return [[Даркстар спрашивает: "Вы в Игнис с какой целью пришли?" ]]; else walk("atl_lfc_darkstar_interlude"); return [[Даркстар кивает: "Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]]; end; end}; {tag="i1"}; {always=true,"Поговорить с Леарр.", function(s) if (atl_iof_learr_dead) then if (atl_lfc_darkstar_dlg.total_limit > 1) then psub("i2_1"); return [[Даркстар смотрит вам прямо в глаза и спрашивает: "Почему вы оставили Леарр там?" ]]; else psub("i3"); return [[Даркстар спрашивает: "Откуда вы узнали про скафандры?" ]]; end; else psub("i2_2"); return [[Даркстар спрашивает: "Почему вы спасли Леарр?" ]]; end; end;}; {always=true,"Посмотреть Игнис.", [[Даркстар спрашивает: "Вы знали, что Леарр там?" ]], code [[ psub("i2_3"); ]]}; {always=true,"Это имеет значение?", [[Даркстар угрожающе поднимается, опирается на стол и недовольно говорит: "Все имеет значение. Раз вы не хотите сотрудничать, придется вас изолировать до окончания расследования". ]], code = [[ atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1; walk('atl_lfc_non_coop'); ]]}; {tag="i2_1"}; {always=true,"У меня не было выбора", [[Даркстар угрожающе поднимается, опирается на стол и недовольно говорит: "Вам стоит еще подумать". ]], code = [[ atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1; walk('atl_lfc_non_coop'); ]]}; {always=true,"Я рассчитывал вернуться за ней позже.", [["Вы идиот", -- Даркстар встает из-за стола и начинает ходить по комнате. Вы явно вывели его из себя. Через некоторое время он успокаивается и садится на место. ]], code = [[ atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1; walk('atl_lfc_non_coop'); ]]}; {always=true,"С чего я должен был думать об этом чудище?", [[_"Выкинуть бы вас за борт. Без скафандра. Жаль, что мы не ,,чудища'', как вы выражаетесь"_, -- Даркстар встает из-за стола и начинает ходить по комнате. Вы явно вывели его из себя. Через некоторое время он успокаивается и садится на место. ]], code = [[ atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 3; walk('atl_lfc_non_coop'); ]]}; {tag="i2_2"}; {always=true,"Я не мог оставить ее умирать.", [[Даркстар спрашивает: "Откуда вы узнали про скафандры?"]], code [[ psub("i3"); ]]}; {tag="i2_3"}; {always=true,"Светлова говорила, что она может быть в Игнисе.", [[Даркстар спрашивает: "Откуда вы узнали про скафандры?"]], code [[ psub("i3"); ]]}; {always=true,"Нет.", [[Даркстар спрашивает: "Откуда вы узнали про скафандры?"]], code [[ psub("i3"); ]]}; {always=true,"Это имеет значение?", [[Даркстар угрожающе поднимается, опирается на стол и недовольно говорит: "Все имеет значение. Раз вы не хотите сотрудничать, придется вас изолировать до окончания расследования". ]], code [[ psub("i3"); ]]}; {tag = "i3"}; {always=true,tag="wright_said", "Джек Райт сказал.", [[Даркстар кивает: "Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]], code = [[ walk("atl_lfc_darkstar_interlude"); ]]}; {always=true,"Леарр сказала.", [["Она не могла этого знать", -- Даркстар угрожающе поднимается, опирается на стол и недовольно говорит: "А я терпеть не могу, когда мне врут". ]], code = [[ atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1; walk('atl_lfc_non_coop'); ]]}; {always=true,tag="random_lie", "Я случайно наткнулся.", [[Даркстар угрожающе поднимается, опирается на стол и недовольно говорит: "Я думаю вам стоит еще подумать". ]], code = [[ atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1; walk('atl_lfc_non_coop'); ]]}; {always=true,tag="random_true", "Я случайно наткнулся.", [["Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]], code = [[ walk("atl_lfc_darkstar_interlude"); ]]}; }; }; atl_lfc_darkstar_interlude = room { nam = "Винсент Даркстар"; dsc = [[Винсент раскрывает папку лежающую на столе и раскладывает перед собой несколько бумаг: _"У нас есть основания полагать, что события в Игнисе -- следствие саботажа. Мы считаем, что саботажник не рассчитывал, что в секции в момент пожара будет кто-либо -- обычно в это время в Игнисе никого нет. Должен сказать, на станции уже давно некоторые выступают за сворачивание проекта и возвращение на поверхность. Вы прекрасно понимаете, что мы не можем просто так отправить их на поверхность -- их слишком много, и если они начнут болтать -- существование станции будет раскрыто. А нам этого не хотелось бы"_. Внезапно раздается звонок. Даркстар поднимает трубку телефона и отрывисто бросает туда: "Сейчас буду". Он встает и направляется к выходу, при этом просит вас: "Ждите здесь, я ненадолго". ]]; obj = { vway("Продолжить", "{Продолжить}", "atl_lfc_darkstar_office"); }; }; atl_lfc_darkstar_office = room { var { timer = 4; }; nam = "Атлантида, Доминус, кабинет начальника СБ"; dsc = [[Кабинет начальника службы безопасности почти пуст -- здесь нет ничего кроме массивного металлического стола(судя по всему, бронированного) в центре и кресла перед ним. ]]; entered = function(s) lifeon(s); end; left = function(s) lifeoff(s); end; life = function(s) s.timer = s.timer - 1; if s.timer <= 0 then walk("atl_lfc_darkstar_interlude_2") end; end; way = { kh_vroom("В коридор", function() pr("Дверь заперта"); return false; end); }; obj = { 'atl_darkstar_papers' }; }; atl_darkstar_papers = obj { nam = "atl_darkstar_papers"; dsc = [[ На столе лежит оставленная Винсентом {папка с бумагами}. ]]; act = function(s) walk("atl_lfc_darkstar_interlude_2") return [[Вы просматриваете бумаги. Это список подозреваемых в саботаже. Здесь присутствует большая часть обитателей Атлантиды. На отдельном листе записаны несколько моментов: во-первых, Даркстар не подозревает никого из руководства, поскольку каждый из них напрямую заинтересован в развитии станции. Во-вторых, к вашему удивлению, он не подозревает вас, поскольку саботажник, судя по всему, был хорошо знаком с устройством системы электроснабжения Игниса. Основными подозреваемыми он считает Мишеля Леруа, Леонарда Голдмана и Чарльза Джонса. Все они сторонники закрытия проекта и обладают достаточными знаниями, чтобы устроить подобный саботаж. ^Вы слышите звук открывающегося замка и поспешно возвращаете папку в ее изначальное положение. ]]; end; }; atl_lfc_darkstar_interlude_2 = room { nam = "Винсент Даркстар"; dsc = [[В комнату входит Винсент Даркстар и садится на свое место. Вам он говорит: "С учетом цели саботажника, я предполагаю, что следующая атака будет направлена на вывод из строя субмарин. В любом случае, я прошу вас никому не говорить о том, что я вам тут рассказал. В случае необходимости я вас вызову. Вы свободны". ]]; obj = { vway("Продолжить", "{Продолжить}", "atl_dom_security_office"); }; }; atl_lfc_non_coop = room { nam = "Винсент Даркстар"; dsc = [[После этого он снимает телефонную трубку и отдает туда приказ: "Заберите его". ^В комнату входят два стражника и сопровождают вас в вашу комнату. ]]; obj = { kh_vway("Продолжить", "{Продолжить}", function() if (atl_lfc_darkstar_dlg.total_limit < 1) then return "atl_lfc_game_over"; else return "atl_lfc_waiting"; end; end); }; }; atl_lfc_game_over = room { nam = "Игра окончена"; disp = "Игра окончена"; dsc = [[Охранники уходят и запирают за собой дверь. Вы остаетесь один, запертый в собственной каюте. Через некоторое время вы слышите голос Даркстара по радио: "Вы останетесь под стражей до тех пор, пока мы не найдем саботажника. После этого, мы решим, что делать с вами". ^Вам ничего не остается, кроме как ждать. Через несколько дней стражники сопровождают вас на Левиафан. Там вас запирают в одной из кают. Несколько недель Левиафан полным ходом движется в неизвестном направлении. Наконец, вас выпускают из каюты. Один из охранников сообщает вам: "В нескольких милях к северу вдоль побережья находится небольшой городок. Оттуда вы сможете добраться куда вам будет угодно. Мы дадим вам немного еды и достаточно денег, чтобы вы могли добраться домой". ^Вы забираете переданные вам вещи и через несколько мгновений Левиафан скрывается под поверхностью воды. Никаких средств для возвращения на Атлантиду у вас не остается и, скорее всего, вы никогда не узнаете что стало с вашим отцом. ]]; }; atl_lfc_waiting = room { nam = "Атлантида, Луна, ваша комната"; dsc = [[Охранники уходят и запирают за собой дверь. Вы остаетесь один, запертый в собственной каюте. Через некоторое время вы слышите голос Даркстара по радио: "Отдохните. Завтра мы попробуем поговорить еще раз". ]]; obj = { vway("Продолжить", "{Продолжить}", "atl_lfc_waiting"); }; }; atl_lfc_dock_s = room { nam = "Атлантида, Аква, док Наутилуса, южная часть, у входа"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. У западной стены вы видите пульт управления краном. У северной стены составлены какие-то ящики. ]]; way = { kh_vroom("В коридор A", "atl_aqua_corridor_a"); kh_vroom("К западной стене", "atl_lfc_dock_w"); kh_vroom("К восточной стене", "atl_lfc_dock_e"); kh_vroom("На мостик", "atl_lfc_bridge_s"); }; obj = { "atl_nd_crane"; "atl_nd_barrel"; }; }; atl_nd_crane = obj { var { px = 2; py = 2; }; nam = "Кран"; dsc = function(s) local r = [[Под потолком расположен {кран}, прикрепленный к балкам, служащим направляющими для его движения. ]]; if px == 1 and py == 1 then r = r .. "Сейчас кран висит в северо-западной части комнаты. "; elseif px == 1 and py == 2 then r = r .. "Сейчас кран висит в северной части комнаты. "; elseif px == 1 and py == 3 then r = r .. "Сейчас кран висит в северо-восточной части комнаты. "; elseif px == 1 and py == 2 then r = r .. "Сейчас кран висит над мостиком в западной части комнаты. "; elseif px == 2 and py == 2 then r = r .. "Сейчас кран висит в центре комнаты над Наутилусом. "; elseif px == 3 and py == 2 then r = r .. "Сейчас кран висит над мостиком в восточной части комнаты. "; elseif px == 1 and py == 3 then r = r .. "Сейчас кран висит в юго-западной части комнаты. "; elseif px == 2 and py == 3 then r = r .. "Сейчас кран висит над мостиком в южной части комнаты. "; elseif px == 3 and py == 3 then r = r .. "Сейчас кран висит в юго-восточной части комнаты. "; end; return r; end; act = [[Скорее всего, вы можете управлять краном с пульта управления в этой комнате. ]]; }; atl_lfc_crane_control_obj = obj { nam = "atl_lfc_crane_control_obj"; dsc = "Рядом с вами расположен пульт управления краном. "; act = function(s) walkin("atl_lfc_crane_control_obj"); end; }; atl_lfc_crane_control = room { nam = "atl_lfc_crane_control"; hideinv = true; way = { kh_vroom("Отойти от пульта", "atl_lfc_dock_w"); }; dsc = [[Вы стоите у панели управления краном. Перед вами три рычага: два из них, отмеченные как в<->з и c<->ю установлены в среднее положение, третий, отмеченный как "верх-низ", установлен в верхнее положение. ]]; obj = { "atl_nd_crane"; "atl_lfc_crane_ew_dec"; "atl_lfc_crane_ew_inc"; "atl_lfc_crane_ns_dec"; "atl_lfc_crane_ns_inc"; "atl_lfc_crane_ud_tgl"; }; }; atl_lfc_crane_ew_dec = obj { nam = "atl_lfc_crane_ew_dec"; dsc = "^^{Сдвинуть рычаг \"в<->з\" влево}^"; act = function(s) if atl_nd_crane.px == 1 then return [[Рычаг заклинило. ]]; end; atl_nd_crane.px = atl_nd_crane.px - 1; return "Кран сдвигается на запад. "; end; }; atl_lfc_crane_ew_inc = obj { nam = "atl_lfc_crane_ew_inc"; dsc = "{Сдвинуть рычаг \"в<->з\" вправо}^"; act = function(s) if atl_nd_crane.px == 3 then return [[Рычаг заклинило. ]]; end; atl_nd_crane.px = atl_nd_crane.px + 1; return "Кран сдвигается на восток. "; end; }; atl_lfc_crane_ns_dec = obj { nam = "atl_lfc_crane_ns_dec"; dsc = "^^{Сдвинуть рычаг \"с<->ю\" влево}^"; act = function(s) if atl_nd_crane.px == 1 then return [[Рычаг заклинило. ]]; end; atl_nd_crane.py = atl_nd_crane.py - 1; return "Кран сдвигается на север. "; end; }; atl_lfc_crane_ns_inc = obj { nam = "atl_lfc_crane_ns_inc"; dsc = "{Сдвинуть рычаг \"с<->ю\" вправо}^"; act = function(s) if atl_nd_crane.px == 3 then return [[Рычаг заклинило. ]]; end; atl_nd_crane.py = atl_nd_crane.py + 1; return "Кран сдвигается на юг. "; end; }; atl_lfc_crane_ud_tgl = obj { nam = "atl_lfc_crane_ud_tgl"; dsc = "{Повернуть рычаг \"Верх-низ\"}"; act = "Вам это сейчас не нужно. "; }; atl_nd_barrel = obj { nam = "Бочка"; dsc = [[На крюке крана висит {бочка}, судя по всему -- пустая. ]]; canshoot = function(s) return where(atl_lfc_sab) == atl_lfc_bridge_w and atl_nd_crane.px == 1 and atl_nd_crane.py == 2; end; onshoot = function(s) remove(atl_nd_barrel); remove(char_leroy, where('char_leroy')); remove(char_goldman, where('char_goldman')); walkin(atl_lfc_dock_end_barreled); end; }; atl_lfc_dock_w = room { nam = "Атлантида, Аква, док Наутилуса, западная часть"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь у западной стороны. На небольшом расстоянии от вас вы видите пульт управления краном. У северной стены дока составлено несколько ящиков. ]]; way = { kh_vroom("К северной стене", "atl_lfc_dock_n"); kh_vroom("К южной стене", "atl_lfc_dock_s"); kh_vroom("На мостик", "atl_lfc_bridge_w"); kh_vroom("К пульту управления", "atl_lfc_control"); }; obj = { "atl_nd_crane"; }; }; atl_lfc_dock_n = room { nam = "Атлантида, Аква, док Наутилуса, северная часть"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь в северной части помещения. У западной стены вы видите пульт управления краном. ]]; way = { kh_vroom("К восточной стене", "atl_lfc_dock_e"); kh_vroom("К западной стене", "atl_lfc_dock_w"); }; obj = { "atl_nd_crane"; "atl_lfc_boxes"; }; }; atl_lfc_behind_boxes = obj { nam = "Ящики"; nosave = true; noautosave = true; dsc = [[Док хорошо просматривается из вашего укрытия. ]]; way = { kh_vroom("Выйти из укрытия", function(s) if (where(s) == atl_lfc_dock_s) or (where(s) == atl_lfc_dock_w) then walk('game_over_lfc_shot'); end; end); }; }; atl_lfc_boxes = obj { var { state = 0; }; nam = "Ящики"; dsc = function(s) if (s.state == 0) then return [[У стены составлено несколько {ящиков}. ]]; elseif (s.state == 1) then return [[У стены составлено несколько {ящиков}, за которыми вы сможете спрятаться, поджидая саботажника. ]]; elseif (s.state == 2) then return [[У стены составлено несколько {ящиков}. ]]; end; end; act = function(s) if (s.state == 0) then s.state = 1; return [[За этими ящиками можно спрятаться! ]]; elseif (s.state == 1) then s.state = 2; walk("atl_lfc_behind_boxes"); lifeon("atl_lfc_sab"); return [[Вы прячетесь за ящиками. Через некоторое время дверь дока открывается и кто-то входит. В полумраке издалека вы не можете разглядеть кто это, но скорее всего, это саботажник. ]]; else return [[Вам это больше не нужно. ]]; end; end; }; atl_lfc_bridge_s = obj { nam = "Атлантида, Аква, док Наутилуса, мостик"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь на одном из этих мостиков, в южной части дока. ]]; way = { kh_vroom("Ко входу", "atl_lfc_dock_s"); kh_vroom("На соседний мостик", "atl_lfc_bridge_e"); }; obj = { "atl_nd_crane"; }; }; atl_lfc_bridge_e = obj { nam = "Атлантида, Аква, док Наутилуса, мостик"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь на одном из этих мостиков, в восточной части дока. ]]; way = { kh_vroom("К стене", "atl_lfc_dock_w"); kh_vroom("На соседний мостик", "atl_lfc_bridge_s"); }; obj = { "atl_nd_crane"; }; }; atl_lfc_bridge_w = obj { nam = "Атлантида, Аква, док Наутилуса, мостик"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь на одном из этих мостиков, в западной части дока. ]]; way = { kh_vroom("К стене", "atl_lfc_dock_e"); kh_vroom("К субмарине", function(s) pr [[Вам там нечего делать. ]]; return false; end); }; obj = { "atl_nd_crane"; }; }; atl_lfc_sab = obj { var { tick = 3; }; nam = "Мишель Леруа"; canshoot = true; dsc = [[В нескольких метрах от вас стоит {Мишель Леруа}. Он обращен к вам спиной и не видит вас. ]]; act = function(s) walkin("atl_lfc_sab_dlg"); end; life = function(s) if (where(atl_lfc_sab_vis) ~= where(pl)) then move(atl_lfc_sab_vis, where(pl)); end; if (s.tick > 0) then s.tick = s.tick - 1; else s.tick = 3; pr("Вы видите, как Мишель медленно крадется по доку."); if (where(s) == atl_lfc_dock_s) then move(s, atl_lfc_dock_w); elseif (where(s) == atl_lfc_dock_w) then move(s, atl_lfc_bridge_w); elseif (where(s) == atl_lfc_bridge_w) then pr("Леруа подходит к субмарине и забирается на нее, открывает люк и исчезает внутри. "); remove(s, where(s)); end; end; end; }; atl_lfc_sab_vis = obj { var { shot = 0; }; nam = "Мишель Леруа"; canshoot = true; onshoot = function(s) if (s.shot == 0) then s.shot = 1; return [[Вы стреляете в силуэт, но промахиваетесь. Через мгновение, где-то рядом пролетает пуля. ]]; else remove(char_leroy, where('char_leroy')); walk("atl_lfc_dock_end_shot"); return [[Вы повторно стреляете в саботажника и, судя по всему, попадаете. Леруа хватается за грудь и медленно оседает на пол. ]]; end; end; dsc = function(s) if (where(pl) == atl_lfc_behind_boxes and where(atl_lfc_sab) == atl_lfc_bridge_w) then return [[Вы видите {Мишеля Леруа}, идущего по мостику, ведущему к Наутилусу. ]]; elseif (where(pl) == atl_lfc_behind_boxes and where(atl_lfc_sab) == atl_lfc_dock_w) then return [[Вы видите {Мишеля Леруа}, идущего вдоль западной стены дока. ]]; elseif (where(atl_lfc_sab) == atl_lfc_bridge_w) then return [[Вы видите {Мишеля Леруа}, идущего по мостику в западной части дока. Он не видит вас. ]]; end; end; }; atl_lfc_sab_dlg = dlg { nam = "Мишель Леруа"; dsc = [[Мишель Леруа стоит спиной к вам и не видит вашего приближения. Вы можете воспользоваться этим. ]]; phr = { {"Застрелить его", [[Вы стреляете саботажнику в спину и, не успев понять, что произошло, он падает в воду, пронзенный пулей. ]], code [[ remove(char_leroy, where('char_leroy')); walk("atl_lfc_dock_end_shot"); ]]}; {"Попытаться оглушить его", [[Вы оглушаете саботажника. ]], code [[ walk("atl_lfc_dock_end_ko"); ]]}; }; }; atl_lfc_dock_end_shot = room { nam = "Атлантида, Аква, док Наутилуса"; obj = { vway("Продолжить", "{Продолжить}", "atl_luna_drake_room"); }; entered = function(s) leroy_state = 4; remove(char_leroy, where('char_leroy')); if (atl_lfc_goldman_exposed) then atl_lfc_state = 3; remove(char_goldman, where('char_goldman')); return [[Через несколько минут в помещение входит охрана станции во главе с Винсентом Даркстаром. Винсент отдает приказ охранникам унести тело, а сам обращается к вам: "Хорошая работа. Вскоре мы сообщим о том, когда вы сможете забрать Левиафан". ^Вы возвращаетесь в свою комнату, чтобы отдохнуть после тяжелой ночи.^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]]; else atl_lfc_state = 5; return [[Через несколько минут в помещение входит охрана станции во главе с Винсентом Даркстаром. Винсент отдает приказ охранникам унести тело, а сам обращается к вам: "Хорошая работа. Вскоре мы сообщим о том, когда вы сможете забрать Левиафан". ^Вы возвращаетесь в свою комнату, чтобы отдохнуть после тяжелой ночи.^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Моро: "Дрейк, жду вас в моем кабинете". ]]; end; end; }; atl_lfc_dock_end_barreled = room { nam = "Атлантида, Аква, док Наутилуса"; dsc = [[Вы попадаете в один из тросов, на который крепилась бочка и она с грохотом катится вниз, сбивая с ног саботажника. Тот падает в воду. Он не успевает придти в себя, как в помещение входит охрана станции, привлеченная шумом, во главе с Винсентом Даркстаром. Винсент отдает приказ охранникам увести Мишеля, а сам обращается к вам: "Хорошая работа. Нам надо будет немного поработать с ним". ^Вы возвращаетесь в свою комнату и сразу же засыпаете. ^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]]; obj = { vway("Продолжить", "{Продолжить}", "atl_luna_drake_room"); }; entered = function(s) atl_lfc_state = 3; atl_lfc_leroy_goldman = true; atl_lfc_goldman_exposed = true; remove(char_leroy, where('char_leroy')); remove(char_goldman, where('char_goldman')); end; }; atl_lfc_dock_end_ko = room { nam = "Атлантида, Аква, док Наутилуса"; dsc = [[Вы оглушаете саботажника и ждете, когда в помещение придут охранники. ^Они приходят через несколько минут вместе с Винсентом Даркстаром. Охранники уносят неподвижного Леруа, а Даркстар обращается к вам: "Хорошая работа. Нам надо будет немного поработать с ним". ^Вы возвращаетесь в свою комнату и сразу же засыпаете. ^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]]; obj = { vway("Продолжить", "{Продолжить}", "atl_luna_drake_room"); }; entered = function(s) atl_lfc_state = 3; atl_lfc_goldman_exposed = true; atl_lfc_leroy_goldman = true; remove(char_leroy, where('char_leroy')); remove(char_goldman, where('char_goldman')); end; }; atl_lfc_outro_expose = cutscene("Атлантида", "Атлантида", [[Даркстар поднимает трубку телефона и отдает приказ: "Приведите ко мне Леруа и Голдмана". Вас он просит отойти в угол комнаты и ждать там. ^Допрос продолжался недолго. Сперва Леруа упирался, но подельник сдал его с потрохами и в итоге ему осталось только признать свою вину. ^Подозреваемых заперли в их комнатах, а вас Даркстар отпустил отдыхать. Придя в свою комнату, вы тут же ложитесь спать. ^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]], "atl_luna_drake_room", function(s) atl_lfc_state = 3; atl_rep_moreau = atl_rep_moreau + 1; atl_rep_darkstar = atl_rep_darkstar + 1; rel_walter = rel_walter + 1; remove(char_leroy, where('char_leroy')); remove(char_goldman, where('char_goldman')); end); atl_lfc_court = dlg { var { goldman = 0; leroy = 0; }; nam = "Атлантида"; entered = function(s) if atl_lfc_goldman_exposed then p([[В комнату входят руководители станции. Даркстар встает из-за стола и сообщает: "Дорогие друзья, сегодня мы обсуждаем важный вопрос. Как вы все знаете, мы поймали саботажников -- ими оказались Леонард Голдман и Мишель Леруа. Мы будем следовать обычной процедуры, однако, решено, что в этом заседании будет участвовать Дэвид Дрейк, оказавший неоценимую помощь в поимке преступников. ]]); else p([[В комнату входят руководители станции. Даркстар встает из-за стола и сообщает: "Дорогие друзья, сегодня мы обсуждаем важный вопрос. Как вы все знаете, мы поймали саботажника -- им оказался Мишель Леруа. Мы будем следовать обычной процедуры, однако, решено, что в этом заседании будет участвовать Дэвид Дрейк, оказавший неоценимую помощь в поимке преступников. ]]); end; p([[Фредерик Моро, вам слово". ^Фредерик Моро начинает говорить: "Ситуация экстраординарная и требует экстраординарных мер]]); --[[ lfc_goldman_execute = 0; lfc_goldman_imprison = 0; lfc_goldman_banish = 1; lfc_leroy_execute = 0; lfc_leroy_imprison = 0; lfc_leroy_banish = 1; ]] if atl_lfc_goldman_exposed then if char_moreau_dlg.lfc_goldman_imprison > 0 then p([[, к которым мы пока не готовы. Я считаю, что Леонарда Голдмана следует посадить под арест, как минимум до того времени, как не вернется экспедиция Уильяма. ]]); if leroy_state ~= 4 then if char_moreau_dlg.lfc_leroy_imprison > 0 then p([[Что касается Мишеля Леруа, то его так же следует взять под стражу. ]]); else p([[Мишеля Леруа же слишком опасно держать здесь. Стоит высадить его где-нибудь на побережье Северной Америки. ]]); end; end; else p([[. Единственным разумным решением, на мой взгляд, будет изгнать Леонарда Голдмана с Атлантиды. Высадить его где-нибудь неподалеку от какого-нибудь городка. ]]); if leroy_state ~= 4 then if char_moreau_dlg.lfc_leroy_imprison > 0 then p([[Что касается Мишеля Леруа, то его следует взять под стражу. Такого как он отпускать на поверхность слишком опасно. ]]); else p([[Мишеля Леруа следует отправить вместе с ним. Преступникам не место на станции. ]]); end; end; end; else if char_moreau_dlg.lfc_leroy_imprison > 0 then p([[, к которым мы пока не готовы. Я считаю, что Мишеля Леруа следует посадить под арест, как минимум до того времени, как не вернется экспедиция Уильяма.]]); else p([[. Мишеля Леруа же слишком опасно держать здесь. Стоит высадить его где-нибудь на побережье Северной Америки. ]]); end; end; p([[ У меня все". ^Даркстар передает слово Екатерине Светловой и она предлагает свое решение:"]]); if atl_lfc_goldman_exposed then if leroy_state == 4 then if char_svetlova_dlg.lfc_goldman_banish > 0 then p([[Я считаю, что Голдмана стоит выслать отсюда. Увезти куда подальше, только и всего. ]]); else p([[Голдману стоит посидеть немного взаперти и подумать. Думаю, он не до конца потерян. ]]); end; else if char_svetlova_dlg.lfc_goldman_banish > 0 then if char_svetlova_dlg.lfc_leroy_banish > 0 then p([[Я считаю, что обоих стоит выслать отсюда. Увезти куда подальше, только и всего. ]]); else p([[Голдмана можно просто выслать на поверхность, но Леруа слишком опасен. Этот пусть остается здесь, под надзором. ]]); end; else if char_svetlova_dlg.lfc_leroy_banish > 0 then p([[Голдману стоит посидеть немного взаперти и подумать. Думаю, он не до конца потерян. А вот Леруа не место на Атлантиде. ]]); else p([[Я считаю, что обоих нужно запереть и держать так, пока они не поймут свою ошибку. ]]); end; end; end; else if char_svetlova_dlg.lfc_leroy_banish > 0 then p([[Леруа не место на Атлантиде. ]]); else p([[Пусть Леруа немного посидит взаперти, а потом посмотрим. ]]); end; end; p([[Это все". ^Даркстар передает слово Майклу Райту и он говорит следующее: "]]); if atl_lfc_goldman_exposed then if leroy_state == 4 then if char_michael_wright_dlg.lfc_goldman_banish > 0 then p([[Голдману не место на Атлантиде. ]]); else p([[Голдмана следует изолировать. ]]); end; else if char_michael_wright_dlg.lfc_goldman_banish > 0 then if char_michael_wright_dlg.lfc_leroy_banish > 0 then p([[Им не место на Атлантиде. ]]); else p([[Голдману не место на Атлантиде, а Леруа следует изолировать. ]]); end; else if char_michael_wright_dlg.lfc_leroy_banish > 0 then p([[Голдмана следует изолировать, а вот Леруа не место на Атлантиде. ]]); else p([[Их следует изолировать. ]]); end; end; end; else if char_michael_wright_dlg.lfc_leroy_banish > 0 then p([[Леруа не место на Атлантиде. ]]); else p([[Леруа следует изолировать. ]]); end; end; p([[Я закончил". ^Теперь Даркстар передает слово вам. ]]); if atl_lfc_goldman_exposed then psub("goldman"); else psub("leroy"); end; end; decision = function(s) local banish_g = 0; local execut_g = 1; local prison_g = 0; local banish_l = 0; local execut_l = 1; local prison_l = 0; if atl_lfc_court.goldman == 1 then execut_g = execut_g + 1; elseif atl_lfc_court.goldman == 2 then banish_g = banish_g + 1; elseif atl_lfc_court.goldman == 3 then prison_g = prison_g + 1; end; if atl_lfc_court.leroy == 1 then execut_l = execut_l + 1; elseif atl_lfc_court.leroy == 2 then execut_l = execut_l + 1; elseif atl_lfc_court.leroy == 3 then execut_l = execut_l + 1; end; if char_moreau_dlg.lfc_goldman_banish >= char_moreau_dlg.lfc_goldman_prison then banish_g = banish_g + 1; else prison_g = prison_g + 1; end; if atl_lfc_court.goldman == 1 or atl_lfc_court.leroy == 1 then atl_rep_moreau = atl_rep_moreau - 1; end; if char_svetlova_dlg.lfc_goldman_banish >= char_svetlova_dlg.lfc_goldman_prison and char_svetlova_dlg.lfc_goldman_banish >= char_svetlova_dlg.lfc_goldman_execute then banish_g = banish_g + 1; elseif char_svetlova_dlg.lfc_goldman_prison >= char_svetlova_dlg.lfc_goldman_execute then prison_g = prison_g + 1; else execut_g = execut_g + 1; end; if char_michael_wright_dlg.lfc_goldman_banish >= char_michael_wright_dlg.lfc_goldman_prison and char_michael_wright_dlg.lfc_goldman_banish >= char_michael_wright_dlg.lfc_goldman_execute then banish_g = banish_g + 1; elseif char_michael_wright_dlg.lfc_goldman_prison >= char_michael_wright_dlg.lfc_goldman_execute then prison_g = prison_g + 1; else execut_g = execut_g + 1; end; if char_moreau_dlg.lfc_leroy_banish >= char_moreau_dlg.lfc_leroy_prison then banish_l = banish_l + 1; else prison_l = prison_l + 1; end; if char_svetlova_dlg.lfc_leroy_banish >= char_svetlova_dlg.lfc_leroy_prison and char_svetlova_dlg.lfc_leroy_banish >= char_svetlova_dlg.lfc_leroy_execute then banish_l = banish_l + 1; elseif char_svetlova_dlg.lfc_leroy_prison >= char_svetlova_dlg.lfc_leroy_execute then prison_l = prison_l + 1; else execut_l = execut_l + 1; end; if char_michael_wright_dlg.lfc_leroy_banish >= char_michael_wright_dlg.lfc_leroy_prison and char_michael_wright_dlg.lfc_leroy_banish >= char_michael_wright_dlg.lfc_leroy_execute then banish_l = banish_l + 1; elseif char_michael_wright_dlg.lfc_leroy_prison >= char_michael_wright_dlg.lfc_leroy_execute then prison_l = prison_l + 1; else execut_l = execut_l + 1; end; local r = [[Даркстар забирает листы с решениями всех участников совета и, просмотрев их, оглашает вердикт: "]]; if atl_lfc_goldman_exposed then if banish_g >= prison_g and banish_g >=execut_g then goldman_state = 3; r = r .. [[Леонард Голдман будет изгнан с Атлантиды. ]]; elseif prison_g >= execut_g then goldman_state = 2; r = r .. [[Леонард Голдман будет содержаться в заключении. ]]; else goldman_state = 1; r = r .. [[Леонард Голдман будет казнен. ]]; end; end; if leroy_state ~= 4 then if banish_l >= prison_lg and banish_l >=execut_l then leroy_state = 3; r = r .. [[Мишель Леруа будет изгнан с Атлантиды. ]]; elseif prison_g >= execut_g then leroy_state = 2; r = r .. [[Мишель Леруа будет содержаться в заключении. ]]; else leroy_state = 1; r = r .. [[Мишель Леруа будет казнен. ]]; end; end; psub("leave"); return r .. [[Решение принято, все свободны". ]]; end; phr = { {tag="goldman"}; {"Голдман -- просто жертва. Леруа задурил ему мозги. Пусть посидить в камере и подумает. ", function(s) char_moreau_dlg.lfc_goldman_imprison = char_moreau_dlg.lfc_goldman_imprison + 1; char_svetlova_dlg.lfc_goldman_imprison = char_svetlova_dlg.lfc_goldman_imprison + 1; char_michael_wright_dlg.lfc_goldman_imprison = char_michael_wright_dlg.lfc_goldman_imprison + 1; if leroy_state == 4 then psub("final_goldman"); return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]]; else psub("leroy"); return ""; end; end}; {"Голдману не место на Атлантиде. ", function(s) char_moreau_dlg.lfc_goldman_banish = char_moreau_dlg.lfc_goldman_banish + 1; char_svetlova_dlg.lfc_goldman_banish = char_svetlova_dlg.lfc_goldman_banish + 1; char_michael_wright_dlg.lfc_goldman_banish = char_michael_wright_dlg.lfc_goldman_banish + 1; if leroy_state == 4 then psub("final_goldman"); return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]]; else psub("leroy"); return ""; end; end}; {"Голдман подверг опасности всю станцию. Его следует казнить. ", function(s) char_svetlova_dlg.lfc_goldman_execute = char_svetlova_dlg.lfc_goldman_execute + 1; char_michael_wright_dlg.lfc_goldman_execute = char_michael_wright_dlg.lfc_goldman_execute + 1; if leroy_state == 4 then psub("final_goldman"); return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]]; else psub("leroy"); return ""; end; end}; {tag="leroy"}; {"Нельзя давать Леруа то, ради чего он затеял все это. Держать его на станции также слишком опасно. Остается единственный способ избавиться от него. ", function(s) char_svetlova_dlg.lfc_leroy_execute = char_svetlova_dlg.lfc_leroy_execute + 1; char_michael_wright_dlg.lfc_leroy_execute = char_michael_wright_dlg.lfc_leroy_execute + 1; if atl_lfc_goldman_exposed then psub("final_goldman"); else psub("final_leroy"); end; return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]]; end}; {"Лучшим решением будет отослать Леруа. У нас нет возможности содержать его на станции, не говоря уж о повышенной опасности этого. ", function(s) char_moreau_dlg.lfc_leroy_banish = char_moreau_dlg.lfc_leroy_banish + 1; char_svetlova_dlg.lfc_leroy_banish = char_svetlova_dlg.lfc_leroy_banish + 1; char_michael_wright_dlg.lfc_leroy_banish = char_michael_wright_dlg.lfc_leroy_banish + 1; return atl_lfc_court:decision(); end}; {"Нельзя давать Леруа то, ради чего он затеял все это. Нужно изолировать его. ", function(s) char_moreau_dlg.lfc_leroy_imprison = char_moreau_dlg.lfc_leroy_imprison + 1; char_svetlova_dlg.lfc_leroy_imprison = char_svetlova_dlg.lfc_leroy_imprison + 1; char_michael_wright_dlg.lfc_leroy_imprison = char_michael_wright_dlg.lfc_leroy_imprison + 1; return atl_lfc_court:decision(); end}; {tag="final_goldman"}; {"[Казнить Голдмана]", function(s) atl_lfc_court.goldman = 1; if leroy_state == 4 then return atl_lfc_court:decision(); else psub("final_leroy"); end; end}; {"[Изгнать Голдмана]", function(s) atl_lfc_court.goldman = 2; if leroy_state == 4 then return atl_lfc_court:decision(); else psub("final_leroy"); end; end}; {"[Заключить Голдмана]", function(s) atl_lfc_court.goldman = 3; if leroy_state == 4 then return atl_lfc_court:decision(); else psub("final_leroy"); end; end}; {tag="final_leroy"}; {"[Казнить Леруа]", function(s) atl_lfc_court.leroy = 1; return atl_lfc_court:decision(); end}; {"[Изгнать Леруа]", function(s) atl_lfc_court.leroy = 2; return atl_lfc_court:decision(); end}; {"[Заключить Леруа]", function(s) atl_lfc_court.leroy = 3; return atl_lfc_court:decision(); end}; {tag="leave"}; {"[Уйти]", function(s) walkin("atl_lfc_outro_court"); end}; }; }; atl_lfc_outro_court = cutscene("atl_lfc_outro_court", "Атлантида", [[Вы возвращаетесь в свою комнату. Вскоре, раздается звонок телефона. вы поднимаете трубку и слышите голос Моро: "Дрейк, жду вас в моем кабинете". ]], "atl_luna_drake_room", function(s) end);