diff --git a/wright.lua b/wright.lua --- a/wright.lua +++ b/wright.lua @@ -26,6 +26,7 @@ char_wright_home = obj { var { known = false; documents = false; + known_leviathan = false; }; nam = "char_wright_home"; disp = "Джек Райт"; @@ -54,56 +55,60 @@ wright_dlg = dlg { entered = function(s) 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 [[ - "Привет". - ]]; + 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 [[Джек Райт отвлекается от газеты: "Добрый день. Вы обещали принести какие-то документы". ]]; + return [[Джек отвлекается от газеты: "Добрый день. Вы обещали принести какие-то документы". ]]; elseif (s.state == 3) then --Documents given if (not leviathan_discovered) then psub('checking_documents'); - return [[Джек Райт отвлекается от документов: "Добрый день. Если вы по поводу документов, то я еще ничего не нашел". ]]; + return [[Джек отвлекается от документов: "Добрый день. Если вы по поводу документов, то я еще ничего не нашел". ]]; else s.state = 5; warehouse32_found = true; psub('warehouse_discovered'); - return [[Джек Райт отвлекается от документов: "Добрый день. У меня хорошие новости. Я нашел склад 32", - он достает карту города и показывает вам место. ]]; + return [[Джек отвлекается от документов: "Добрый день. У меня хорошие новости. Я нашел склад 32", - он достает карту города и показывает вам место. ]]; end; elseif (s.state == 4) then --Documents taken back psub('ask_documents2'); - return [[Джек Райт отвлекается от газеты: "Добрый день. Я хотел бы еще раз вглянуть на эти бумаги". ]]; + return [[Джек отвлекается от газеты: "Добрый день. Я хотел бы еще раз вглянуть на эти бумаги". ]]; elseif (s.state == 5) then - psub('empty'); - return [[Джек Райт отвлекается от газеты: "Добрый день". ]]; - elseif (s.state == 6) then psub('warehouse_discovered2'); - return [[Джек Райт отвлекается от газеты: "Добрый день". ]]; + 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 [[Джек Райт отвлекается от газеты: "Добрый день". ]]; + return [[Джек отвлекается от газеты: "Добрый день". ]]; end; end; phr = { {tag='first_visit'}; {"Мое имя -- Дэвид Дрейк. Мне удалось найти кое-какие документы в одном из тайников отца. Этот адрес был среди них. Вы что-то знаете о судьбе моего отца? ", [[Джек вздыхает: "Это бесполезно. Я изучил практически все, до чего сумел дотянуться - газеты, судебные дела. И ничего - никаких зацепок. Компания обанкротилась, руководители пропали". ]], code [[wright_dlg.state = 2; psub('ask_documents'); ]]}; - {200, tag='ask_documents'}; + {tag='ask_documents'}; {always = true, "[Отдать документы]Посмотрите это. Не думаю, что вы это видели. ", [[Джек нехотя забирает бумаги из ваших рук и бегло их осматривает. Пожимая плечами, он комментирует: "Ничего интересного, просто планы старых зданий. Док 2? Отец там часто бывал, впрочем не думаю, что после 10 лет там что-то осталось. Если хотите - можете оставить документы, я попробую разузнать побольше". ]], code [[ dock_found = true; wright_dlg.state = 3; remove(item_charts, pl); - back(); + psub("checking_documents"); ]]}; {always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]}; {always = true, "Я вернусь позже. ", [[ Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; - {300, tag='checking_documents'}; + {tag='checking_documents'}; {always = true, "Вы можете вернуть мне бумаги? ", [["Конечно. Если принесете их снова -- я возобновлю поиски", - Джек возвращает вам документы. ]], code [[ wright_dlg.state = 4; put(item_charts, pl); @@ -111,46 +116,51 @@ wright_dlg = dlg { ]]}; {always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]}; {always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; - {400, tag='questions'}; + {tag='questions'}; {"Чем ваш отец занимался в Вестхейвен Трансоушен? ", [["Частично", - Джек показывает на картину на стене: "Он проектировал корабли, был главным инженером. Перед тем, как исчезнуть, он часто запирался в этом кабинете, подолгу что-то чертил. До глубокой ночи книги читал... Никаких материалов он не оставил. Он, вообще, очень ответственно относился к этому - никто никогда не знал, чем конкретно он занимается, кроме его подчиненных и вашего отца". ]]}; {always = true, "Вернемся к делу. ", [[Джек кивает: "Хорошо". ]], code [[ pret(); ]]}; - {500, tag='ask_documents2'}; + {tag='ask_documents2'}; {always = true, "[Отдать документы]Вот документы. ", [[Джек забирает бумаги и раскладывает их на своем столе: "Спасибо, я посмотрю, что смогу найти". ]], code[[ wright_dlg.state = 3; remove(item_charts, pl); back(); ]]}; {always = true, "У меня есть несколько вопросов. ", [[Джек кивает: "Чем смогу - помогу". ]], code [[psub('questions')]]}; {always = true, "Я вернусь позже. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; - {600, tag='warehouse_discovered'}; - {"[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[ walkin('wright_leviathan_cutscene1'); ]]}; + {tag='warehouse_discovered'}; + {"[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[ + char_wright_home.known_leviathan = true; + rel_jack = rel_jack + 1; + walkin('wright_leviathan_cutscene1'); + ]]}; {always = true, "Отлично, я съезжу туда и посмотрю, что удастся найти. ", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]}; - {700, tag='warehouse_discovered2'}; - {always = true, "На склад мне попасть не удалось. ", [[ - Джек с досадой стучит по столу: "Черт! "^ - Еще пару минут он задумчиво сидит в кресле, после чего предлагает идею: "Может попробуем попасть туда ночью? Я сам довезу тебя, но внутри все придется делать тебе. " - ]], code [[ - wright_dlg.state = 6; - psub('warehouse_break_in'); - ]]}; + {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) + psub('warehouse_break_in'); + return [[ + Джек с досадой стучит по столу: "Черт! "^ + Еще пару минут он задумчиво сидит в кресле, после чего предлагает идею: "Может попробуем попасть туда ночью? Я сам довезу тебя, но внутри все придется делать тебе. " + ]] + end}; {always = true, "Я вернусь позже. ", [[ "До встречи". ]], code [[ back(); ]]}; - {750, tag='empty'}; - {always = true, "Я вернусь позже. ", [[ - "До встречи". - ]], code [[ back(); ]]}; - {800, tag='warehouse_break_in'}; + {tag='warehouse_break_in'}; {always = true, "Надо попробовать. ", [[ "Хорошо". Приготовления занимают все время до вечера. Наконец, после наступления темноты, вы садитесь в повозку и Джек привозит вас к складу 32. ]], code [[ walk('warehouse_32_night'); ]]}; {always = true, "Лучше не стоит. ", [[ Джек разочарованно отвечает: "Дело твое". ]], code [[ pret(); ]]}; - {900, tag='warehouse_discovered3'}; + {tag='warehouse_discovered3'}; {always = true, "Надо еще раз попасть на склад. ", [[ "Могу устроить сегодня ночью. Устроит? " ]], code [[ psub('warehouse_break_in'); ]]}; {always = true, "Я вернусь позже. ", [[ "До встречи". ]], code [[ back(); ]]}; - {1000, tag='leviathan_restored'}; + {tag='leviathan_restored'}; {always = true, "Мне удалось починить \"Левиафан\". Мне понадобится помощник на борту ", [[ Джек поднимается с кресла и одевает пальто: "Безусловно, я готов", - сообщает вам он. "Здесь меня ничто не держит, а там... Я хочу попытаться найти моего отца, раз уж выдался такой шанс". ]], code [[