door_wright = obj { var { locked = true; }; nam = "door_wright"; disp = "Дверь"; act = function(s) if (s.locked) then walkin "wright_entry_dlg"; end; return true; end; dsc = function(s) if (s.locked) then return [[Обшарпанная деревянная {дверь}, ведущая в дом, заперта изнутри. ]]; else return [[Обшарпанная деревянная {дверь}, ведущая в дом, незаперта. ]]; end; end; }; char_wright_home = obj { var { known = false; documents = false; known_leviathan = false; }; nam = "char_wright_home"; disp = "Джек Райт"; dsc = function(s) if (s.documents) then return [[За столом сидит {Джек Райт} и с интересом рассматривает схемы, которые вы ему отдали. ]]; else if (s.known) then return [[За столом сидит {Джек Райт}, неспешно просматривая какие-то бумаги. ]]; else return [[За столом сидит {молодой человек}, неспешно просматривающий какие-то бумаги. ]]; end; end; end; act = function(s) walkin(wright_dlg); end; }; wright_dlg = dlg { var { state = 1; }; nam = "wright_dlg"; disp = "Джек Райт"; entered = function(s) if (submarine_leviathan.power_on and submarine_leviathan.airpump and submarine_leviathan.battery and submarine_leviathan.air_level < 432000) then submarine_leviathan.air_level = 432000; lifeoff(s); end; if (atlantis_found and submarine_leviathan.air_level > 400000 and submarine_leviathan.circuit_breaks == 0 and submarine_leviathan.power_on) then psub('leviathan_restored'); return [[Джек Райт отвлекается от газеты: "Добрый день". ]]; elseif (s.state == 1) then --First meeting char_wright_home.known = true; psub('first_visit'); return [[Перед вами молодой человек, одетый в недорогой, но опрятный костюм. Его бледное лицо украшает короткая темная борода и пышные усы. Темные волосы коротко острижены. Серые глаза с интересом разглядывают вас. Он протягивает вам руку и представляется: "Добрый день. Мое имя -- Джек Райт. Майкл -- мой отец, но он пропал несколько лет назад". ]]; elseif (s.state == 2) then --Documents not given psub('ask_documents'); return [[Джек отвлекается от газеты: "Добрый день. Вы обещали принести какие-то документы". ]]; elseif (s.state == 3) then --Documents given if (not leviathan_discovered) then psub('checking_documents'); return [[Джек отвлекается от документов: "Добрый день. Если вы по поводу документов, то я еще ничего не нашел". ]]; else s.state = 5; warehouse32_found = true; psub('warehouse_discovered'); return [[Джек отвлекается от документов: "Добрый день. У меня хорошие новости. Я нашел склад 32", - он достает карту города и показывает вам место. ]]; end; elseif (s.state == 4) then --Documents taken back psub('ask_documents2'); return [[Джек отвлекается от газеты: "Добрый день. Я хотел бы еще раз вглянуть на эти бумаги". ]]; elseif (s.state == 5) then psub('warehouse_discovered2'); poff("phr_warehouse_visited"); poff("phr_leviathan"); if (warehouse32_visited) then pon("phr_warehouse_visited"); end; if (not char_wright_home.known_leviathan) then pon("phr_leviathan"); end; return [[Джек отвлекается от газеты: "Добрый день". ]]; elseif (s.state == 7) then psub('warehouse_discovered3'); return [[Джек отвлекается от газеты: "Добрый день". ]]; end; end; phr = { {tag='first_visit'}; {"Мое имя -- Дэвид Дрейк. Мне удалось найти кое-какие документы в одном из тайников отца. Этот адрес был среди них. Вы что-то знаете о судьбе моего отца? ", [[Джек вздыхает: "Это бесполезно. Я изучил практически все, до чего сумел дотянуться - газеты, судебные дела. И ничего - никаких зацепок. Компания обанкротилась, руководители пропали". ]], code [[wright_dlg.state = 2; psub('ask_documents'); ]]}; {tag='ask_documents'}; {always = true, "[Отдать документы]Посмотрите это. Не думаю, что вы это видели. ", [[Джек нехотя забирает бумаги из ваших рук и бегло их осматривает. Пожимая плечами, он комментирует: "Ничего интересного, просто планы старых зданий. Док 2? Отец там часто бывал, впрочем не думаю, что после 10 лет там что-то осталось. Если хотите - можете оставить документы, я попробую разузнать побольше". ]], code [[ dock_found = true; wright_dlg.state = 3; remove(item_charts, pl); psub("checking_documents"); ]]}; {always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]}; {always = true, "Я вернусь позже. ", [[ Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; {tag='checking_documents'}; {always = true, "Вы можете вернуть мне бумаги? ", [["Конечно. Если принесете их снова -- я возобновлю поиски", - Джек возвращает вам документы. ]], code [[ wright_dlg.state = 4; put(item_charts, pl); back(); ]]}; {always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]}; {always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; {tag='questions'}; {"Вы знаете, чем занимался ваш отец в Вестхейвен Трансоушен? ", [["Частично", - Джек показывает на картину на стене: "Он проектировал корабли, был главным инженером. Перед тем, как исчезнуть, он часто запирался в этом кабинете, подолгу что-то чертил. До глубокой ночи книги читал... Никаких материалов он не оставил. Он, вообще, очень ответственно относился к этому - никто никогда не знал, чем конкретно он занимается, кроме его подчиненных и вашего отца". ]]}; {always = true, "Вернемся к делу. ", [[Джек кивает: "Хорошо". ]], code [[ pret(); ]]}; {tag='ask_documents2'}; {always = true, "[Отдать документы]Вот документы. ", [[Джек забирает бумаги и раскладывает их на своем столе: "Спасибо, я посмотрю, что смогу найти". ]], code[[ wright_dlg.state = 3; remove(item_charts, pl); back(); ]]}; {always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]}; {always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; {tag='warehouse_discovered'}; {"[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[ char_wright_home.known_leviathan = true; rel_jack = rel_jack + 1; walkin('wright_leviathan_cutscene1'); ]]}; {always = true, "Отлично, я съезжу туда и посмотрю, что удастся найти. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; {tag='warehouse_discovered2'}; {tag="phr_leviathan", "[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[ char_wright_home.known_leviathan = true; rel_jack = rel_jack + 1; walkin('wright_leviathan_cutscene1'); ]]}; {tag="phr_warehouse_visited", always = true, "На склад мне попасть не удалось. ", function(s) if (char_wright_home.known_leviathan) then psub("warehouse_break_in"); return [[Джек с досадой стучит по столу: "Черт!"^ Еще пару минут он задумчиво сидит в кресле, после чего предлагает идею: "Мы можем попробовать проникнуть туда тайком. Я довезу вас туда, но внутри все делать придется вам". ]] else psub('warehouse_break_in_reluctant'); return [[Джек вздыхает: "Ну вот и все. Боюсь, больше мы ничего не узнаем". ]]; end; end}; {always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; {tag='warehouse_break_in'}; {always = true, "Надо попробовать. ", [["Хорошо", - отвечает Джек. Приготовления занимают все время до вечера. Наконец, после наступления темноты, вы садитесь в повозку и Джек привозит вас к складу 32. ]], code [[ walk('warehouse_32_night'); ]]}; {always = true, "Лучше не стоит. ", [[Джек разочарованно отвечает: "Очень жаль". ]], code [[ pret(); ]]}; {tag='warehouse_break_in_reluctant'}; {always = true, "Мы можем попробовать проникнуть туда. Вдруг там что-то сохранилось?", [[Джек удивленно переспрашивает: "Проникнуть? Дэвид, вы в своем уме?"]], code [[ psub("w_bir2");]]}; {always = true, "Я пойду", [[Джек возвращается к своим делам: "До встречи". ]]}; {tag="w_bir2"}; {always = true, "Если мы хотим найти моего и вашего отца - нам нужно действовать вместе", [[Джек отрицательно качает головой: "Я не готов действовать такими методами". ]], code [[ psub("w_bir3");]]}; {always = true, "Вы правы, это глупо", [[Джек молча кивает. ]], code [[ pret(); ]]}; {tag="w_bir3"}; {"Вы готовы остановиться в шаге от цели?", [[Джек отвечает не сразу: "Мы не знаем, насколько мы близко. "]]}; { "У нас нет другого выбора. Это наша единственная зацепка", [[Джек берет карандаш, вертит его в руках несколько минут, потом смотрит на картину. Наконец, он соглашается: "Будь по вашему". Приготовления занимают все время до вечера. Наконец, после наступления темноты, вы садитесь в повозку и Джек привозит вас к складу 32. ]], code [[ rel_jack = rel_jack - 1; walk("warehouse_32_night"); ]]}; {"У вас есть другие предложения?", [[Джек вздыхает: "Нет. Придется признать, поиски зашли в тупик". ]]}; {always = true, "Вы правы, это глупо", [[Джек молча кивает. ]], code [[ psub("warehouse_break_in_reluctant"); ]]}; {tag='warehouse_discovered3'}; {always = true, "Надо еще раз попасть на склад. ", [["Хорошо", - отвечает Джек. После наступления темноты, вы садитесь в повозку и Джек привозит вас к складу 32. ]], code [[ psub('warehouse_break_in'); ]]}; {always = true, "Я вернусь позже. ", [["До встречи". ]], code [[ back(); ]]}; {tag='leviathan_restored_known'}; {always = true, "Мне удалось починить \"Левиафан\". Мне понадобится помощник на борту. ", [[Джек поднимается с кресла и одевает пальто: "Безусловно, я готов", - сообщает вам он. "Здесь меня ничто не держит". ]], code [[ lifeon("char_wright"); table.insert(pl.party, 'wright'); walk('leviathan_wardroom'); ]]}; {always = true, "Я вернусь позже. ", [[ "До встречи". ]], code [[ back(); ]]}; {tag='leviathan_restored'}; {always = true, "Я нашел подводный корабль. Мне понадобится помощь в управлении им. ", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе! Я должен это видеть!". ]], code [[ lifeon("char_wright"); table.insert(pl.party, 'wright'); walk('wright_leviathan_cutscene2'); ]]}; {always = true, "Я вернусь позже. ", [[ "До встречи". ]], code [[ back(); ]]}; }; }; wright_leviathan_cutscene2 = cutscene("wright_leviathan_cutscene2", "Причал", [[Вместе с Джеком вы приезжаете в док. Райт долго и с интересом осматривает корпус _"Левиафана"_. Внутри, Джек долго обходит отсеки, разглядывая все узлы. Наконец, вы оказываетесь в кают-компании и он сообщает: "Я готов". ]], 'leviathan_wardroom'); wright_leviathan_cutscene1 = dlg { nam = "wright_leviathan_cutscene1"; disp = "Причал"; entered = [[ Вместе с Джеком вы приехали в док 2. Райт долго и с интересом осматривает металлический корпус субмарины. С задумчивым видом он ходит вокруг, рассматривая его. Наконец он спрашивает: "Она работает?" ]]; phr = { {"10 лет под водой. Не думаю, что там хоть что-то сохранилось... ", [[ Джек задумчиво смотрит на металлический корпус, на табличку с выгравированным названием. Наконец он говорит: "Надо попытаться попасть внутрь, а затем посмотрим". Еще немного постояв, он возвращается к кэбу. Джек оборачивается к вам и спрашивает: "Едешь?" ]], code [[ psub('choice'); ]]}; {"Не уверен, но, думаю, да. ", [[ Джек задумчиво смотрит на металлический корпус, на табличку с выгравированным названием. Наконец он говорит: "Надо попытаться попасть внутрь, а затем посмотрим". Еще немного постояв, он возвращается к кэбу. Джек оборачивается к вам и спрашивает: "Едешь?" ]], code [[ psub('choice'); ]]}; {tag='choice'}; {"Да, поехали. ", [[ Вы садитесь в кэб и возвращаетесь домой к Джеку. ]], [[ walk('wright_house_cabinet'); ]]}; {"Я останусь тут. ", [[ Джек садится в кэб и уезжает домой. ]], [[ walk('dock_mooring'); ]]}; }; }; wright_entry_dlg = dlg { nam = "wright_entry_dlg"; disp = "Голос за дверью"; entered = function(s) psub("start"); return [[ Вы стучите в дверь. Через некоторое время вам отвечает сонный голос: "Кто здесь?" ]]; end; hideinv = true; phr = { {tag = "start"}; {always = true, "Могу я увидеть Майкла Райта?", [[ "Кто спрашивает?" ]], code [[ psub('who') ]]}; {always = true, "Извините, я ошибся адресом.", code [[ back(); ]]}, {tag = 'who'}; {"Вы знаете Уильяма Дрейка?", [[ "Понятия не имею. Кто спрашивает?" - В голосе собеседника явно прослеживается некоторое недовольство. ]], code [[ psub('irritated') ]]}; {"Майкл Райт здесь живет?", [[ "Кто спрашивает?" - В голосе собеседника явно прослеживается некоторое недовольство. ]], code [[ psub('irritated') ]]}; {always = true, "У меня важное сообщение для него.", [[ "Он тут не живет уже много лет. Уходите" - вам показалось, что голос собеседника слегка дрогнул при этих словах. ]], code [[ back(); ]]}; {tag = 'irritated'}; {"Мой отец - Уильям Дрейк, работал с Майклом Райтом. Так вы знаете его?", [[ Вы слышите звук отодвигающегося засова и ответ: "Проходите". ]], code [[ door_wright.locked = false; path("В дом", wright_house):enable(); back(); ]]}; }; }; wright_drawing = obj { nam = 'wright_drawing'; dsc = [[На стене напротив двери висит большая {картина}, изображающая пароход. ]]; act = [[На картине во всех деталях изображен пароход _"Огненная стрела"_, принадлежавший Вестхейвен Трансоушен, полным ходом идущий по бескрайнему океану. Яркое солнце освещает палубу, на которой находится множество пассажиров, прогуливающихся, общающихся, сидящих на скамейках. Из всех трех труб _"Огненной стрелы"_ идет густой черный дым, а на корме развевается флаг Соединенного Королевства. Под картиной вы видите небольшую табличку с надписью: _"Майклу Райту, создателю ,,Огненной стрелы''. Альберт Мур, 1889"_. ]]; }; wright_table = obj { nam = "wright_table"; disp = "Стол"; dsc =[[В центре комнаты стоит массивный дубовый стол. На его полированной поверхности разбросаны в кажущемся беспорядке бумаги, письменные принадлежности, старые газеты и другие предметы. ]]; }; wright_house_cabinet = room { nam = "wright_house_cabinet"; disp = "Дом Райта, кабинет"; dsc = [[Стены комнаты оклеены старыми обоями с полустершимся рисунком. Сквозь большие окна в комнату проникает достаточно света. ]]; obj = { 'wright_drawing', 'wright_table', 'char_wright_home' }; way = { vroom("В гостиную", "wright_house_front_room"); }; }; wright_house_front_room = room { nam = "wright_house_front_room"; disp = "Дом Райта, гостиная"; dsc = [[Окна в гостиной завешены тяжелыми занавесками и в полутьме вы с трудом различаете очертания предметов интерьера - дорогих старых кресел, изящно украшенных шкафов, покрытых многолетним слоем пыли канделябров. ]]; entered = function(s) if (not s.visited) then s.visited = true; pn([[У двери стоит молодой человек, примерно вашего возраста. Как только вы заходите, он закрывает за вами дверь и просит проследовать за ним в кабинет. ]]); end; end; way = { vroom("На улицу", "wright_house"); vroom("В кабинет", "wright_house_cabinet"); }; }; wright_house = room { nam = "wright_house"; disp = "Дом Райта"; enter = function(s) put(char_coachman, here()); end; dsc = [[Небольшой кирпичный особняк, принадлежащий Майклу Райту, стоит на одной из тихих улочек, на окраине Лондона. Дом выглядит неухоженным - штукатурка местами осыпалась, лужайка заросла высокой травой, часть окон закрыта ставнями, явно давно не открывавшимися. ]]; obj = {'door_wright'}; way = { vroom("В дом", "wright_house_front_room"):disable(); }; };