# HG changeset patch # User Silverwing # Date 2017-01-20 22:02:23 # Node ID 515b20cf25e02c0eb6a6c2964748e7dbdc946140 # Parent 6749b9519941fd8047fc7330d5f6a16617de15e9 Various fixes diff --git a/items.lua b/items.lua --- a/items.lua +++ b/items.lua @@ -399,7 +399,7 @@ item_map = obj { }; item_map_2 = obj { - nam = "item_map"; + nam = "item_map_2"; disp = "Карта"; inv = function(s) iraaphaanotrr_found = true; @@ -417,7 +417,7 @@ item_unknown_schematics = obj { remove(s, pl); put(item_leviathan_schematics, pl); return [[ - Вы рассматриваете чертежи, найденные на складе. Это чертежи какого-то необычного корабля. Многие детали конструкции кажутся вам непонятными, излишними, переусложненными пока вы не натыкаетесь на надпись в углу: "Проект "Левиафан", Вестхейвен Трансоушен, 1900". Чуть ниже написано: "Подводный корабль предназначенный для долговременноых автономных путешествий". Теперь все встает на свои места - вот что строил ваш отец. + Вы рассматриваете чертежи, найденные на складе. Это чертежи какого-то необычного корабля. Многие детали конструкции кажутся вам непонятными, излишними, переусложненными пока вы не натыкаетесь на надпись в углу: _"Проект ,,Левиафан'', Вестхейвен Трансоушен, 1900"_. Чуть ниже написано: _"Подводный корабль предназначенный для долговременноых автономных путешествий"_. Теперь все встает на свои места - вот что строил ваш отец. ]]; end; }; diff --git a/london.lua b/london.lua --- a/london.lua +++ b/london.lua @@ -32,7 +32,6 @@ char_first_mate = npc { aurora_borealis = room { nam = "aurora_borealis"; disp = "Северное cияние"; - --На палубе парохода людно. Пассажиры один за другим сходят на берег. Небо покрыто тяжелыми тучами. Со всех сторон доносятся гудки пароходов. dsc = [[Тяжелые темные тучи застилают небо, не давая солнечному свету пробиться к земле. Пассажиры собрались на палубе парохода, прибывшего в порт Лондона. Вокруг снуют матросы, занимающиеся своими делами и не обращающие никакого внимания на вас. Люди неспешно сходят на берег. Со всех сторон вы слышите гудки пароходов, прибывающих в порт и отправляющихся в плавание. ]]; obj = {'char_captain', 'char_first_mate'}; way = { @@ -432,12 +431,12 @@ starlight_first_dlg = dlg { { "Да, я Дэвид Дрейк.", [[Человек протягивает вам руку: "Здравствйте! Я Джозеф Старлайт. Вы сын Уильяма Дрейка? Название Вестхейвен Трансоушен вам о чем-нибудь говорит?" ]], code [[ pstart('i_am_drake') ]]}; { "Простите, я спешу.", [[Человек огорченно вздыхает: "Простите". Подойдя к лестнице он оборачивается и говорит: "Мое имя - Джозеф Старлайт. Если хотите поговорить о Вестхейвен Трансоушен, зайдите ко мне в комнату 2 когда у вас будет время". ]], code [[ back(); ]]}; {tag = "have_we_met"}; - { "Я сын Уильяма. Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже. "]], code [[ back(); ]]}; - { "Кто вы?", [[Джозеф Старлайт отвечает: "Адвокат. Я занимался делом о банкротстве Вестхейвен Трансоушен. "]], code [[ pstart('who_are_you') ]]}; + { "Я сын Уильяма. Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже". ]], code [[ back(); ]]}; + { "Кто вы?", [[Джозеф Старлайт отвечает: "Адвокат. Я занимался делом о банкротстве Вестхейвен Трансоушен". ]], code [[ pstart('who_are_you') ]]}; {tag = "who_are_you"}; - { "Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже. "]], code [[ back(); ]]}; + { "Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже". ]], code [[ back(); ]]}; {tag = "i_am_drake"}; - { "Да все верно. Это название компании моего отца. Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже. "]], code [[ back(); ]]}; + { "Да все верно. Это название компании моего отца. Вы знаете что произошло?", [[Джозеф Старлайт чешет подбородок: "Немного. Это было, без сомнения, самое запутанное мое дело. Нам лучше поговорить у меня в комнате. Номер 2, на первом этаже". ]], code [[ back(); ]]}; }; }; diff --git a/main.lua b/main.lua --- a/main.lua +++ b/main.lua @@ -55,6 +55,7 @@ dofile "lse_final_battle.lua"; global { warehouse18_found = false; warehouse32_found = false; + warehouse32_visited = false; dock_found = false; leviathan_discovered = false; atlantis_found = false; diff --git a/warehouse32.lua b/warehouse32.lua --- a/warehouse32.lua +++ b/warehouse32.lua @@ -18,7 +18,7 @@ warehouse_32_guard_dlg = dlg { nam = "warehouse_32_guard_dlg"; entered = function(s) warehouse_32_guard.dlg = nil; - wright_dlg.state = 6; + warehouse32_visited = true; return [[ Вы подходите к охраннику, но он не обращает на вас никакого внимания. ]]; 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 [[