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 = [[Сейчас нет смысла это делать. ]];
 
}
 
atlantis_dlg.lua
Show inline comments
 
@@ -1696,131 +1696,120 @@ char_page_dlg = dlg {
 
        {"Что вы можете рассказать о Левиафане?", [[Френсис отвечает: "С первого взгляда ясно, что Левиафан не имеет практически ничего общего с Надеждой, Наутилусом и даже Энтерпрайзом. Интересно, что Левиафан строился с оглядкой на высокую автономность -- так же, как и Надежда. За это, конечно, пришлось многим поплатиться -- Левиафан большой и неповоротливый в сравнении с Надеждой". ]]};
 
		{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;
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)