diff --git a/atlantis.lua b/atlantis.lua --- a/atlantis.lua +++ b/atlantis.lua @@ -126,8 +126,12 @@ atl_aqua_leviathan_dock = room { atl_iyh_state = 9; if (atl_iof_learr_dead) then walk('iyh_outro_aikerjarr'); - else - walk('iyh_outro_learr'); + elseif atl_iyh_shockfish_dead then + walk('iyh_outro_learr_shockfish_dead'); + elseif atl_iyh_entrance_destroyed then + walk('iyh_outro_learr_temple_destoryed'); + else + walk('iyh_outro_learr'); end; end; end; diff --git a/atlantis_dlg.lua b/atlantis_dlg.lua --- a/atlantis_dlg.lua +++ b/atlantis_dlg.lua @@ -1595,7 +1595,7 @@ char_ryveerr_dlg = dlg { return [[Ривеерр спокойно отвечает: "Ты со-мной-про-это-не-говори. Это-ваши-дела. Я не-хочу-ими-заниматься". ]]; end; end}; - {always=true, "Я хочу кое что спросить.", [[Ривеерр кивает: "Ты спрашивай". ]], code [[ psub("questions"); ]]}; + {always=true, "Я хочу кое-что спросить.", [[Ривеерр кивает: "Ты спрашивай". ]], code [[ psub("questions"); ]]}; {always=true, "Я пойду.", [[Ривеерр прощается с вами: "Мы позже-поговорим". ]], code [[ back(); ]]}; {tag="questions"}; {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s) @@ -1755,7 +1755,7 @@ char_winterlight_dlg = dlg { end; phr = { {tag="first_meeting"}; - {"Рад знакомству. Я хотел бы кое что спросить.", [[Сильвия улыбается и кивает: "Конечно, господин Дрейк, я слушаю". ]], code [[ psub("generic"); ]]}; + {"Рад знакомству. Я хотел бы кое-что спросить.", [[Сильвия улыбается и кивает: "Конечно, господин Дрейк, я слушаю". ]], code [[ psub("generic"); ]]}; {"Рад знакомству. Я чем-то могу быть полезен?", [[Сильвия улыбается и отвечает: "Вам лучше поговорить с госпожой Светловой, у нее наверняка найдется поручение для вас". ]], code [[ psub("generic"); ]]}; {tag="generic"}; {"Расскажите об Атлантиде,", [[Сильвия вздыхает: "Боюсь, я тут могу долго рассказывать -- мы с господином Райтом многое придумывали вместе -- в частности системы подачи кислорода, я же помогала в разработке Аэриса. Аэрис вообще довольно значительное достижение -- мы сумели адаптировать некоторые виды растений с поверхности к условиям станции. Конечно, пришлось потрудиться -- очень много энергии уходит на освещение и обогрев секции, но и результат себя оправдывает -- думаю, нам быстро надоело бы питаться одними морепродуктами, а так у нас есть практически все, что может предложить поверхность. Ну, кроме мяса. Также мы выращиваем там несколько видов водорослей -- некоторые производят кислород, другие идут в пищу, третьи отправляются прямиком в печь".]]}; diff --git a/atlantis_iyhehevjiarr.lua b/atlantis_iyhehevjiarr.lua --- a/atlantis_iyhehevjiarr.lua +++ b/atlantis_iyhehevjiarr.lua @@ -304,7 +304,11 @@ iyh_fight_torpedo = obj { pr "Вы стреляете торпедой в ската. Торпеда взрывается достигнув цели и разрывает ската. Вода краснеет от крови, а вы теперь можете безопасно приблизиться к храму. "; if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then - pr [[Леарр в ярости поднимается в рубку и кричит на вас: "Что ты делаешь ненавистный-a'rr?!" ]]; + pr [[Леарр в ярости поднимается в рубку и кричит на вас: "Что ты делаешь ненавистный-a'rr?!"^Она с неприязнью смотрит на вас и удаляется к себе в каюту. ]]; + rel_learr = -99; + atl_rep_iraa = atl_rep_iraa - 1; + atl_rep_dyp = atl_rep_dyp - 1; + char_learr.home = "leviathan_cabin_3"; elseif (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0) then pr [[Аикерьярр отворачивается от иллюминатора и со злобой смотрит на вас: "Ты за-это-ответишь he'rr". ]]; end; @@ -1362,38 +1366,16 @@ iyh_near_temple_foot = room { iyh_outro_svetlova = room { nam = "Атлантида, док Левиафана"; dsc = function(s) - pr [[ - При выходе из Левиафана, вас встречает Екатерина Светлова. Вы рассказываете ей обо всем произошедшем. - ]]; + pr [[При выходе из Левиафана, вас встречает Екатерина Светлова. Вы рассказываете ей обо всем произошедшем. ]]; if (atl_iyh_shockfish_dead) then - pr [[ - Она забирает у вас артефакты для изучения, но крайне недовольна убийством ската: "Артефакты, конечно будут полезны, но то что вы сделали ставит под угрозу дальнейшее существование станции. Хвала небесам, что рыбни об этом не знают и может быть, не узнают о произошедшем".^ - ]]; + pr [[Она забирает у вас артефакты для изучения, но крайне недовольна убийством ската: "Артефакты, конечно будут полезны, но то что вы сделали ставит под угрозу дальнейшее существование станции. Хвала небесам, что рыбни об этом не знают и может быть, не узнают о произошедшем".^ ]]; elseif (atl_iyh_entrance_destroyed) then - pr [[ - Она забирает у вас артефакты для изучения, но огорчена разрушением святилища: "Очень жаль, что пришлось разрушить храм - там наверняка было еще много интересного".^ - ]]; + pr [[Она забирает у вас артефакты для изучения, но огорчена разрушением святилища: "Очень жаль, что пришлось разрушить храм - там наверняка было еще много интересного".^ ]]; else - pr [[ - Она забирает у вас артефакты для изучения и благодарит вас: "Отлично, вы оказали нам неоценимую услугу. Скоро я верну реликвию в Дипатреанотр и ситуация будет исчерпана".^ - ]]; + pr [[Она забирает у вас артефакты для изучения и благодарит вас: "Отлично, вы оказали нам неоценимую услугу. Скоро я верну реликвию в Дипатреанотр и ситуация будет исчерпана".^ ]]; end; - --[[pr [ [ - Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, к вам входит Екатерина и отдает часть табличек, найденных вами: "Это вам понадобится в поисках отца. Эти таблички помогут вам проследовать путем Уильяма. Я уже говорила, что он отправился на поиски древнего навьярского города, Лсэрианотра. Должно быть, он сделал копии этих диаграмм. Но здесь не все просто - это лишь фрагменты карт и чтобы воспользоваться ими, вам придется найти недостающие части. К сожалению, я не знаю, где их можно найти. Но, скорее всего, знают навьяры. - ] ]; - if (not atl_iof_learr_dead) then - pr [ [ - Вам следует начать с Ираафаанотра - родного города Леарр. Наверняка, она согласится отправиться туда с вами". - ] ]; - else - pr [ [ - Рядом с нами расположено два города - Дипатреанотр и Ираафаанотр, и я советую вам их посетить". - ] ]; - end;]] - pr [[ - Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое что для вас". - ]]; + pr [[Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое-что для вас". ]]; end; entered = function(s) atl_iyh_artifacts_on_atlantis = true; @@ -1417,14 +1399,14 @@ iyh_outro_aikerrjarr = room { dsc = function(s) pr [[При выходе из Левиафана, вас встречает Екатерина Светлова. Аикерьярр сразу же требует: "Ты мне-отдашь взятое-тобой-в-храме-все". На что Светлова просит его: "Позвольте кратко взглянуть на все". Аикерьярр с явным недовольством соглашается. Пока Екатерина осматривает реликвии, вы рассказываете ей обо всем произошедшем. Как только вы заканчиваете рассказ, ]]; if (atl_iyh_shockfish_dead) then - pr [[она недовольно восклицает: "Зачем вы это сделали?!", - После чего, уже спокойнее добавляет: "Впрочем, можете не отвечать. Что сделано то сделано".^ ]]; + pr [[она лишь тяжело вздыхает глядя на вас, после чего уходит, махнув рукой.^ ]]; elseif (atl_iyh_entrance_destroyed) then pr [[она огорченно комментирует: "Очень жаль, что пришлось разрушить храм - там наверняка было еще много интересного".^ ]]; else pr [[она благодарит вас: "Отлично, вы оказали нам неоценимую услугу. Скоро я верну реликвию в Дипатреанотр и ситуация будет исчерпана".^ ]]; end; - pr [[Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое что для вас". ]]; + pr [[Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое-что для вас". ]]; end; hideinv = true; entered = function(s) @@ -1434,6 +1416,7 @@ iyh_outro_aikerrjarr = room { break; end; end; + remove(char_aikerjarr_lev, where(char_aikerjarr_lev)); remove(item_statuette); remove(item_temple_disk); remove(item_legend_of_temple); @@ -1449,6 +1432,63 @@ iyh_outro_aikerrjarr = room { }; }; +iyh_outro_learr_shockfish_dead = room { + nam = "Атлантида, док Левиафана"; + dsc = function(s) + return [[При выходе из Левиафана, вас встречает Екатерина Светлова. Леарр выходит следом за вами и сообщает: "Я забираю-артефакты-в-Ираафаанотр". Светлова спрашивает: "Вы не разрешите нам оставить их на несколько дней для изучения?"^ Леарр отрезает: "Нет", -- и выходит из дока. Светлова вопросительно смотрит на вас и вы пересказываете ей произошедшее. Она лишь тяжело вздыхает глядя на вас, после чего уходит, махнув рукой.^Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое-что для вас". ]]; + end; + hideinv = true; + entered = function(s) + for i in #pl.party do + if pl.party[i] == 'learr' then + table.remove(pl.party, i); + break; + end; + end; + remove(char_learr, where(char_learr)); + remove(item_statuette); + remove(item_temple_disk); + remove(item_legend_of_temple); + remove(item_legend_of_dark_source); + remove(item_legend_of_first_city); + remove(item_legend_of_hunter); + remove(item_navjiarr_chart_1); + remove(item_navjiarr_chart_2); + remove(item_navjiarr_chart_3); + end; + obj = { + vroom("Продолжить", "atl_luna_drake_room"); + }; +}; + +iyh_outro_learr_temple_destroyed = room { + nam = "Атлантида, док Левиафана"; + dsc = function(s) + return [[При выходе из Левиафана, вас встречает Екатерина Светлова. Леарр выходит следом за вами и сообщает: "Я забираю-артефакты-в-Ираафаанотр". Светлова спрашивает: "Вы не разрешите нам оставить их на несколько дней для изучения?"^ Леарр отрезает: "Нет", -- и выходит из дока. Светлова вопросительно смотрит на вас и вы пересказываете ей произошедшее. Она задумчиво чешет подбородок и сообщает: "Я поговорю с Леарр, отправляйтесь в свою комнату. Думаю, мне удастся все уладить".^Вы следуете ее совету и отправляетесь к себе. Утром, она выывает вас по телефону: "Дрейк, пройдите ко мне. У меня есть кое-что для вас". ]]; + end; + hideinv = true; + entered = function(s) + for i in #pl.party do + if pl.party[i] == 'learr' then + table.remove(pl.party, i); + break; + end; + end; + remove(item_statuette); + remove(item_temple_disk); + remove(item_legend_of_temple); + remove(item_legend_of_dark_source); + remove(item_legend_of_first_city); + remove(item_legend_of_hunter); + remove(item_navjiarr_chart_1); + remove(item_navjiarr_chart_2); + remove(item_navjiarr_chart_3); + end; + obj = { + vroom("Продолжить", "atl_luna_drake_room"); + }; +}; + iyh_outro_learr = dlg { nam = "Атлантида, док Левиафана"; entered = function(s) @@ -1515,7 +1555,7 @@ iyh_outro_learr = dlg { iyh_outro_learr_2 = room { nam = "Атлантида"; - dsc = [[Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое что для вас". ]]; + dsc = [[Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое-что для вас". ]]; obj = { vroom("Продолжить", "atl_luna_drake_room"); }; diff --git a/party.lua b/party.lua --- a/party.lua +++ b/party.lua @@ -25,6 +25,7 @@ end; -- TODO больше отвлеченных диалогов, дабы было о чем поговорить с сопартийцами. Не стоит делать их деревянными безжизненными манекенами char_learr = obj { var { + home = "leviathan_wardroom"; follow = false; on_books = 0; @@ -42,7 +43,6 @@ char_learr = obj { return [[{Леарр} ждет ваших указаний. ^]]; end; end; - home = "leviathan_wardroom"; accompany = party_accompany; life = party_follow; act = function(s) @@ -56,6 +56,7 @@ char_learr = obj { char_phaetlarr = obj { var { + home = "leviathan_engines"; follow = false; }; nam = "phaetlarr"; @@ -67,7 +68,6 @@ char_phaetlarr = obj { return [[{Фаэтларр} ждет ваших указаний. ^]]; end; end; - home = "leviathan_engines"; accompany = party_accompany; life = party_follow; act = function(s) @@ -81,6 +81,7 @@ char_phaetlarr = obj { char_radcliffe = obj { var { + home = "leviathan_engines"; follow = false; rel_on_join = nil; @@ -102,7 +103,6 @@ char_radcliffe = obj { return [[{Уолтер Рэдклифф} ждет ваших указаний. ^]]; end; end; - home = "leviathan_engines"; accompany = party_accompany; life = party_follow; act = function(s) @@ -116,6 +116,7 @@ char_radcliffe = obj { char_wright = obj { var { + home = "leviathan_wardroom"; follow = false; iof_reaction = 0; @@ -133,7 +134,6 @@ char_wright = obj { return [[{Джек Райт} ждет ваших указаний. ^]]; end; end; - home = "leviathan_wardroom"; accompany = party_accompany; life = party_follow; act = function(s)