Changeset - 19445fbc5c0a
[Not reviewed]
default
0 3 0
Silverwing - 6 years ago 2018-08-18 18:29:24

chapter 1: More work on mousetrap
3 files changed with 20 insertions and 27 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
global {
 
    atl_jack_in_party = false;
 
    atl_lev_state = 0;
 
    atl_nih_state = 0;
 
    atl_iyh_state = 0;
 
    atl_iyh_learr_spoken = false;
 
    atl_iyh_aikerjarr_spoken = false;
 
    atl_iyh_ryveerr_spoken = false;
 
    atl_iyh2_ryveerr_spoken = false;
 
    atl_iyh2_aikerjarr_spoken = false;
 
    atl_iyh_shockfish_dead = false;
 
    atl_iyh_shockfish_left = false;
 
    atl_iyh_shockfish_away = 0;
 
    atl_iyh_entrance_destroyed = false;
 
    atl_iyh_artifacts_on_atlantis = false;
 
 
    atl_mtr_started = false;
 
    atl_mtr_darkstar_consulted = false;
 
    atl_mtr_darkstar_clock_shown = false;
 
    atl_mtr_know_goldman_lost_clock = false;
 
    atl_mtr_know_jones_replaced_goldman = false;
 
 
    atl_mtr_goldman_accused = false;
 
    atl_mtr_know_more_about_clock = false;
 
    atl_mtr_jones_replace_confirm = false;
 
    atl_mtr_leroy_known = false;
 
    atl_mtr_jones_known = false;
 
    atl_mtr_goldman_known = false;
 
    atl_mtr_know_radcliffe_worked = false;
 
    atl_mtr_know_leroy_in_terra = false;
 
    atl_mtr_finished = false;
 
 
    atl_fta_state = 0;
 
    atl_fta_darkstar_debrief = false;
 
 
    atl_rep_moreau = 0;
 
    atl_rep_darkstar = 0;
 
    atl_rep_svetlova = 0;
 
    atl_rep_wright = 0;
 
    atl_rep_iraa = 0;
 
    atl_rep_dyp = 0;
 
    
 
    atl_ctt_iraa_refusal = false;
 
    atl_star_map_copied = false;
 
};
 
 
atl_illuminators = obj {
 
    nam = "Иллюминаторы";
 
    dsc = [[Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}. ]];
 
    act = [[Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]];
 
};
 
 
atl_illuminator = obj {
 
    nam = "Иллюминатор";
 
    dsc = [[В стену встроен небольшой {иллюминатор}. ]];
 
    act = [[Через иллюминатор вы видите несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]];
 
};
 
 
atl_intersect_phone = obj {
 
    nam = "Телефон";
 
    dsc = [[На одной из стен укреплен {телефонный аппарат} в герметичном контейнере. ]];
 
    act = [[Вам незачем кому-то звонить. ]];
 
};
 
 
atl_intersect_suit = obj {
 
    nam = "Скафандр";
 
    dsc = [[В углу стоит {скафандр}. ]];
 
    act = [[Сейчас нет смысла это делать. ]];
 
}
 
 
atl_aqua_corridor_b = room {
 
    nam = "Атлантида, Аква, коридор B";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки A, B и С. ]];
 
    way = {
 
        kh_vroom("В гостевой док A", function()
 
            if (atl_lev_state == 0) then
 
                pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
                return false;
 
            elseif (atl_lev_state == 1) then
 
                return "atl_lev_radcliffe_dlg";
 
            else
 
                return "atl_aqua_leviathan_dock";
 
            end;
 
        end);
 
        kh_vroom("В гостевой док B", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В гостевой док C", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_aqua_b"
 
    };
 
};
 
 
atl_entry = lcutscene("atl_entry", "Левиафан, рубка", function(s)
 
    if (ArrayUtils.indexOf(pl.party, "wright") ~= 0) then
 
        return [[Несколько недель Левиафан полным ходом несется по направлению к таинственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. И хотя подводная лодка явно требует большего экипажа, чем вы с Райтом, вдвоем вы неплохо справляетесь. Добравшись до места назначения, вы обнаруживаете несколько больших металлических и стеклянных куполов, раскинувшихся на океанском дне и освещенных электрическими огнями. Приблизившись, вы находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, отрезая вас от внешнего мира. ]];
 
    else
 
        return [[Несколько недель Левиафан полным ходом несется по направлению к таинственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. Управлять огромным кораблем в одиночку непросто. Вы почти не спите, опасаясь оставлять движение судна без внимания. Однако, вы без проблем добираетесь до места назначения. Здесь, на океанском дне вы видите несколько больших металлических и стеклянных куполов, освещенных электрическими огнями. Приблизившись, вы быстро находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, отрезая вас от внешнего мира. ]];
 
    end;
 
end, "Вы прибыли на Атлантиду. ", leviathan_wheelhouse);
 
 
atl_aqua_leviathan_dock = room {
 
    var {
 
        visited = false;
 
    };
 
    nam = "Атлантида, Аква, гостевой док A";
 
    enter = function(s)
 
        char_learr:accompany(false);
 
        char_radcliffe:accompany(false);
 
        char_anna:accompany(false);
 
        char_wright:accompany(false);
atlantis_dlg.lua
Show inline comments
 
@@ -1648,206 +1648,195 @@ char_radcliffe_atlantis_dlg = dlg {
 
			"Очень жаль. Впрочем, у вас есть время подумать. Насколько я знаю, Даркстар и Моро собираются держать вас здесь какое-то время".
 
		]], 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, "Вы, как инженер, можете рассказать, что произошло в Игнисе?", [[
 
			"Пожар. Вам что-то еще известно?"
 
		]]};
 
		{always=true, "Я пойду.", [["До встречи", -- Уолтер отворачивается от вас и возвращается к своим делам. ]], code [[ back();]]};
 
	};
 
};
 
 
char_page_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Фрэнсис Пейдж";
 
	disp = "Фрэнсис Пейдж";
 
	enter = function(s)
 
		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"};
 
        {"Что вы можете рассказать об Атлантиде?", [[Фрэнсис пожимает плечами: "Если честно, вам лучше расспросить кого-нибудь из управляющих, а лучше всего -- Майкла Райта. Все что я могу сказать -- я до сих пор поражаюсь успеху этого невероятного проекта". ]]};
 
        {"Что вы можете рассказать о Наутилусе?", [[Френсис кивает: "Когда мы создавали Наутилус, я уже работал в Вестхейвен Трансоушен. Атлантида тогда существовала, но была далеко от того, что вы видите. Мы тогда просто строили вторую Надежду. Нам не нужна была высокая автономность, но мы хотели большую маневренность и мощность -- собственно на этом мы и сконцентрировались. Получилось то, что получилось -- рабочая лошадка, которой мы пользуемся по сей день". ]]};
 
        {"Что вы можете рассказать об Энтерпрайзе?", [[Френсис кивает: "Энтерпрайз мы начали когда захотели судно побольше. Опыта и знаний нам хватило только на пропорциональное увеличение размеров и немного более мощный двигатель. Райт наверное сказал бы, что получилось из рук вон плохо, но, на мой взгляд, Энтерпрайз вполне неплох, да и с честью служит нам до сих пор". ]]};
 
        {"Что вы можете рассказать о Надежде?", [[Фрэнсис кивает: "Надежда была первой субмариной, построенной нами. Я в этом участия не принимал, так что многие конструктивные решения меня удивляют. Впрочем, более поздние субмарины спроектированы гораздо грамотнее, да и после переоборудования многое удалось решить". ]]};
 
        {"Что вы можете рассказать о Левиафане?", [[Френсис отвечает: "С первого взгляда ясно, что Левиафан не имеет практически ничего общего с Надеждой, Наутилусом и даже Энтерпрайзом. Интересно, что Левиафан строился с оглядкой на высокую автономность -- так же, как и Надежда. За это, конечно, пришлось многим поплатиться -- Левиафан большой и неповоротливый в сравнении с Надеждой". ]]};
 
		{always=true, "Я пойду.", [[Фрэнсис Пейдж прощается с вами: "Увидимся позже". ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_leroy_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Мишель Леруа";
 
	disp = "Мишель Леруа";
 
	enter = function(s)
 
		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"};
 
        {"Почему вы считаете, что станцию необходимо закрыть?", [[Мишель начинает объяснять, активно жестикулируя: "Вы недавно здесь, и для вас это должно быть гораздо более очевидно, чем для многих из нас. Легко представить, к чему здесь может привести самая мелкая поломка. А эти самонадеянные люди, в лице Дрейка, Блэка, Светловой, Моро, Райта и даже Даркстара не видят дальше собственного носа! Что произойдет, если Доминус даст течь? Мы просто останемся погребенными под тоннами соленой воды и никакие меры предосторожности не помогут. Одно дело -- кратковременные экспедиции и совсем другое -- полное переселение сюда". ]]};
 
		{always=true, "Я пойду.", [[Мишель возвращается к чертежу. ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_goldman_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Леонард Голдман";
 
	disp = "Леонард Голдман";
 
	enter = function(s)
 
		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 [[Перед вами на койке лежит человек лет пятидесяти с густыми светлые волосы. Лицо украшают пышные золотистые усы. Мужчина приветствует вас: "Добро пожаловать на Атлантиду. Я Леонард Голдман. Занимаюсь электросистемами станции". ]];
 
			return [[Перед вами на койке лежит человек лет пятидесяти с густыми светлыми волосами. Пышные золотистые усы украшают его слегка печальное лицо. Взгляд его голубых глаз устремлен на вас. Он приветствует вас: "Добро пожаловать на Атлантиду. Я Леонард Голдман. Занимаюсь электросистемами станции". ]];
 
		else
 
			psub("generic");
 
			return [[Леонард Голдман вопросительно смотрит на вас: "Что вы хотели?" ]];
 
			return [[Леонард Голдман печально смотрит на вас: "Что вы хотели?" ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
        {"Вас что-то тревожит?", [[Леонард сперва отрицательно мотает головой, но затем, видимо подумав спрашивает: "Вы не видели мои часы?"]], code [[ poff("clock0"); pon("clock1"); ]]};
 
		{"Я Дэвид Дрейк. Рад знакомству. ", [[Леонард кивает, но ничего не говорит. ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="show_clock", false, "[Показать часы] Это ваше?", [[Голдман протягивает руку, чтобы взять часы и удивленно спрашивает: "Мои. Где вы их взяли?" ]], code [[ psub("give_clock"); ]]};
 
        {tag="clock0", "Вас что-то тревожит?", [[Леонард сперва отрицательно мотает головой, но затем, видимо подумав спрашивает: "Вы не видели мои часы?"]], code [[ pon("clock1"); ]]};
 
        {tag="clock1", false, "Расскажите больше про ваши часы", [[Леонард рассказывает: "Это часы моего отца, Френсиса Голдмана. Я уже несколько дней ищу их по всей станции и не могу найти. Куда они могли деться? -- Леонард пожимает плечами, после чего дополняет -- Если увидите их -- дайте знать". ]]};
 
        {tag="clock2", false, "Вспомните, когда вы потеряли часы", [[Леонард задумчиво чешет голову: "Несколько дней назад. Один... два... три..." -- он начинает загибать пальцы, -- "Да. Шесть дней назад. Точное время не скажу, скорее всего это было во время обеда -- потому что я отчетливо помню, что доставал их в столовой. Мы обычно обедаем с Мишелем и Чарльзом -- они сейчас, наверное, в своих комнатах. Можете уточнить у них". ]], code [[ atl_mtr_know_goldman_lost_clock=true; ]]};
 
        {tag="solis", false, "Когда вы были в Солисе последний раз?", [[Леонард заметно нервничает, отвечая на ваш вопрос: "Около месяца назад. Я вчера должен был там работать, но мы с Чарли договорились, чтобы он поработал в Солисе вместо меня, так что меня там не было. Спросите у Райта, он в курсе". ]], code [[ atl_mtr_know_jones_replaced_goldman = true; ]]};
 
		{tag="show_clock", false, "[Отдать часы] Я нашел ваши часы. ", [[Голдман прячет часы в нагрудный карман и удивленно спрашивает: "Где вы их нашли?" ]], code [[ psub("give_clock"); ]]};
 
        {"Почему вы считаете, что станцию стоит закрыть?", [[Голдман объясняет: "Мы уже десять лет здесь. Не видели ни солнца, ни неба, ни травы. Только металлический потолок и километры воды над головой. Мне кажется, что пора бы уже закончить этот эксперимент. В чем-то я согласен с Джонсом -- станция стареет, оборудование выходит из строя. Долго ли до того, как мы потеряем наши субмарины, а вместе с ними и вообще всякую возможность вернуться наверх?"]]};
 
		{"Я пойду.", [[Голдман кивает: "Поговорим позже". ]], code [[ back(); ]]};
 
		{tag="sabotage2"};
 
		{"Даркстар сказал.", [[Леонард Голдман пожимает плечами: "Даркстар мог и ошибиться. А я в это не поверю". ]]};
 
		{"Это очевидно.", [[Леонард Голдман недовольно предупреждает вас: "Будете дальше распускать подобные слухи -- я доложу Даркстару". ]]};
 
		{"Эээ... Я пошутил.", [[Леонард Голдман недовольно восклицает: "Вы вообще нормальный?!"]], code [[ back(); ]]};
 
		{tag="give_clock"};
 
		{"[Отдать часы] Нашел.", [[Леонард Голдман кивает: "Благодарю. Это часы моего деда, они очень важны для меня". ]], 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", pl); psub("tired_of_you"); ]]};
 
		{"[Уйти]", code = [[ back(); ]]};
 
		{tag = "tired_of_you"};
 
		{"Даю вам последний шанс рассказать все, что знаете.", [[леонард Голдман отказывается отвечать: "Я назвал свои условия". ]], code [[ psub('promise'); ]]};
 
		{"[Уйти]", code = [[ back(); ]]};
 
		{tag = "leroy"};
 
		{"И что вы еще намереваетесь сломать?", [[Леонард Голдман пожимает плечами. Испуганно глядя на вас, он отвечает: "Не знаю. Мишель хотел сломать станцию... Так чтобы никто не пострадал. Все бы просто вернулись на поверхность и дело с концом". ]]};
 
		{"Я пойду.", [[Леонард Голдман кивает: "Помни, что ты обещал". ]], code = [[ back(); ]]};
 
		{"Часы были в Солисе.", [[Голдман испуганно вскакивает с койки: "Но как они там оказались?!"]], code [[ psub("give_clock_2"); pret(); ]]};
 
		{"Нашел их в Терре.", [[Голдман пожимает плечами: "Наверное упали куда-нибудь за стол. Я уж не знал что и думать. Спасибо большое". ]], code [[ pret(); ]]};
 
        {tag="give_clock_2"};
 
        {"Вы точно не могли их там оставить?", [[Голдман делает глубокий вдох и дрожащим голосом отвечает: "Я не был в Солисе почти месяц. Часы же я потерял дней пять назад. Я не мог их там оставить". Он ложится обратно на койку. ]], code [[ poff("clock0", "clock1"); pon("clock2", "solis"); pret(); ]]};
 
        {"Что вы знаете о взрыве?", [[Голдман с трудом собирается с мыслями: "Я к этому не причастен!" Он садится на койку и достает из кармана карандаш, начинает вертеть его в своих дрожащих руках. ]]};
 
	};
 
};
 
 
char_jones_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Чарльз Джонс";
 
	disp = "Чарльз Джонс";
 
	enter = function(s)
 
		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="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 = dlg {
 
	nam = "Уолтер Рэдклифф";
 
	entered = function(s)
 
        char_radcliffe.rel_on_join = rel_walter;
 
        char_anna.rel_on_join = rel_anna;
 
        atl_lev_state = 2;
 
        psub("step1");
 
        if char_radcliffe_atlantis_dlg.state == 0 then
 
            char_radcliffe_atlantis_dlg.state = 1;
 
            return [[В доке Левиафана вы встречаете человека лет сорока--сорока-пяти, одетого в рабочий халат. При виде вас, он представляется: "Добрый день, господин Дрейк. Мое имя -- Уолтер Рэдклифф, я инженер. Мы только что перенесли на Левиафан припасы и оборудование, которые вам выделили Моро с Райтом. Хорошо, что я вас встретил. Нужно вас проинструктировать. Вы уже знаете, что скафандры снабжены радиопередатчиком и фонарем, но вы не знаете об еще одном важном устройстве. Мы называем его кодировщиком", -- Рэдклифф показывает вам устройство, которое все это время держал в руке. Аппарат представляет из себя клавиатуру, как у печатной машинки и набор лампочек, расположенных в ряд. Само устройство помещено в водонепроницаемый корпус, чтобы его можно было использовать под водой. Рэдклифф поясняет: "Каждый скафандр снабжен таким устройством. Оно позволяет нам общаться с навьярами. Как вы уже знаете, навьяры общаются посредством последовательностей цветовых сигналов. При нажатии на клавишу кодировщика, зажигается соответствующая лампочка. Лампы горят строго определенное время, которое регулируется ручкой, вот здесь. Вы можете набирать так быстро, как хотите. Кодировщик выведет последовательность целиком с заданной скоростью. Клавиши промаркированы буквами нашего алфавита, сопоставленными буквам навьярского. Если вы прочитаете учебник, что мы поместили в вашу каюту, вы разберетесь". ]];
 
        else
 
            return [[В доке Левиафана вы встречаете Уолтера Рэдклиффа. Завидев вас он говорит: "Дрейк, какая встреча. Мы только что перенесли на Левиафан припасы и оборудование, которые вам выделили Моро с Райтом. Хорошо, что я вас встретил. Нужно вас проинструктировать. Вы уже знаете, что скафандры снабжены радиопередатчиком и фонарем, но вы не знаете об еще одном важном устройстве. Мы называем его кодировщиком", -- Рэдклифф показывает вам устройство, которое все это время держал в руке. Аппарат представляет из себя клавиатуру, как у печатной машинки и набор лампочек, расположенных в ряд. Само устройство помещено в водонепроницаемый корпус, чтобы его можно было использовать под водой. Рэдклифф поясняет: "Каждый скафандр снабжен таким устройством. Оно позволяет нам общаться с навьярами. Как вы уже знаете, навьяры общаются посредством последовательностей цветовых сигналов. При нажатии на клавишу кодировщика, зажигается соответствующая лампочка. Лампы горят строго определенное время, которое регулируется ручкой, вот здесь. Вы можете набирать так быстро, как хотите. Кодировщик выведет последовательность целиком с заданной скоростью. Клавиши промаркированы буквами нашего алфавита, сопоставленными буквам навьярского. Если вы прочитаете учебник, что мы поместили в вашу каюту, вы разберетесь". ]];
 
        end;
 
    end;   
 
	phr = {
 
        {tag="step1"};
 
        {"Благодарю.", [[Уолтер кивает и продолжает: "Я хотел бы присоединиться к экипажу Левиафана и предложить вам свою помощь в поисках Уильяма". ]], code [[psub("step2");]]};
 
        {tag="step2"};
 
		{"Как к этому отнесутся на Атлантиде?", [["Я уже обговорил это с Моро и Райтом. Они не против моего решения, тем более, что они не меньше вас заинтересованы в успехе вашей экспедиции". ]]};
 
		{"Добро пожаловать на борт.", [["Отлично, благодарю. У меня есть еще одна просьба. Я хотел бы, чтобы моя сестра отправилась вместе с нами. Она знает язык навьяров и может оказаться крайне полезна во множестве ситуаций, кроме того -- так она остается под моим присмотром". ]], code [[
 
			table.insert(pl.party, 'radcliffe');
 
            move(char_radcliffe, char_radcliffe.home);         
 
			psub("sister");
 
		]]};
 
		{tag="sister"};
 
		{"Я не думаю, что ей место на Левиафане -- экспедиция может быть опасна.", function(s)
 
			if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
				walk(atl_lev_first_sail);
 
				return [["Вы правы, Анне будет безопаснее остаться на Атлантиде. Я знаю, что с вами отправляется Леарр, которая достаточно хорошо знает наш язык, так что я надеюсь, что мы справимся без помощи моей сестры. Я скоро вернусь", -- с этими словами он выходит из дока. ]];
 
			else
 
				return [["Я хотел бы, чтобы Анна отправилась с нами -- я лично позабочусь о ее безопасности, а вам понадобится человек, долгое время посвятивший изучению культуры навьяров". ]];
 
			end;
 
		end};
 
		{"Хорошо, ее помощь нам не помешает.", [["Отлично, мы скоро будем готовы", -- с этим словами он выходит из дока. ]], [[
 
			table.insert(pl.party, 'anna');
 
            move(char_anna, char_anna.home);         
 
			walk(atl_lev_first_sail);
 
		]]};
 
	};
 
};
 
\ No newline at end of file
atlantis_mousetrap.lua
Show inline comments
 
atl_mtr_intro = dlg {
 
    nam = "Атлантида";
 
    disp = "Атлантида";
 
    entered = function(s)
 
        atl_mtr_started = true;
 
        if have(item_goldmans_clock) then
 
            pon("clock");
 
        else
 
            pon("no_clock");
 
        end;
 
        return [[Вы входите в кабинет Даркстара в сопровождении двоих вооруженных охранников. Винсент разворачивается к вам и, положив руки на стол и уставившись на вас, приказывает: "Рассказывайте!"]];
 
    end;
 
    phr = {
 
        {tag="start"};
 
        {tag="what", "Что происходит?", [[Даркстар спокойно отвечает: "Пока вы мирно спали в своей каюте, мы с Райтом тщательно обследовали Солис. Вывод неутешительный -- кто-то намеренно повредил оборудование, чтобы вызвать избыток давления. Впрочем, вы вне подозрений", -- Даркстар выдерживает неьбольшую паузу -- "Почти. Но вы были в Солисе последним, поэтому я хочу, чтобы вы рассказали все как было, от начала до конца".]]};
 
        {tag="solis", "[Рассказать все]", [[Как только вы заканчиваете рассказ, Даркстар кивает: "Вы отлично справились, Дрейк".]]};
 
        {tag="clock", false, "Я нашел это в Солисе. [Передать часы Даркстару]", [[Даркстар берет часы из ваших рук и разглядывает их некоторое время. Затем возвращает вам со словами: "Вернете их владельцу. Если спросит, где нашли -- говорите правду. Куда он денется с подводной лодки..." -- начальник службы безопасности недобро ухмыльнулся. ]], code [[walk("atl_dom_security_office");]]};
 
        {tag="no_clock", false, "Мне больше нечего добавить. ", [["Тогда добавлю я", -- Даркстар поднялся из-за стола, -- "Дрейк, мне нужно, чтобы Вы помогли мне. Узнайте у Райта, кто последний был с Солисом. Поговорите с другими инженерами. Запоминайте каждую деталь. Сообщайте мне все, что разузнаете". ]], code [[ psub("why_me"); ]]};
 
        {tag="clock", false, "Я нашел это в Солисе. [Передать часы Даркстару]", [[Даркстар берет часы из ваших рук и разглядывает их некоторое время. Затем возвращает вам со словами: "Вернете их владельцу. Если спросит, где нашли -- говорите правду. Куда он денется с подводной лодки..." -- начальник службы безопасности недобро ухмыльнулся. ]], code [[
 
            atl_mtr_darkstar_clock_shown = true;
 
            walk("atl_dom_security_office");
 
        ]]};
 
        {tag="no_clock", false, "Мне больше нечего добавить. ", [["Тогда добавлю я", -- Даркстар поднялся из-за стола, -- "Дрейк, мне нужно, чтобы Вы помогли мне. Узнайте у Райта, кто последний был в Солисе. Поговорите с другими инженерами. Запоминайте каждую деталь. Сообщайте мне все, что разузнаете". ]], code [[ psub("why_me"); ]]};
 
        {tag="why_me"};
 
        {"Почему я?", [[Даркстар объясняет: "Саботажник скорее допустит оплошность при общении с вами, чем со мной или Райтом. Я не хочу пока вводить в курс дела кого-либо еще. Вы свободны". ]], code [[walk("atl_dom_security_office");]]};
 
    };
 
};
 

	
0 comments (0 inline, 0 general)