Changeset - 3c95f6f8fb21
[Not reviewed]
default
0 9 0
Silverwing - 7 years ago 2017-12-02 12:05:44

Text formatting
9 files changed with 58 insertions and 58 deletions:
0 comments (0 inline, 0 general)
atlantis_dlg.lua
Show inline comments
 
@@ -190,193 +190,193 @@ char_darkstar_dlg = dlg {
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.leroy_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.leroy_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Леруа много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он не выглядит настолько глупым, чтобы саботировать работу станции, однако он один из немногих подпадающих под подозрение. Вообще-то, интересоваться сотрудниками Атлантиды -- моя работа, а не ваша". ]];
 
            end;
 
        end};
 
        {tag="on_jones", false, "Что вы думаете о Чарли Джонсе? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.jones_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.jones_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Джонс много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он недостаточно смел, чтобы попытаться саботировать работу станции, однако он один из немногих попадающих под подозрение. Вообще-то, интересоваться сотрудниками Атлантиды -- моя работа, а не ваша". ]];
 
            end;
 
        end};
 
        {tag="on_goldman", false, "Что вы думаете о Леонарде Голдмане? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.goldman_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.goldman_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Голдман много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он эмоционально неуравновешен. Если бы он устроил аварию, он бы уже выдал себя. Однако, он один из немногих, кому хватает знаний, чтобы спланировать саботаж. Вообще-то, интересоваться сотрудниками Атлантиды -- моя работа, а не ваша". ]];
 
            end;
 
        end};
 
        {tag="on_atlantis", false, "Расскажите об Атлантиде. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.atlantis_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.atlantis_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Атлантида построена на средства Вестхейвен Трансоушен -- компании вашего отца. Майкл Райт -- создатель станции, многое продумал, существенно облегчив мне работу. Конечно, периодически, мне приходится иметь дело с нарушениями правил -- я неоднократно просил не загромождать коридоры; всегда закрывать за собой шлюзы, двери, щитки, панели; не перекрывать посторонними предметами доступ к важным узлам станции. Думаю, вы сами заметили, как исполняются эти указания". ]];
 
            end;
 
        end};
 
        {tag="on_navjiarr", false, "Что вы думаете о навьярах? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.navjiarr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.navjiarr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Они -- причина существования Атлантиды, так что в какой-то мере мы все обязаны им тем, что оказались здесь. Не все на станции довольны этим -- и это создает определенную угрозу. Но, надо признать, они не пытались навредить нам последнее время, однако, я все еще советую Моро и Светловой быть настороже при общении с ними. Они не так просты, как кажутся". ]];
 
            end;
 
        end};
 
        {tag="on_learr", false, "Что вы думаете о Леарр? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.learr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                if (atl_iof_learr_dead) then
 
                    char_darkstar.learr_asked = 3;
 
                    return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
                else
 
                    char_darkstar.learr_asked = 2;
 
                    return [[Винсент Даркстар отвечает: "Леарр -- представительница одного из навьярских племен на станции. Она любопытна, молода и умна. Она искренне заинтересована нами и нашими технологиями и это не может не радовать". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_ryveerr", false, "Что вы думаете о Ривеерре? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.ryveerr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.ryveerr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Ривеерр -- представитель одного из навьярских племен на станции. Я мало что могу о нем сказать, и, в данном случае, это говорит в его пользу". ]];
 
            end;
 
        end};
 
        {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.aikerjarr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.aikerjarr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Он будет создавать проблемы. Это не предположение, это -- факт". ]];
 
            end;
 
        end};
 
        {always=true, "Вернемся к делу.", [[Даркстар кивает: "Слушаю".]], code [[ char_darkstar_dlg:reset_more(); pret(); ]]};
 
		{tag="generic"};
 
		{tag="accuse_goldman", false, "Саботаж -- дело рук Голдмана.", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="goldman"; ]]};
 
		{tag="accuse_leroy", false, "Саботаж -- дело рук Леруа.", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="leroy"; ]]};
 
        {tag="more_questions", "У меня есть несколько вопросов.", [[Даркстар кивает: "Слушаю".]], code [[ psub('ask_more'); ]]};
 
		{always=true, "Я пойду.", [[Даркстар прощается: "До встречи". ]], code [[ back(); ]]};
 
        {tag="fta"};
 
		{"Что вы хотите услышать?", [[Даркстар поясняет: "Все, что произошло в Солисе и показалось вам подозрительным". ]]};
 
		{"Первый взрыв раздался, когда я был у входа в секцию... [Кратко пересказать основные события]", [[Даркстар молча кивает. ]], code [[
 
            char_darkstar_dlg.fta = char_darkstar_dlg.fta + 1;
 
            if char_darkstar_dlg.fta == 2 then
 
                psub("fta2");
 
            end;
 
        ]]};
 
		{"Один из клапанов работал неправильно: давление в нем было выше нормы.", [[Даркстар с сомнением произносит: "Интересно. За десять лет работы станции такого никогда не было". ]], code [[
 
            char_darkstar_dlg.fta = char_darkstar_dlg.fta + 1;
 
            if char_darkstar_dlg.fta == 2 then
 
                psub("fta2");
 
            end;
 
        ]]};
 
		{tag="show_clock", "[Показать часы]А еще я нашел там вот это.", [[Даркстар забирает часы и вертит их в руках: "Так-так-так. Франсуа Голдман. Леонард однозначно в этом замешан, но действовал он не один. Я все еще думаю, что они попытаются вывести из строя одну из субмарин. Скорее всего их целью будет Наутилус". ]], code [[ 
 
		{tag="show_clock", "[Показать часы] А еще я нашел там вот это.", [[Даркстар забирает часы и вертит их в руках: "Так-так-так. Франсуа Голдман. Леонард однозначно в этом замешан, но действовал он не один. Я все еще думаю, что они попытаются вывести из строя одну из субмарин. Скорее всего их целью будет Наутилус". ]], code [[ 
 
            atl_rep_darkstar = atl_rep_darkstar + 1;
 
            atl_lfc_goldman_exposed = true; 
 
            psub("why_nau"); 
 
        ]]};
 
        {tag="accuse_saboteur", "Голдман признался в саботаже и сдал Леруа... [Пересказать слова Голдмана]", [[Даркстар кивает: "Прекрасно. Вы далеко пойдете, Дрейк". ]], code [[ walkin("atl_lfc_outro_expose"); ]]};
 
        {tag="fta2"};
 
        {"Что-то еще?", [[Даркстар скрещивает руки на груди и откидывается на спинку кресла, продолжая смотреть прямо вам в глаза. Он подтверждает: "Да, Дрейк. Мне понадобится ваша помощь. Я все еще считаю, что следующей целью саботажника станет Наутилус". ]], code [[ psub("why_nau"); ]]};
 
		{tag="why_nau"};
 
		{"Почему именно Наутилус?", [[Даркстар объясняет:"Саботажник хочет не убить всех, а поломать станцию. Он хочет наверх, а не умереть здесь. Наутилус -- субмарина малого радиуса, а Энтерпрайз и Левиафан способны доставить нас на континенты". ]]};
 
		{"Соглашусь с вашим предположением", [[Даркстар кивает: "Хорошо. Я попрошу вас помочь мне с этим заданием". ]], code [[ psub("lfc_help"); ]]};
 
		{"Мне кажется, целью будет другая субмарина", [[Даркстар кивает: "Я это учел. Мы будем следить за всеми доками. Также, я попрошу вас помочь мне с этим заданием". ]], code [[ psub("lfc_help"); ]]};
 
		{tag="lfc_help"};
 
		{"Почему я?", [[Даркстар объясняет:"Я хочу свести количество людей, знающих о саботажах к минимуму, а вы уже в курсе ситуации". ]]};
 
		{"Что я должен сделать?", [[Даркстар рассказывает:"Сейчас отправляетесь в док Наутилуса и наблюдаете за происходящим в течение ночи. Если вы замечаете что-то подозрительное -- принимаете меры на ваше усмотрение", -- Даркстар достает из ящика стола револьвер и кладет перед вами: "Это вам не помешает". ]], code [[
 
            remove(item_colt, "leviathan_captains_cabin");
 
			take(item_colt);
 
			atl_lfc_state = 2;
 
			back();
 
		]]};
 
	};
 
};
 
 
char_moreau_dlg = dlg {
 
	var {
 
		state = 0;
 
		lfc_dialog = false;
 
        lfc_out_dialog = false;
 
        lfc_goldman_imprison = 0;
 
        lfc_goldman_banish = 1;
 
        lfc_leroy_imprison = 0;
 
        lfc_leroy_banish = 1;
 
	};
 
	nam = "Фредерик Моро";
 
	disp = "Фредерик Моро";
 
    reset_more = function(s)
 
        poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions");
 
        
 
        if (atl_rep_moreau < 0) then
 
            if (char_moreau.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end;
 
            if (char_moreau.black_asked == 0) then pon("on_black"); pon("more_questions"); end;
 
            if (char_moreau.darkstar_asked == 0) then pon("on_darkstar"); pon("more_questions"); end;
 
            if (char_moreau.svetlova_asked == 0) then pon("on_svetlova"); pon("more_questions"); end;
 
            if (char_moreau.moreau_asked == 0) then pon("on_moreau"); pon("more_questions"); end;
 
            if (char_moreau.wright_asked == 0) then pon("on_wright"); pon("more_questions"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_moreau.leroy_asked == 0) then pon("on_leroy"); pon("more_questions"); end;
 
                if (char_moreau.jones_asked == 0) then pon("on_jones"); pon("more_questions"); end;
 
                if (char_moreau.goldman_asked == 0) then pon("on_goldman"); pon("more_questions"); end;
 
            end;
 
            
 
            if (char_moreau.atlantis_asked == 0) then pon("on_atlantis"); pon("more_questions"); end;
 
            
 
            
 
            if (char_moreau.navjiarr_asked == 0) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_moreau.learr_asked == 0) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_moreau.ryveerr_asked == 0) then pon("on_ryveerr"); pon("more_questions"); end;
 
            if (atl_iof_learr_dead and char_moreau.aikerjarr_asked == 0) then pon("on_aikerjarr"); pon("more_questions"); end;
 
        else
 
            if char_moreau.drake_asked < 2 then pon("on_drake"); pon("more_questions"); end;
 
            if char_moreau.black_asked < 2 then pon("on_black"); pon("more_questions"); end;
 
            if char_moreau.darkstar_asked < 2 then pon("on_darkstar"); pon("more_questions"); end;
 
            if char_moreau.svetlova_asked < 2 then pon("on_svetlova"); pon("more_questions"); end;
 
            if char_moreau.moreau_asked < 2 then pon("on_moreau"); pon("more_questions"); end;
 
            if char_moreau.wright_asked < 2 then pon("on_wright"); pon("more_questions"); end;
 
            if atl_iof_completed then
 
                if char_moreau.leroy_asked < 2 then pon("on_leroy"); pon("more_questions"); end;
 
                if char_moreau.jones_asked < 2 then pon("on_jones"); pon("more_questions"); end;
 
                if char_moreau.goldman_asked < 2 then pon("on_goldman"); pon("more_questions"); end;
 
            end;
 
            
 
            if (char_moreau.atlantis_asked < 2) then pon("on_atlantis"); pon("more_questions"); end;
 
            
 
            if (char_moreau.navjiarr_asked < 2) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_moreau.learr_asked < 2) then pon("on_learr"); pon("more_questions"); end;
 
            if (atl_iof_learr_dead and char_moreau.learr_asked < 3) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end;
 
            if (atl_iof_learr_dead and char_moreau.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end;
 
        end;
 
    end;   
 
	enter = function(s)
 
        if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then
 
            psub("lfc_warning");
 
            return [[Фредерик Моро сообщает вам: "Месье Дрейк, добрый день. Винсент Даркстар просил вас срочно поговорить с ним". ]];
 
        end;
 
        
 
        if atl_lfc_state == 4 then
 
            if not s.lfc_out_dialog then
 
                s.lfc_out_dialog = true;
 
                if atl_rep_moreau >= 0 then
 
                    if atl_lfc_goldman_exposed then
 
                        poff("leroy");
 
                    else
 
                        poff("both", "goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
                    end;
 
                    psub("lfc_saboteur");
 
@@ -1048,193 +1048,193 @@ char_svetlova_dlg = dlg {
 
                char_svetlova.learr_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                if (atl_iof_learr_dead) then
 
                    char_svetlova.learr_asked = 3;
 
                    return [[Екатерина Светлова отвечает: "Помимо самого факта гибели этой замечательной юной девушки, это событие имеет далеко идущие последствия для Атлантиды". ]];
 
                else
 
                    char_svetlova.learr_asked = 2;
 
                    return [[Екатерина Светлова отвечает: "Леарр -- просто находка для нас всех. Она гораздо меньше скована догмами, чем другие, более старые, представители ее племени. Приятно наблюдать, как она с легкостью впитывает наши знания и с готовностью делится своими". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_ryveerr", false, "Что вы думаете о Ривеерре? ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.ryveerr_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.ryveerr_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Ривеерр -- достаточно дружелюбный и приятный навьяр. Его интеллект позволяет нам общаться с ним практически на равных, с поправкой на отсутствие некоторых знаний и понимания многих известных нам вещей". ]];
 
            end;
 
        end};
 
        {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре? ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.aikerjarr_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.aikerjarr_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Нам всем было бы легче, если бы его не было на Атлантиде. К сожалению, сейчас мы не можем просто взять и прогнать его -- это сделает наше положение еще худшим, чем оно есть". ]];
 
            end;
 
        end};
 
        {always=true, "Вернемся к делу.", [[Светлова кивает: "Говорите".]], code [[ char_svetlova_dlg:reset_more(); pret(); ]]};
 
        {tag = "generic"};
 
		{tag = "sabotage", false, "Даркстар считает, что причиной пожара в Игнисе был саботаж. Что вы об этом думаете?", function(s)
 
			if (atl_iof_learr_dead) then
 
				atl_rep_darkstar = atl_rep_darkstar - 1;
 
				return [[Екатерина Светлова отвечает: "Даркстар просил вас об этом никому не говорить. Разговор окончен". ]];
 
			else
 
			    char_svetlova_dlg.lfc_sabotage = true;
 
				atl_rep_svetlova = atl_rep_svetlova + 1;
 
				return [[Екатерина Светлова отвечает: "Даркстар просил вас об этом никому не говорить, но я понимаю ваш интерес. Саботажником может быть только кто-то из сторонников закрытия станции. Поговорите с Мишелем Леруа, чтобы больше об этом узнать. О саботаже попробуйте поговорить с Уолтером Рэдклиффом, если вам действительно интересно. И, пожалуйста, постарайтесь не разводить панику на станции". ]];
 
			end;
 
		end};
 
		{tag = "ignis_what", false, "Вы знаете, что произошло в Игнисе?", function(s)
 
			if (char_svetlova_dlg.lfc_sabotage) then
 
				return [[Екатерина Светлова отвечает: "Вы же только что сами сказали -- саботаж". ]];
 
			elseif (atl_iof_learr_dead) then
 
				return [[Екатерина Светлова отказывается отвечать: "Мне кажется, это не ваше дело. И не мое. Этим занимается служба безопасности". ]];
 
			else
 
				poff("sabotage");
 
				psub("ignis_sabotage");
 
				return [[Екатерина Светлова отвечает: "Я думаю вы и сами прекрасно знаете. Может расскажете?". ]];
 
			end;
 
		end};
 
        {tag= "iyh1_learr", false, "Я поговорил с навьярами. Леарр отрицает причастность Ираафаанотра к краже реликвии из Дипатреанотра. Ривеерр же открыто признает, что навьяры Дипатреанотра забрали ценности из Ираафаанотра.", [[Светлова разводит руками: "Теперь вы в курсе ситуации. Однако, у нас есть зацепка -- Записи Уильяма. Он мало что оставил нам, но среди найденного есть следующее сообщение", -- Екатерина достает из ящика блокнот и передает вам.^ Вы читаете следующее: "Карты давно утеряны, но отшельник в старом храме обещал помочь. Понятия не имею, что и как он сделает, но если это поможет найти Лсэрианотр -- пусть делает что считает нужным". ]], code [[ dypatreanotrr_temple_found = true; atl_iyh_state = 2; psub('iyh1_sub'); ]]};
 
        {tag= "iyh1_aikerjarr", false, "Я поговорил с навьярами. Аикерьярр отрицает причастность Ираафаанотра к краже реликвии из Дипатреанотра. Ривеерр же открыто признает, что навьяры Дипатреанотра забрали ценности из Ираафаанотра.", [[Светлова разводит руками: "Теперь вы в курсе ситуации. Аикерьярр, конечно, доверия не заслуживает, но Леарр говорила то же самое. Тем не менее, у нас есть зацепка -- Записи Уильяма. Он мало что оставил нам, но среди найденного есть следующее сообщение", -- Екатерина достает из ящика блокнот и передает вам.^ Вы читаете следующее: "Карты давно утеряны, но отшельник в старом храме обещал помочь. Понятия не имею, что и как он сделает, но если это поможет найти Лсэрианотр -- пусть делает что считает нужным". ]], code [[ dypatreanotrr_temple_found = true; atl_iyh_state = 2; psub('iyh1_sub'); ]]};
 
        {tag="more_questions", "У меня есть несколько вопросов.", [[Светлова кивает: "Спрашивайте".]], code [[ psub('ask_more'); ]]};
 
		{always = true, "Я пойду.", [[Светлова возвращается ко своим бумагам: "До встречи". ]], code [[ back(); ]]};
 
        {tag= "iyh1_sub"};
 
        {"Старый храм?", [[Светлова пожимает плечами: "К сожалению, у меня нет ничего кроме намеков. Предполагаю, что где-то здесь может быть еще один храм навьяров, возможно стоит расспросить их?" ]]};
 
        {"Я хотел бы посетить храм Дипатреанотра.", [[Светлова отвечает: "Не думаю, что это хорошая идея. Навьяры не пускают никого внутрь". ]], code [[ pon('outside');]]};
 
        {tag = "outside", false, "Возможно, самое интересное находится снаружи храма.", [[Светлова соглашается: "Возможно. В любом случае -- прошло уже достаточно много времени, чтобы хоть какие-то следы сохранились". ]], code [[ pret(); ]]};
 
		{tag = "ignis_sabotage"};
 
		{"Даркстар считает, что причиной пожара был саботаж", function(s)
 
			psub("generic");
 
			atl_rep_svetlova = atl_rep_svetlova + 1;
 
            return [[Екатерина Светлова отвечает: "Даркстар просил вас об этом никому не говорить, но я понимаю ваш интерес. Саботажником может быть только кто-то из сторонников закрытия станции. Поговорите с Мишелем Леруа, чтобы больше об этом узнать. О саботаже попробуйте поговорить с Уолтером Рэдклиффом, если вам действительно интересно. И, пожалуйста, постарайтесь не разводить панику на станции". ]];
 
		end};
 
		{"Понятия не имею", [[Екатерина Светлова разочарованно отвечает: "Очень жаль". ]], code [[ psub("generic"); ]]};
 
		{tag="secret_op"};
 
		{"Хорошо, я ничего не скажу навьярам. ", [[Екатерина Светлова отвечает: "Отлично. Осталось дождаться, когда вам позволят покидать станцию". ]], code [[ back(); ]]};
 
		{"Мне кажется, нам стоит поставить их в известность. Как они отреагируют, если мы просто принесем им реликвию? ", [[Екатерина Светлова отвечает: "Они будут благодарить нас. А теперь представьте, что вы сообщаете им, что отправляетесь в их священное место охотиться на их священную рыбу. Что будет?" ]], code [[ psub("so_answer"); ]]};
 
		{tag="so_answer"};
 
		{"Да, пожалуй вы правы", [[Екатерина Светлова отвечает: "Отлично. Осталось дождаться, когда вам позволят покидать станцию". ]]};
 
		{"А что будет, если мы принесем им реликвию, которая должна по их мнению быть в Ираафаанотре? Разве они не посчитают, что мы украли ее оттуда? ", [[Екатерина Светлова недовольно отвечает: "Поступайте как знаете. Если ваши действия повредят станции, то Левиафана вам не видать". ]], code [[ back(); ]]};
 
        {tag="learr_back"};
 
        {"Конечно, Леарр будет крайне полезна в нашей экспедиции.", [[Леарр, все это время молча стоявшая рядом, отвечает: "Я благодарю тебя-Дрейк. Ты помог нам-Ираафаанотру-и-Дипатреанотру. Я разрушение-храма-понимаю. Другого-пути не-было". ^Светлова кивает: "Этот вопрос решен. Переходим к следующему. Вы говорили, что нашли фрагмент карты. Можете показать его?"]], code [[
 
            table.insert(pl.party, 'learr');
 
            lifeon("char_learr");
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));
 
            psub("iyh_more");
 
        ]]};
 
        {"Нет, мы справимся без ее помощи.", [[Леарр, все это время молча стоявшая рядом, кивает: "Я предпочла-бы-участвовать-в-экспедиции".]], code [[
 
            psub("learr_back2");
 
        ]]};
 
        {tag="learr_back2"};
 
        {"Хорошо, возвращайся на Левиафан.", [[Леарр отвечает: "Я благодарю тебя-Дрейк. Ты помог нам-Ираафаанотру-и-Дипатреанотру. Я разрушение-храма-понимаю. Другого-пути не-было". ^Светлова кивает: "Этот вопрос решен. Переходим к следующему. Вы говорили, что нашли фрагмент карты. Можете показать его?" ]], code [[
 
            table.insert(pl.party, 'learr');
 
            lifeon("char_learr");
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));
 
            psub("iyh_more");
 
        ]]};
 
        {"Нет, оставайся на Атлантиде", [[Леарр разочарованно отвечает: "Я на-Атлантиде-останусь", -- и выходит из комнаты. ^Светлова качает головой: "Вы зря отказались от ее помощи, Дрейк. Навьяр на борту мог бы оказаться очень полезен. Но, к делу. Вы говорили, что нашли фрагмент карты. Можете показать его?" ]], [[
 
            move("char_learr_atlantis", "atl_oculus_library");
 
            psub("iyh_more");
 
        ]]};
 
		{tag="iyh_more"};
 
        {"[Передать фрагмент карты]Да, конечно. Мы нашли это в скрытом помещении в храме.", [[Екатерина Светлова с интересом рассматривает табличку: "Удивительно, это явно очень старое, но это может быть все что угодно. Да, это карта, она сильно отличается от других навьярских карт, виденных нами. Обратите внимание, на количество деталей -- здесь не только отмечены условными символами три-четыре ориентира. Здесь их десятки, если не сотни. Попробуйте разузнать побольше в Ираафаанотре и Дипатреанотре". ]], code [[ psub("generic"); ]]};
 
        {"[Передать фрагмент карты] Да, конечно. Мы нашли это в скрытом помещении в храме.", [[Екатерина Светлова с интересом рассматривает табличку: "Удивительно, это явно очень старое, но это может быть все что угодно. Да, это карта, она сильно отличается от других навьярских карт, виденных нами. Обратите внимание, на количество деталей -- здесь не только отмечены условными символами три-четыре ориентира. Здесь их десятки, если не сотни. Попробуйте разузнать побольше в Ираафаанотре и Дипатреанотре". ]], code [[ psub("generic"); ]]};
 
	};
 
};
 
 
char_michael_wright_dlg = dlg {
 
    var {
 
        state = 0;
 
        lfc_dialog = false;
 
        lfc_out_dialog = false;
 
        lfc_goldman_execute = 0;
 
        lfc_goldman_imprison = 1;
 
        lfc_goldman_banish = 0;
 
        lfc_leroy_execute = 0;
 
        lfc_leroy_imprison = 1;
 
        lfc_leroy_banish = 0;
 
    };
 
    nam = "Майкл Райт";
 
    disp = "Майкл Райт";
 
    
 
    reset_more = function(s)
 
        poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_aikerjarr", "on_ryveerr", "more_questions");
 
        if (atl_rep_wright < 0) then
 
            if (char_michael_wright.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end;
 
            if (char_michael_wright.black_asked == 0) then pon("on_black"); pon("more_questions"); end;
 
            if (char_michael_wright.darkstar_asked == 0) then pon("on_darkstar"); pon("more_questions"); end;
 
            if (char_michael_wright.svetlova_asked == 0) then pon("on_svetlova"); pon("more_questions"); end;
 
            if (char_michael_wright.moreau_asked == 0) then pon("on_moreau"); pon("more_questions"); end;
 
            if (char_michael_wright.wright_asked == 0) then pon("on_wright"); pon("more_questions"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_michael_wright.leroy_asked == 0) then pon("on_leroy"); pon("more_questions"); end;
 
                if (char_michael_wright.jones_asked == 0) then pon("on_jones"); pon("more_questions"); end;
 
                if (char_michael_wright.goldman_asked == 0) then pon("on_goldman"); pon("more_questions"); end;
 
            end;
 
            
 
            if (char_michael_wright.atlantis_asked == 0) then pon("on_atlantis"); pon("more_questions"); end;
 
            if (char_michael_wright.navjiarr_asked == 0) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_michael_wright.learr_asked == 0) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_michael_wright.ryveerr_asked == 0) then pon("on_ryveerr"); pon("more_questions"); end;
 
            if (atl_iof_learr_dead and char_michael_wright.aikerjarr_asked == 0) then pon("on_aikerjarr"); pon("more_questions"); end;
 
        else
 
            if (char_michael_wright.drake_asked < 2) then pon("on_drake"); pon("more_questions"); end;
 
            if (char_michael_wright.black_asked < 2) then pon("on_black"); pon("more_questions"); end;
 
            if (char_michael_wright.darkstar_asked < 2) then pon("on_darkstar"); pon("more_questions"); end;
 
            if (char_michael_wright.svetlova_asked < 2) then pon("on_svetlova"); pon("more_questions"); end;
 
            if (char_michael_wright.moreau_asked < 2) then pon("on_moreau"); pon("more_questions"); end;
 
            if (char_michael_wright.wright_asked < 2) then pon("on_wright"); pon("more_questions"); end;
 
            if (atl_iof_completed) then
 
                if (char_michael_wright.leroy_asked < 2) then pon("on_leroy"); pon("more_questions"); end;
 
                if (char_michael_wright.jones_asked < 2) then pon("on_jones"); pon("more_questions"); end;
 
                if (char_michael_wright.goldman_asked < 2) then pon("on_goldman"); pon("more_questions"); end;
 
            end;
 
            
 
            if (char_michael_wright.atlantis_asked < 2) then pon("on_atlantis"); pon("more_questions"); end;
 
            if (char_michael_wright.navjiarr_asked < 2) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_michael_wright.learr_asked < 2) then pon("on_learr"); pon("more_questions"); end;
 
            if (atl_iof_learr_dead and char_michael_wright.learr_asked < 3) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_michael_wright.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end;
 
            if (atl_iof_learr_dead and char_michael_wright.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end;
 
        end;
 
    end;
 
    
 
    enter = function(s)
 
        if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then
 
            psub("lfc_warning");
 
            return [[Майкл Райт сообщает вам: "Добрый день. Винсент Даркстар просил вас срочно поговорить с ним". ]];
 
        end;
 
        poff('nih_fixed');
 
        if atl_nih_state == 2 or atl_nih_state == 1 then
 
            pon('nih_fixed');
 
        end;
 
        
 
        if (atl_lfc_state ~= 1) then
 
            poff('sabotage', 'ignis_what');
 
        end;
 
        
 
        if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
            s.lfc_dialog = true;
 
            pon('sabotage', 'ignis_what');
 
        end;
 
        
 
        s:reset_more();
 
        
 
        if (atl_iof_completed and char_michael_wright.iof_reaction == 0) then
 
            char_michael_wright.iof_reaction = 1;
 
            if (atl_iof_learr_dead) then
 
                psub("iof_learr_dead");
 
                return [[Майкл Райт обращается к вам: "Господин Дрейк, рад видеть вас живым и здоровым. Трагедия на Игнисе стала для нас неожиданностью. Быть может, если бы мы были готовы к такому, Леарр была бы здесь, с нами". ]];
 
            elseif (atl_iof_learr_suit) then
 
                psub("iof_learr_suit");
 
                return [[Майкл Райт обращается к вам: "Господин Дрейк, рад видеть вас живым и здоровым. Авария на Игнисе стала для нас неожиданностью, однако благодаря вашим действиям никто не пострадал, а мы получили ценный опыт". ]];
 
            else
 
                psub("iof_learr");
 
                return [[Майкл Райт обращается к вам: "Господин Дрейк, рад видеть вас живым и здоровым. Авария на Игнисе стала для нас неожиданностью, однако благодаря вашим действиям никто не пострадал". ]];
 
            end;
 
        elseif (atl_nih_state == 3 and atl_iof_completed and atl_fta_state == 0) then
 
            atl_fta_state = 1;
 
@@ -1243,193 +1243,193 @@ char_michael_wright_dlg = dlg {
 
        elseif (atl_fta_state == 2) then
 
            atl_fta_state = 3;
 
            psub("fta_deb");
 
            return [[Майкл Райт протягивает вам руку: "Только благодаря вам, мы все еще здесь. Я с радостью сообщу Моро, что я за возвращение вам Левиафана". ]];
 
        else
 
            if atl_lfc_state == 4 then
 
                if not s.lfc_out_dialog then
 
                    s.lfc_out_dialog = true;
 
                    if atl_rep_svetlova >= 0 then
 
                        if atl_lfc_goldman_exposed then
 
                            poff("leroy");
 
                        else
 
                            poff("both", "goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
                        end;
 
                        psub("lfc_saboteur");
 
                        return [[Майкл Райт просматривает какие-то чертежи. Как только вы подходите, он отвлекается и приветствует вас: "Добрый день. Даркстар сказал, что вы зайдете обсудить поимку саботажников. Я вас слушаю". ]];
 
                    else
 
                        psub("generic");
 
                        return [[Майкл Райт просматривает какие-то чертежи. Как только вы подходите, он отвлекается и приветствует вас: "Добрый день. Если вы пришли обсудить поимку саботажников, то у меня нет на это времени". ]];
 
                    end;
 
                end;
 
            end;
 
        
 
            psub("generic");
 
            return [[Майкл Райт просматривает какие-то чертежи. Как только вы подходите, он отвлекается и приветствует вас: "Добрый день. Чем могу быть полезен?" ]];
 
        end;        
 
    end;
 
    phr = {
 
        {tag="lfc_saboteur"};
 
        {tag="both","Что вы будете делать с саботажниками?", [[Майкл Райт отвечает: "Я думаю стоит подержать их немного взаперти. Пусть подумают над своим поведением. Когда вернется Уильям, будем решать, что делать с ними дальше". ]]};
 
        {tag="goldman_1", "Одному сумасшедшему никто не поверит, Голдмана стоит отпустить. ", [[Майкл Райт кивает: "Соглашусь с вами. Просто выкинем его на поверхность". ]], code [[
 
            char_michael_wright_dlg.lfc_goldman_banish = 1;
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="goldman_2", "Голдман -- трус. Он никому ничего не скажет. Его можно отправить на поверхность. ", [[Майкл Райт кивает: "Соглашусь с вами. Просто выкинем его на поверхность". ]], code [[
 
            char_michael_wright_dlg.lfc_goldman_banish = 1;
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="goldman_3", "Голдман хитер. На станции он представляет большую опасность, чем вне ее. ",  [[Майкл Райт ухмыляется: "Это этот-то хитер?" ]], code [[
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="goldman_4", "Голдман просто хотел выбраться отсюда. Пусть убирается с Атлантиды. ", [[Майкл Райт кивает: "Соглашусь с вами. Просто выкинем его на поверхность". ]], code [[
 
            char_michael_wright_dlg.lfc_goldman_banish = 1;
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="goldman_5", "Отпускать Голдмана на поверхность нельзя. Единственный выход -- смертная казнь. ", [[Майкл Райт отрицательно качает головой: "Леонард хороший человек. Все мы совершаем ошибки". ]], code [[
 
            atl_rep_wright = atl_rep_wright - 1;
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="goldman_6", "Голдман подверг опасности все наше дело. Единственный выход -- смертная казнь. ", [[Майкл Райт отрицательно качает головой: "Леонард хороший человек. Все мы совершаем ошибки". ]], code [[
 
            atl_rep_wright = atl_rep_wright - 1;
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="goldman_7", "Голдман хитер. Вне станции он будет не менее опасен, чем на ней. ", [[Майкл Райт ухмыляется: "Это этот-то хитер?" ]], code [[
 
            poff("goldman_1", "goldman_2", "goldman_3", "goldman_4", "goldman_5", "goldman_6", "goldman_7");
 
        ]]};
 
        {tag="leroy", "Что вы будете делать с саботажником?", [[Екатерина Светлова отвечает, не задумываясь: "Запереть его в темной камере, пока не раскается в своих действиях, а потом посмотрим". ]]};
 
        {tag="leroy_1", "Одному сумасшедшему никто не поверит, Леруа стоит отпустить. ",  [[Майкл Райт кивает: "Соглашусь с вами. Просто выкинем его на поверхность". ]], code [[
 
            char_michael_wright_dlg.lfc_goldman_banish = 1;
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {tag="leroy_2", "Леруа -- трус. Он никому ничего не скажет. Его можно отправить на поверхность. ", [[Майкл Райт ухмыляется: "Это этот-то трус?" ]], code [[
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {tag="leroy_3", "Леруа хитер. На станции он представляет большую опасность, чем вне ее. ", [[Майкл Райт кивает: "Соглашусь с вами. Просто выкинем его на поверхность". ]], code [[
 
            char_michael_wright_dlg.lfc_leroy_banish = 1;
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {tag="leroy_4", "Леруа просто хотел выбраться отсюда. Пусть убирается с Атлантиды. ", [[Майкл Райт кивает: "Соглашусь с вами. Просто выкинем его на поверхность". ]], code [[
 
            char_michael_wright_dlg.lfc_leroy_banish = 1;
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {tag="leroy_5", "Отпускать Леруа на поверхность нельзя. Единственный выход -- смертная казнь. ", [[Майкл Райт задумчиво смотрит на вас: "Может вы и правы, но все же это тяжелый выбор". ]], code [[
 
            char_michael_wright_dlg.lfc_leroy_execute = 1;
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {tag="leroy_6", "Леруа подверг опасности все наше дело. Единственный выход -- смертная казнь. ", [[Майкл Райт задумчиво смотрит на вас: "Может вы и правы, но все же это тяжелый выбор". ]], code [[
 
            char_michael_wright_dlg.lfc_leroy_execute = 1;
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {tag="leroy_7", "Леруа хитер. Вне станции он будет не менее опасен, чем на ней. ", [[Майкл Райт отвечает: "Вот поэтому я и считаю, что его нужно держать под стражей. "]], code [[
 
            poff("leroy_1", "leroy_2", "leroy_3", "leroy_4", "leroy_5", "leroy_6", "leroy_7");
 
        ]]};
 
        {"Это все, что я хотел обсудить по данному вопросу. ", [[Екатерина Светлова кивает и спрашивает: "Что-нибудь еще?"]], code [[ psub("generic");]] };
 
        {tag="lfc_warning"};
 
        {always=true, "Мне пора.", [["До встречи", -- Майкл Райт возвращается к своим делам. ]], code [[ back(); ]]};
 
        {tag="iof_learr_dead"};
 
        {"Мне очень жаль.", [[Майкл Райт кивает: "Утерянного не вернуть. Мы сделали выводы и постараемся не допустить опасных инцидентов в будущем". ]], code [[psub("generic");]]};
 
        {"Я чуть не погиб там!", [[Майкл Райт отворачивается от вас и произносит: "Приходите позже, я занят". ]], code [[ atl_rep_wright = atl_rep_wright - 1; back(); ]]};
 
        {tag="iof_learr_suit"};
 
        {"Я сделал, что должен был. ", [[Майкл Райт кивает: "И все же, не каждому пришла бы в голову идея облачить навьяра в скафандр".]], code [[psub("generic");]]};
 
        {tag="iof_learr"};
 
        {"Рад, что никто не пострадал. ", [[Майкл Райт кивает. ]], code [[ psub("generic"); ]]};
 
        {tag="fta_agree"};
 
        {"Хорошо, я сделаю, что смогу. ", [[Майкл Райт спрашивает: "Вы что-то еще хотели?" ]], code [[psub("generic"); ]]};
 
        {tag="fta_deb"};
 
        {"[Пожать руку]Только я все еще не знаю, куда мне следует плыть.", [[Майкл Райт кивает: "Мы сделаем все возможное, чтобы помочь вам. Светлова сказала мне, что вы помогаете ей в решении каких-то проблем с навьярами. По ее мнению, это может помочь вам в поисках". ]], code [[ psub('generic'); ]]};
 
        {"[Пожать руку] Только я все еще не знаю, куда мне следует плыть.", [[Майкл Райт кивает: "Мы сделаем все возможное, чтобы помочь вам. Светлова сказала мне, что вы помогаете ей в решении каких-то проблем с навьярами. По ее мнению, это может помочь вам в поисках". ]], code [[ psub('generic'); ]]};
 
        {"Просто верните мне Левиафан.", [[Майкл Райт с сожалением произносит: "Не все так просто. Нужно, чтобы согласие дали еще Моро, Даркстар и Светлова". ]], code [[ psub('generic'); ]]};
 
        {tag="ask_more"};
 
        {tag="on_drake", false, "Расскажите об Уильяме. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.drake_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.drake_asked = 2;
 
                return [[Майкл Райт отвечает: "Я познакомился с вашим отцом во время нашей учебы в университете. Он никогда не относился серьезно к учебе, но уже тогда он умел собирать вокруг себя людей. Создание Вестхейвен Трансоушен было его идеей. Я помню, как мы с Моро первое время очень сомневались, стоит ли ввязываться в подобную авантюру. Дрейк активно развивал компанию, пока она существовала. Наверное, любой другой на месте Дрейка отправил бы меня лечиться, услышав мое предложение создать подводный корабль. Уильям тогда внимательно выслушал меня, задал пару вопросов и выделил деньги на проект". ]];
 
            end;
 
        end};
 
        {tag="on_jack", false, "Расскажите о своем сыне. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.jack_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.jack_asked = 2;
 
                if (atl_jack_in_party) then
 
                    return [[Майкл Райт отвечает: "Мой сын, Джек, остался на поверхности вместе с моей женой, Элис. Я оставил им дом и немаленькое состояние, в надежде, что они справятся сами. Жаль, что все так получилось. Элис умерла, а Джек потратил лучшие годы на безуспешные попытки найти меня. Спасибо, что взяли моего сына с собой". ]];
 
                else
 
                    psub("son");
 
                    return [[Майкл Райт отвечает: "Мой сын, Джек, остался на поверхности вместе с моей женой, Элис. Я оставил им дом и немаленькое состояние, так что надеюсь, что у них все хорошо". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_black", false, "Расскажите об Адриане Блэке. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.black_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.black_asked = 2;
 
                return [[Майкл райт отвечает: "Адриан -- университетский друг вашего отца. Он всегда уравновешивал Дрейка во многих отношениях. Там где Дрейк готов был пойти на риск, Блэк призывал к осторожности. Там где Дрейк соглашался на уступки, Блэк стоял до последнего. К слову, мою идею с субмариной Адриан не одобрил. К счастью, ваш отец все же позволил мне этим заняться". ]];
 
            end;
 
        end};
 
        {tag="on_darkstar", false, "Расскажите о Винсенте Даркстаре ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.darkstar_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.darkstar_asked = 2;
 
                return [[Майкл Райт отвечает: "Я почти ничего о нем не знаю. Впрочем, не думаю, что кто-то на станции может сказать о нем что-то. Параноидальный тип. Я вообще не понимаю, как он согласился сюда пеерехать. Тогда он мне целый допрос устроил -- чуть ли не в каждую линию на чертеже тыкал и спрашивал для чего это нужно. Думаю, мне стоит гордиться, что Атлантида прошла его проверку". ]];
 
            end;
 
        end};
 
        {tag="on_svetlova", false, "Расскажите о Екатерине Светловой. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.svetlova_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.svetlova_asked = 2;
 
                return [[Майкл Райт отвечает: "Екатерина присоединилась к нам достаточно поздно -- уже после испытаний Надежды. Странно, что ей не пришла в голову идея построить Атлантиду. Впрочем, ее мало интересует техническая сторона вопроса -- она здесь чтобы изучать навьяров и не скрывает это". ]];
 
            end;
 
        end};
 
        {tag="on_moreau", false, "Расскажите о Фредерике Моро. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.moreau_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.moreau_asked = 2;
 
                return [[Майкл Райт отвечает: "Фредерик с нами с самого начала. Хотя его влияние может показаться незначительным -- многие на станции даже не слышали о нем, пока он не занял пост управляющего -- он все же делал важное дело. Благодаря ему мы смогли завершить многие проекты вовремя, ведь за все поставки материалов отвечал именно он. С управлением станцией он так же справляется неплохо, хотя здесь все гораздо проще, чем было на поверхности". ]];
 
            end;
 
        end};
 
        {tag="on_wright", false, "Расскажите о себе. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.wright_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.wright_asked = 2;
 
                if (atl_jack_in_party) then
 
                    return [[Майкл Райт отвечает: "Родился я в Лондоне. Окончил один из местных университетов, получив специальность инженера-кораблестроителя. Вместе с вашим отцом, Фредериком Моро и Адрианом Блэком мы основали Вестхейвен Трансоушен. Поначалу моя работа была далеко не идеальной -- мы купили несколько старых кораблей и привели их в порядок. Мы довольно быстро заработали хорошую репутацию. Дела шли на подъем и, наконец, у нас появились собственные верфи. К этому времени я уже имел глупость жениться. Я спроектировал несколько судов для компании. Лучшим была Огненная Стрела -- быстроходный комфортабельный пароход, вмещающий больше двух сотен пассажиров. Ну и наконец мы построили Надежду. Сказать, что мы удивилсь, когда встретили навьяров -- ничего не сказать. К сожалению, встреча не прошла бескровно -- наши люди просто вышли поговорить, показать себя. А эти рыбни закидали несчастных супругов Барнз копьями! Блэк тогда не дал мне пустить торпеду в этих уродов, и я до сих пор зол на него за это, хотя умом понимаю, что он был прав. Да и не было бы никакой Атлантиды, убей я тогда тех навьяров. Несколько месяцев мы обсуждали, что делать дальше. Потом мы с Сильвией придумали Атлантиду и переселились сюда, -- Райт вздыхает, -- В своем увлечении я позабыл обо всем. Я оставил свою жену, Элис, и сына, Джека, на поверхности. Если честно, я скорее жалею, что женился, чем что оставил их там. Это не делает мою ошибку меньше". ]];
 
                else
 
                    return [[Майкл Райт отвечает: "Родился я в Лондоне. Окончил один из местных университетов, получив специальность инженера-кораблестроителя. Вместе с вашим отцом, Фредериком Моро и Адрианом Блэком мы основали Вестхейвен Трансоушен. Поначалу моя работа была далеко не идеальной -- мы купили несколько старых кораблей и привели их в порядок. Мы довольно быстро заработали хорошую репутацию. Дела шли на подъем и, наконец, у нас появились собственные верфи. К этому времени я уже имел глупость жениться. Я спроектировал несколько судов для компании. Лучшим была Огненная Стрела -- быстроходный комфортабельный пароход, вмещающий больше двух сотен пассажиров. Ну и наконец мы построили Надежду. Сказать, что мы удивилсь, когда встретили навьяров -- ничего не сказать. К сожалению, встреча не прошла бескровно -- наши люди просто вышли поговорить, показать себя. А эти рыбни закидали несчастных супругов Барнз копьями! Блэк тогда не дал мне пустить торпеду в этих уродов, и я до сих пор зол на него за это, хотя умом понимаю, что он был прав. Да и не было бы никакой Атлантиды, убей я тогда тех навьяров. Несколько месяцев мы обсуждали, что делать дальше. Потом мы с Сильвией придумали Атлантиду и переселились сюда". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_leroy", false, "Что вы думаете о Мишеле Леруа? ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.leroy_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.leroy_asked = 2;
 
                return [[Майкл Райт отвечает: "Мишель Леруа уже давно создает проблемы на Атлантиде -- он первым начал активно поднимать вопрос возвращения на поверхность. Не думаю, что вам стоит на него обращать внимание". ]];
 
            end;
 
        end};
 
        {tag="on_jones", false, "Что вы думаете о Чарли Джонсе? ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.jones_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.jones_asked = 2;
 
                return [[Майкл Райт отвечает: "Джонс, кажется, не в восторге, что наше пребывание на Атлантиде затянулось. К счастью, в отличие от Леруа, он не пытается всех убедить в своей правоте. Если вас интересует, мог ли он саботировать Игнис, то я не считаю это вероятным". ]];
 
            end;
 
        end};
 
        {tag="on_goldman", false, "Что вы думаете о Леонарде Голдмане? ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.goldman_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
@@ -1658,193 +1658,193 @@ char_anna_atlantis_dlg = dlg {
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
			rel_walter = rel_walter - 1;
 
			rel_anna = rel_anna - 1;
 
			return [[Анна удивленно смотрит на вас: "Зачем вы это говорите? Кому может прийти в голову подобное?" ]];
 
		end};
 
		{tag="ignis_what", "Вы знаете, что произошло в Игнисе?", [[Анна отрицательно качает головой: "Мне почти ничего неизвестно. Поговорите с Даркстаром или Райтом. Или спросите моего брата, Уолтера. Я думаю он в курсе". ]]};
 
        {tag="more_questions", "У меня есть несколько вопросов.", [[Анна отвечает: "Да, я слушаю".]], code [[ psub('ask_more'); ]]};
 
		{always=true, "Я пойду.", [[Анна прощается с вами: "До встречи". ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_learr_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
        lfc_dialog = false;    
 
        sabotage_explained = false;
 
	};
 
	nam = "Леарр";
 
	disp = "Леарр";
 
	enter = function(s)
 
        if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
            s.lfc_dialog = true;
 
            pon('sabotage', 'ignis_what');
 
        elseif (atl_lfc_state ~= 1) then
 
            poff('sabotage', 'ignis_what');
 
        end;    
 
    
 
		if (s.state == 0) then
 
			if (char_learr_atlantis.offended) then
 
				psub("offended");
 
				return [[Леарр поворачивается к вам, плавники ее становятся ярко-фиолетовыми. Она рычит: "Прриветсствую, монсстрр. Мы говоррить-будем?" ]];
 
			else
 
				psub("pre_iof");
 
				return [[Леарр поворачивается к вам, плавники ее принимают едва заметный сине-зеленый оттенок, а она говорит: "Я прриветсствую тебя-he'vji'a'rr". ]];
 
			end;
 
		elseif (s.state == 1) then
 
			s.state = 2;
 
			psub("after_iof");
 
			if (atl_iof_learr_suit) then
 
				return [[При виде вас, плавники Леарр меняют цвет на ярко-зеленый. Она плавно опускает руки вниз и слегка наклоняется вперед. Выпрямившись, она произносит: "Я благодарю тебя. Мне твоя-идея-понравилась". ]];
 
			else
 
				return [[При виде вас, плавники Леарр меняют цвет на ярко-зеленый. Она плавно опускает руки вниз и слегка наклоняется вперед. Выпрямившись, она произносит: "Я благодарю тебя". ]];
 
			end;
 
		else
 
            if (rel_learr < 0) then
 
                if (char_learr.on_books == 0) then pon("on_books") end;
 
            else
 
                if (char_learr.on_books < 2) then pon("on_books") end;
 
            end;
 
            
 
            poff('iyh1', 'iyh4', 'iyh5');
 
            if (atl_iyh_state == 1 and not atl_iyh_learr_spoken) then
 
                pon('iyh1');
 
            elseif (atl_iyh_state == 2 and ArrayUtils.indexOf(pl.party, 'learr') == 0) then
 
                pon('iyh2');
 
			elseif (atl_iyh_state == 4) then
 
				pon("iyh4");
 
			elseif (atl_iyh_state == 5) then
 
				pon("iyh5");
 
			end;
 
			psub("generic");
 
			if (rel_learr > 0) then
 
				return [[Леарр поворачивается к вам, плавники ее принимают сине-зеленый оттенок, а она говорит: "Я рада-видеть тебя". ]];
 
			else
 
				return [[Леарр поворачивается к вам, плавники ее принимают едва заметный сине-зеленый оттенок, а она говорит: "Я приветствую тебя-he'vji'a'rr". ]];
 
			end;
 
		end;
 
	end;
 
	phr = {
 
		{tag='offended'};
 
		{"Монстр?", [[Леарр молча кивает. Оттенок головных плавников на мгновение сменяется на желтый, но затем снова становится фиолетовым: "Ты так-назвал меня. Мы будем-дальше-монстрами-называть друг-друга?" ]], code [[ psub('offended_yes_no') ]]};
 
		{tag='offended_yes_no'};
 
		{"Не думаю", [[Леарр кивает, ее плавники медленно теряют цвет. Она говорит: "Я слушаю тебя. Ты говори". ]], code [[ 
 
            char_learr_atlantis_dlg.state = 1;
 
            walk('atl_iof_intro'); 
 
        ]]};
 
		{"От этого суть не изменится, чудище", [[Леарр скалится, показывая блестящие острые зубки: "Ты убиррайся, пока я тебя не ссъела". ]], code [[ 
 
			char_learr_atlantis_dlg.state = 1;
 
			walk('atl_iof_intro'); 
 
		]]};
 
		{tag='pre_iof'};
 
		{"He'vji'a'rr?", [[Леарр кивает: "Мы так-наззываем пришшедшших-сс-поверхноссти-васс". ]]};
 
		{"Я хотел кое-что спросить.", [["Ты говорри", -- просит Леарр. ]], code [[ 
 
			char_learr_atlantis_dlg.state = 1;
 
			walk('atl_iof_intro'); 
 
		]]};
 
		{tag="after_iof"};
 
		{"Рад, что смог помочь", [[Леарр кивает, все еще находясь в явном возбуждении: "Ты говоррить-пришшел? Ты говорри". ]], code [[ psub("generic"); ]]};
 
		{"У меня не было выбора", [[Леарр непонимающе смотрит на вас, однако говорит: "Я благодаррю тебя. Ты говорри".
 
		]], code [[ rel_learr = rel_learr - 1; psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="iyh1", "Расскажи о вашем конфликте с Дипатреанотром.", [[Леарр начинает рассказывать, активно жестикулируя: "Рреликвия нессколько-дней-наззад-изз-нашшего-хррама-прропала. Na'vji'a'yhe'dyp'atre'anot'rr вззяли нашшу-рреликвию! Они потом-в-наш-город-пришли и требовали-вернуть их-реликвию! Мы не-брали ее и это-сказали им!" -- Леарр недовольно топает и шипит, -- "Они нам-не-верят! Они украли нашу-вещь и не-верят нам!" ]], code [[ atl_iyh_learr_spoken = true; ]]};
 
        {tag="iyh2", "Я отправляюсь в храм Дипатреанотра. Мне не помешает твоя помощь.", [[Плавники Леарр принимают фиолетовый оттенок: "He'vji'a'rr нельзя туда!"]], code [[ psub("join_me"); ]]};      
 
		{tag="iyh4", "Здесь неподалеку есть старый навьярский храм. Я прошу разрешения посетить его.", [[Леарр задумчиво произносит: "He'vji'a'rr нельзя-туда... Я место-не-знаю".^Немного постояв в задумчивости, Леарр восклицает: "Мы-вместе туда-пойдем! Ривеерр это-не-одобрит, но я с-ним-поговорю". ]], code [[ psub("iyh_agree"); ]]};
 
        {tag="sabotage", false, "Ты знаешь, что пожар начался из-за саботажа?", [[Леарр непонимающе крутит головой: "Я что-ты-говоришь-не-понимаю. Что саботаж?" ]], code [[ poff("ignis_what");psub("sabotage_explain"); ]]};
 
        {tag="ignis_what", false, "Ты знаешь, почему начался пожар в Игнисе?", [[Леарр неуверенно пожимает плечами: "Я ты-лучше-знаешь-думаю. Ты расскажешь?"]], code [[ psub("sabotage_reason"); ]]};
 
        {tag="books", false, "[Показать на книгу]Ты читаешь наши книги?", function(s)
 
        {tag="books", false, "[Показать на книгу] Ты читаешь наши книги?", function(s)
 
            if (rel_learr < 0) then
 
                char_learr.on_books = 1;
 
                return [[Леарр неохотно отвечает: "Я иногда-читаю". Она явно не хочет говорить с вами об этом сейчас. ]];
 
            else
 
                char_learr.on_books = 2;
 
                psub("more_on_books");
 
                return [[Леарр отвечает: "Я иногда-читаю". Она опускает глаза на книгу, потом смотрит на вас. Немного подумав, она отвечает, как-бы нехотя: "Я не-умею-ваш-язык-читать. Я пытаюсь-учусь. Мари помогает". ]];
 
            end;
 
        end};
 
		{"Я пойду.", [[Плавники Леарр медленно теряют цвет и она прощается с вами: "Ты воззврращщайсся". ]], code [[back();]]};
 
        {tag="join_me"};
 
        {"Я не собираюсь входить внутрь, но мне нужно осмотреть его окрестности.", [[Цвет плавников Леарр меняется на оранжевый и затем на желтый. Она соглашается: "Я с-тобой-пойду. Я давно-в-Ираафаанотре-не-была". ]], code [[
 
            lifeon("char_learr");
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));
 
            table.insert(pl.party, 'learr');
 
            pret();
 
        ]]};
 
        {"Для этого ты мне и нужна.", [[Цвет плавников Леарр меняет цвет на синий. Она соглашается: "Я согласна. Я с-тобой-пойду". ]], code [[
 
            lifeon("char_learr");
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));
 
            table.insert(pl.party, 'learr');
 
            pret();
 
        ]]};
 
        {tag="sabotage_explain"};
 
        {"Кто-то из работников станции устроил пожар.", [[Леарр непонимающе смотрит на вас: "Я зачем-не-понимаю". ]], code [[char_learr_atlantis_dlg.sabotage_explained = true; pon("explanation2", "avoid");]]};
 
        {tag="explanation2", false, "Он сделал это специально с какой-то собственной целью.", [[Леарр все еще не понимая переспрашивает: "Зачем?"]]};
 
        {"Не думаю, что есть смысл об этом еще говорить.", function(s)
 
            if (char_learr_atlantis_dlg.sabotage_explained) then
 
                return [[Леарр кивает: "Я благодарю-за-объяснение тебя". ]];
 
            else
 
                return [[Леарр кивает. ]];
 
            end;
 
        end};
 
        {tag="sabotage_reason"};
 
        {"Это был саботаж.", [[Леарр непонимающе крутит головой: "Я что-ты-говорришшь-не-понимаю. Что ссаботажж?" ]], code [[ poff("sabotage"); psub("sabotage_explain"); ]]};
 
        {"Я не знаю. Но хотел бы знать", [[Леарр разочарованно вздыхает: "Ты ессли-уззнаешшь-рассскажжи". ]], code [[psub("generic");]]};
 
        {tag="more_on_books"};
 
        {"Я могу помочь?", [[Леарр кивает: "Я думаю-ты-дрругим-делом-ззанят. Я не-хчочу-мешшать". ]], code[[ char_learr.on_books = 3; pret(); ]]};
 
        {"Давно ты этим занимаешься?", [[Леарр кивает: "Я с-ссамого-пррибытия-вашши-книги-учуссь-читать. Я надеюссь-вссе-пойму ссо-врременем". ]]};
 
        {"Как у тебя успехи?", [[Леарр смущенно отвечает: "Я ещще-многое-не-понимаю. Но я ссо-врременем-пойму-надеюссь". ]]};
 
        {"Давай поговорим о другом.", [[Леарр кивает: "Ты говорри". ]], code [[pret();]]};
 
        {tag="legend2", empty=code [[back();]]};
 
        {"Значит, вы не брали реликвию?", [[Леарр недовольно шипит: "Ты тожже-мне-не-верришшь?! Ухходи!"]]};
 
        {"У тебя есть идеи, куда могла пропасть их реликвия?", [[Леарр отрицательно качает головой: "Нет". ]]};
 
		{tag="iyh_agree"};
 
		{"Я согласен. Только так мы докажем Дипатреанотру, что вы ни при чем.", [[Леарр отвечает: "Ты сообщщи, когда готов-будешшь. Мы поззжже-поговоррим". ]], code [[ 
 
			lifeon("char_learr");
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));         
 
			table.insert(pl.party, 'learr');
 
			atl_iyh_state = 6; 
 
			back(); 
 
		]]};
 
		{"Лучше я отправлюсь один.", [[Леарр недовольно шипит: "Не взздумай! Ты ссебе, мне и Ry'vee'rr-у ххужже ссделаешшь". ]]};
 
	};
 
};
 
 
char_aikerjarr_dlg = dlg {
 
	var {
 
		state = 0;
 
        lfc_dialog = false;      
 
	};
 
	nam = "Аикерьярр";
 
	enter = function(s)
 
        if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
            s.lfc_dialog = true;
 
            pon('sabotage', 'ignis_what');
 
        elseif (atl_lfc_state ~= 1) then
 
            poff('sabotage', 'ignis_what');
 
        end;
 
        if (s.state == 0) then
 
            psub("first_meeting");
 
            return [[Перед вами стоит высокий стройный навьяр. Серебристая чешуя сверкает в свете электрических ламп. Неприязненный взгляд его зеленых глаз направлен на вас. Существо одето в темно-зеленые облегающие штаны и куртку из водорослей. В правой руке навьяр держит острозаточенное коралловое копье. ]];
 
		elseif (s.state == 1) then
 
			psub("generic");
 
		
 
            poff('iyh1', 'iyh2', 'iyh4', 'iyh5');
 
            if (atl_iyh_state == 1 and not atl_iyh_aikerjarr_spoken) then
 
                pon('iyh1');
 
            elseif (atl_iyh_state == 2 and not atl_iyh2_aikerjarr_spoken) then
 
                pon('iyh2');
 
			elseif (atl_iyh_state == 4) then
 
				pon("iyh4");
 
			elseif (atl_iyh_state == 5) then
 
				pon("iyh5");
 
			end;
 
		end;
 
		return [[Аикерьярр презрительно смотрит на вас, не говоря ни слова. ]];
 
	end;
 
	phr = {
 
        {tag = "first_meeting"};
 
        {always = "true", "Ты Аикерьярр?", [[Навьяр нехотя отвечает: "I'yhe'Aike'rya'yhe'iraa'pha-anot'rr". ]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_2a"); ]]};
 
        {always = "true", "Добрый день.", [[Навьяр нехотя отвечает: "I'yhe'Aike'rya'yhe'iraa'pha-anot'rr vta'lyt'nn ty'yhe'he'vji'a'rr". ]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_2b"); ]]};
 
        {always = "true", "Приветствую.", [[Навьяр нехотя отвечает: "I'yhe'Aike'rya'yhe'iraa'pha-anot'rr vta'lyt'nn ty'yhe'he'vji'a'rr". ]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_2b"); ]]};
 
        {tag="first_meeting_2a"};
 
        {always = "true", "Нам нужно поговорить.", [[Навьяр надменно бросает: "I'rr vtre'za'nn he'vji'a'za'rr".]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_3a");]]};
 
        {tag="first_meeting_2b"};
 
@@ -2317,382 +2317,382 @@ char_legrand_dlg = dlg {
 
		{"Расскажите больше об Адриане Блэке.", [[Мари Легран рассказывает: "Блэк -- заместитель Дрейка. По-крайней мере, официально он занимал именно эту должность. По факту, он был близким другом вашего отца и компанией они управляли вместе". ]]};
 
		{"Расскажите больше о Джоне Брауне.", [[Мари Легран рассказывает: "У Джона золотые руки, наверное, именно поэтому Дрейк взял в экспедицию именно его". ]]};
 
		{"Расскажите больше о Антонио Гарсии.", [[Мари Легран рассказывает: "Талантливый молодой человек. Он хорошо знает язык навьяров и много с ними общался". ]]};
 
		{"Поговорим в другой раз.", [[Мари Легран кивает: "Хорошо".]], code [[pret();]]};
 
	};
 
};
 
 
char_radcliffe_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
		lfc_dialog = false;
 
	};
 
	nam = "Уолтер Рэдклифф";
 
	disp = "Уолтер Рэдклифф";
 
    
 
    reset_more = function(s)
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", "talk");
 
        if (rel_walter < 0) then
 
            pon("talk");
 
        else
 
            if (char_radcliffe.on_anna < 2) then
 
                pon("on_anna");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_black < 2) then
 
                pon("on_black");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_walter < 2) then
 
                pon("on_walter");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_atlantis < 2) then
 
                pon("on_atlantis");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_drake < 2) then
 
                pon("on_drake");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_join < 2) then
 
                pon("on_join");
 
                pon("talk");
 
            end;
 
        end;
 
    end;
 
    
 
	enter = function(s)
 
        s:reset_more();
 
    
 
		if (atl_lfc_state ~= 1) then
 
			poff('sabotage', 'ignis_what');
 
		end;
 
		
 
		if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
			s.lfc_dialog = true;
 
			pon('sabotage', 'ignis_what');
 
		end;
 
	
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[
 
				Перед вами стоит человек лет сорока--сорока-пяти, одетый в рабочий халат. Как только вы входите, он протягивает вам руку: "Добро пожаловать, господин Дрейк. Уолтер Рэдклифф, инженер".
 
			]];
 
		else
 
			psub("generic");
 
			return [[
 
				Уолтер Рэдклифф кивает вам: "Добрый день".
 
			]];
 
		end;
 
	end;
 
	phr = {
 
        {tag="questions"};
 
        {tag="on_black", "Что ты можешь сказать о Блэке?", function(s)
 
            char_radcliffe.on_black = 2;
 
            return [[Уолтер пожимает плечами: "Что я могу сказать про него? Он хороший друг Дрейка и вполне искренне радеет за благополучие нашей миссии. Однако, я думаю, его истинные цели могут отличаться от наших". ]];
 
        end};
 
        {tag="on_walter", "Расскажи о себе.", function(s)
 
            char_radcliffe.on_walter = 2;
 
            return [[Уолтер пожимает плечами: "Да мне нечего рассказать. Мы с сестрой жили в Лондоне, я уже работал в Вестхейвен Трансоушен, когда наши родители погибли -- пароход, на котором они отправились в США просто не прибыл в порт назначения. Мы с Анной остались одни. Она еще даже школу не закончила тогда. А потом мы построили Надежду, Атлантиду и далее по списку. Потом мне предложили работать внизу, на станции. Я, конечно, мог тогда отказаться, уйти в другую компанию, но направление, избранное Дрейком слишком меня привлекало. Я согласился". ]];
 
        end};
 
        {tag="on_anna", "Расскажи о своей сестре, Анне.", function(s)
 
            char_radcliffe.on_anna = 2;
 
            return [[Уолтер вздыхает: "Будь у меня выбор тогда, я ни за что не взял бы ее на Атлантиду. И жалел бы сейчас об этом. Не думаю, что на поверхности она стала бы той, кто она сейчас. Все-таки общество поглощенных своей работой людей накладывает определенный отпечаток, я думаю". ]];
 
        end};
 
        {tag="on_drake", "Что ты можешь сказать о Дрейке?", function(s)
 
            char_radcliffe.on_drake = 2;
 
            return [[Уолтер отвечает: "Не думаю, что скажу про него больше чем кто-то еще. Послушайте Райта, Моро, быть может Даркстара, хотя черт знает, что у этого типа на уме. Они скажут вам все и даже больше. "]];
 
        end};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            char_radcliffe.on_atlantis = 2;
 
            return [[Уолтер отвечает: "Думаю только Райт и Уинтерлайт в полной мере осознают, насколько большим достижением для нас, для всего человечества, является постройка этой станции. Тем не менее, они, отчего-то, не спешат поделиться своими знаниями с другими. Не думаю, что сегодняшнее общество сможет по достоинству оценить новые возможности, даруемые этими технологиями. Да и что станет с навьярами? Вспомните Новый Свет, посмотрите на другие наши колонии -- хотите ли вы этого для Леарр и других?"]];
 
        end};
 
        {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[ char_radcliffe_atlantis_dlg:reset_more(); pret();]]};
 
		{tag = "first_meeting"};
 
		{"[Пожать руку]Рад знакомству.", [[
 
		{"[Пожать руку] Рад знакомству.", [[
 
			"Мы с Майклом вместе работали над Левиафаном. Многие решения в вашей субмарине -- мои. Если вы не против, я хотел бы продолжить путешествие вместе с вами. Во-первых, вам пригодится мой опыт, а во-вторых, я хочу увидеть Левиафан в деле". 
 
		]], code [[
 
			rel_walter = rel_walter + 1;
 
			psub("leviathan");
 
		]]};
 
		{"Рад знакомству.", [[
 
			Уолтер убирает руку и продолжает: "Я думаю, вы не просто так пришли. Спрашивайте".
 
		]], code [[
 
			psub("generic");
 
		]]};
 
		{"[Промолчать]", [[
 
			Уолтер убирает руку и продолжает: "Я думаю, вы не просто так пришли. Спрашивайте".
 
		]], code [[
 
			rel_walter = rel_walter - 1;
 
			psub("generic");
 
		]]};
 
		{tag = "leviathan"};
 
		{"Интересно, и что вы можете рассказать о Левиафане?", [[
 
			Уолтер снимает очки, убирая их в нагрудный карман: "Левиафан строился как Надежда -- для дальних путешествий и максимальной автономности. После успеха предыдущих субмарин, Райт решил сделать Левиафан заметно больше предыдущих кораблей. Сверхмощная батарея обеспечивает субмарину энергией более месяца при максимальных оборотах двигателей. Также есть паровой двигатель -- он используется не только для движения, но и генерирует электричество. До Левиафана мы не экспериментировали с этим".
 
		]]};
 
		{"Вы знаете, куда отправился мой отец отсюда?", [[
 
			Уолтер отрицательно качает головой: "Не больше, чем остальные на станции". 
 
		]]};
 
		{"Буду рад, если вы присоединитесь к нам. ", [[
 
			"Отлично. Но вы ведь, еще поговорить хотите?"
 
		]], code [[ psub("generic");]]};
 
		{"Я не думаю, что вы поможете. ", [[
 
			"Очень жаль. Впрочем, у вас есть время подумать. Насколько я знаю, Даркстар и Моро собираются держать вас здесь какое-то время".
 
		]], code [[ psub("generic");]]};
 
		{tag = "generic"};
 
        {tag="questions", "У меня есть несколько вопросов. ", function(s)
 
            if (rel_anna < 0) then
 
                return [[Уолтер отрицательно качает головой: "Не сейчас, я занят". ]];
 
            else
 
                psub("questions");
 
                return [[Уолтер кивает: "Слушаю". ]];
 
            end;
 
        end};      
 
		{tag="sabotage", false, "Вы знаете, что пожар в Игнисе -- результат саботажа?", [[
 
			"Безусловно. Системы энергоснабжения проектировал я и абсолютно уверен в их безопасности и надежности. Судя по тому, что произошло -- кто-то весьма грамотный ,,доработал'' систему энергоснабжения Игниса. Я не думаю, что это мог быть один человек... Хотя если он делал это несколько дней -- вполне вероятно. Как это сделать, кроме нас с Райтом знают только трое: Мишель Леруа, Чарльз Джонс и Мари Легран. И еще кое-что. Даркстар просил меня ни с кем про это не разговаривать, поэтому надеюсь на ваше понимание. Отдельно попрошу -- не говорить на эту тему с моей сестрой".
 
		]], code [[
 
			rel_walter = rel_walter + 1;
 
		]]};
 
		{tag="ignis_what", false, "Вы, как инженер, можете рассказать, что произошло в Игнисе?", [[
 
			"Пожар. Вам что-то еще известно?"
 
		]]};
 
		{"Я пойду.", [[
 
			"До встречи", -- Уолтер отворачивается от вас и возвращается к своим делам.
 
		]], code [[ back();]]};
 
	};
 
};
 
 
char_page_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Фрэнсис Пейдж";
 
	disp = "Фрэнсис Пейдж";
 
	enter = function(s)
 
		if (atl_lfc_state ~= 1) then
 
			poff('sabotage', 'ignis_what');
 
		end;
 
 
		if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
			s.lfc_dialog = true;
 
			pon('sabotage', 'ignis_what');
 
		end;
 
 
		if (s.state == 0 ) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами стоит мужчина лет пятидесяти с густой седой бородой. Он бросает на вас быстрый взгляд и здоровается, продолжая осмотр Наутилуса: "Добро пожаловать на Атлантиду. Я Фрэнсис Пейдж. Я занимаюсь обслуживанием субмарин". ]];
 
		else
 
			psub("generic");
 
			return [[Перед вами стоит Фрэнсис Пейдж. не отрываясь от осмотра Наутилуса он говорит: "Вы вернулись". ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Дэвид Дрейк, рад знакомству.", [[Фрэнсис на секунду отвлекается и внимательно смотрит на вас: "Да, я замечаю сходство с Уильямом". ]], code [[ psub("first_meeting_2"); ]]};
 
		{tag="first_meeting_2"};
 
		{"Вы хорошо знали отца?", [[Фрэнсис кивает: "Я уважаю его, как, думаю, все на этой станции. Пожертвовать всем ради призрачной мечты -- только великий человек мог пойти на такое. Он отправился на поиски легендарного города древних навьяров. К сожалению, я не смог отправиться с ним -- я нужен на станции. Я знаю, что вы здесь из-за него и я надеюсь, что вы не оставите вашу идею найти Уильяма и доведете свое дело до конца". ]], code [[ psub("generic"); ]]};
 
		{"У меня к вам несколько вопросов.", [["Слушаю". ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="sabotage", false, "Вы знаете, что пожар в Игнисе -- следствие саботажа?", function(s)
 
			atl_lfc_panic = atl_lfc_panic + 1;
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
			return [[Фрэнсис от удивления роняет карандаш, но быстро собирается и отвечает: "Оставьте это Даркстару. Если саботаж имел место быть, Винсент найдет виновного. Я передам ему ваши слова". ]];
 
		end;};
 
		{tag="ignis_what", false, "Что произошло в Игнисе?", [[Фрэнсис пожимает плечами: "Меня там не было. Не берусь говорить".]]};
 
        {"Что вы можете рассказать об Атлантиде?", [[Фрэнсис пожимает плечами: "Если честно, вам лучше расспросить кого-нибудь из управляющих, а лучше всего -- Майкла Райта. Все что я могу сказать -- я до сих пор поражаюсь успеху этого невероятного проекта". ]]};
 
        {"Что вы можете рассказать о Наутилусе?", [[Френсис кивает: "Когда мы создавали Наутилус, я уже работал в Вестхейвен Трансоушен. Атлантида тогда существовала, но была далеко от того, что вы видите. Мы тогда просто строили вторую Надежду. Нам не нужна была высокая автономность, но мы хотели большую маневренность и мощность -- собственно на этом мы и сконцентрировались. Получилось то, что получилось -- рабочая лошадка, которой мы пользуемся по сей день". ]]};
 
        {"Что вы можете рассказать об Энтерпрайзе?", [[Френсис кивает: "Энтерпрайз мы начали когда захотели судно побольше. Опыта и знаний нам хватило только на пропорциональное увеличение размеров и немного более мощный двигатель. Райт наверное сказал бы, что получилось из рук вон плохо, но, на мой взгляд, Энтерпрайз вполне неплох, да и с честью служит нам до сих пор". ]]};
 
        {"Что вы можете рассказать о Надежде?", [[Фрэнсис кивает: "Надежда была первой субмариной, построенной нами. Я в этом участия не принимал, так что многие конструктивные решения меня удивляют. Впрочем, более поздние субмарины спроектированы гораздо грамотнее, да и после переоборудования многое удалось решить". ]]};
 
        {"Что вы можете рассказать о Левиафане?", [[Френсис отвечает: "С первого взгляда ясно, что Левиафан не имеет практически ничего общего с Надеждой, Наутилусом и даже Энтерпрайзом. Интересно, что Левиафан строился с оглядкой на высокую автономность -- так же, как и Надежда. За это, конечно, пришлось многим поплатиться -- Левиафан большой и неповоротливый в сравнении с Надеждой". ]]};
 
		{always=true, "Я пойду.", [[Фрэнсис Пейдж прощается с вами: "Увидимся позже". ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_leroy_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Мишель Леруа";
 
	disp = "Мишель Леруа";
 
	enter = function(s)
 
		if (atl_lfc_state ~= 1) then
 
			poff('sabotage', 'ignis_what');
 
		end;
 
		
 
		if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
			s.lfc_dialog = true;
 
			pon('sabotage', 'ignis_what');
 
		end;
 
	
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами стоит склонившийся над чертежом мужчина лет пятидесяти, одетый в старый коричневый костюм. Кудрявые рыжие волосы торчат во все стороны, недлинная рыжая бородка, напротив, аккуратно острижена. В кармане его пиджака лежат очки. Темные глаза сосредоточенно утавились на лежащий перед ним чертеж. ]];
 
		else
 
			psub("generic");
 
			return [[Мишель Леруа стоит перед вами, склонившись над чертежом. ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Добрый день. Я Дэвид Дрейк.", [[Человек отрывается от чертежа, чтобы поздороваться с вами. Он протягивает вам руку и произносит: "Мишель Леруа. Инженер". ]], code [[ psub('first_meeting_2'); ]]};
 
		{tag="first_meeting_2"};
 
		{"[Пожать руку]Рад знакомству.", [[Вы пожимаете руку Мишеля, и он спрашивает вас: "Что вы хотели?" ]], code [[ psub('generic'); ]]};
 
		{"[Пожать руку] Рад знакомству.", [[Вы пожимаете руку Мишеля, и он спрашивает вас: "Что вы хотели?" ]], code [[ psub('generic'); ]]};
 
		{"Рад знакомству.", [[Мишель кладет руку обратно на стол и спрашивает: "Что вы хотели?" ]], code [[ psub('generic'); ]]};
 
		{tag="generic"};
 
		{tag="sabotage", false, "Вы знаете, что пожар в Игнисе начался из-за саботажа?", [[Мишель удивленно переспрашивает: "Кто вам это сказал? не думаю, что здесь есть люди настолько не ценящие свою жизнь". ]], code [[ atl_lfc_leroy_spoken = 1; ]]};
 
		{tag="ignis_what", false,"Что вы можете сказать о произошедшем в Игнисе?", [[
 
			Мишель уверенно отвечает: "Короткое замыкание. К сожалению, пленки и другие материалы, хранимые в Игнисе достаточно горючи". ]]};
 
        {"Почему вы считаете, что станцию необходимо закрыть?", [[Мишель начинает объяснять, активно жестикулируя: "Вы недавно здесь, и для вас это должно быть гораздо более очевидно, чем для многих из нас. Легко представить, к чему здесь может привести самая мелкая поломка. А эти самонадеянные люди, в лице Дрейка, Блэка, Светловой, Моро, Райта и даже Даркстара не видят дальше собственного носа! Что произойдет, если Доминус даст течь? Мы просто останемся погребенными под тоннами соленой воды и никакие меры предосторожности не помогут. Одно дело -- кратковременные экспедиции и совсем другое -- полное переселение сюда". ]]};
 
		{always=true, "Я пойду.", [[Мишель возвращается к чертежу. ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_goldman_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Леонард Голдман";
 
	disp = "Леонард Голдман";
 
	enter = function(s)
 
		if (atl_lfc_state ~= 1) then
 
			poff('sabotage', 'ignis_what');
 
		end;
 
		
 
		if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
			s.lfc_dialog = true;
 
			pon('sabotage', 'ignis_what');
 
		end;
 
		
 
        poff('show_clock');
 
		if (have(item_goldmans_clock)) then
 
			pon('show_clock');
 
		end;
 
		
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами на койке лежит человек лет пятидесяти с густыми светлые волосы. Лицо украшают пышные золотистые усы. Мужчина приветствует вас: "Добро пожаловать на Атлантиду. Я Леонард Голдман. Занимаюсь электросистемами станции". ]];
 
		else
 
			psub("generic");
 
			return [[Леонард Голдман вопросительно смотрит на вас: "Что вы хотели?" ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Я Дэвид Дрейк. Рад знакомству. ", [[Леонард кивает, но ничего не говорит. ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="show_clock", false, "[Показать часы]Это ваше?", [[Голдман протягивает руку, чтобы взять часы и удивленно спрашивает: "Мои. Где вы их взяли?" ]], code [[ atl_lfc_goldman_known = true; psub("give_clock"); ]]};
 
		{tag="show_clock", false, "[Показать часы] Это ваше?", [[Голдман протягивает руку, чтобы взять часы и удивленно спрашивает: "Мои. Где вы их взяли?" ]], code [[ atl_lfc_goldman_known = true; psub("give_clock"); ]]};
 
		{tag="sabotage", false, "Вы знаете, что пожар начался из-за саботажа?", [[Вы видите удивление и страх на лице Голдмана. Он неуверенно спрашивает: "С чего вы взяли?" ]], code [[ psub("sabotage2"); atl_lfc_leroy_spoken = 1; ]]};
 
		{tag="ignis_what", false, "Вы знаете, что произошло в Игнисе?", [[Голдман пожимает плечами: "Не больше чем вы". ]]};
 
        {"Почему вы считаете, что станцию стоит закрыть?", [[Голдман объясняет: "Мы уже десять лет здесь. Не видели ни солнца, ни неба, ни травы. Только металлический потолок и километры воды над головой. Мне кажется, что пора бы уже закончить этот эксперимент. В чем-то я согласен с Джонсом -- станция стареет, оборудование выходит из строя. Долго ли до того, как мы потеряем наши субмарины, а вместе с ними и вообще всякую возможность вернуться наверх?"]]};
 
		{"Я пойду.", [[Голдман кивает: "Поговорим позже". ]], code [[ back(); ]]};
 
		{tag="sabotage2"};
 
		{"Даркстар сказал", [[Леонард Голдман пожимает плачеми: "Даркстар мог и ошибиться -- он же параноик. А я в это не поверю". ]]};
 
		{"Это очевидно", [[Леонард Голдман недовольно предупреждает вас: "Будете дальше распускать подобные слухи -- я доложу Даркстару". ]]};
 
		{"Эээ... Я пошутил", [[Леонард Голдман недовольно восклицает: "Вы вообще нормальный?!"]], code [[ back(); ]]};
 
		{tag="give_clock"};
 
		{"[Отдать часы]Нашел", [[Леонард Голдман кивает: "Благодарю. Это часы моего деда, они очень важны для меня". ]], code [[ remove("item_goldmans_clock"); pret(); ]]};
 
		{"[Убрать часы]Не так быстро. Что вы делали в Солисе?", [[Ваш запрос похоже застал Леонарда врасплох. Заикаясь, он спрашивает: "С ч-чего вы вз-взяли?" ]], code [[ psub("give_clock_2");]]};
 
		{"[Отдать часы] Нашел", [[Леонард Голдман кивает: "Благодарю. Это часы моего деда, они очень важны для меня". ]], code [[ remove("item_goldmans_clock"); pret(); ]]};
 
		{"[Убрать часы] Не так быстро. Что вы делали в Солисе?", [[Ваш запрос похоже застал Леонарда врасплох. Заикаясь, он спрашивает: "С ч-чего вы вз-взяли?" ]], code [[ psub("give_clock_2");]]};
 
		{tag="give_clock_2"};
 
		{"Эти часы я подобрал на месте саботажа. Теперь вы не отвертитесь.", [[Леонард поднимается и садится. Тяжело вздохнув он сознается: "Хорошо, я все скажу. Только если обещаете, что меня больше не будут держать на этой станции". ]], code [[ psub('promise'); ]]};
 
		{tag="promise"};
 
		{always = true, "Я сделаю все, что в моих силах.", [[Леонард Голдман вздыхает и начинает сбивчиво рассказывать: "Это все Мишель придумал. У меня бы мозгов не хватило. Он и в Игнисе пожар устроил. Солис он тоже хотел взорвать сам, но Даркстар, кажется, подозревает его. Поэтому он упросил меня это сделать... И зачем я согласился?!" ]], code [[ atl_lfc_saboteur_known = true; psub("leroy");]]};
 
		{always = true, "Я ничего не обещаю.",[[Леонард Голдман дрожащим голосом отвечает: "Тогда я ничего не скажу". ]], code [[ psub("threaten"); ]]};
 
		{tag = "threaten"};
 
		{always = true, "Тогда пусть Даркстар с вами разбирается.", [[Леонард Голдман вздыхает и начинает сбивчиво рассказывать: "Это все Мишель придумал. У меня бы мозгов не хватило. Он и в Игнисе пожар устроил. Солис он тоже хотел взорвать сам, но Даркстар, кажется подозревает его. Поэтому он упросил меня это сделать... И зачем я согласился?!" ]], code [[ atl_lfc_saboteur_known = true; psub("leroy");]]};
 
		{"[Отдать часы]Черт с тобой, забирай свои часы.", [[Голдман крайне удивлен: "Вот так просто?" ]], code [[ remove("item_goldmans_clock"); psub("tired_of_you"); ]]};
 
		{"[Отдать часы] Черт с тобой, забирай свои часы.", [[Голдман крайне удивлен: "Вот так просто?" ]], code [[ remove("item_goldmans_clock"); psub("tired_of_you"); ]]};
 
		{"[Уйти]", code = [[ back(); ]]};
 
		{tag = "tired_of_you"};
 
		{"Даю вам последний шанс рассказать все, что знаете.", [[леонард Голдман отказывается отвечать: "Я назвал свои условия". ]], code [[ psub('promise'); ]]};
 
		{"[Уйти]", code = [[ back(); ]]};
 
		{tag = "leroy"};
 
		{"И что вы еще намереваетесь сломать?", [[Леонард Голдман пожимает плечами. Испуганно глядя на вас, он отвечает: "Не знаю. Мишель хотел сломать станцию... Так чтобы никто не пострадал. Все бы просто вернулись на поверхность и дело с концом". ]]};
 
		{"Я пойду.", [[Леонард Голдман кивает: "Помни, что ты обещал". ]], code = [[ back(); ]]};
 
	};
 
};
 
 
char_jones_dlg = dlg {
 
	var {
 
		state = 0;
 
		lfc_dialog = false;
 
	};
 
	nam = "Чарльз Джонс";
 
	disp = "Чарльз Джонс";
 
	enter = function(s)
 
		if (atl_lfc_state ~= 1) then
 
			poff('sabotage', 'ignis_what');
 
		end;
 
		
 
		if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
			s.lfc_dialog = true;
 
			pon('sabotage', 'ignis_what');
 
		end;
 
		
 
        if (char_jones.on_atlantis == 0) then
 
            pon("on_atlantis");
 
        end;
 
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[На койке перед вами сидит немолодой человек, одетый в простой серый костюм. Его седые волосы коротко острижены. Подбородок гладко выбрит. Лицо изрыто глубокими морщинами. В руках он вертит карандаш, задумчиво разглядывая его. ^При виде вас он встает и приветствует вас: "Добрый день, меня зовут Чарли. Чарли Джонс". ]];
 
		else
 
			psub("generic");
 
			return [[Чарльз Джонс приветствует вас, отвлекаясь от своего занятия: "Добрый день". ]];
 
		end;
 
	end;
 
	phr = {
 
		{"Я Дэвид Дрейк. Рад знакомству.", [[Чарльз тяжело вздыхает: "Взаимно". ]], code [[ psub("generic"); ]]};
 
		{tag="sabotage", false, "Вы знаете, что причиной пожара был саботаж?", function(s)
 
			atl_lfc_panic = atl_lfc_panic + 1;
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
			if (atl_lfc_panic == 1) then
 
				return [[Чарльз отрицательно качает головой: "Но зачем? Дайте немного времени и Атлантида сама развалится". ]];
 
			elseif (atl_lfc_panic == 2) then
 
				return [[Чарльз отрицательно качает головой: "Это не более чем слухи. Не поверю, чтобы кто-то мог намеренно это сделать". ]];
 
			elseif (atl_lfc_panic == 3) then
 
				return [[Чарльз задумчиво: "Слишком многие об этом говорят, но я не верю в эти байки. Станция просто рушится от возраста, вот и все". ]];
 
			end;
 
		end};
 
		{tag="ignis_what", false, "Вы знаете, что произошло в Игнисе?", [["Думаю да. Короткое замыкание -- станция старая, провода старые. Где-то нарушилась изоляция. Дальше будет еще хуже -- я постоянно об этом говорю, пора бросить эту груду металлолома и вернуться к людям, на поверхность". ]]};
 
        {tag="on_atlantis", false, "Вы считаете, что станцию необходимо закрыть?", [[Чарльз кивает: "Станция старая, разваливается на глазах. Нас слишком мало, чтобы своевременно устранять возрастающее число неполадок". ]], code [[ char_jones.on_atlantis = 1; psub("on_leaving");]]};
 
		{always=true, "Я пойду.", [[
 
			"До встречи".
 
		]], code [[ back(); ]]};
 
        {tag="on_leaving"};
 
        {"Да. соглашусь с вами. ", [[Чарли понимающе кивает. ]], code [[ pret(); ]]};
 
        {"Но ведь станция в отличном состоянии. ", [[Чарли вздыхает: "Просто, вы еще не пробыли здесь достаточно и многого не видели". ]], code [[ pret(); ]]};
 
	};
 
};
 
 
atl_lev_radcliffe_dlg = room {
 
	nam = "Уолтер Рэдклифф";
 
	dsc = [[
 
		В доке Левиафана вы встречаете Уолтера Рэдклиффа. Завидев вас он говорит: "Дрейк, какая встреча. Я только что поместил на Левиафан два скафандра, которые вам выделили Моро с Райтом. Хорошо, что я вас встретил. Я хотел бы присоединиться к экипажу Левиафана и предложить вам свою помощь в поисках Уильяма".
 
	]];
 
	phr = {
 
		{"Как к этому отнесутся на Атлантиде?", [["Я уже обговорил это с Моро и Райтом. Они не против моего решения, тем более, что они не меньше вас заинтересованы в успехе вашей экспедиции". ]]};
 
		{"Благодарю, добро пожаловать на борт.", [["Отлично, благодарю. У меня есть еще одна просьба. Я хотел бы, чтобы моя сестра отправилась вместе с нами. Она знает язык навьяров и может оказаться крайне полезна во множестве ситуаций, кроме того -- так она остается под моим присмотром". ]], code [[
 
			lifeon("char_radcliffe");
 
			table.insert(pl.party, 'radcliffe');
 
			psub("sister");
 
		]]};
 
		{tag="sister"};
 
		{"Я не думаю, что ей место на Левиафане -- экспедиция может быть опасна.", function(s)
 
			if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
				walk(atl_lev_first_sail);
 
				return [["Вы правы, Анне будет безопаснее остаться на Атлантиде. Я знаю, что с вами отправляется Леарр, которая достаточно хорошо знает наш язык, так что я надеюсь, что мы справимся без помощи моей сестры. Я скоро вернусь", -- с этими словами он выходит из дока. ]];
 
			else
 
				return [["Я хотел бы, чтобы Анна отправилась с нами -- я лично позабочусь о ее безопасности, а вам понадобится человек, долгое время посвятивший изучению культуры навьяров". ]];
 
			end;
 
		end};
 
		{"Хорошо, ее помощь нам не помешает.", [["Отлично, мы скоро будем готовы", -- с этим словами он выходит из дока. ]], [[
 
			lifeon("char_anna");
 
			table.insert(pl.party, 'anna');
 
			walk(atl_lev_first_sail);
 
		]]};
 
	};
 
};
 
\ No newline at end of file
atlantis_dyp.lua
Show inline comments
 
--[[
 
Дипатреанотр
 
]]
 

	
 
global {
 
    dyp_quest_state = 0;
 
        -- 0 - не начат
 
        -- 1 - получено задание от вождя
 
        -- 2 - узнали, что карту унес Аэдиенрр в Дипатреанотр
 
        -- 3 - узнали, куда унес карту Аэдиенрр из Дипатреанотра
 
        -- 4 - Отдали оригинал КНО в Ираафаанотр
 
        -- 5 - Отдали жезл в Ираафаанотр
 
    dyp_stones_known = 0;
 
    dyp_lib_stone_state = 0;
 
};
 

	
 
--[[
 
Дипатреанотр город
 
]]
 

	
 
dyp_entry = lcutscene("dyp_entry", "Левиафан, рубка", [[Дипатреанотр расположен всего в нескольких часах пути от Атлантиды. Как только вы прибываете на место, вашим глазам открывается картина неприглядного поселения -- небольшой деревушки, состоящей из не более чем сотни домов, сгрудившихся вокруг центральной площади, посреди которой возвышается каменный обелиск. Вы не замечаете никаких улиц, кроме одной, соединящей дом вождя с центральной площадью. Вы направляете Левиафан к центру и субмарина, послушная вашим указаниям, замирает рядом с обелиском. ]], "Вы прибыли в Дипатреанотр. ", leviathan_wheelhouse);
 

	
 
dyp_center = room {
 
    nam = "dyp_center";
 
    disp = "Дипатреанотр, центр";
 
    view = [[Левиафан находится над центром Дипатреанотра -- небольшого навьярского поселения. Вокруг небольшой центральной площади неровными кругами расположены небольшие каменные дома. Явно выраженные улицы отсутствуют, за исключением широкой, выложенной камнем дороги от площади до дома вождя. В другом конце площади расположено большое здание библиотеки. ]];
 
    dsc = [[Вы находитесь на центральной площади Дипатреанотра -- небольшого навьярского поселения. Вокруг небольшой центральной площади неровными кругами расположены небольшие каменные дома. Явно выраженные улицы отсутствуют, за исключением широкой, выложенной камнем дороги от площади до дома вождя. В другом конце площади расположено большое здание библиотеки. ]];
 
    obj = {
 
        "dyp_obelisk";
 
    };
 
    way = {
 
        kh_vroom("К библиотеке", "dyp_library_entrance");
 
        kh_vroom("К дому вождя", "dyp_chief_house_entrance");
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
        kh_vroom("К окраине", "dyp_outskirts");
 
    };
 
};
 

	
 
dyp_outskirts = room {
 
    nam = "dyp_outskirts";
 
    disp = "Дипатреанотр, окраина";
 
    dsc = [[Вы стоите на южной окраине Дипатреанотра. К северу от вас расположены неказистые каменные дома жителей города. Отсюда прекрасно виден зависший над центральной площадью Левиафан. ]];
 
    obj = {
 
        "dyp_guardian";
 
    };
 
};
 

	
 
dyp_guardian = npc {
 
    nam = "dyp_guardian";
 
    dsc = [[Рядом с вами неспешно прогуливается {стражник}, вооруженный копьем. Кажется, ваш вид его нисколько не удивляет и не беспокоит. ]];
 
    phr = {
 
        [[Стражник не обращает на вас внимания. ]];
 
        [[По головным плавникам стражника бегут цветные полосы: "Ты говори с вождем, не со мной". ]];
 
    };
 
    dlg = function(s)
 
        if dyp_quest_state == 2 then
 
            return "dyp_guardian_dlg";
 
        end;
 
    end;
 
};
 

	
 
dyp_guardian_dlg = dlg {
 
    nam = "dyp_guardian_dlg";
 
    entered = [[По головным плавникам стражника бегут цветные полосы: "Ты говори с вождем, не со мной". ]];
 
    phr = {
 
        {"[Кодировщик]Я ищу навьяра по имени Аэдиенрр. Он проходил здесь недавно.", [[Стражник кивает: "Аэдиенрр из Ираафаанотра ушел на восток несколько дней назад. Кажется, он направлялся к обелискам". ]], code [[ dyp_quest_state = 3; ]]};
 
        {"[Кодировщик] Я ищу навьяра по имени Аэдиенрр. Он проходил здесь недавно.", [[Стражник кивает: "Аэдиенрр из Ираафаанотра ушел на восток несколько дней назад. Кажется, он направлялся к обелискам". ]], code [[ dyp_quest_state = 3; ]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
    };
 
};
 

	
 
dyp_obelisk = obj {
 
    nam = "dyp_obelisk";
 
    dsc = [[В центре площади стоит большой каменный {обелиск}, с нанесенными на него символами. ]];
 
    act = function(s)
 
        return [[На обелиске, традиционно для навьяров, начертано название города и вырезана карта, указывающая путь к храму. ]];
 
    end;
 
};
 

	
 
dyp_navjiarr = npc{
 
    nam = "dyp_navjiarr";
 
    dsc = [[Немногие {навьяры}, находящиеся сейчас на площади с интересом оглядываютс на Левиафан и вас. ]];
 
    phr = {
 
        "Не стоит их беспокоить. ",
 
        "Вряд ли они смогут сказать вам что-то полезное. "
 
    };
 
};
 

	
 
dyp_library_entrance = room {
 
    nam = "dyp_library_entrance";
 
    dsc = [[Двухэтажное каменное здание библиотеки разительно отличается от большинства строений Дипатреанотра. Выстроенное из массивных каменных плит, а не из булыжников, как остальные, оно хорошо сохранилось несмотря на достаточно большой возраст. Ровные стены тщательно очищаются навьярами от ила и водорослей, сохрнаяя здание в перозданном виде. ]];
 
    way = {
 
        kh_vroom("К обелиску", "dyp_center");
 
        kh_vroom("В библиотеку", "dyp_library_floor1");
 
    };
 
};
 

	
 
dyp_library_floor1 = room {
 
    nam = "dyp_library_floor1";
 
    dsc = [[Первый этаж здания библиотеки представляет собой огромный зал. Множество колонн, установленных ровными рядами, поддерживают потолок, между ними и вдоль стен установлены массивные стеллажи, заполненные различными записями. Большинство их сделаны на каменных табличках, но изредка встречаютс и древние металлические. Ваше внимание привлекает  одна из полок, заполненная небольшими блестящими дисками из неизвестного материала. ]];
 
    obj = {
 
        "dyp_library_statue"
 
    };
 
    way = {
 
        kh_vroom("Наружу", "dyp_library_entrance");
 
        kh_vroom("На второй этаж", "dyp_library_floor2");
 
    };
 
};
 

	
 
dyp_library_floor2 = room {
 
    nam = "dyp_library_floor2";
 
    dsc = [[Второй этаж библиотеки мало чем отличается от первого -- точно такие же колонны, точно такие же стеллажи. Здесь гораздо больше полок содержат блестящие диски вместо привычных вам записей. ]];
 
    obj = {
 
        "dyp_librarian";
 
    };
 
};
 

	
 
dyp_librarian = npc {
 
    var {
 
        state = 0;
 
    };
 
    nam = "dyp_librarian";
 
    dsc = [[]];
 
};
 

	
 
dyp_librarian_dlg = dlg {
 
    nam = "dyp_librarian_dlg";
 
    disp = "Эйлехиарр";
 
    entered = function(s)
 
        if (dyp_librarian_dlg.state == 0) then
 
            dyp_librarian_dlg.state = 1;
 
            return [[Перед вами, япрямо на полу сидит навьяр. Рядом с ним разложены какие-то записи, которые он внимательно рассматривает, иногда перекладывая с места на место. Заметив вас, он поднимается и приветствует вас: "Я, Eyle'hya'rr из Dyp'atre'anot'rrа, приветствую тебя he'vji'a'rr. Ты говори, зачем ты пришел". ]];
 
        else
 
            return [[Эйлехиарр сидит на полу, перекладывая какие-то записи. Заметив вас он поднимается и приветствует вас: "Ты овори, зачем ты пришел". ]];
 
        end;
 
    end;
 
    phr = {
 
        {"[Кодировщик]Что ты делаешь?", [[Эйлехиарр отвечает: "Эти записи сильно повреждены. К счастью у нас есть несколько копий этого текста. Но мои предшественники умудрились испортить все три!" ]]};
 
        {"[Кодировщик]Я ищу карту пути в Лсэрианотр.", [[Эйлехиарр задумчиво оглядывает помещение. Делает несколько шагов в одну сторону, потом в другую. Садится рядом со своими записями, сова встает. Наконец, он берет с одной из полок металлическую табличку и сообщает: "Здесь говорится о пещере рядом с храмом. Три ключа закрывают вход". ]], code [[pon("three_keys");]]};
 
        {tag="three_keys", false, "[Кодировщик]Где найти эти ключи?", [[Эйлехиарр отвечает: "Здесь, в Дипатреанотре. Один ты можешь забрать внизу, у статуи". ]], code [[ dyp_stones_known = true; dyp_lib_stone_state = 1; ]]};
 
        {"[Кодировщик]Я пойду.", [[Эйлехиарр прощается: "Ты возвращайся". ]]};
 
        {"[Кодировщик] Что ты делаешь?", [[Эйлехиарр отвечает: "Эти записи сильно повреждены. К счастью у нас есть несколько копий этого текста. Но мои предшественники умудрились испортить все три!" ]]};
 
        {"[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Эйлехиарр задумчиво оглядывает помещение. Делает несколько шагов в одну сторону, потом в другую. Садится рядом со своими записями, сова встает. Наконец, он берет с одной из полок металлическую табличку и сообщает: "Здесь говорится о пещере рядом с храмом. Три ключа закрывают вход". ]], code [[pon("three_keys");]]};
 
        {tag="three_keys", false, "[Кодировщик] Где найти эти ключи?", [[Эйлехиарр отвечает: "Здесь, в Дипатреанотре. Один ты можешь забрать внизу, у статуи". ]], code [[ dyp_stones_known = true; dyp_lib_stone_state = 1; ]]};
 
        {"[Кодировщик] Я пойду.", [[Эйлехиарр прощается: "Ты возвращайся". ]]};
 
    };
 
};
 

	
 
dyp_item_stone_blue = obj {
 
    nam = "dyp_item_stone_blue";
 
    disp = [[Синий камень]];
 
    inv = [[Небольшой круглый камень, излучающий яркий синий свет. ]];
 
};
 

	
 
dyp_item_stone_green= obj {
 
    nam = "dyp_item_stone_green";
 
    disp = [[Зеленый камень]];
 
    inv = [[Небольшой круглый камень, излучающий яркий зеленый свет. ]];
 
};
 

	
 
dyp_item_stone_red = obj {
 
    nam = "dyp_item_stone_red";
 
    disp = [[Красный камень]];
 
    inv = [[Небольшой круглый камень, излучающий яркий красный свет. ]];
 
};
 

	
 
dyp_library_statue = obj {
 
    nam = "dyp_library_statue";
 
    dsc =function(s)
 
        if dyp_lib_stone_state > 1 then
 
            return [[В центре зала стоит статуя навьяра. В правой руке он держит табличку, которую сосредоточенно рассматривает. Левая рука статуи выглядит так, словно в ней должен находиться какой-то небольшой предмет, однако он отсутствует. ]];
 
        else
 
            return [[В центре зала стоит статуя навьяра. В правой руке он держит табличку, которую сосредоточенно рассматривает. В левой руке статуи лежит небольшой светящийся синий {камень}. ]];
 
        end;
 
    end;
 
    act = function(s)
 
        if dyp_lib_stone_state == 0 then
 
            return [[Красивая старая статуя. Навьяр изображен пораительно подробно -- вы можете разглядеть каждую чешуйку. Небольшой камень лежит в руке статуи так, что его очень легко вынуть. ]];
 
        elseif dyp_lib_stone_state == 1 then
 
            dyp_lib_stone_state = 2;
 
            take("dyp_item_stone_blue");
 
            return [[Вы легко забираете из руки статуи камень. ]];
 
        elseif dyp_lib_stone_state == 2 then
 
            return [[Красивая старая статуя. Навьяр изображен пораительно подробно -- вы можете разглядеть каждую чешуйку. ]];
 
        end;
 
    end;
 
};
 

	
 
dyp_chief_house_entrance = room {
 
    nam = "dyp_chief_house_entrance";
 
    disp = "Дипатреанотр, перед домом вождя";
 
    dsc = [[Дом вождя Дипатреанотра не уступает размерами библиотеке. Двухэтажное здание очневидно не раз расширялось и достраивалось. Часть его сложена из обработанных каменных плит, другая -- из булыжников, как большинство зданий города. Широкая выложенная камнем улица ведет отсюда к центральной площади города.]];
 
    way = {
 
        kh_vroom("К обелиску", "dyp_center");
 
        kh_vroom("В дом", "dyp_chief_house");
 
    };
 
};
 

	
 
dyp_chief_house = room {
 
    nam = "dyp_chief_house";
 
    disp = "Дипатреанотр, дом вождя";
 
    dsc = [[Приемная дома вождя представляет собой огромный зал с ровными рядами стройных каменных колонн, удреживающих потолок. В дальнем конце зала установлен каменный трон, перед которым установлен массивный каменный стол. ]];
 
    way = {
 
        kh_vroom("Наружу", "dyp_chief_house_entrance");
 
    };
 
    obj = {
 
        "dyp_chief";
 
    };
 
};
 

	
 
dyp_chief = npc {
 
    nam = "dyp_chief";
 
    dsc = [[{Вождь Дипатреанотра} сидит на троне с закрытыми глазами. Руки его сложены на груди. В правой он держит небольшой золотистый жезл, в навершии которого укреплен круглый камень, излучающий яркий зеленый свет. Светло-синяя чешуя покрыта узором из татуировок. Как и другие навьяры он одет в костюм из водорослей. На левой руке дремлюего вождя вы видите искусный браслет из блестящего металла. ]];
 
    dlg = "dyp_chief_dlg";
 
};
 

	
 
dyp_chief_dlg = dlg {
 
    nam = "dyp_chief_dlg";
 
    entered = function(s)
 
        if dyp_stones_known then
 
            pon("star_map");
 
        end;
 
        return [[Как только вы приближаетесь к столу, глаза вождя открываются. Он поднимается с трона. Руки его остаются сложенными на груди, а взгляд его желтых глаз устремляется на вас. По его головным плавникам бегут цветные полосы: "Чем скромные навьяры из Дипатреанотра обязаны визиту почтенного хевьяра? Ты говори". ]];
 
    end;
 
    phr = {
 
        {"[Кодировщик]Я ищу карту пути в Лсэрианотр.", [[Вождь отвечает: "Ты спроси в храме или в библиотеке. Я ничего такого не знаю". ]]};
 
        {tag="star_map", false, "[Кодировщик]Мне нужен камень из твоего жезла. Что я могу предложить в обмен на него?", [[Глаза вождя загораются, он ухмыляется. По плавникам быстро, словно в нетерпении, бегут цветные полосы: "Я хочу карту небесных огней из Ираафаанотра. Принеси ее и забирай этот жезл вместе с камнем". ]], code [[ dyp_quest_state = 1; ]]};
 
        {"[Кодировщик]Я пойду.", [[Вождь прощается с вами: "Ты возвращайся". Он садится обратно на трон и закрывает глаза. ]], code [[ back(); ]]};
 
        {"[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Вождь отвечает: "Ты спроси в храме или в библиотеке. Я ничего такого не знаю". ]]};
 
        {tag="star_map", false, "[Кодировщик] Мне нужен камень из твоего жезла. Что я могу предложить в обмен на него?", [[Глаза вождя загораются, он ухмыляется. По плавникам быстро, словно в нетерпении, бегут цветные полосы: "Я хочу карту небесных огней из Ираафаанотра. Принеси ее и забирай этот жезл вместе с камнем". ]], code [[ dyp_quest_state = 1; ]]};
 
        {"[Кодировщик] Я пойду.", [[Вождь прощается с вами: "Ты возвращайся". Он садится обратно на трон и закрывает глаза. ]], code [[ back(); ]]};
 
    };
 
};
 

	
 
--[[
 
Дипатреанотр храм
 
]]
 

	
 
dyp_temple_entry = lcutscene("dyp_temple_entry", "Левиафан, рубка", [[Храм Дипатреанотра располагается в нескольких часах пути от Атлантиды на Левиафане. К массивным дверям храма, вырезанным в толще скалы, ведет широкая каменная лестница, некогда украшенная резными орнаментами, ныне осыпавшимися и раскрошившимися. Над входом вырезано изображение, состоящее из нескольких концентрических кругов и каких-то символов. ]], "Вы прибыли в Храм Дипатреанотра. ", leviathan_wheelhouse);
 

	
 
dyp_temple_guard = room {
 
    nam = "ctt_dyp_temple_guard";
 
    dsc = function(s)
 
        if (dyp_temple_guard_dlg.state == 0) then
 
            return [[У ворот стоят два навьяра, вооруженные копьями. При вашем приближении они начинают нервничать -- переглянувшись, они перехватывают копья, готовясь при необходимости прогнать вас. По плавникам одного из них бегут цветные полосы: темно-фиолетовая, зеленая, оранжевая -- шире чем остальные, серая, ярко-розовая, желтая -- снова широкая, салатовая, снова широкая желтая и, наконец, широкая бледно-оранжевая. После небольшой паузы, полосы появляются снова. ]];
 
        else
 
            return [[У ворот стоят два навьяра, вооруженные копьями. Они никак не реагируют на вас. ]];
 
        end;
 
    end;
 
    dlg = "dyp_temple_guard_dlg";
 
};
 

	
 
dyp_temple_guard_dlg = dlg {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Страж храма";
 
    entered = function(s)
 
        if (s.state == 0) then
 
            return [[Стражники загораживают вам проход. По плавникам одного из них бегут цветные полосы. ]];
 
        else
 
            back();
 
            return [[Стражник не реагирует на вас. ]];
 
        end;
 
    end;
 
    phr = {
 
        --TODO заменить название токена
 
        {tag="test", false, "[Передать <токен>]", [[Стражи, согласно ритуалу, молча открывают ворота, пропуская вас внутрь. ]], code [[ dyp_temple_guard_dlg.state = 1; back(); ]]};
 
        {always=true, "[использовать кодировщик]I'rr Vee'nn"};
 
        {always=true, "[Кодировщик] I'rr Vee'nn"};
 
    };
 
};
 

	
 
dyp_temple_carving_look = room {
 
    nam = "Храм Дипатреанотра, вход";
 
    pic ="images/iyh_navjiarr_map.png"; 
 
    dsc = [[Над входом в храм вырезана схема, состоящая из нескольких концентрических кругов. ]];
 
    obj = {
 
        vway("continue", "{Продолжить}", "dyp_temple_entrance");
 
    };
 
};
 

	
 
dyp_temple_carving = obj {
 
    nam = "dyp_temple_carving";
 
    dsc = [[Над входом в храм вырезано {изображение} состоящее из нескольких кругов и еще каких-то символов. Часть изображения стерлась от времени, однако остальная часть все еще читаема. ]];
 
    act = function(s)
 
        walkin("dyp_temple_carving_look");
 
    end;
 
};
 

	
 
dyp_temple_entrance = room {
 
    nam = "Храм Дипатреанотра, вход";
 
    dsc = [[Перед вами находится вырезанный в скале вход в навьярский храм. Массивные каменные ступени ведут к громадным двустворчатым дверям, украшенным полустершимися орнаментами. Некогда яркие краски потускнели -- осторожные навьяры не решаются их обновить. ^Скала продолжается на восток и на юго-запад от храма. Вдалеке на севере видны длинные, вытянувшиеся на несколько метров вверх водоросли. К западу заметен обелиск из камней. ]];
 
    underwater = true;
 
    entered = function(s)
 
        --char_learr:accompany(false);
 
        --char_radcliffe:accompany(false);
 
        --char_wright:accompany(false);
 
        --char_anna:accompany(false);
 
            
 
        --if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
        --    return [[
 
        --        Вы слышите по радио голос Леарр: "Ты-Дрейк один-пойдешь. Другим нельзя-в-храм-войти".
 
        --    ]];
 
        --elseif ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
        --    return [[
 
        --        Вы слышите по радио голос Анны: "Дрейк, тебе придется идти одному - испытание можно пройти лишь в одиночку. Удачи".
 
        --    ]];
 
        --end;
 
    end;
 
    obj = {
 
        "dyp_temple_guard";
 
        "dyp_temple_carving";
 
    };
 
    way = {
 
        kh_vroom("В храм", function(s)
 
            pr('Охранники не колеблясь убьют вас, если вы попытаетесь войти. ');
 
            return false;
 
            --ctt_dyp_temple_l1.px = 1;
 
            --ctt_dyp_temple_l1.py = 0;
 
            --return "ctt_dyp_temple_l1";
 
        end):disable();
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
    };
 
};
 

	
 
dyp_temple_east = room {
 
    nam = "Океан";
 
    view = [[Вы находитесь у подножья скалы, протянувшейся на многие километры на восток от вас. На западе она сворачивает к югу. В освещенной мощным прожектором Левиафана скале вы видите раверзшуюся пасть пещеры. ]];
 
    dsc = [[Вы находитесь у подножья скалы, протянувшейся на многие километры на восток от вас. На западе она сворачивает к югу. Перед собой вы видите разверзшуюся пасть пещеры, освещенную мощным прожектором Левиафана. ]];
 
    way = {
 
        kh_vroom("В пещеру", "dyp_temple_cave_entrance");
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
    };
 
};
 

	
 
dyp_temple_south_west = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь у подножья скалы. К юго востоку скала сворачивает на юг и тянется на многие километры. К северо-востоку вы видите храм Дипатреанотра. ]];
 
};
 

	
 
dyp_temple_south_far = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь у подножья скалы, протянувшейся на многие километры на юг. На севере скала сворачивает к востоку. ]];
 
};
 

	
 
dyp_temple_north_west = room {
 
    nam = "Океан";
 
    no_exit = function(s)
 
        if dyp_quest_state == 3 then
 
            return nil;
 
        else
 
            return [[Нет смысла покидать Левиафан здесь. ]];
 
        end;
 
    end;
 
    view = [[Перед вами возвышается массивный каменный обелиск. Некогда он был украшен резными орнаментами, но сейчас все они практически полностью стерлись. К юго-востоку от вас возвышается отвесная скала, протянувшаяся на многие километры с юга на восток. Вдалеке на западе вы видите каменные строения навьярского города -- Дипатреанотра. ]];
 
    dsc = [[К юго-востоку от вас возвышается отвесная скала, протянувшаяся на многие километры с юга на восток. Вдалеке на западе вы видите каменные строения навьярского города -- Дипатреанотра. ]];
 
    obj = {
 
        "dyp_temple_west_footprints";
 
        "dyp_temple_north_west_obelisk";
 
    };
 
    way = {
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
    };
atlantis_from_the_ashes.lua
Show inline comments
 
atl_fta_is_terra_solis = room {
 
    var {
 
        state = 0;
 
    };
 
	nam = "Атлантида, межсекционный кодидор";
 
	dsc = [[Небольшой коридор, соединяющий секции Терра и Солис. Яркий свет электрических ламп освещает помещение.  ]];
 
	entered = function(s)
 
		if (s.state == 0) then
 
			return [[
 
				Вы входите в межсекционный коридор Солиса и в этот момент станцию сотрясает взрыв. Свет на мгновение моргает. Раздается звонок телефона. 
 
			]];
 
		end;
 
	end;
 
	way = {
 
		kh_vroom("В секцию Терра", "atl_fta_game_over_left");
 
		kh_vroom("В секцию Солис", function(s)
 
			if (atl_fta_phone.state == 1 and have(item_atl_fta_suit)) then
 
				return "atl_fta_solis_entry";
 
			else
 
				pr [[Вы вот так просто войдете в секцию где только что произошел взрыв?]];
 
				return false;
 
			end;
 
		end);
 
	};
 
	obj = {
 
		"atl_fta_phone",
 
		"item_atl_fta_suit"
 
	};
 
};
 
 
item_atl_fta_suit = suit {
 
	var {
 
		dlg = nil;
 
	};
 
	nam = "Скафандр";
 
	dsc = [[В углу, так же как и в других межсекционных коридорах стоит {скафандр}, который используется в случае чрезвычайной ситуации. ]];
 
	tak = function(e)
 
		if (atl_fta_phone.state == 1) then
 
			return "Вы одеваете скафандр", true;
 
		else
 
			return "Вам незачем это делать", false;
 
		end;
 
	end;
 
};
 
 
atl_fta_phone = obj {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Телефон";
 
	dsc = function(s)
 
		if (s.state == 0) then
 
			return [[
 
				На стене висит звонящий {телефонный аппарат}.
 
			]];
 
		else
 
			return [[
 
				На стене висит {телефонный аппарат}.
 
			]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.state == 0) then
 
			s.state = 1;
 
			walk("atl_fta_dlg_phone");
 
		else
 
			return false;
 
		end;
 
	end;
 
};
 
 
atl_fta_dlg_radio = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Радио";
 
	entered = function(s)
 
		if (s.state == 0) then
 
			psub("tuning");
 
			return [[Радио не настроено. ]];
 
		elseif (s.state == 1) then
 
			psub("ok");
 
			return [[Радио настроено, вы можете говорить. ]];
 
		elseif (s.state == 2) then
 
			psub("next");
 
			return [[Радио настроено, вы можете говорить. ]];
 
		elseif (s.state == 3) then
 
			psub("more");
 
			return [[Радио настроено, вы можете говорить. ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="tuning"};
 
		{"[Настроить приемник]Прием, как слышите?", [[
 
		{"[Настроить приемник] Прием, как слышите?", [[
 
			Через несколько минут настройки, вы слышите в динамике голос Райта: "Слушаю вас, Дрейк".
 
		]], code [[ atl_fta_dlg_radio.state = 1; psub("ok"); ]]};
 
		{tag="ok"};
 
		{"Что мне делать?", [[
 
			"Что вы видите?"
 
		]], code [[ atl_fta_dlg_radio.state = 2; psub("what_i_see"); ]]};
 
		{tag="what_i_see"};
 
		{"К юго-востоку от меня вижу огонь, скорее всего взрыв был там. Здесь жарко. ", [[Райт инструктирует вас: "Идите по западной стороне. Ваша задача -- попасть в центр секции с северной стороны. Вы увидите несколько вентилей. Вам надо будет перекрыть их все. Там хитрая защита от случайного закрытия, но я думаю, вы справитесь". ]], code [[ psub("clear"); ]]};
 
		{tag="next"};
 
		{always=true, "Что мне делать?", [["Идите по западной стороне. Ваша задача -- попасть в центр секции с северной стороны. Вы увидите несколько вентилей. Вам надо будет перекрыть их все. Там хитрая защита от случайного закрытия, но я думаю, вы справитесь". ]]};
 
        {"Конец связи. ", "", code [[ back(); ]]};
 
		{tag="more"};
 
		{"Тут еще что-то взорвалось", [[Райт подтверждает: "Я знаю. Поторопитесь. Если взорвется еще один котел, то станция обречена". ]], code [[ atl_fta_dlg_radio.state = 2; ]]};
 
		{"Как я выберусь отсюда?", [[Райт отвечает: "На юге есть шлюз, выйдете через него". ]], code [[ atl_fta_dlg_radio.state = 2; ]]};
 
        {tag="clear"};
 
        {"Вас понял. Конец связи. ", "", code [[ back(); ]]}
 
	};
 
};
 
 
atl_fta_dlg_phone = dlg {
 
	nam = "Телефон";
 
	entered = [[
 
		Вы снимаете трубку и слышите раздраженный голос Винсента Даркстара: "Дрейк?! Какого черта?! Немедленно возвращайтесь в свою комнату!"^ 
 
		Вы не успеваете и слова сказать, как в разговор вмешивается Майкл Райт: "Стойте! Дрейк, кроме вас там никого нет, поэтому одевайте скафандр и слушайте мои инструкции".
 
	]];
 
	phr = {
 
		{"Вас понял.", code = [[ psub("back"); ]]};
 
	};
 
};
 
 
atl_fta_solis_entry = room {
 
	nam = "Атлантида, Солис, рядом со шлюзом";
 
	dsc = [[
 
		В помещении темно и жарко. Слева и справа от вас проложены трубы. Сквозь просветы в них вы видите огонь где-то вдалеке на юго-востоке.
 
	]];
 
	entered = function(s)
 
		item_atl_fta_suit.dlg = "atl_fta_dlg_radio";
 
  
 
        if (atl_fta_solis_c2.broken_valve == 0) then
 
            atl_fta_solis_c2.broken_valve = rnd(5);
 
            atl_fta_valves[atl_fta_solis_c2.broken_valve].broken = true;
 
            atl_fta_solis_c2.broken_offset = rnd(9) + 10;
 
        end;
 
	end;
 
	way = {
 
		vroom("На восток", "atl_fta_solis_ne");
 
		vroom("На запад", "atl_fta_solis_nw");
 
	};
 
};
 
 
atl_fta_solis_ne = room {
 
	nam = "Атлантида, Солис";
 
	dsc = [[
 
		В помещении темно и жарко. Cо всех сторон от вас проложено множество труб. Сквозь просветы в них вы видите огонь где-то вдалеке на юге.
 
	]];
 
	way = {
 
		vroom("На запад", "atl_fta_solis_entry");
 
		vroom("На юг", "atl_fta_solis_e");
 
	};
 
};
 
 
atl_fta_solis_e = room {
 
	nam = "Атлантида, Солис";
 
	dsc = [[
 
		Здесь очень жарко. Путь на юг прегражден обломками труб, а за ними вы видите огонь. 
 
	]];
 
	way = {
 
		vroom("На север", "atl_fta_solis_ne");
 
	};
 
};
 
 
atl_fta_solis_nw = room {
 
	nam = "Атлантида, Солис";
 
	dsc = [[
 
		В помещении темно и жарко. Cо всех сторон от вас проложено множество труб. 
 
	]];
 
	way = {
 
		vroom("На восток", "atl_fta_solis_entry");
 
		vroom("На юг", "atl_fta_solis_w");
 
	};
 
};
 
 
atl_fta_solis_w = room {
 
	nam = "Атлантида, Солис";
 
	dsc = [[
 
		В помещении темно и жарко. Cо всех сторон от вас проложено множество труб. 
 
	]];
 
	way = {
 
		vroom("На север", "atl_fta_solis_nw");
 
		vroom("На восток", "atl_fta_solis_c1");
 
		vroom("На юг", "atl_fta_solis_sw");
 
	};
 
};
 
 
atl_fta_solis_c1 = room {
 
	nam = "Атлантида, Солис, центр";
atlantis_ignis_on_fire.lua
Show inline comments
 
@@ -512,248 +512,248 @@ atl_iof_main_s1 = room {
 
atl_iof_main_sw3 = room {
 
	nam = "Атлантида, Игнис, главный зал, вход в зал C";
 
	disp = "Атлантида, Игнис, главный зал, вход в зал C";
 
	iof = true;
 
    dsc = [[Огромный круглый зал охвачен пожаром. Освещение не работает. Множество стеллажей расположеныпо всему залу. Часть их пылает, другие обрушились, блокируя проходы. Клубы черного дыма заволакивают все вокруг. Вы находитесь в юго-западной части зала у самого его края. ]];      
 
	way = {
 
		kh_vroom("Против часовой", atl_iof_blocked_by_rubble);
 
		kh_vroom("По часовой", "atl_iof_main_nw3");
 
		kh_vroom("К центру", atl_iof_blocked_by_fire);
 
		kh_vroom("В зал C", function()
 
			pr("Дверь заклинило");
 
			return false;
 
		end);
 
	};
 
};
 
 
atl_iof_main_sw2 = room {
 
	nam = "Атлантида, Игнис, главный зал, югозападная часть";
 
	disp = "Атлантида, Игнис, главный зал, югозападная часть";
 
	iof = true;
 
    dsc = [[Огромный круглый зал охвачен пожаром. Освещение не работает. Множество стеллажей расположеныпо всему залу. Часть их пылает, другие обрушились, блокируя проходы. Клубы черного дыма заволакивают все вокруг. Вы находитесь в юго-западной части зала. ]];      
 
	way = {
 
		kh_vroom("Против часовой", atl_iof_blocked_by_rubble);
 
		kh_vroom("По часовой", "atl_iof_main_nw2");
 
		kh_vroom("К центру", "atl_iof_main_sw1");
 
		kh_vroom("К краю", atl_iof_blocked_by_fire);
 
	};
 
};
 
 
atl_iof_main_sw1 = room {
 
	nam = "Атлантида, Игнис, главный зал, югозападная часть, у лифта";
 
	disp = "Атлантида, Игнис, главный зал, югозападная часть, у лифта";
 
	iof = true;
 
    dsc = [[Огромный круглый зал охвачен пожаром. Освещение не работает. Множество стеллажей расположеныпо всему залу. Часть их пылает, другие обрушились, блокируя проходы. Клубы черного дыма заволакивают все вокруг. Вы находитесь к юго-западу от лифта. ]];      
 
	way = {
 
		kh_vroom("Против часовой", atl_iof_blocked_by_fire);
 
		kh_vroom("По часовой", "atl_iof_main_nw1");
 
		kh_vroom("К краю", "atl_iof_main_sw2");
 
	};
 
};
 
 
atl_iof_main_nw3 = room {
 
	nam = "Атлантида, Игнис, главный зал, северозапад, внешний край";
 
	disp = "Атлантида, Игнис, главный зал, северозапад, внешний край";
 
	iof = true;
 
    dsc = [[Огромный круглый зал охвачен пожаром. Освещение не работает. Множество стеллажей расположеныпо всему залу. Часть их пылает, другие обрушились, блокируя проходы. Клубы черного дыма заволакивают все вокруг. Вы находитесь в северо-западной части зала у самого его края. ]];      
 
	way = {
 
		kh_vroom("Против часовой", "atl_iof_main_sw3");
 
		kh_vroom("По часовой", "atl_iof_main_n3");
 
		kh_vroom("К центру", "atl_iof_main_nw2");
 
	};
 
};
 
 
atl_iof_main_nw2 = room {
 
	nam = "Атлантида, Игнис, главный зал, северозапад";
 
	disp = "Атлантида, Игнис, главный зал, северозапад";
 
	iof = true;
 
    dsc = [[Огромный круглый зал охвачен пожаром. Освещение не работает. Множество стеллажей расположеныпо всему залу. Часть их пылает, другие обрушились, блокируя проходы. Клубы черного дыма заволакивают все вокруг. Вы находитесь в северо-западной части зала. ]];         
 
	way = {
 
		kh_vroom("Против часовой", "atl_iof_main_sw2");
 
		kh_vroom("По часовой", atl_iof_blocked_by_fire);
 
		kh_vroom("К центру", atl_iof_blocked_by_rubble);
 
		kh_vroom("К краю", "atl_iof_main_nw3");
 
	};
 
};
 
 
atl_iof_main_nw1 = room {
 
	nam = "Атлантида, Игнис, главный зал, северозапад, у лифта";
 
	disp = "Атлантида, Игнис, главный зал, северозапад, у лифта";
 
	iof = true;
 
    dsc = [[Огромный круглый зал охвачен пожаром. Освещение не работает. Множество стеллажей расположеныпо всему залу. Часть их пылает, другие обрушились, блокируя проходы. Клубы черного дыма заволакивают все вокруг. Вы находитесь к северо-западу от лифта. ]];         
 
	way = {
 
		kh_vroom("Против часовой", "atl_iof_main_sw1");
 
		kh_vroom("По часовой", "atl_iof_main_n1");
 
		kh_vroom("К краю", atl_iof_blocked_by_rubble);
 
	};
 
};
 
 
atl_iof_suits = obj {
 
	nam = "Скафандры";
 
	dsc = "Вдоль стен помещения расставлено несколько {скафандров}. ";
 
	act = function(s)
 
		atl_iof_time_state.pl_safe = true;
 
		walkin("atl_iof_external_radio_dlg");
 
	end;
 
};
 
 
atl_iof_external_radio_dlg = dlg {
 
	nam = "Атлантида, Игнис, служебное помещение";
 
	entered = [[Забравшись в скафандр, вы настраиваете радио. Наконец, вы натыкаетесь на основную частоту станции и слышите голос Моро: "... вытащить их с Игниса. Что мы можем сделать?"^Даркстар отвечает: "Мы подойдем на Наутилусе к аварийному выходу и попробуем проникнуть внутрь". ]];
 
	phr = {
 
		{"Вы слышите меня?", [[В динамике вы слышите встревоженный голос начальника станции: "Моро на связи! Дрейк, вы там все в порядке?" ]], code [[psub('is_ok')]]};
 
		{tag = "is_ok"};
 
		{"Да, все здесь. Мы одеваем скафандры.", [[В динамике раздается голос Майкла Райта: "Отлично. Они защитят вас от жара и обеспечат воздухом. Лифт не работает, поэтому воспользуйтесь аварийным шлюзом в южной части секции. Наутилус подхватит вас там". ]], code [[psub('clear')]]};
 
 		{"Да, все здесь. Как нам выбраться?", [[В динамике раздается голос Майкла Райта: "Лифт не работает, поэтому воспользуйтесь аварийным шлюзом в южной части секции. Оденьте скафандры. Они защитят вас от жара и обеспечат воздухом. Наутилус подхватит вас у выхода". ]], code [[psub('clear')]]};
 
		{tag = "clear"};
 
		{"Вас понял, конец связи[Выключить радио].", code [[back();]]};  
 
		{"Вас понял, конец связи. [Выключить радио]", code [[back();]]};  
 
	};
 
};
 
 
atl_iof_ignis_service_room = room {
 
	nam = "Атлантида, Игнис, служебное помещение";
 
	disp = "Атлантида, Игнис, служебное помещение";
 
	iof = true;
 
    no_limits = true;   
 
	dsc = [[Небольшое помещение, используемое для хранения различного оборудования, необходимого для обслуживания секции. ]];
 
	way = {
 
		kh_vroom("В главный зал", function(s)
 
			if (atl_iof_time_state.pl_safe) then
 
				return "atl_iof_main_ne3";
 
			else
 
				pr("Я не вернусь туда без снаряжения");
 
				return false;
 
			end;
 
		end);
 
	};
 
	obj = {
 
		'atl_iof_suits'
 
	};
 
};
 
 
atl_iof_outside = room {
 
	nam = "Атлантида, Игнис";
 
	iof = true;
 
	entered = function(s)
 
		lifeoff(atl_iof_time_state);
 
	end;
 
	dsc = function(s)
 
		if (have(char_learr_faint)) then
 
			if (atl_iof_time_state.wright_here) then
 
				return [[Вы добираетесь до аварийного шлюза Игниса. Вы с трудом отдраиваете его и заходите в шлюзовую камеру. Как только вы задраиваете внутренний люк, Райт опускает Леарр на пол и начинает вместе с вами отдраивать внешний люк. ^Вода быстро заполняет отсек. Снаружи вы видите Наутилус, находящийся прямо под люком. Вы берете Леарр и выходите наружу. Тяжелый скафандр тянет вас вниз и вы плавно опускаетесь на верхнюю обшивку Наутилуса. Группа людей, облаченных в скафандры помогает вам забраться внутрь Наутилуса. ]];
 
			else
 
				return [[Вы добираетесь до аварийного шлюза Игниса. Вы с трудом отдраиваете его и заходите в шлюзовую камеру. Вы кладете Леарр на пол и снова задраиваете внутренний люк и, тяжело вздохнув, начинаете открывать внешний. ^Вода быстро заполняет отсек. Снаружи вы видите Наутилус, находящийся прямо под люком. Вы берете Леарр и выходите наружу. Тяжелый скафандр тянет вас вниз и вы плавно опускаетесь на верхнюю обшивку Наутилуса. Группа людей, облаченных в скафандры помогает вам забраться внутрь Наутилуса. ]];
 
			end;
 
		else
 
            if (atl_iof_time_state.learr_safe) then
 
			    return [[Вы добираетесь до аварийного шлюза Игниса. Вы с трудом отдраиваете его и заходите в шлюзовую камеру. Задраив люк изнутри, вы приступаете к открытию внешнего. ^Вода быстро заполняет отсек и вы замечаете некоторую растерянность Леарр. Снаружи вы видите Наутилус, находящийся прямо под люком. Вы спрыгиваете вниз. Леарр следует за вами. Группа людей, облаченных в скафандры помогает вам забраться внутрь Наутилуса. ]];
 
            else
 
                return [[Вы добираетесь до аварийного шлюза Игниса. Вы с трудом отдраиваете его и заходите в шлюзовую камеру. Задраив люк изнутри, вы приступаете к открытию внешнего. ^Вода быстро заполняет отсек. Снаружи вы видите Наутилус, находящийся прямо под люком. Вы спрыгиваете вниз. Группа людей, облаченных в скафандры помогает вам забраться внутрь Наутилуса. ]];
 
            end;         
 
		end;
 
	end;
 
	obj = {
 
		vobj("Продолжить", "{Продолжить}", "atl_iof_part2_dlg");
 
	};
 
};
 
 
atl_iof_part2_dlg = dlg {
 
	nam = "Атлантида, Игнис";
 
	entered = [[Вы слышите голос, доносящийся из динамика: "Все в порядке. Наутилус доставит вас на станцию". ]];
 
	phr = {
 
		{"Хорошо[Войти в шлюз Наутилуса].", [[Вы забираетесь внутрь Наутилуса -- эта субмарина заметно меньше вашего Левиафана, но так же вмещает довольно большой экипаж. Вы снимаете скафандры и проходите в кают-компанию. По радио вы слышите голос Моро: "Как только вы придете в себя после произошедшего, я жду вас в моем кабинете". ^Через считанные минуты вы оказываетесь в доке. Вы с трудом добираетесь до своей каюты, где без сил засыпаете. ]], code [[ walk('atl_luna_drake_room'); ]]};
 
		{"Хорошо. [Войти в шлюз Наутилуса]", [[Вы забираетесь внутрь Наутилуса -- эта субмарина заметно меньше вашего Левиафана, но так же вмещает довольно большой экипаж. Вы снимаете скафандры и проходите в кают-компанию. По радио вы слышите голос Моро: "Как только вы придете в себя после произошедшего, я жду вас в моем кабинете". ^Через считанные минуты вы оказываетесь в доке. Вы с трудом добираетесь до своей каюты, где без сил засыпаете. ]], code [[ walk('atl_luna_drake_room'); ]]};
 
		{"Я могу чем-то помочь?", function(s)
 
            if (atl_iof_time_state.carry_learr or atl_iof_time_state.learr_safe or not char_learr_iof.faint) then
 
                psub('help');      
 
                return [[По радио вы слышите голос Райта: "Было бы очень здорово, если бы вы смогли отключить подачу кислорода в Игнис". ]];
 
            else
 
                walk("atl_iof_end");
 
                return [[По радио вы слышите голос Даркстара: "Возвращайтесь на станцию. Вам нужен отдых, а мы попытаемся спасти Леарр". ]];
 
            end;
 
        end};
 
		{tag="help"};
 
		{"Хорошо, я готов", [[Райт продолжает: "Спускайтесь вниз, на крышу Доминуса, и идите к лифту. Где-то с южной стороны должна быть панель управления. С ней вы, думаю, разберетесь". Вы аккуратно спрыгиваете с Наутилуса вниз и идете к лифту. ]], code [[ walk('atl_iof_outside_lift'); ]]};
 
		{"Я передумал", [[Райт отвечает: "Хорошо, возвращайтесь на станцию. Мои люди все сделают". ]], code [[ walk('atl_iof_end'); ]]};
 
	};
 
};
 
 
atl_iof_outside_lift = room {
 
	nam = "Атлантида";
 
	dsc = [[Над вами нависает громада Игниса, покоящаяся на множестве опор. Вы находитесь снаружи шахты лифта, одновременно служащей центральной опорой секции. Сверху вы слышите скрежет металла, подвергаемого сильному термальному воздействию. ]];
 
	obj = {
 
		"atl_iof_air_valves"
 
	};
 
};
 
 
atl_iof_air_valves = room {
 
	var {
 
		valves = { 0,0,0,0,0,0 };
 
		selected = 0;
 
	};
 
	nam = "Кислородные клапаны";
 
	entered = function(s)
 
		atl_iof_select1:enable();
 
		atl_iof_select2:enable();
 
		atl_iof_select3:enable();
 
		atl_iof_select4:enable();
 
		atl_iof_select5:enable();
 
		atl_iof_select6:enable();
 
		atl_iof_air_ccw:disable();
 
		atl_iof_air_cw:disable();
 
		atl_iof_air_cancel:disable();
 
		
 
		atl_iof_air_valves.selected = 0;
 
	end;
 
	pic = function(s)
 
		local image = 'images/air_bg.png';
 
		for i = 1, #s.valves do
 
			image = image .. ";images/air_" .. tostring(s.valves[i]) .. ".png@" .. tostring(((i - 1) % 3) * 32) .. "," .. tostring(math.floor((i - 1) / 3) * 32);
 
		end;
 
		
 
		return image;
 
	end;
 
	dsc = function(s)
 
		if (s.selected == 0) then
 
			return [[Перед собой вы видите 6 клапанов. Каждый из них пропускает через себя воздух только в одном направлении. По показаниям манометра вы видите, что воздух продолжает поступать в Игнис. ]];
 
		else
 
			return "Перед собой вы видите 6 клапанов. Каждый из них пропускает через себя воздух только в одном направлении. По показаниям манометра вы видите, что воздух продолжает поступать в Игнис. В какую сторону вы хотите повернуть выбранный клапан (" .. tostring(s.selected) .. ")?";
 
		end;
 
	end;
 
	obj = {
 
		'atl_iof_select1';
 
		'atl_iof_select2';
 
		'atl_iof_select3';
 
		'atl_iof_select4';
 
		'atl_iof_select5';
 
		'atl_iof_select6';
 
		'atl_iof_air_ccw';
 
		'atl_iof_air_cw';
 
		'atl_iof_air_cancel';
 
	};
 
	is_solved = function(s)
 
		local current = 1;
 
		local visited = {false, false, false, false, false, false};
 
		while not visited[current] do
 
			visited[current] = true;
 
			if (s.valves[current] == 0) then
 
				if (current == 3 or current == 6) then 
 
					return false;
 
				else
 
					current = current + 1;
 
				end;
 
			elseif (s.valves[current] == 1) then
 
				current = current + 3;
 
			elseif (s.valves[current] == 2) then
 
				current = current - 1;
 
			elseif (s.valves[current] == 3) then
 
				current = current - 3;
 
			end;
 
		end;
 
		current = 4;
 
		visited = {false, false, false, false, false, false};
 
		while not visited[current] do
 
			visited[current] = true;
 
			if (s.valves[current] == 0) then
 
				if (current == 3 or current == 6) then 
 
					return false;
 
				else
 
					current = current + 1;
atlantis_iraa.lua
Show inline comments
 
@@ -104,247 +104,247 @@ iraa_near_city_east = room {
 
    disp = [[Ираафаанотр, у города]];
 
    dsc = [[Ровное илистое плато простирается вокруг насколько хватает взгляда. Вы находитесь на восточной окраине Ираафаанотра -- небольшого навьярского поселения. Невысокие каменные здания, раскиданные в кажущемся беспорядке служат жилищем для многих из них. В центре городка возвышается каменный обелиск, с нанесенными на него изображениями. ]];
 
    obj = {
 
        "iraa_city_east_guard";
 
    };
 
    way = {
 
        kh_vroom("К центру Ираафаанотра", "iraa_city_east");
 
    };
 
};
 

	
 
iraa_city_west_guard = npc {
 
    nam = "iraa_city_west_guard";
 
    dsc = [[По обе стороны дороги стоят двое навьярских {стражникиов}. ]];
 
    phrases = function(s)
 
        if (language_known) then
 
            if (atl_rep_iraa >= 0) then
 
                return {
 
                    "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы -- они просят вас говорить с вождем. ",
 
                    "По головным плавникам стражников бегут цветные полосы -- они приветствуют вас"
 
                };
 
            else
 
                return {
 
                    "Стражники указывают вам на дом вождя. По их головным плавникам бегут цветные полосы -- они просят вас говорить с вождем. "
 
                };
 
            end;
 
        else
 
            return {
 
                "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы, но вы не понимаете, что они значат. "
 
            };
 
        end;
 
    end;
 
};
 

	
 
iraa_city_east_guard = npc {
 
    nam = "iraa_city_east_guard";
 
    dsc = [[По обе стороны дороги стоят двое навьярских {стражникиов}. ]];
 
    phrases = function(s)
 
        if (language_known) then
 
            if (atl_rep_iraa >= 0) then
 
                return {
 
                    "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы -- они просят вас говорить с вождем. ",
 
                    "По головным плавникам стражников бегут цветные полосы -- они приветствуют вас"
 
                };
 
            else
 
                return {
 
                    "Стражники указывают вам на дом вождя. По их головным плавникам бегут цветные полосы -- они просят вас говорить с вождем. "
 
                };
 
            end;
 
        else
 
            return {
 
                "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы, но вы не понимаете, что они значат. "
 
            };
 
        end;
 
    end;
 
};
 

	
 
iraa_city_chief_house = room {
 
    nam = "iraa_chief_house";
 
    dsc = [[Приемная дома вождя представляет собой огромый зал. Несколько массивных колонн, не слишком искусно сделанных, поддерживают тяжелую каменную крышу здания. В дальнем конце зала установлен каменный трон. Перед троном установлен громадный, каменный же стол, вокруг которого расставлено множество стульев. ]];
 
    way = {
 
        kh_vroom("На площадь", "iraa_city_center");
 
    };
 
    obj = {
 
        "iraa_chief"
 
    };
 
};
 

	
 
iraa_chief = npc {
 
    nam = "iraa_chief";
 
    dsc = [[{Вождь Ираафаанотра} сидит на троне, внимательно наблюдая за вами своими серыми глазами. Руки его неподвижно лежат на подлокотниках. Серебристая чешуя, слегка синеватая, потускнела за долгие годы жизни. Одет он в плотный облегающий костюм из водорослей, не стесняющий движения, как принято у всех, даже самых высокопоставленных навьяров. ]];
 
    dlg = "iraa_chief_dlg";
 
};
 

	
 
iraa_chief_dlg = dlg {
 
    var {
 
        ask_temple = false;
 
    };
 
    nam = "iraa_chief_dlg";
 
    disp = "Вождь Ираафаанотра";
 
    entered = function(s)
 
        if (language_known) then
 
            psub("greet");
 
            if (s.ask_temple) then
 
                s.ask_temple = false;
 
                pon("temple");
 
            end;
 
            return [[Вы подходите к каменному столу, чтобы предстать перед вождем Ираафаанотра -- немолодым уже навьяром. Длинные руки, покрытые тусклой серебристой чешуей, с едва заметным синеватым отливом, покоятся на подлокотниках трона. Не поднимаясь, он начинает говорить. По головным плавникам вождя бегут цветные полосы -- вождь прииглашает вас сесть напротив него и открыть цель вашего визита. В скафандре у вас с трудом получается это сделать, но вы не решаетесь оскорбить вождя и остаться стоять перед ним. ]];
 
        else
 
            psub("no_speech");
 
            return [[Вы подходите к каменному столу, чтобы предстать перед вождем Ираафаанотра -- немолодым уже навьяром. Длинные руки, покрытые тусклой серебристой чешуей, с едва заметным синеватым отливом, покоятся на подлокотниках трона. Не поднимаясь, он начинает говорить. По головным плавникам вождя бегут цветные полосы -- вождь прииглашает вас сесть напротив него и открыть цель вашего визита. В скафандре у вас с трудом получается это сделать, но вы не решаетесь оскорбить вождя и остаться стоять перед ним. ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="no_speech"};
 
        {"[Уйти]", code [[ back(); ]]};
 
        {tag="greet"};
 
        {"[Кодировщик]Приветствую. Мы ищем фрагмент карты пути к Лсэрианотру, который находится у вас. ", [[Вождь задумчиво смотрит на вас. Через некоторое время он отвечает: "У нас нет ничего подобного. Я не знаю, о чем вы говорите". ]], code [[psub("more_info");]]};
 
        {tag="temple", false, "[Кодировщик]Мы просим разрешения посетить храм Ираафаанотра. ", [[Вождь отрицательно качает головой: "Это исключено, хевьяр. "]]};
 
        {"[Кодировщик]Мы ищем Венаэданотр. Вы знаете где это?", [[Вождь кивает: "Далеко отсюда. Спросите у Ритларра. "]]};
 
        {"[Кодировщик]Мы ищем Нлейисланотр. Вы знаете где это?", [[Вождь кивает: "Далеко отсюда. Спросите у Ритларра. "]]};
 
        {"[Кодировщик] Приветствую. Мы ищем фрагмент карты пути к Лсэрианотру, который находится у вас. ", [[Вождь задумчиво смотрит на вас. Через некоторое время он отвечает: "У нас нет ничего подобного. Я не знаю, о чем вы говорите". ]], code [[psub("more_info");]]};
 
        {tag="temple", false, "[Кодировщик] Мы просим разрешения посетить храм Ираафаанотра. ", [[Вождь отрицательно качает головой: "Это исключено, хевьяр. "]]};
 
        {"[Кодировщик] Мы ищем Венаэданотр. Вы знаете где это?", [[Вождь кивает: "Далеко отсюда. Спросите у Ритларра. "]]};
 
        {"[Кодировщик] Мы ищем Нлейисланотр. Вы знаете где это?", [[Вождь кивает: "Далеко отсюда. Спросите у Ритларра. "]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
        {tag="more_info"};
 
        {"[Кодировщик]Один из фрагментов карты должен быть у вас[Передать табличку, найденную в храме]. ", [[Вождь отвечает: "Я не знаю ни о чем подобном. вам стоит спросить у Ритларра в библиотеке. "]]};
 
        {"[Кодировщик] Один из фрагментов карты должен быть у вас. [Передать табличку, найденную в храме]", [[Вождь отвечает: "Я не знаю ни о чем подобном. вам стоит спросить у Ритларра в библиотеке. "]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
    };
 
};
 

	
 
iraa_city_library = room {
 
    nam = "iraa_city_library";
 
    dsc = [[Огромный зал библиотеки Ираафаанотра практичски пусто. ]];
 
    obj = {
 
        "iraa_rytlarr",
 
        "iraa_shelves"
 
    };
 
};
 

	
 
iraa_shelves = obj {
 
    nam = "iraa_shelves";
 
    dsc = [[Вдоль стен стоят многочисленные {стеллажи} с древними и новыми записями. Большинство из них сделаны на металлических табличках и явно очень стары. Вперемешку с ними стоят и каменные -- более современные, и даже сделанные на водорослях -- те, что еще не успели переписать на что-то более долговечное. ]];
 
    act = [[Вам потребуются десятилетия, чтобы изучить все, находящиеся здесь записи. ]];
 
};
 

	
 
iraa_rytlarr = npc {
 
    nam = "iraa_rytlarr";
 
    dsc = [[По залу неспешно расхаживает молодой {навьяр}. Зеленые глаза внимательно рассматривают полки. Зеленовато-серая чешуя поблескивает на свету. Время от времени он останавливается возле одной из полок, чтобы перенести те или иные записи с места на место]];
 
    dlg = "iraa_rytlarr_dlg";
 
};
 

	
 
iraa_rytlarr_dlg = dlg {
 
    nam = "iraa_rytlarr_dlg";
 
    disp = [[Ритларр]];
 
    entered = function(s)
 
        if dyp_quest_state == 1 then
 
            pon("star_map");
 
        end;
 
        if (language_known) then
 
            psub("generic");
 
            return [[Навьяр обращается к вам: "Ритларр приветствует тебя, хевьяр". ]];
 
        else
 
            psub("no_speech");
 
            return [[По головным плавникам навьяра бегут цветные полосы, но вы не понимаете, что он пытается сказать вам. ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="no_speech"};
 
        {"[Уйти]", code [[ back(); ]]};
 
        {tag="generic"};
 
        {"[Кодировщик]Я ищу часть карты, ведущей в Лсэрианотр.", [[Навьяр некоторое время стоит, задумавшись. Потом он начинает ходить от полки к полке. Наконец, он сообщает: "Я не уверен, что она у нас есть. Но если вы уверены -- она должна быть в храме. Спросите у вождя. Быть может он позволит вам войти внутрь по такому случаю". ]], code [[ iraa_chief_dlg.ask_temple = true; ]]};
 
        {tag="star_map", false, "[Кодировщик]Ты наешь что-нибудь о карте небесных огней?", [[Навьяр кивает: "наше сокровище. Аэдиенрр взял ее не так давно. Он сказал, что знает как найти место, указанное в ней. Но прошло много дней, а он не вернулся. Если ты сможешь найти его и вернуть карту, мы будем очень благодарны. Я не знаю точно конечную цель, но я знаю, что он вышел по направлению к Дипатреанотру". ]], code [[ dyp_quest_state = 2; ]]};
 
        {"[Кодировщик]Ты знаешь, где находится Венаэданотр?", [[Навьяр кивает: "Мы знаем путь туда". Он ведет вас к одной из полок в дальнем конце зала. Ритларр достает одну из металлических пластин и протягивает вам со словами: "Вернете, когда сделаете копию у себя". ]], code [[ ]]};
 
        {"[Кодировщик]Ты знаешь, где находится Нлейисланотр?", [[Навьяр отрицательно качает головой: "У нас нет карты пути к этому месту. Быть может, путь знают в Дипатреанотре. "]]};
 
        {"[Кодировщик] Я ищу часть карты, ведущей в Лсэрианотр.", [[Навьяр некоторое время стоит, задумавшись. Потом он начинает ходить от полки к полке. Наконец, он сообщает: "Я не уверен, что она у нас есть. Но если вы уверены -- она должна быть в храме. Спросите у вождя. Быть может он позволит вам войти внутрь по такому случаю". ]], code [[ iraa_chief_dlg.ask_temple = true; ]]};
 
        {tag="star_map", false, "[Кодировщик] Ты наешь что-нибудь о карте небесных огней?", [[Навьяр кивает: "наше сокровище. Аэдиенрр взял ее не так давно. Он сказал, что знает как найти место, указанное в ней. Но прошло много дней, а он не вернулся. Если ты сможешь найти его и вернуть карту, мы будем очень благодарны. Я не знаю точно конечную цель, но я знаю, что он вышел по направлению к Дипатреанотру". ]], code [[ dyp_quest_state = 2; ]]};
 
        {"[Кодировщик] Ты знаешь, где находится Венаэданотр?", [[Навьяр кивает: "Мы знаем путь туда". Он ведет вас к одной из полок в дальнем конце зала. Ритларр достает одну из металлических пластин и протягивает вам со словами: "Вернете, когда сделаете копию у себя". ]], code [[ ]]};
 
        {"[Кодировщик] Ты знаешь, где находится Нлейисланотр?", [[Навьяр отрицательно качает головой: "У нас нет карты пути к этому месту. Быть может, путь знают в Дипатреанотре. "]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
    };
 
};
 

	
 
--[[
 
Ираафаанотр.Храм
 
]]
 

	
 
iraa_temple_entry = lcutscene("dyp_entry", "Левиафан, рубка", [[После недолгого путешествия, вы оказываетесь у цели. Как и другие, виденные вами храмы, храм Ираафаанотра вырезан в толще скалы. Массивные ворота, вытесанные из камня заперты. Рисунок над ними указывает путь к Ираафаанотру. ]], "Вы прибыли в Дипатреанотр. ", leviathan_wheelhouse);
 

	
 
player_learr = player {
 
    nam = "player_learr";
 
    has_light = true;
 
    obj = {};
 
};
 

	
 
iraa_learr_choice_dlg = dlg {
 
    nam = "iraa_learr_choice_dlg";
 
    disp = "Леарр";
 
    entered = [[Вы уже собираетесь покинуть Левиафан, как в шлюзовую камеру входит Леарр со словами: "Дрейк-ты здесь-оставайся. Я в-храм-пойду". ]];
 
    phr = {
 
        {"Почему не отправиться вместе?", [[Леарр отрицательно качает головой: "Хевьярам нельзя-в-храм-входить, поэтому я внутрь-только-одна-войду". ]]};
 
        {"Хорошо, ты справишься лучше. ", [[Леарр кивает: "Я вернусь-с-картой. Вы здесь-ждите". Вы покидаете шлюзовую камеру и Леарр выходит наружу. ]], code [[
 
            rel_learr = rel_learr + 1;
 
            pl = player_learr;
 
            walk("iraa_temple_entrance");
 
        ]]};
 
        {"Я пойду сам. ", [[Леарр недовольно качает головой. Плавники окрашиваются синим. Со совами: "Ты ошибку-совершаешь", -- она выходит из шлюзовой камеры. ^^Вы выбираетесь из Левиафана. ]], code [[
 
            rel_learr = rel_learr - 1;
 
            walk("iraa_temple_entrance");
 
        ]]};
 
    };
 
};
 

	
 
iraa_temple_entrance = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Храм Ираафаанотра, вход";
 
    underwater = true;
 
    dsc = function(s)
 
        if pl == player_learr then
 
            return [[Леарр стоит перед массивными двустворчатыми воротами храма, вытесанными в скале, протянувшейся с севера на юг. Над ними расположена карта, указывающая путь к Ираафаанотру. Работники храма регулярно обновляли и восстанавливали карту в течение многих столетий. ]];
 
        else
 
            return [[Перед вами возвышаются массивные двустворчатые ворота храма, вытесанные из камня. Над ними вы видите тщательно поддерживаемую в порядке карту, указывающую путь к Ираафаанотру. Скала тянется с севера на юг насколько хватает глаз. ]];
 
        end;
 
    end;
 
    view = [[Через иллюминаторы видны массивные ворота вытесанного в скале храма. Над входом расположен символ храма -- карта пути к самому Ираафаанотру отсюда. ]];
 
    enter = function(s)
 
        if s.state == 0 and ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
            s.state = 1;
 
            walkin("iraa_learr_choice_dlg");
 
        end;
 
    end;
 
    obj = {
 
        "iraa_temple_guardians";
 
    };
 
    way = {
 
        kh_vroom("Войти", function(s)
 
            if pl == player_learr then
 
                return "iraa_temple_main_1";
 
            else
 
                pr [[Стражники не пропустят вас. ]];
 
                return false;
 
            end;
 
            
 
        end);
 
        kh_vroom("Вдоль скалы на север", function(s)
 
            if pl == player_learr then
 
                pr [[В голове Леарр проносится мысль: "Там нет ничего интересного, я много раз там бывала". ]];
 
                return false;
 
            else
 
                return "iraa_temple_north_1";
 
            end;
 
        end);
 
        kh_vroom("Вдоль скалы на юг", function(s)
 
            if pl == player_learr then
 
                pr [[В голове Леарр проносится мысль: "Там нет ничего интересного, я много раз там бывала". ]];
 
                return false;
 
            else
 
                return "iraa_temple_south";
 
            end;
 
        end);
 
        kh_vroom("В Левиафан", function(s)
 
            if pl == player_learr and iraa_temple_hidden_pedestal.state == 0 then
 
                pr [[В голове Леарр проносится мысль: "Я еще не сделала все, что нужно". ]];
 
                return false;
 
            else
 
                return "leviathan_airlock";
 
            end;
 
        end);
 
    };
 
};
 

	
 
iraa_temple_guardians = npc {
 
    nam = "iraa_temple_guardians";
journey_nleyyslanotrr.lua
Show inline comments
 
global {
 
    za_convoy_gone = false;
 
};
 

	
 
za_gate_foot = room {
 
    nam = "Вход в Нлейисланотр";
 
    handwheel_room = "za_gate";
 
    underwater = true;
 
    no_exit = [[
 
        Нет смысла покидать Левиафан здесь. 
 
    ]];
 
    view = [[
 
        Через иллюминаторы вы видите перед собой высокие металлические ворота Нлейисланотра. С обеих сторон от них стоят две смотровые башни, на вершинах которых горят красные огоньки. 
 
    ]];
 
};
 

	
 
za_gate = dlg {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Левиафан, рубка";
 
    entered = function(s)
 
        if (s.state == 0) then
 
            s.state = 1;
 
            if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
                psub("learr");
 
                return [[
 
                    Как только Левиафан приближается к городу, массивные металлические ворота начинают закрываться. Огни на башнях окрашиваются красным, а по всему городу начинается какое-то волнение. В рубку поднимается Леарр. Она встает рядом с вами и, окидывая взглядом город, произносит: "Мы туда-не-идем. Они не-пускают-нас".
 
                ]];
 
            else
 
                psub("anna");
 
                return [[
 
                    Как только Левиафан приближается к городу, массивные металлические ворота начинают закрываться. Огни на башнях окрашиваются красным, а по всему городу начинается какое-то волнение. В рубку поднимается Анна. Она встает рядом с вами и, окидывая взглядом город, произносит: "Кажется, нам здесь не рады".
 
                ]];
 
            end;
 
        else
 
            psub("control");
 
            return [[
 
                Левиафан находится перед массивными металлическими воротами Нлейисланотра. Огни на башнях горят ярко-красным, сообщая вам что пути нет. 
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="learr"};
 
        {"[Остановить субмарину]И что нам делать?", [[
 
        {"[Остановить субмарину] И что нам делать?", [[
 
            Леарр пожимает плечами: "Мы незаметными-пройти-должны. Сильнее-они так-как много-их".
 
        ]], code [[ psub("control"); ]]};
 
        {"[Продолжать движение]Попробуем преподать им урок", code = [[ walk("game_over_za_learr"); ]]};
 
        {"[Продолжать движение] Попробуем преподать им урок", code = [[ walk("game_over_za_learr"); ]]};
 
        {tag="anna"};
 
        {"[Остановить субмарину]И что нам делать?", [[
 
        {"[Остановить субмарину] И что нам делать?", [[
 
            Анна пожимает плечами: "Понятия не имею".
 
        ]], code [[ psub("control"); ]]};
 
        {"[Продолжать движение]Попробуем преподать им урок", code = [[ walk("game_over_za_anna"); ]]};
 
        {"[Продолжать движение] Попробуем преподать им урок", code = [[ walk("game_over_za_anna"); ]]};
 
        {tag="control"};
 
        {always = true, "[Проплыть над воротами]", code = [[
 
            if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
                walk("game_over_za_learr");
 
            else
 
                walk("game_over_za_anna");
 
            end;
 
        ]]};
 
        {always = true, "[Двигаться вдоль стен]", code = [[
 
            move(submarine_leviathan, "za_crack_foot");
 
            walk("za_crack");
 
        ]]};
 
        {always = true, "[Отправиться в другое место]", code = [[
 
            walk("leviathan_handwheel");
 
        ]]};
 
        {always = true, "[Отойти от штурвала]", code = [[
 
            walk("leviathan_wheelhouse");
 
        ]]};
 
    };
 
};
 

	
 
za_crack_foot = room {
 
    nam = "Вход в Нлейисланотр";
 
    handwheel_room = "za_crack";
 
    underwater = true;
 
    dsc = [[
 
        Перед вами возвышается каменная стена древнего города. Через широкую трещину в ней вы вполне можете попытаться попасть на другую сторону. 
 
    ]];
 
    view = [[
 
        Через иллюминаторы вы видите высокие стены Нлейисланотра. Мощный луч прожектора освещает едва заметную трещину в стене. Быть может, вы сможете незаметно пробраться через нее в город. 
 
    ]];
 
    way = {
 
        kh_vroom("В Левиафан", leviathan_airlock);
 
        kh_vroom("В трещину", "za_crack_inside");
 
    };
 
};
 

	
 
za_crack = dlg {
 
    nam = "Левиафан, рубка";
 
    entered = [[
 
        Левиафан находится у стены Нлейисланотра. Огни на башнях погашены, сообщая что навьяры скорее всего не придают значения вашему присутствию. 
 
    ]];
 
    phr = {
 
        {always = true, "[Вернуться к воротам]", code = [[
 
            move(submarine_leviathan, "za_gate_foot");
 
            walk("za_gate");
 
        ]]};
 
        {always = true, "[Отправиться в другое место]", code = [[
 
            walk("leviathan_handwheel");
 
        ]]};
 
        {always = true, "[Отойти от штурвала]", code = [[
 
            walk("leviathan_wheelhouse");
 
        ]]};
 
    };
 
};
 

	
 
za_convoy_route = {
 
    "za_cross_6",
 
    "za_street_11",
 
    "za_cross_5",
 
    "za_street_13",
 
    "za_cross_24",
 
    "za_street_15",
 
    "za_cross_7",
 
    "za_street_16",
 
    "za_cross_8",
 
    "za_street_22",
 
    "za_cross_11",
 
    "za_street_23",
 
    "za_cross_12",
 
    "za_street_41",
 
    "za_cross_22",
 
    "za_street_42",
 
    "za_cross_23",
 
    "za_street_44",
 
    "za_cross_15",
 
    "za_street_27",
 
    "za_prison_entrance",
 
    "za_prison"
 
};
 

	
 
za_convoy = {
 
    position = null;
 
    direction = 'za_cross_6';
 
    index = 1;
 
    life = function(s)
 
        local loc = stead.deref(here());
 
        for i = 1, #za_convoy_messages do
 
            if (za_convoy_messages[i][1] == loc and za_convoy_messages[i][2] == za_convoy.position) then
 
                pr(za_convoy_messages[i][3]);
 
            end;
 
        end;
 
        if (za_convoy.index > #za_convoy_route) then
 
            --TODO Конвой ушол
 
            za_convoy_gone = true;
 
            timer:stop();
 
@@ -1792,215 +1792,215 @@ za_cmbt_guard = function(nam, index, x, 
 
            end;
 
            table.sort(enemies, function(a, b)
 
                return (a.p.l < b.p.l);
 
            end);
 
            
 
            local enemy = enemies[1];
 
            local path = here():getWalkDistance(s.x, s.y, here().plX, here().plY);
 
            if (not enemy or path and enemy.p.l > path.l ) then
 
                enemy = pl;
 
            else
 
                path = enemy.p;
 
                enemy = enemy.o;
 
            end;
 
            
 
            if (not enemy or not path) then
 
                pn("Стражник ".. tostring(index).. " ждет. ");
 
                return;
 
            end;
 
            
 
            -- AI Order:
 
            -- If has spear and enemy is close - hit with spear
 
            -- walk towards nearest enemy
 
            -- If enemy close - hit with claws
 
            
 
            if (s.hasSpear) then
 
                here():canShoot(s.x,s.y, enemy.x, enemy.y);
 
                
 
                if (math.abs(s.x - enemy.x) + math.abs(s.y - enemy.y) <= 2 and here():canShoot(s.x,s.y, enemy.x, enemy.y)) then
 
                    if (math.abs(s.x - enemy.x) == 2 or math.abs(s.y - enemy.y) == 2) then
 
                        --50%
 
                        if (rnd(2) > 1) then
 
                            enemy.hp = enemy.hp - 2;
 
                            pn("Стражник ".. tostring(index).. " бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                        else
 
                            pn("Стражник ".. tostring(index).. " бьет " .. enemy.disp2 .. " копьем, но промахивается. ");
 
                        end;
 
                        return;
 
                    elseif  (math.abs(s.x - enemy.x) == 1 and math.abs(s.y - enemy.y) == 1) then
 
                        --75%
 
                        if (rnd(4) > 1) then
 
                            enemy.hp = enemy.hp - 2;
 
                            pn("Стражник ".. tostring(index).. " бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                        else
 
                            pn("Стражник ".. tostring(index).. " бьет " .. enemy.disp2 .. " копьем, но промахивается. ");
 
                        end;
 
                        return;
 
                    elseif (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                    s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                        --100%
 
                        enemy.hp = enemy.hp - 2;
 
                        pn("Стражник ".. tostring(index).. " бьет " .. enemy.disp2 .. " копьем и попадает. ");
 
                        return;
 
                    end;
 
                end;
 
            else
 
                if (math.abs(s.x - enemy.x) == 1 and s.y == enemy.y or
 
                    s.x == enemy.x and math.abs(s.y - enemy.y) == 1) then
 
                    enemy.hp = enemy.hp - 1;
 
                    pn("Стражник ".. tostring(index).. " бьет " .. enemy.disp2 .. " и попадает. ");
 
                    return;
 
                end;
 
            end;
 
            print("fug2",path);
 
            s.x = path.p[2][1];
 
            s.y = path.p[2][2];
 
            pn("Стражник ".. tostring(index).. " идет к " .. enemy.disp3 .. ". ");
 
        end;
 
    };
 
end;
 

	
 
za_cmbt_guard1 = za_cmbt_guard("za_cmbt_guard1", 1, 3, 5, true);
 
za_cmbt_guard2 = za_cmbt_guard("za_cmbt_guard2", 2, 5, 5, false);
 
za_cmbt_guard3 = za_cmbt_guard("za_cmbt_guard3", 3, 3, 7, true);
 
za_cmbt_guard4 = za_cmbt_guard("za_cmbt_guard4", 4, 5, 7, true);
 

	
 
za_phaetlarr_dlg = dlg {
 
    var {
 
        state = 0;
 
    };
 
    nam = "za_phaetlarr_dlg";
 
    disp = "Фаэтларр";
 
    entered = function(s)
 
        psub("intro");
 
        if (char_learr.follow) then
 
            s.state = 1;
 
            return [[
 
                Навьяр смотрит попеременно на Леарр и на вас, после чего отвечает: "Я Фаэтларр из Венаэданотра. Хевьяры обманули их и меня. Но как вы здесь оказались? Они закрыли хевьярам путь в город". Обращаясь к Леарр, он продолжает: "Ты осторожна будь. Хевьярам нельзя доверять".
 
            ]];
 
        else
 
            return [[
 
                Навьяр представляется: "Я Фаэтларр из Венаэданотра". После чего повторяет свой вопрос: "Что вы здесь хотите?"
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="intro"};
 
        {"[Цветокод]Венаэданотр неблизко. Как ты оказался здесь?", 
 
        {"[Цветокод] Венаэданотр неблизко. Как ты оказался здесь?", 
 
            function(s)
 
                if (char_learr.follow) then
 
                    return [[
 
                        Фаэтларр больше обращается к Леарр, чем к вам: "Другие хевьяры взяли меня на свой корабль. Пойдем со мной, сестра, вместе мы вернемся в Венаэданотр". Потом он гневно смотрит на вас: "Уходите, мы справимся сами". Видя, что Леарр не двигается, он застывает в удивлении. 
 
                    ]];
 
                else
 
                    return [[
 
                        "Другие хевьяры взяли меня на свой корабль. Больше я не повторю такой ошибки. Уходите, я справлюсь сам".
 
                    ]];
 
                end;
 
            end, code [[ 
 
                if (char_learr.follow) then 
 
                    psub("on_my_own_learr");
 
                else
 
                    psub("on_my_own");
 
                end;
 
        ]]};
 
        {"[Цветокод]Мы ищем Лсэрианотр", 
 
        {"[Цветокод] Мы ищем Лсэрианотр", 
 
            function(s)
 
                if (char_learr.follow) then
 
                    return [[
 
                        Фаэтларр больше обращается к Леарр, чем к вам: "Пойдем сестра. Эти такие же, как и те, с которыми был я. Вернемся в Венаэданотр". Потом он гневно смотрит на вас: "Уходите. Я не стану помогать вам".
 
                    ]];
 
                else
 
                    return [[
 
                        "Вы заодно с ними. Уходите, я не стану помогать вам".
 
                    ]];
 
                end;
 
            end, code [[
 
                psub("on_my_own");
 
        ]]};
 
        {tag="on_my_own"};
 
        {"[Цветокод]Расскажи больше о них", [[
 
        {"[Цветокод] Расскажи больше о них", [[
 
            "Что вы хотите знать?"
 
        ]], code [[ psub("more_on_them"); ]]};
 
        {"[Цветокод]Мы не враги тебе", [[
 
        {"[Цветокод] Мы не враги тебе", [[
 
            "Почему я должен вам верить?"
 
        ]], code [[ psub("trust");]]};
 
        {tag="more_on_them", empty = code [[ pret(); ]]};
 
        {"[Цветокод]Куда они направились?", [[
 
        {"[Цветокод] Куда они направились?", [[
 
            "Они идут в Лсэрианотр. Их цель - пробудить Наэтвьирра. Блэк хочет с его помощью стать правителем мира. Дрейк хотел найти древние знания. Но сейчас он мертв".
 
        ]], code [[ pon("black");pon("drake"); ]]};
 
        {"[Цветокод]Сколько их было?", [[
 
        {"[Цветокод] Сколько их было?", [[
 
            "Хевьяров было пятеро. Но на борту также были навьяры. Нас было много. Большинство из них свято верят в Наэтвьирра, способного возродить старый мир. Хотя Уильям Дрейк не одобрял этого, Адриан Блэк всячески поощрял это".
 
        ]]};
 
        {"[Цветокод]Почему они оставили тебя?", [[
 
        {"[Цветокод] Почему они оставили тебя?", [[
 
            "Мы должны были взять ключ. Я, Дрейк и Блэк. Местные были против, но у нас не было выбора - ключ нужен для открытия врат Лсэрианотра. Мы пробрались в храм без проблем. Потом начались проблемы. Когда я взял ключ, я оказался в ловушке. К сожалению, у них не было инструментов, чтобы вытащить меня. Тогда я отдал ключ Дрейку и они ушли за инструментами. Они не вернулись. А потом пришли местные. От них я узнал, что Дрейк был убит". 
 
        ]], code [[ pon("drake"); ]]};
 
        {tag="black", false, "[Цветокод]Теперь Блэк главный?", [[
 
        {tag="black", false, "[Цветокод] Теперь Блэк главный?", [[
 
            "Да. У других хевьяров нет выбора, а навьяры на его корабле почти поклоняются ему". 
 
        ]]};
 
        {tag="drake", false, "[Цветокод]Что случилось с Дрейком?", [[
 
        {tag="drake", false, "[Цветокод] Что случилось с Дрейком?", [[
 
            Фаэтларр долго молчал. Наконец он собрался с силами и ответил: "Его убили местные во время их отступления с ключем".
 
        ]], code [[ pon("i_am_drake"); ]]};
 
        {tag="i_am_drake", false, "[Цветокод]Я Дэвид Дрэйк. Сын Уильяма", [[
 
        {tag="i_am_drake", false, "[Цветокод] Я Дэвид Дрэйк. Сын Уильяма", [[
 
            Фаэтларр удивленно смотрит на вас: "Близких вьяров пути близки".
 
        ]], code [[ za_phaetlarr_dlg.state = za_phaetlarr_dlg.state + 1; poff("i_am_drake2"); ]]};
 
        {tag="trust"};
 
        {"[Цветокод]Мы хотим остановить Блэка", [[Фаэтларр
 
        {"[Цветокод] Мы хотим остановить Блэка", [[Фаэтларр
 
            Фаэтларр кажется сильно удивленным. Он долго молчит, обдумывая ваши слова. Наконец, навьяр кивает. 
 
        ]], code [[ pon("need_help"); ]]};
 
        {tag="need_help", false, "[Цветокод]Нам нужна твоя помощь", [[
 
        {tag="need_help", false, "[Цветокод] Нам нужна твоя помощь", [[
 
            Фаэтларр делает вам знак продолжать. 
 
        ]], code [[ psub("not_sure"); ]]};
 
        {tag="i_am_drake2", "[Цветокод]Я сын Уильяма Дрейка", [[
 
        {tag="i_am_drake2", "[Цветокод] Я сын Уильяма Дрейка", [[
 
            Фаэтларр удивленно смотрит на вас: "Близких вьяров пути близки".
 
        ]], code [[ za_phaetlarr_dlg.state = za_phaetlarr_dlg.state + 1; ]]};
 
        {tag="not_sure"};
 
        {"[Цветокод]Нам нужно знать, где находится храм Нлейисланотра", [[
 
        {"[Цветокод] Нам нужно знать, где находится храм Нлейисланотра", [[
 
            Фаэтларр уверенно говорит: "Вы спасли меня. Я помогу в ответ. Но я прошу вас еще об одном. Я хочу на борт вашего корабля".
 
        ]], code [[ pon('join'); pon('go'); ]]};
 
        {tag="join", false, "[Цветокод]Хорошо, мы согласны", code = [[
 
        {tag="join", false, "[Цветокод] Хорошо, мы согласны", code = [[
 
            nleyyslanotrr_temple_found = true;
 
            walk("za_phaetlarr_final");
 
        ]]};
 
        {tag="go", false, "[Цветокод]Что, если мы откажемся?", [[
 
        {tag="go", false, "[Цветокод] Что, если мы откажемся?", [[
 
            "Я не скажу вам где храм, и каждый идет своей дорогой".
 
        ]]};
 
    };
 
};
 

	
 
za_char_phaetlarr = npc {
 
    nam = "za_char_phaetlarr";
 
    dsc = [[
 
        {Фаэтларр} стоит рядом и ждет ваших действий. 
 
    ]];
 
    phrases = {
 
        "Фаэтларр ждет ваших действий. "
 
    };
 
};
 

	
 
za_phaetlarr_final = cutscene("za_phaetlarr_final", "Левиафан, Кают-компания", [[
 
    Вы возвращаетесь на Левиафан, где уже собрался весь экипаж. Фаэтларр рассказывает вам как попасть в храм
 
]], "leviathan_wardroom");
 

	
 
za_phaetlarr_free = cutscene("za_phaetlarr_free", "Нлейисланотр, улица", function(s)
 
    if (char_learr.follow) then
 
        return [[
 
            При помощи инструментов, вы убираете решетку из окна и освобождаете Фаэтларра. Навьяр выбирается из тюрьмы и с недоверием смотрит на вас, сжимая копье. Вы видите, как цветные полосы на его плавниках формируются в вопрос: "Что вы здесь хотите?" Глядя на Леарр он немного успокаивается и внимательно следит за ее словами: "Они что-хотели?"
 
        ]];
 
    elseif (char_anna.follow) then
 
        return [[
 
            При помощи инструментов, вы убираете решетку из окна и освобождаете Фаэтларра. Навьяр выбирается из тюрьмы и с недоверием смотрит на вас, сжимая копье. Вы видите, как цветные полосы на его плавниках формируются в вопрос: "Что вы здесь хотите?" В динамиках раздается голос Анны: "Он явно не расположен к нам. Но у нас мало выбора. Спроси его, знает ли он где храм"?
 
        ]];
 
    elseif (char_wright.follow) then
 
        return [[
 
            При помощи инструментов, вы убираете решетку из окна и освобождаете Фаэтларра. Навьяр выбирается из тюрьмы и с недоверием смотрит на вас, сжимая копье. Вы видите, как цветные полосы на его плавниках формируются в вопрос: "Что вы здесь хотите?" В динамиках раздается голос Джека: "Я думаю, пора возвращаться на корабль. Я надеюсь, он даст нам всю необходимую информацию".
 
        ]];
 
    elseif (char_radcliffe.follow) then
 
        return [[
 
            При помощи инструментов, вы убираете решетку из окна и освобождаете Фаэтларра. Навьяр выбирается из тюрьмы и с недоверием смотрит на вас, сжимая копье. Вы видите, как цветные полосы на его плавниках формируются в вопрос: "Что вы здесь хотите?" В динамиках раздается голос Уолтера: "Здесь слишком опасно оставаться. Надо доставить его на Левиафан и там решить, что делать дальше".
 
        ]];
 
    else
 
        return [[
 
            При помощи инструментов, вы убираете решетку из окна и освобождаете Фаэтларра. Навьяр выбирается из тюрьмы и с недоверием смотрит на вас, сжимая копье. Вы видите, как цветные полосы на его плавниках формируются в вопрос: "Что вы здесь хотите?"
 
        ]];
 
    end;
 
end, za_phaetlarr_dlg);
 
\ No newline at end of file
london.lua
Show inline comments
 
@@ -45,193 +45,193 @@ port = room {
 
    var {
 
        state = 0;
 
    };
 
	nam = "port";
 
	disp = "Порт";
 
	dsc = [[Тяжелые тучи над головой, кажется, вот-вот разразятся дождем. Вокруг снуют люди: пассажиры, грузчики, моряки. Со всех сторон доносится шум: голоса людей, гудки пароходов, ржание лошадей. Вы стоите рядом с одним из складов. ]];
 
	way = {
 
		vroom("На улицу", "port_street");
 
	};
 
    entered = function(s)
 
        if (not char_worker.bought and s.state == 0) then
 
            p("Сидящий у склада рабочий печально вздыхает: \"Выпить бы!\"");
 
        end;
 
        s.state = s.state + 1;
 
        if (s.state == 2) then
 
            s.state = 0;
 
        end;
 
    end;
 
	obj = {'char_worker', 'item_toolbox'};
 
};
 
 
port_street = room {
 
	nam = "port_street";
 
	disp = "Улица";
 
	entered = function(s)
 
		move(char_coachman, here());
 
	end;
 
	way = {
 
		vroom("В порт", "port");
 
		vroom("В пивную лавку", "ginshop");
 
	};
 
	dsc = [[Вы с трудом пробираетесь сквозь толпы людей, спешащих по своим делам. Из порта доносятся гудки пароходов. Со всех сторон доносится шум большого города. Тяжелые черные тучи медленно плывут по небу, грозя разразиться дождем в любую минуту. ]];
 
    obj = {
 
        "dice_player"
 
    };
 
};
 
 
dice_player = npc {
 
    nam = "char_dice_player";
 
    disp = "Игрок";
 
    dsc = [[У дверей пивной лавки сидит на раскладном стульчике хитрого вида {тип} в мятом старом костюме и не менее старой и мятой кепке. В руке он вертит обычную шестигранную игральную кость. ^]];
 
    dlg = "dice_player_dlg";
 
};
 
 
dice_player_dlg = dlg {
 
    nam = "dice_player_dlg";
 
    disp = "Игрок";
 
    entered = [[Человек обращается к вам: "Эй, сыграем?"]];
 
    phr = {
 
        {always=true, "Во что играем?", [[Человек объясняет правила: "Играем в свинью. Все просто -- сперва мы бросаем кость. У кого выпадет больше -- тот ходит первым. Ходящий кидает кость пока не выкинет единицу или ему не надоест. Сколько выпадает на кости, стольок очков он прибавляет себе. Если выпадает единица -- все очки набранные за ход теряются. Ну так, что? Играем?"]]};
 
        {always=true, "Я сыграю. ", [[Человек потирает руки, спрашивая: "Сколько ставим?"]], code [[psub("stake");]]};
 
        {always=true, "Не в этот раз. ", code [[back();]]};
 
        {tag="stake"};
 
        {always=true, "5 шиллингов. ", code [[dice_game.stake = 5; walk("dice_game");]]};
 
        {always=true, "10 шиллингов. ", code [[dice_game.stake = 10; walk("dice_game");]]};
 
        {always=true, "25 шиллингов. ", code [[dice_game.stake = 25; walk("dice_game");]]};
 
        {always=true, "50 шиллингов. ", code [[dice_game.stake = 50; walk("dice_game");]]};
 
        {always=true, "Я передумал", code [[back();]]};
 
    };
 
};
 
 
char_worker = npc {
 
    var {
 
        bought = false;
 
    };
 
	nam = "char_worker";
 
	disp = "Портовый рабочий";
 
	dsc = function(s)
 
        if (s.bought) then
 
            return [[На скамейке у стены склада сидит {рабочий} и курит трубку, попивая что-то из стоящей рядом бутылки. ]];
 
        else
 
            return [[На скамейке у стены склада сидит {рабочий} и курит трубку. ]];
 
        end;
 
    end;
 
	dlg = "char_worker_dlg";
 
	act = function(s)
 
		if (s.bought) then
 
			return "Мне от него больше ничего не надо. ";
 
		else
 
			walkin(s.dlg);
 
		end;
 
	end;
 
};
 
 
char_worker_dlg = dlg {
 
	nam = "char_worker_dlg";
 
	disp = "Портовый рабочий";
 
	entered = function(s)
 
        if have(item_bottle) then
 
            pon("bottle");
 
        end;
 
		pjump('new');
 
		return [[Недовольно посмотрев в вашу сторону, рабочий спрашивает: "Чего надо?" ]];
 
	end;
 
	phr = {
 
		{tag='new'},
 
        {tag='bottle', false,"[Предложить рабочему бутылку]Могу я воспользоваться вашими инструментами?", [[Глаза рабочего округляются и он тянет руки к вожделенной бутылке: "Да без проблем, забирай". ]], code [[
 
        {tag='bottle', false,"[Предложить рабочему бутылку] Могу я воспользоваться вашими инструментами?", [[Глаза рабочего округляются и он тянет руки к вожделенной бутылке: "Да без проблем, забирай". ]], code [[
 
            remove(item_bottle, pl);
 
            char_worker.bought = true;
 
            back();
 
        ]]};      
 
		{always=true, "Могу я воспользоваться вашими инструментами?", [[Рабочий отрывисто отвечает: "Нет", -- после чего отворачивается в другую сторону. ]], [[ pjump 'bribe_try' ]]};
 
		{always=true, "Нет, ничего. ", [[Рабочий недовольно рычит: "Тогда отвали", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]};
 
		{tag='bribe_try'};
 
		{always=true, "Могу я купить их у вас?", [[Рабочий снова повернулся к вам. Он с плохо скрываемым интересом спрашивает: "Сколько?" ]], [[ pjump 'bribing_20' ]]};
 
		{always=true, "Нет, ничего. ", [[Рабочий недовольно рычит: "Тогда отвали", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]};
 
		{tag='bribing_20'};
 
		{"10 шиллингов?", [[ Рабочий усмехнулся: "Издеваешься?" ]]};
 
		{always=true, "20 шиллингов?", [[
 
			"30"
 
		]], [[pjump 'bribing_30']]};
 
		{always=true, "40 шиллингов?", function(s)
 
			if (pl:pay(40)) then
 
				char_worker.bought = true;
 
				return [[Рабочий довольно потирает руки: "Идет". ]];
 
			else
 
				return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
			end;
 
		end, [[ char_worker.bought = true; back();]]};
 
		{always=true, "60 шиллингов?", function(s)
 
			if (pl:pay(60)) then
 
				char_worker.bought = true;
 
				return [[Рабочий довольно потирает руки: "Идет". ]];
 
			else
 
				return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
			end;
 
		end, [[ char_worker.bought = true; back();]]};
 
		{tag='bribing_30'};
 
		{always=true, "20. ", [[Рабочий потирает руки и предлагает: "28". ]], [[pjump 'bribing_28']]};
 
		{always=true, "22. ", [[Рабочий потирает руки и предлагает: "28". ]], [[pjump 'bribing_28']]};
 
		{always=true, "24. ", [[Рабочий потирает руки и предлагает: "28". ]], [[pjump 'bribing_28']]};
 
		{always=true, "26. ", [[Рабочий потирает руки и предлагает: "28". ]], [[pjump 'bribing_28']]};
 
		{always=true, "28. ", function(s)
 
			if (pl:pay(28)) then
 
				char_worker.bought = true;
 
				return [[Рабочий довольно потирает руки: "Идет". ]];
 
			else
 
				return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
			end;
 
		end, [[ back(); ]]};
 
        {always=true, "Идет. ", function(s)
 
            if (pl:pay(30)) then
 
                char_worker.bought = true;
 
                return [[Рабочий довольно потирает руки: "Идет". ]];
 
            else
 
                return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
            end;
 
        end, [[ back(); ]]};
 
		{tag='bribing_28'};
 
		{always=true, "20. ", [[Рабочий потирает руки и предлагает: "26". ]], [[pjump 'bribing_26']]};
 
		{always=true, "22. ", [[Рабочий потирает руки и предлагает: "26". ]], [[pjump 'bribing_26']]};
 
		{always=true, "24. ", [[Рабочий потирает руки и предлагает: "26". ]], [[pjump 'bribing_26']]};
 
		{always=true, "26. ", function(s)
 
			if (pl:pay(26)) then
 
				char_worker.bought = true;
 
				return [[Рабочий довольно потирает руки: "Идет". ]];
 
			else
 
				return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
			end;
 
		end, [[ back(); ]]};
 
        {always=true, "Идет. ", function(s)
 
            if (pl:pay(28)) then
 
                char_worker.bought = true;
 
                return [[Рабочий довольно потирает руки: "Идет". ]];
 
            else
 
                return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
            end;
 
        end, [[ back(); ]]};      
 
		{tag='bribing_26'};
 
		{always=true, "20. ", [[Рабочий недовольно рычит: "Не хочешь -- не надо", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]};
 
		{always=true, "22. ", [[Рабочий недовольно рычит: "Не хочешь -- не надо", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]};
 
		{always=true, "24. ", function(s)
 
			if (pl:pay(24)) then
 
				char_worker.bought = true;
 
				return [[Рабочий довольно потирает руки: "Идет". ]];
 
			else
 
				return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
			end;
 
		end, [[  back(); ]]};
 
        {always=true, "Идет. ", function(s)
 
            if (pl:pay(26)) then
 
                char_worker.bought = true;
 
                return [[Рабочий довольно потирает руки: "Идет". ]];
 
            else
 
                return [[Рабочий недовольно рычит: "Ты дурак?" ]];
 
            end;
 
        end, [[ back(); ]]};      
 
	};
 
};
 
 
ginshop = room {
 
	nam = "ginshop";
 
	disp = "Пивная лавка";
 
@@ -549,139 +549,139 @@ char_starlight_corridor = obj {
 
	end;
 
};
 
 
char_starlight = obj {
 
    var {
 
        forgetful = 0;
 
        complete = 0;
 
    };
 
	nam = "char_starlight";
 
	dsc = function(s)
 
		return [[{Джозеф Старлайт} сидит за столом и делает какие-то записи в блокноте. ]];
 
	end;
 
	act = function(s)
 
		walkin(starlight_dlg);
 
	end;
 
};
 
 
starlight_dlg = dlg {
 
	nam = "starlight_dlg";
 
	disp = "Джозеф Старлайт";
 
	entered = function(s)
 
		if (not char_starlight.forgetful) then
 
			pon(0);
 
		else
 
			poff(0);
 
		end;
 
		if (have(item_charts) and not warehouse18_found) then
 
			pon(14);
 
		else
 
			poff(14);
 
		end;
 
		char_starlight.forgetful = true;
 
		if (char_starlight.complete) then
 
			return [[Джозеф оборачивается к вам и удивленно вскакивает со стула: "Как вы сюда попали?!" Он подходит к двери, открывает ее и снова закрывает, после чего запирает замок: "Опять забыл, да что ж такое?!" Потом он снова оборачивается к вам и говорит: "Господин Дрейк? Мое имя Джозеф ..." -- внезапно он делает паузу, после чего продолжает: "Мы же вроде все обсудили с вами?" ]];
 
		else
 
			return [[Джозеф оборачивается к вам и удивленно вскакивает со стула: "Как вы сюда попали?!" ^Он подходит к двери, открывает ее и снова закрывает, после чего запирает замок: "Опять забыл, да что ж такое?!" Потом он снова оборачивается к вам и говорит: "Господин Дрейк? Мое имя Джозеф Старлайт. Я думаю нам есть что обсудить касательно компании вашего отца". ]];
 
		end;
 
	end;
 
	phr = {
 
		{1, "Вы уже представлялись. ", [[Джозеф Старлайт удивленно переспрашивает: "Да?! Что-то я этого не помню. Впрочем я такими мелочами себе голову не забиваю. Давайте к делу". ]]};
 
		{2, "Я вас слушаю. ", [[Джозеф Старлайт чешет подбородок: "Как я уже говорил, это дело было одним из самых запутанных. Судите сами: верхушка преуспевающей компании, внезапно исчезает, не оставив следов. Сначала мы предполагали, что это дело рук конкурентов -- прибрать компанию к рукам, прикрыть или использовать их разработки. Однако, когда начали копать, выяснили, что к этому моменту Вестхейвен Трансоушен была не в лучшем состоянии -- отдел исследований закрыт, документы уничтожены, некоторые подразделения проданы. Говоря проще -- компания разваливалась". ]], code [[ pstart('father_bankrupt') ]]};
 
		{3, tag = 'father_bankrupt'};
 
		{4, "Но зачем Уильяму разрушать собственную компанию? ", [[
 
			Джозеф Старлайт пожимает плечами: "Если бы я знал. Судя по той информации, что я о нем собрал, он весьма грамотный человек и у него были толковые помощники. Не знаю, сможете ли вы что-то сказать, господин Дрейк. Вам тогда сколько было? 10 лет?" Джозеф поправляет очки и продолжает: "У меня, конечно, есть предположение. Исследовательский отдел занимался чем-то принципиально новым, не связанным с основной деятельностью компании. Это подтверждают и отчеты компании -- инженеры получали колоссальное финасирование, заказывалось огромное количество заказных деталей. Также компания зачем-то наняла нескольких видных ученых. В итоге, что бы там не планировалось -- дело закончилось провалом и большими расходами, поэтому компанию пришлось закрыть. Чего я не понимаю -- зачем он исчез? Любой банк бы выдал большой кредит такому человеку". ]], code [[ pstart('fathers_project') ]]};
 
		{5, tag = 'fathers_project', empty = code [[psub('final') ]]};
 
		{6, "А может у него наоборот все получилось? ", [[Джозеф Старлайт пожимает плечами: "Тогда почему он исчез? Почему оставил семью? Еще больше вопросов". ]]};
 
		{7, "Не думаю, что из-за простой неудачи мой отец мог бы бросить вообще все. ", [[Джозеф Старлайт чешет подбородок: "Я и не говорил, что это *простая* неудача. Судя по всему, проект был весьма перспективным. Настолько, что можно было рискнуть всем". ]]};
 
		{8, "И что это мог быть за проект? ", [[Джозеф Старлайт пожимает плечами: "Понятия не имею. Какое-то масштабное исследование, может быть экспедиция -- это подтверждают и большое количество заказанных компанией деталей и нанятые ученые". ]], code [[ psub('submarine'); ]]};
 
		{9, tag = 'submarine'};
 
		{10, "Для чего это могло понадобиться Уильяму? ", [[Джозеф Старлайт снимает очки: "Понятия не имею. Совершенно". ]]};
 
		{11, "Это бы объяснило куда он исчез. ", [[Джозеф Старлайт чешет голову: "Может быть, только никаких документов не сохранилось. Впрочем они очень много денег на какие-то секретные проекты тратили последнее время". ]]};
 
		{13, tag = 'final'};
 
		{14, always = true, "Вы можете посмотреть эти бумаги? Вам знакомы эти места? [Показать Джозефу документы отца]", [["Так вот зачем вы здесь! Я догадывался. Давайте ваши бумаги сюда", -- Джозеф выхватывает документы из ваших рук и бегло просматривает их. Почесав голову, он говорит: "Одно из этих мест я знаю". Он сообщает вам адрес склада 18. ]], code [[ warehouse18_found = true; poff(14); ]]};
 
		{15, always = true, "Мне пора. ", [[Джозеф Старлайт отворачивается к столу: "До встречи". ]], code [[ back(); ]]};
 
	};
 
};
 
 
--[[
 
    Банк
 
]]
 
london_bank_street = room {
 
    nam = "london_bank_street";
 
    disp = "Улица";
 
    dsc = [[На улице перед банком людно -- прохожие спешат по своим делам, то и дело натыкаясь друг на друга и разбегаясь в разные стороны. Среди этой суеты возвышается, словно игнорируя ее, здание, высокое и широкое, с резными колоннами, мраморными ступенями, ведущими к широким и тяжелым дверям из красного дерева и позолоченной табличкой над входом, гласящей, что перед лицезреющими это ни что иное, как банк. ]];
 
    way = {
 
        kh_vroom("В банк", "london_bank");
 
    };
 
    entered = function(s)
 
        move(char_coachman, here());
 
    end;
 
};
 
 
london_bank = room {
 
    nam = "london_bank";
 
    disp = "Банк";
 
    dsc = [[Внутри банка прохладно и светло. ]];
 
    way = {
 
        kh_vroom("На улицу", "london_bank_street");
 
    };
 
    obj = {
 
        "bank_clerks";
 
        "bank_guard";
 
    };
 
};
 
 
bank_clerks = npc {
 
    nam = "bank_clerks";
 
    dsc = [[Людей внутри почти нет, не считая нескольких скучающих за мраморной стойкой {клерков} ]];
 
    dlg = "bank_clerks_dlg";
 
};
 
 
bank_clerks_dlg = dlg {
 
    nam = "bank_clerks_dlg";
 
    disp = "Клерк";
 
    entered = [[Вы подходите к одному из клерков. Молодой человек в аккуратном пиджаке и галстуке уставляет свой взор на вас и спрашивает: "Чем я могу помочь?"]];
 
    phr = {
 
        {"[Передать сберкнижку]Я хотел бы снять деньги со своего счета. ", [[Вы протягиваете клерку сберкнижку. Он просматривает ее и отвечает: "Конечно. Минутку". Он уходит из зала и через несколько минут возвращается с мешочком монет. ]], code [[ remove(item_bankbook, pl); pl.money = pl.money + 150; ]]};
 
        {"[Передать сберкнижку] Я хотел бы снять деньги со своего счета. ", [[Вы протягиваете клерку сберкнижку. Он просматривает ее и отвечает: "Конечно. Минутку". Он уходит из зала и через несколько минут возвращается с мешочком монет. ]], code [[ remove(item_bankbook, pl); pl.money = pl.money + 150; ]]};
 
        {always=true; "Я вернусь позже. ", [[Клерк возвращается к своим делам. ]], code [[ back(); ]]}
 
    };
 
};
 
 
bank_guard = npc {
 
    nam = "bank_guard";
 
    dsc = "и одинокого {охранника}, застывшего у входа.";
 
    phrases = {
 
        [[Охранник вежливо приветствует вас: "Добро пожаловать, господин". ]];
 
        [[Охранник пожимает плечами: "Я ничем не могу вам помочь". ]];
 
        [[Охранник зевает. ]];
 
        [[Охранник задумчиво чешет подбородок. ]];
 
    };
 
};
 
 
money_dock = obj {
 
    nam = "money_dock";
 
    dsc = "Среди куч мусора вы видите что-то {блестящее}. ";
 
    act = function(s)
 
        remove(money_dock, here());
 
        return "Пять шиллингов!";
 
    end;
 
};
 
 
money_wh32 = obj {
 
    nam = "money_wh32";
 
    seen_level=1;
 
    dsc = "На столе лежат несколько {монет}. ";
 
    act = function(s)
 
        remove(money_wh32, here());
 
        return "Пять шиллингов!";
 
    end;
 
};
 
 
money_hotel = obj {
 
    nam = "money_hotel";
 
    dsc = "Под кроватью вы замечаете {что-то блестящее}. ";
 
    act = function(s)
 
        remove(money_hotel, here());
 
        return "Пять шиллингов!";
 
    end;
 
};
 
\ No newline at end of file
lseryanotrr_intro.lua
Show inline comments
 
@@ -459,149 +459,149 @@ lse_walk_intro = cutscene("lse_walk_intro", "Лсэрианотр", function(s)
 
        end;
 
    end;
 
    
 
    if (lse_intro_with_jack) then
 
        pr [[
 
            Джек полностью поглощен древним городом. Он с восхищением разглядывает металлическую дорогу, строения, врата, купол. ^
 
        ]];
 
    end;
 
    
 
    if (lse_intro_with_anna) then
 
        pr [[
 
            Анну, похоже, крайне заинтересовал центральный обелиск. За время пути она несколько раз пыталась заговорить с Аэдхиарром о нем, но тот молчал. ^
 
        ]];
 
    end;
 
    
 
    if (lse_intro_with_walter) then
 
        if (lse_intro_with_anna) then
 
            pr [[
 
                Уолтер молча идет рядом с сестрой. Кажется, его совершенно не интересует происходящее вокруг. ^
 
            ]];
 
        else
 
            if (rel_radcliffe < 0) then
 
                pr [[
 
                    Уолтер молча следует за вами. Кажется, его совершенно не интересует происходящее вокруг. ^
 
                ]];
 
            else
 
                pr [[
 
                    Уолтер молча следует за вами. Кажется, его совершенно не интересует происходящее вокруг. Лишь один раз он позволил себе небольшой комментарий: "Никогда не думал, что Блэк на такое способен. Запудрить мозги несчастным рыбням и прибрать к своим рукам целый город. Их город". ^
 
                ]];
 
            end;
 
        end;
 
    end;
 
end, "lse_black_intro");
 

	
 
lse_black_intro = dlg {
 
    nam = "lse_black_intro";
 
    disp = "Лсэрианотр, центральный зал";
 
    entered = function(s)
 
        pr [[
 
            Когда вы входите в центральный зал, ваш взгляд падает на статую навьяра, стоящую в центре комнаты. Вокруг статуи расположено четыре невысоких стеклянных пилона, а со всех сторон круглого зала к статуе в центре и к пилонам тянутся толстые провода. ^
 
            Адриан Блэк стоит в дальнем конце комнаты. ^
 
        ]];
 
        
 
        if (lse_intro_with_learr) then
 
            pr [[
 
                Леарр застыла в замешательстве и ждет развития событий. 
 
            ]];
 
        end;
 
        
 
        if (lse_intro_with_jack) then
 
            pr [[
 
                Джек окидывает взглядом комнату. На его лице явно читается интерес к расположенным в комнате вещам, однако, он не говорит ни слова. 
 
            ]];
 
        end;
 
        
 
        if (lse_intro_with_anna) then
 
            pr [[
 
                Анна что-то записывает в своем блокноте. 
 
            ]];
 
        end;
 
        
 
        if (lse_intro_with_walter) then
 
            pr [[
 
                Взгляд Уолтера устремлен в сторону Адриана Блэка. 
 
            ]];
 
        end;
 
        
 
        if (have("item_naethvjirr_key")) then
 
            pon("control");
 
        end;
 
        
 
        pr [[
 
            Аэдхиарр подходит к Блэку и сообщает ему: "Гости прибыли". Блэк оборачивается к вам: "Добро пожаловать. Мое имя - Адриан Блэк. Я веду здесь исследовательскую деятельность". 
 
        ]];
 
        
 
        if (lse_intro_with_walter) then
 
            pr [[
 
                Как только Блэк заканчивает, слово берет Уолтер Рэдклифф: "Думаю, мы знакомы. Где остальной экипаж Надежды?" Блэк спокойно отвечает: "К сожалению, сюда добрались не все. Я единственный остался из экипажа Надежды". Рэдклифф задает следующий вопрос: "Вы знаете навьяра по имени Фаэтларр?" Адриан пожимает плечами: "Я не знаю каждого из них по имени. Что с ним?" Уолтер продолжает свой допрос: "Мы встретили его в Нлейисланотре. Он говорит, что был на борту Надежды". В глазах Блэка на секунду мелькает страх, но потом он успокаивается: "А, припоминаю. К сожалению, у нас не получилось вернуться за ним после неудачной вылазки в храм Нлейисланотра. Скажите, он с вами?" Леарр прислушалась и нервно сжала кулаки, а Рэдклифф все так же спокойно ответил: "Нет, он вернулся в Венаэданотр". Леарр облегченно вздохнула, а Блэк лишь печально произнес: "Очень жаль. Я думал, он хочет увидеть наш триумф".
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {"Мое имя - Дэвид Дрейк", [[
 
            "Рад знакомству, Дэвид. Ты должно быть искал своего отца? Жаль, что так получилось. Последние несколько лет он стремился попасть сюда", - Блэк делает короткую паузу, после чего продолжает, - "Но не смог. Однако я собираюсь продолжить его дело".
 
        ]]};
 
        {"О каких исследованиях идет речь?", [[
 
            "Вас не удивляет то, что видели перед тем как попасть сюда, в этот зал? Начиная от древних храмов со светящимися экранами и заканчивая этим городом. Очевидно, что древние навьяры знали и умели гораздо больше теперешних. И, самое главное, гораздо больше нас. Но здесь, в этом зале, находится вершина их достижений. Тот, кого называют Наэтвьирром - спящим в глубинах".
 
        ]], code [[ psub("naethvjirr"); ]]};
 
        {"Вы хотите пробудить Наэтвьирра?", [[
 
            "Да".
 
        ]], code [[ psub("naethvjirr"); ]]};
 
        {tag="naethvjirr"};
 
        {"Вы понимаете, какой опасности вы подвергаете мир?", [[
 
            "Если мы все сделаем правильно, Наэтвьирр будет подвластен мне и не сможет сделать ничего без моего ведома. И мне не помешает ваша помощь".
 
        ]], code [[ psub("choise"); ]]};
 
        {tag="choise"};
 
        {tag="control", false, "[Показать ключ из древнего храма]Вы не сможете управлять Наэтвьирром без этого", [[
 
        {tag="control", false, "[Показать ключ из древнего храма] Вы не сможете управлять Наэтвьирром без этого", [[
 
            В глазах Блэка мелькнуло любопытство: "Дайте его сюда, господин Дрейк". Вы не успеваете среагировать, как Аэдхиарр вырывает ключ из ваших рук. 
 
        ]], code [[ lse_key = true; ]]};
 
        {"Я готов помочь", function(s)
 
            walk("lse_help_black");
 
        end};
 
        {"Я не стану вам помогать", function(s)
 
            walk("lse_confront");
 
        end}
 
    };
 
};
 

	
 
lse_confront = cutscene("lse_confront_intro", "Лсэрианотр", function(s)
 
    if (have("item_naethvjirr_key")) then
 
        lse_key = true;
 
    end;
 
    if (lse_intro_with_learr or lse_intro_with_jack or lse_intro_with_walter or lse_intro_with_anna) then
 
        return [[
 
            Блэк недовольно поправляет галстук: "Не хотите по-хорошему - будет по-плохому". ^
 
            В помещение входят несколько вооруженнных стражников. "Обыщите их и отведите в тюрьму. Аэдхиарр, осмотри Левиафан", - приказывает Блэк и возвращается к своим делам. Навьяры делают свое дело тщательно - они забирают все, что было при вас. Сопротивляться бесполезно - их слишком много. Они уводят вас в тюремную камеру и запирают там. Ваших спутников схватили вместе с вами. Вы садитесь на пол и обхватываете голову руками с мыслью: "Все пропало. Это конец".
 
        ]];
 
    else
 
        return [[
 
            Блэк недовольно поправляет галстук: "Не хотите по-хорошему - будет по-плохому". ^
 
            В помещение входят несколько вооруженнных стражников. "Обыщите их и отведите в тюрьму. Аэдхиарр, осмотри Левиафан", - приказывает Блэк и возвращается к своим делам. Навьяры делают свое дело тщательно - они забирают все, что было при вас. Сопротивляться бесполезно - их слишком много. Они уводят вас в тюремную камеру и запирают там. Вы садитесь на пол и обхватываете голову руками с мыслью: "Все пропало. Это конец".
 
        ]];
 
    end;
 
end, "lse_phaetlarr_intro");
 

	
 
lse_phaetlarr_intro = cutscene("lse_phaetlarr_intro", "Левиафан, грузовой отсек", function(s)
 
    pr [[Когда последователи Блэка вошли в Левиафан, Фаэтларр был на складе. Услышав приближение врагов, навьяр спрятался за один из стеллажей в углу помещения. Через узкую щель между ящиками он легко мог видеть все, что делалось в отсеке. К счастью, стражники, не слишком хорошо знакомые с хевьярской техникой не уделили должного внимания комнате. Впрочем, Фаэтларр все равно почерпнул много нового из разговоров захватчиков: Дрейк схвачен]];
 
    
 
    if (#player_drake.party > 1) then
 
        pr [[ и, вместе с ним, скорее всего и весь остальной экипаж]];
 
    end;
 
    
 
    pr [[, а Левиафан и все материалы попали в руки Блэку. Через некоторое время, когда стражники осмотрели все, что посчитали нужным, они покинули субмарину и Левиафан остался пустым. Настало время действовать.
 
    ]];
 
end, "lse_switch");
 

	
 
lse_switch = room {
 
    nam = "lse_switch";
 
    disp = "limbo";
 
    entered = function()
 
        player_phaetlarr.where = "lse_leviathan_cargo_hold";
 
        pl = player_phaetlarr;
 
    end;
 
};
 

	
 
player_phaetlarr = player {
 
    nam = "player_phaetlarr";
 
    obj = {};
 
}
 
\ No newline at end of file
wright.lua
Show inline comments
 
@@ -9,224 +9,224 @@ door_wright = obj {
 
			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');
 
                pl.money = pl.money + 100;
 
				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 == 6) 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 [[ 
 
		{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[[ wright_dlg.state = 3; remove(item_charts, pl); back(); ]]};
 
		{always = true, "У меня есть несколько вопросов.", [[Джек кивает: "Чем смогу -- помогу". ]], code [[psub('questions')]]};
 
		{always = true, "Я вернусь позже.", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]};
 
		{tag='warehouse_discovered'};
 
		{"[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[
 
		{"[Рассказать о Левиафане] Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[
 
            char_wright_home.known_leviathan = true;
 
            rel_jack = rel_jack + 1;
 
            walkin('wright_leviathan_cutscene1a'); 
 
        ]]};
 
		{always = true, "Отлично, я съезжу туда и посмотрю, что удастся найти.", [[Джек возвращается к своим делам: "До встречи". ]], code [[ back(); ]]};
 
		{tag='warehouse_discovered2'};
 
        {tag="phr_leviathan", "[Рассказать о Левиафане]Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[
 
        {tag="phr_leviathan", "[Рассказать о Левиафане] Я кое-что нашел в доке...", [[Джек мгновенно вскакивает со стула, восклицая: "Ничего себе, я должен это видеть!" ]], code [[
 
            char_wright_home.known_leviathan = true;
 
            rel_jack = rel_jack + 1;
 
            walkin('wright_leviathan_cutscene1a'); 
 
        ]]};      
 
		{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, "Надо попробовать.", [["Хорошо", -- отвечает Джек. ]], code [[ 
 
            wright_dlg.state = 6;      
 
            walk('wright_warehouse_32_entry'); 
 
        ]]};
 
		{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"};
 
        {"Вы готовы остановиться в шаге от цели?", [[Джек отвечает не сразу: "Мы не знаем, насколько мы близко".]]};
 
        { "У нас нет другого выбора. Это наша единственная зацепка.", [[Джек берет карандаш, вертит его в руках несколько минут, потом смотрит на картину. Наконец, он соглашается: "Будь по-вашему". ]], code [[
 
            wright_dlg.state = 6;
 
            walk("wright_warehouse_32_entry");
 
        ]]};
 
        {"У вас есть другие предложения?", [[Джек вздыхает: "Нет. Придется признать, поиски зашли в тупик". ]]};
 
        {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_warehouse_32_entry = cutscene("wright_warehouse_32_entry", "Склад 32", [[Приготовления занимают все время до вечера. Наконец, после наступления темноты, вы садитесь в повозку, и Джек привозит вас к складу 32. ]], 'warehouse_32_night');
 
 
wright_leviathan_cutscene2 = cutscene("wright_leviathan_cutscene2", "Причал", [[Вместе с Джеком вы приезжаете в док. Райт долго и с интересом осматривает корпус _"Левиафана"_. Внутри, Джек долго обходит отсеки, разглядывая все узлы. Наконец, вы оказываетесь в кают-компании и он сообщает: "Я готов". ]], 'leviathan_wardroom');
 
 
wright_leviathan_cutscene1a = cutscene("wright_leviathan_cutscene1a", "Причал", [[Вместе с Джеком Райтом вы отправляетесь в док 2. После прибытия на место, Джек долго и с интересом осматривает металлический корпус субмарины. С задумчивым видом он ходит туда-сюда вдоль причала. ]], 'wright_leviathan_cutscene1b');
 
 
wright_leviathan_cutscene1b = dlg {
 
	nam = "wright_leviathan_cutscene1b";
 
	disp = "Причал";
 
	entered = [[После очередного круга, он спрашивает: "Она работает?"]];
 
	phr = {
 
		{"Десять лет под водой. Не думаю, что там хоть что-то сохранилось.", [[Джек задумчиво смотрит на металлический корпус, на табличку с выгравированным названием. Наконец он говорит: "Надо попытаться попасть внутрь, а затем посмотрим". Еще немного постояв, он возвращается к кэбу. Повернувшись к вам он сообщает: "Вы можете расчитывать на меня, если вам потребуется помощь в управлении этой посудиной". ]], code [[ psub('choice'); ]]};
 
		{"Не уверен, но, думаю, да.", [[Джек задумчиво смотрит на металлический корпус, на табличку с выгравированным названием. Наконец он говорит: "Надо попытаться попасть внутрь, а затем посмотрим". Еще немного постояв, он возвращается к кэбу. Повернувшись к вам он сообщает: "Вы можете расчитывать на меня, если вам потребуется помощь в управлении этой посудиной". ]], code [[ psub('choice'); ]]}; 
 
        {tag='choice'};
 
        {"Несомненно, я сообщу вам, если получится ее оживить.", [[Джек кивает и спрашивает: "Пора ехать. Вы со мной?" ]], code [[ psub('end'); ]]};
 
        {"Спасибо, но я справлюсь и сам.", [[Джек пожимает плечами, но отвечает: "Тем не менее, мое предложение остается в силе", -- и, чуть выждав, спрашивает -- "Пора ехать. Вы со мной?" ]], code [[ psub('end'); ]]};
 
		{tag='end'};
 
		{"Да, поехали.", [[	Вы садитесь в кэб и возвращаетесь домой к Джеку. ]], [[
 
			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') ]]};
0 comments (0 inline, 0 general)