Changeset - 648cd210d942
[Not reviewed]
default
0 2 0
Silverwing - 7 years ago 2017-05-02 18:06:02

391
2 files changed with 54 insertions and 5 deletions:
0 comments (0 inline, 0 general)
atlantis_dlg.lua
Show inline comments
 
@@ -1528,433 +1528,456 @@ char_ryveerr_dlg = dlg {
 
        {"Я сделал все, что мог", [[Ривеерр кивает: "Мне жаль, что ты-помочь-Леарр-не-смог". Через некоторое время он приглашает: "Ты говори". ]], code [[ psub("generic"); ]]};
 
        {"Я пришел говорить о другом", [[Ривеерр отворачивается от вас. ]], code [[
 
            back();
 
        ]]};
 
        {tag="iof_learr_suit"};
 
        {"Я сделал то, что был должен", [[Ривеерр кивает и приглашает вас: "Ты говори". ]], code [[psub("generic");]]};
 
        {tag="iof_learr"};
 
        {"Я тоже", [[Ривеерр кивает и приглашает вас: "Ты говори". ]], code [[psub("generic");]]};
 
		{tag="generic"};
 
		{tag="about_relic", false, "Расскажи о конфликте Ираафаанотра с Дипатреанотром", [[Ривеерр рассказывает вам: "Na'vji'a'yhe'iraa'pha’anot’rr нашу-реликвию-украли. Мы тем-же-ответили им". ]], code [[ psub("more_on_relic"); ]]};
 
        
 
        {tag="sabotage", [[Ты знаешь, что пожар начался из-за саботажа?]], function(s)
 
            if (atl_iof_learr_dead) then
 
                return [[Ривеерр недовольно отвечает: "Это-не-значимо. Значимо, что Леарр мертва". ]];
 
            else
 
                return [[Ривеерр спокойно отвечает: "Ты со-мной-про-это-не-говори. Это-ваши-дела. Я не-хочу-ими-заниматься". ]];
 
            end;
 
        end};
 
        {tag="ignis_what", "Ты знаешь, почему начался пожар в Игнисе?", function(s)
 
            if (atl_iof_learr_dead) then
 
                return [[Ривеерр недовольно отвечает: "Это-не-значимо. Значимо, что Леарр мертва". ]];
 
            else
 
                return [[Ривеерр спокойно отвечает: "Ты со-мной-про-это-не-говори. Это-ваши-дела. Я не-хочу-ими-заниматься". ]];
 
            end;
 
        end};
 
		{always=true, "Я пойду", [[Ривеерр прощается с вами: "Мы позже-поговорим". ]], code [[ back(); ]]};
 
		{tag="more_on_relic"};
 
		{"Тем же?", [[Ривеерр щелкает зубами: "Мы светодиск-из-их-храма-забрали. Мы вернем ее, ysl они вернут нашу-реликвию". ]]};
 
		{"Вы уверены, что кража - их рук дело?", [[Ривеерр уверенно кивает: "Только-они могли сделать. Я расскажу", -- Ривеерр на небольшое время замолкает, собираясь с мыслями, после чего продолжает: "Na'vji'a'yhe'iraa'pha’anot’rr ночью-в-наш-храм-пришли и охранников-убили. Они реликвию-украли и в-свой-город-унесли". ]], code [[ psub("why"); ]]};
 
		{tag="why", empty=code [[ atl_iyh_ryveerr_spoken = true; psub("generic"); ]]};
 
		{"Вы уверены, что это они?", [[Ривеерр отвечает: "Другой-никто не-мог-сделать". ]]};
 
        {"Как убили охранников", [[Ривеерр отвечает: "Их копьями-проткнули. Мы раны-видели". ]]};
 
		{tag="situation"};
 
		{"Мы знаем об одном древнем храме неподалеку отсюда", [[Ривеерр пожимает плечами: "Я не-понимаю, hyd это поможет нам". ]], code [[ psub("cancel");]]};
 
		{always=true, "Я пойду", [[Ривеерр прощается с вами: "Мы позже-поговорим". ]], code [[ back(); ]]};
 
		{tag="legend"};
 
		{"Мы знаем где ваша реликвия. Мы знаем об одном древнем храме, где живет затмевающий свет. [Кратко пеесказать легенду]", [[
 
			"Я знаю эту-легенду. Вы возможно-правы. В-храм вам-нельзя-идти. Это наше-священное-место. he'vji'a'rr не-место-там. Затмевающий-свет не-враг-нам. Его нельзя-тревожить".
 
		]], code [[ psub("legend_more")]]};
 
		{always=true, "Я пойду", [[
 
			Ривеерр прощается с вами: "Мы позже-поговорим".
 
		]], code [[ back(); ]]};
 
		{tag="legend_more"};
 
		{"Вы могли бы сопровождать нас. ", [[
 
			"В-храм нельзя-вам".
 
		]], code [[ 
 
			char_ryveerr_dlg.state = 2;
 
		]]};
 
		{always=true, "Я вернусь позже", [[
 
			Ривеерр прощается с вами: "Мы позже-поговорим".
 
		]], code [[ back(); ]]};
 
		{tag="legend2"};
 
		{tag="take_learr", false, "Леарр согласилась сопровождать нас в храм. ", [[
 
			"Леарр'yhe'iraa’pha’anot’rr. Не-уверен-я что-могу-доверять-ей. Я подумать-должен..." - Некоторое время Ривеерр стоит неподвижно, задумавшись. Наконец, скрестив руки на груди, Ривеерр продолжает: "Я согласен".
 
		]], code [[ atl_iyh_state = 6; back(); ]]};
 
		{tag="take_aikerjarr", false, "Аикерьярр согласился сопровождать нас в храм", [[
 
			"Аикерьярр'yhe'iraa’pha’anot’rr. Не-уверен-я что-могу-доверять-ему. Я подумать-должен..." - Некоторое время Ривеерр стоит неподвижно, задумавшись. Наконец, скрестив руки на груди, Ривеерр продолжает: "Я согласен".
 
		]], code [[ atl_iyh_state = 6; back(); ]]};
 
		{always=true, "Я вернусь позже", [[
 
			Ривеерр прощается с вами: "Мы позже-поговорим".
 
		]], code [[ back(); ]]};
 
		{tag="cancel"};
 
		{always=true, "Я вернусь позже", [[
 
			Ривеерр прощается с вами: "Мы позже-поговорим".
 
		]], code [[ back(); ]]};
 
	};
 
};
 
 
char_evans_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Кристиан Эванс";
 
	disp = "Кристиан Эванс";
 
	entered = 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"};
 
		{"Я Дэвид Дрейк, очень приятно", [[
 
			Кристиан улыбается и отвечает: "Очень рад вас видеть. У вас есть вопросы? Я слушаю". ]], };
 
		{tag="generic"};
 
		{tag="sabotage", "Вы знаете, что пожар в Игнисе - результат саботажа?", function(s)
 
			atl_lfc_panic = atl_lfc_panic + 1;
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
			return [[Кристиан недовольно ворчит: "Если это так, то надо не на каждом углу кричать, а предоставить сведения Даркстару или Моро. Они найдут, как решить проблему". ]];
 
		end};
 
		{tag="ignis_what", "Вы знаете, что произошло в Игнисе?", [[Кристиан пожимает плечами: "Об этом вам лучше узнать у Райта или Даркстара. Я мало что знаю". ]]};
 
		{always=true, "Я пойду", [[Кристиан прощается с вами: "До встречи". ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_winterlight_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Сильвия Уинтерлайт";
 
	disp = "Сильвия Уинтерлайт";
 
	entered = function(s)
 
		if (atl_iyh_state == 4) then
 
			pon("legend");
 
		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;
 
		if (s.state == 0) then
 
			psub("first_meeting");
 
            s.state = 1;
 
			return [[
 
				Женщина лет тридцати-пяти-сорока стоит, склонившись над картой и внимательно изучает ее. Увидев вас, она отвлекается от карты и спрашивает: "Вы Дэвид Дрейк? Я Сильвия Уинтерлайт. Рада встрече, у нас нечасто новых людей встретить можно".
 
			]];
 
		else
 
			psub("generic");
 
			return [[
 
				Сильвия оборачивается к вам: "Приветствую, что вы хотели?"
 
			]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Совершенно верно, я Дэвид Дрейк", [[
 
			"Рада знакомству. Я мало что могу рассказать вам об устройстве станции, но если у вас есть какие-то вопросы касательноо культуры и истории навьяров - я всегда рада помочь".
 
		]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="legend", false, "Ты можешь рассказать мне навьярскую легенду о скате?", [[Сильвия кажется заинтересованной: "У навьяров их много, какую конкретно вы хотите услышать?" ]], code [[ psub("which_legend"); ]]};
 
		{tag="sabotage", false, "Вы знаете, что пожар начался из-за саботажа?", function(s)
 
			atl_lfc_panic = atl_lfc_panic + 1;
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
			if (atl_lfc_panic <= 2) then
 
				return [[
 
					Сильвия Уинтерлайт пожимает плечами: "Не поверю, чтобы кто-то это мог сделать".
 
				]];
 
			elseif (atl_lfc_panic == 3) then
 
				return [[
 
					Сильвия Уинтерлайт удивленно смотрит на вас: "Вы не первый кто так говорит. Но кто это мог сделать?"
 
				]];
 
			end;
 
		end;};
 
		{tag="ignis_what", false, "Вы знаете, что произошло в Игнисе?", [[
 
			"Крайней мало. Вам лучше поговорить с Райтом или Даркстаром".
 
		]]};
 
		{always=true, "Я пойду", [[
 
			Сильвия молча кивает и возвращается к своим делам. 
 
		]], code [[ back(); ]]};
 
		{tag="which_legend"};
 
		--TODO добавить несколько легенд
 
		{"Что-нибудь связанное с храмами и реликвиями", [[
 
			Сильвия задуиывается: _"Храмы, реликвии и скаты... Да, есть кое-что", -- она откидивыет волосы назад и продолжает: "Согласно этой легенде, хранителей одного из святилищ навьяров был могучий затмевающий свет по имени Излучающий Тьму. Это было в те времена, когда навьяры и затмевающие свет были связаны узами дружбы. Излучающий тьму был мудрым хранителем - он не только принимал священные реликвии на сохранение, но и многое знал о них - об их предназначении и истинной ценности. Однажды Излучающий Тьму узнает о необычнайно ценной реликвии, хранящейся в одном из городов и скрывающей в себе древние знания навьяров. Узнает он и о том, что живущие навьяры не в силах прочитать. Тогда он прибыл в город, чтобы просить навьяров отдать ему реликвию на сохранение. Но навьяры отказывают ему. Вернувшись в святилище, Излучающий Тьму придумал план. Ночью он пробрался в город и выкрал реликвию. Когда наутро навьяры обнаружили пропажу, они направились к Излучающему Тьму с требованием вернуть им реликвию. На это могучий затмевающий свет спросил их: ,,Знаете ли вы, что скрывает этот предмет?''^ -- кстати, в некоторых переводах я встречала слово ,,светодиск'', как описание реликвии. 
 
			,,Знания наших предков'', -- ответили навьяры. Излучающий Тьму продолжил: ,,Можете ли вы прочитать его?''^
 
			,,Нет'', --сказали навьяры. Тогда Излучающий Тьму рассказал им легенду о храме в глубинах, которую он прочитал из данной реликвии(Нам, кстати, так и не довелось получить хоть какой-либо целостный текст этой легенды), и сказал им: ,,Можете приходить сюда когда захотите и я расскажу вам то, что вы захотите знать. Но только, если реликвия ваша остается у меня''. Навьяры поняли, что если заберут реликвию, то навсегда утратят древние знания и согласились". 
 
		]], code [[ psub("more_on_legend"); ]]};
 
		{tag="more_on_legend"};
 
		{"Светодиск?", [[
 
			"Мы плохо понимаем, для чего они служат. У Светловой один такой был. Блестящий диск - сантиметров 10 в диаметре. Правда вот как их ,,читать''... В привычном понимании, по крайней мере, мы не понимаем. Если рассматривать их под микроскопом - там весьма характерный рисунок проступает. Почему светодиск? Мы не знаем - это навьяры их так называют".
 
		]]};
 
		{"Что за легенда о храме в глубинах?", [[
 
			"Мы только приблизительно знаем о ней - она постоянно упоминается в контексте других легенд и у нас есть фрагменты, которые нам рассказывали навьяры. Когда-то давно навьяры построили храм где-то в ущелье, но по какой-то причине были вынуждены покинуть его". 
 
		]]};
 
		{"Спасибо, я пойду", [[
 
			"До встречи. Если захотите еще древних сказаний послушать - приходите".
 
		]], code [[ atl_iyh_state = 5; psub('back'); ]]};
 
	};
 
};
 
 
char_jack_wright_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
        lfc_dialog = 0;
 
	};
 
	nam = 'char_jack_wright_atlantis_dlg';
 
	disp = "Джек Райт";
 
	entered = function(s)
 
        if (rel_jack < 0) then
 
            if (char_wright.on_learr == 0) then pon("on_learr");
 
            if (char_wright.on_leviathan == 0) then pon("on_leviathan");
 
        else
 
            if (char_wright.on_learr < 2) then pon("on_learr");
 
            if (char_wright.on_leviathan < 2) then pon("on_leviathan");
 
        end;
 
    
 
        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("business_or_no");
 
			return [[Джек отворачивается от Леарр, и обращается к вам: "Привет, ты по делу или просто так?"
 
			]];
 
        elseif (atl_iof_completed and char_wright.iof_reaction == 0) then
 
            if (atl_iof_learr_suit) then
 
                psub("iof_learr_suit");
 
                return [[Джек откладывает книгу и встает с койки и обращается к вам: "Добрый день. Отличная идея, заставить Леарр надеть скафандр. Не знаю, как она справилась бы без него". ]];
 
            else
 
                psub("iof_learr");
 
                return [[Джек откладывает книгу и встает с койки и обращается к вам: "Добрый день. Рад тебя видеть. Не знаешь, как дела у Леарр?" ]];
 
            end;
 
        else
 
            psub("generic");
 
            return [[Джек откладывает книгу и встает с койки и обращается к вам: "Добрый день. Тебе что-то нужно?"]];
 
		end;
 
	end;
 
	phr = {
 
        {tag="iof_learr_suit"};
 
        {"Я рад, что все хорошо закончилось и никто не пострадал. ", [[Джек кивает: "У тебя есть какие-то вопросы?"]], code [[ psub("generic");]]};
 
        {tag="iof_learr"};
 
        {"Леарр в порядке, благодаря твоей помощи. ", [[Джек кивает: "Рад это слышать. У тебя есть какие-то вопросы?"]], code [[ psub("generic");]]};
 
        {"Я еще не говорил с ней. ", [[Джек кивает: "Надеюсь, с ней все хорошо. Тебе что-то нужно?"]], code [[ psub("generic"); ]]};
 
		{tag = "business_or_no"};
 
		{"Как тебе станция?", [[Джек не скрывая восхищения восклицает: "Невероятно! Трудно поверить в возможность такого -- полностью автономное подводное поселение. Я никогда на сомневался в таланте отца, но это выше всех моих ожиданий". ]]};
 
		{always = "true", "Я пришел поговорить с Леарр. ", function(s)
 
			if (char_learr_atlantis.offended) then
 
				return [[Джек ухмыльнулся: "Удачи, я подожду в главном зале", -- с этими словами, Джек выходит из зала. ]];
 
			else
 
				return [["Надеюсь, я вам не помешаю? В любом случае, я подожду в главном зале", -- с этими словами, Джек выходит из зала. ]];
 
			end;
 
		end, code [[ 
 
			remove('char_jack_wright_atlantis', 'atl_ignis_hall_a');
 
			back(); 
 
		]]};
 
        {tag="generic"};
 
        {tag="sabotage", "Ты знаешь, что пожар начался из-за саботажа?", [[Джек кивает: "Да, Даркстар сказал мне это. Он просил меня никому не говорить об этом и не вмешиваться в расследование. Я думаю, все подозреваемые, которых он назвал так или иначе связаны. Не случайно, все трое выступают в пользу закрытия станции. Надеюсь, Даркстар сообщит о результах расследования". ]], code [[poff("ignis_what");]]};
 
        {tag="ignis_what", "Ты знаешь, почему начался пожар в Игнисе?", [[Джек кивает: "Да, Даркстар сказал, что на станции саботажник. Он назвал нескольких подозреваемых, но просил никому не говорить. Он с тобой говорил об этом?"]], code [[poff("sabotage");psub("ignis");]]};
 
        {always=true, "Я пойду", [[Джек прощается с вами: "До встречи", -- после  чего возвращается к своему занятию. ]]};
 
        {always=true, "Я хочу кое-что спросить.", [[Джек вопросительно смотрит на вас: "Я слушаю". ]], code [[ psub("more_questions"); ]]};
 
        {always=true, "Я пойду.", [[Джек прощается с вами: "До встречи", -- после  чего возвращается к своему занятию. ]]};
 
        {tag = "more_questions"};
 
        {tag="on_learr", "Что ты думаешь о Леарр?", function()
 
            
 
        end};
 
        {tag="on_leviathan", "Как впечатления от Левиафана?", function()
 
            if (rel_jack < 0) then
 
                char_wright.on_leviathan = 1;
 
                return [[Джек отвечает: "Левиафан, без сомнения, превосходный корабль. Жаль, что ему не нашлось лучшего капитана". ]];
 
            else
 
                char_wright.on_leviathan = 2;
 
                return [[Джек не скрывает своего восхищения: "Никогда не видел ничего подобного. Неудивительно, что отец оставил жизнь на поверхности в пользу возможности создавать подобное здесь. Пока мы были в пути, я подробно изучил субмарину. Многие решения до сих пор кажутся мне невероятными - например, использование электричества в качестве движущей силы или наличие звуковой пушки. Я уже успел обсудить с отцом детали диагностических цепей. Это совершенно непостижимо, чтобы машина сама сообщала, что с ней что-то не так. И все это в одном месте". ]];
 
            end;
 
        end};
 
        {"Вернемся к делу", [[Джек молча кивает. ]], code [[ pret(); ]]};
 
        {tag = "ignis"};
 
        {"Да", [[Джек кивает: "Тогда ты и без меня все знаешь. Я думаю, все трое подозреваемых замешаны, но не хочу лезть в это дело". ]], code [[ pret(); ]]};
 
        {"Нет", [[Джек на мгновение задумался. Потом снова заговорил: "Я не должен тебе этого говорить, наверное. Но все же. Даркстар подозревает Голдмана, Леруа и Джонса -- они все трое, вроде как, достаточно знают об устройстве станции и, опять же, все трое активно выступают за закрытие станции и возвращение на поверхность. От себя скажу, что не удивлюсь, если все трое в сговоре, но не буду судить поспешно". ]], code [[ pret(); ]]};
 
        {"Да.", [[Джек кивает: "Тогда ты и без меня все знаешь. Я думаю, все трое подозреваемых замешаны, но не хочу лезть в это дело". ]], code [[ pret(); ]]};
 
        {"Нет.", [[Джек на мгновение задумался. Потом снова заговорил: "Я не должен тебе этого говорить, наверное. Но все же. Даркстар подозревает Голдмана, Леруа и Джонса -- они все трое, вроде как, достаточно знают об устройстве станции и, опять же, все трое активно выступают за закрытие станции и возвращение на поверхность. От себя скажу, что не удивлюсь, если все трое в сговоре, но не буду судить поспешно". ]], code [[ pret(); ]]};
 
	};
 
};
 
 
char_legrand_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Мари Легран";
 
	disp = "Мари Легран";
 
	entered = 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("first_meeting_3"); ]]};
 
		{tag="first_meeting_3"};
 
		{"Это долгая история", [[
 
			Мари Легран кивает: "Ладно, потом как-нибудь, если торопитесь"
 
		]], [[ psub("generic") ]]};
 
		{"Я нашел тайник отца со старыми схемами. Пришлось побегать, чтобы восстановить субмарину. Я чудом собрал все необходимое", [[
 
			Мари Легран удивленно смотрит на вас: "Удивительно. Скорее всего Уильям хотел, чтобы вы нашли Левиафан. Жаль, что вы прибыли слишком поздно. Когда он узнал про этот древний город, он собрал несколько помощников и отправился на Надежде на его поиски".
 
		]], code [[ pon("father_more");psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="father_more", false, "Кто отправился вместе с моим отцом?", [[
 
			"Немногие. Они вообще хотел отправиться вдвоем с Блэком, но Блэк уговорил Уильяма взять Джона Брауна и Дэмина Пина".
 
		]], code [[psub("more_people");]]};
 
		{tag="sabotage", false, "Вы знаете, что пожар в Игнисе начался из-за саботажа?", function(s)
 
			atl_lfc_panic = atl_lfc_panic + 1;
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
			if (atl_lfc_panic <= 2) then
 
				return [[
 
					Мари Легран удивленно смотрит на вас: "Откуда вы знаете? Кому такое в голову придти может?"
 
				]];
 
			elseif (atl_lfc_panic == 3) then
 
				return [[
 
					Мари Легран удивленно смотрит на вас: "Вы понимаете, что говорите? Кому такое в голову придти может?"
 
				]];
 
			end;
 
		end};
 
		{tag="ignis_what", false, "Вы знаете, что произошло в Игнисе?", [[
 
			"Поговорите лучше с Даркстаром или Райтом".
 
		]]};
 
		{always=true, "Я пойду", [[
 
			"Приходите еще"
 
		]], code [[ back(); ]]};
 
		{tag="more_people"};
 
		{"Расскажите больше об Адриане Блэке", [[
 
		]]};
 
		{"Расскажите больше о Джоне Брауне", [[
 
		]]};
 
		{"Расскажите больше о Дэмине Пине", [[
 
			
 
		]]};
 
		{"Давайте о другом поговорим", [[
 
			"Хорошо"
 
		]], code [[pret();]]};
 
	};
 
};
 
 
char_radcliffe_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
		lfc_dialog = false;
 
	};
 
	nam = "Уолтер Рэдклифф";
 
	disp = "Уолтер Рэдклифф";
 
	entered = 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 [[
 
			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="sabotage", false, "Вы знаете, что пожар в Игнисе - результат саботажа?", [[
 
			"Безусловно. Системы энергоснабжения проектировал я и абсолютно уверен в их безопасности и надежности. Судя по тому, что произошло - кто-то весьма грамотный ,,доработал'' систему энергоснабжения Игниса. Я не думаю, что это мог быть один человек... Хотя если он делал это несколько дней - вполне вероятно. Как это сделать, кроме нас с Райтом знают только трое: Мишель Леруа, Чарльз Джонс и Мари Легран. И еще кое-что. Даркстар просил меня ни с кем про это не разговаривать, поэтому надеюсь на ваше понимание. Отдельно попрошу - не говорить на эту тему с моей сестрой".
 
		]], code [[
 
			rel_walter = rel_walter + 1;
 
		]]};
 
		{tag="ignis_what", false, "Вы, как инженер, можете рассказать, что произошло в Игнисе?", [[
 
			"Пожар. Вам что-то еще известно?"
 
		]]};
 
		{"Я пойду", [[
 
			"До встречи", - Уолтер отворачивается от вас и возвращается к своим делам.
 
		]], code [[ back();]]};
 
	};
 
};
 
 
char_page_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Фрэнсис Пейдж";
 
	disp = "Фрэнсис Пейдж";
 
	entered = 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"); ]]};
party.lua
Show inline comments
 
@@ -86,394 +86,420 @@ char_radcliffe = obj {
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Уолтер Рэдклифф} задумчиво крутит в руках какую-то деталь. ^]];
 
		else
 
			return [[{Уолтер Рэдклифф} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	home = "leviathan_engines";
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(radcliffe_home_dlg);
 
		else
 
			walkin(radcliffe_dlg);
 
		end;
 
	end;
 
};
 
 
char_wright = obj {
 
	var {
 
		follow = false;
 
        
 
        iof_reaction = 0;
 
        
 
        on_learr = 0;
 
        on_leviathan = 0;
 
	};
 
	nam = "wright";
 
	disp = "Джек Райт";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Джек Райт} читает какую-то книгу. ^]];
 
		else
 
			return [[{Джек Райт} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	home = "leviathan_wardroom";
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		walkin(wright_main_dlg);
 
	end;
 
};
 
 
char_anna = obj {
 
	var {
 
        follow = false;
 
        
 
        anna_asked = 0;
 
        walter_asked = 0;
 
        atlantis_asked = 0;
 
        drake_asked = 0;
 
        join_asked = 0;
 
        rel_on_join = nil;
 
	};
 
	nam = "anna";
 
	disp = "Анна Рэдклифф";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Анна Рэдклифф} смотрит в иллюминатор. ^]];
 
		else
 
			return [[{Анна Рэдклифф} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	home = "leviathan_wardroom";
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(anna_home_dlg);
 
		else
 
			walkin(anna_dlg);
 
		end;
 
	end;
 
};
 
 
learr_home_dlg = dlg {
 
	nam = "learr_dlg";
 
	disp = "Леарр";
 
	hideinv = true;
 
	entered = function(s)
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	
 
		if (char_learr.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
	
 
		return [[
 
			Леарр вопросительно смотрит на вас
 
		]];
 
	end;
 
	phr = {
 
		{ tag = "on_iyh", always = true, "Что ты можешь рассказать мне о храме?", [[
 
			"Каждый-храм два-входа-имеет. Большой-главный-вход далеко-виден. Тайный-задний-вход незаметен-но-всегда-есть. Мы давно-потеряли дорогу-к-этому-святилищу и задний-вход-не-помним. Если мы задний-вход-найдем, то обманим затмевающего-свет и в-храм-проникнем".
 
		]]};
 
		{ tag = "join", always = true, "Я хочу, чтобы ты пошла со мной в следующий раз", "Хорошо", 
 
			function()
 
				char_learr:accompany(true);
 
				char_phaetlarr:accompany(false);
 
				char_radcliffe:accompany(false);
 
				char_wright:accompany(false);
 
				char_anna:accompany(false);
 
				pon('stay');
 
				poff('join');
 
			end;
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_learr.accompany(char_learr, false);
 
				poff('stay');
 
				pon('join');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		}
 
	};
 
};
 
 
phaetlarr_home_dlg = dlg {
 
	nam = "phaetlarr_dlg";
 
	disp = "Фаэтларр";
 
	hideinv = true;
 
	entered = function(s)
 
		if (char_phaetlarr.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
	
 
		return [[
 
			Фаэтларр ждет ваших указаний
 
		]];
 
	end;
 
	phr = {
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				char_learr:accompany(false);
 
				char_phaetlarr:accompany(true);
 
				char_radcliffe:accompany(false);
 
				char_wright:accompany(false);
 
				char_anna:accompany(false);
 
				poff('join');
 
				pon('stay');
 
			end; 
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_phaetlarr.accompany(char_phaetlarr, false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		}
 
	};
 
};
 
 
radcliffe_home_dlg = dlg {
 
	nam = "radcliffe_dlg";
 
	disp = "Уолтер Рэдклифф";
 
	hideinv = true;
 
	entered = function (s)
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	
 
		if (char_radcliffe.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
		
 
        psub("generic");
 
		return [[
 
			Уолтер задумчиво смотрит на вас
 
		]];
 
	end;
 
	phr = {
 
        {tag="generic"};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[
 
			"Возможно, мы сможем разрушить вход в храм. Однако я не знаю, как навьяры на это отреагируют. "
 
		]]};
 
		{tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				if (submarine_leviathan.suits > 1) then
 
					char_learr:accompany(false);
 
					char_phaetlarr:accompany(false);
 
					char_radcliffe:accompany(true);
 
					char_wright:accompany(false);
 
					char_anna:accompany(false);
 
					pon('stay');
 
					poff('join');
 
					return [[Я готов]];
 
				else
 
					-- TODO сообщать это только если в партии есть навьяры
 
					return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]];
 
				end;
 
			end;  
 
		};
 
		{tag="stay", always="true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_radcliffe.accompany(char_radcliffe, false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{tag="exit", always="true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		}
 
		};      
 
	};
 
};
 
 
wright_main_dlg = dlg {
 
	nam = "wright_main_dlg";
 
	disp = "Джек Райт";
 
	hideinv = true;
 
	entered = function(s)
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	
 
		if (char_wright.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
        
 
        if (rel_jack < 0) then
 
            if (char_wright.on_learr == 0) then pon("on_learr");
 
            if (char_wright.on_leviathan == 0) then pon("on_leviathan");
 
        else
 
            if (char_wright.on_learr < 2) then pon("on_learr");
 
            if (char_wright.on_leviathan < 2) then pon("on_leviathan");
 
        end;
 
    
 
        psub("generic");      
 
		return [[
 
			Джек ждет ваших указаний
 
		]];
 
	end;
 
	phr = {
 
        {tag="generic"};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Джек Райт задумчиво произносит: "Возможно получится выманить ската, если направить прожектор на вход храма..." Немного подумав, он добавляет: "Другое дело, что при этом он, скорее всего, атакует Левиафан. "]]};
 
		{tag="join", always="true", "Я хочу, чтобы ты пошел со мной в следующий раз.", [[Джек Райт отвечает: "Хорошо". ]], code [[
 
            char_learr:accompany(false);
 
            char_phaetlarr:accompany(false);
 
            char_radcliffe:accompany(false);
 
            char_wright:accompany(true);
 
            char_anna:accompany(false);
 
            pon('stay');
 
            poff('join');
 
        ]]};
 
		{tag="stay", always="true", "Оставайся на Левиафане.", [[Джек Райт отвечает: "Хорошо". ]], code [[
 
			char_wright:accompany(false);
 
			pon('join');
 
			poff('stay');
 
		]]};
 
		{tag="exit", always="true", "Это все.", [[Джек Райт отвечает: "Хорошо". ]], code [[ back(); ]]};
 
    {tag = "more_questions"};
 
        {tag="on_learr", "Что ты думаешь о Леарр?", function()
 
            
 
        end};
 
        {tag="on_leviathan", "Как впечатления от Левиафана?", function()
 
            if (rel_jack < 0) then
 
                char_wright.on_leviathan = 1;
 
                return [[Джек отвечает: "Левиафан, без сомнения, превосходный корабль. Жаль, что ему не нашлось лучшего капитана". ]];
 
            else
 
                char_wright.on_leviathan = 2;
 
                return [[Джек не скрывает своего восхищения: "Никогда не видел ничего подобного. Неудивительно, что отец оставил жизнь на поверхности в пользу возможности создавать подобное здесь. Пока мы были в пути, я подробно изучил субмарину. Многие решения до сих пор кажутся мне невероятными - например, использование электричества в качестве движущей силы или наличие звуковой пушки. Я уже успел обсудить с отцом детали диагностических цепей. Это совершенно непостижимо, чтобы машина сама сообщала, что с ней что-то не так. И все это в одном месте". ]];
 
            end;
 
        end};
 
        {"Вернемся к делу", [[Джек молча кивает. ]], code [[ pret(); ]]};      
 
	};
 
};
 
 
anna_home_dlg = dlg {
 
	nam = "anna_home_dlg";
 
	disp = "Анна Рэдклифф";
 
	hideinv = true;
 
	entered = function(s)
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	   
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_join", "talk");
 
        if (rel_anna < 0) then
 
            pon("talk");
 
        else
 
            if (char_anna.anna_asked < 2) then
 
                pon("on_anna");
 
                pon("talk");
 
            end;
 
            if (char_anna.walter_asked < 2) then
 
                pon("on_walter");
 
                pon("talk");
 
            end;
 
            if (char_anna.atlantis_asked < 2) then
 
                pon("on_atlantis");
 
                pon("talk");
 
            end;
 
            if (char_anna.drake_asked < 2) then
 
                pon("on_drake");
 
                pon("talk");
 
            end;
 
            if (char_anna.join_asked < 2) then
 
                pon("on_join");
 
                pon("talk");
 
            end;
 
        end;
 
        
 
       
 
		if (char_anna.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
		return [[
 
			Анна ждет ваших указаний
 
		]];
 
	end;
 
	phr = {
 
        {tag="talk", false, "Мы можем поговорить?", function(s)
 
            if (rel_anna < 0) then
 
                return [[Анна отрицательно качает головой: "Не сейчас". ]];
 
            else
 
                psub("talk_more");
 
                return [[Анна кивает: "Да, конечно. Я вас слушаю". ]];
 
            end;
 
        end};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[
 
			"Ночью скат скорее всего покинет свое логово в поисках пищи. Мы можем воспользоваться его отсутствием".
 
		]]};
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз", 
 
			function()
 
				if (submarine_leviathan.suits > 1) then
 
					char_learr:accompany(false);
 
					char_phaetlarr:accompany(false);
 
					char_radcliffe:accompany(false);
 
					char_wright:accompany(false);
 
					char_anna:accompany(true);
 
					pon('stay');
 
					poff('join');
 
					return [[Я готова]];
 
				else
 
					-- TODO сообщать это только если в партии есть навьяры
 
					return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]];
 
				end;
 
			end; 
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_anna:accompany(false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		};
 
        { tag = "talk_more"};
 
        {tag="on_anna", "Расскажи о себе. ", function(s)
 
            char_anna.anna_asked = 2;
 
            return [[Анна Рэдклифф грустно вздыхает: "Мне почти нечего рассказывать. Я с молодости живу здесь, на Атлантиде. Когда Уолтер сказал, что мы будем жить здесь, я сперва расстроилась -- тогда это казалось мне невероятно скучным -- жить вдалеке от цивилизации, среди людей, которые старше меня на двадцать с лишним лет. На самом деле все оказалось не столь плохо -- здесь есть навьяры. Когда они заняты -- я сижу в библиотеке, с Мари, или смотрю фильмы в Игнисе". ]];
 
        end};
 
        {tag="on_walter", "Расскажи об Уолтере. ", function(s)
 
            char_anna.walter_asked = 2;
 
            return [[Анна Рэдклифф отвечает: "Уолтер -- мой старший брат. Он заботится обо мне с тех пор, как мама с папой покинули нас. Хотя моя жизнь сильно изменилась, когда Уолтер забрал меня с собой на Атлантиду, я не жалею об этом". ]];
 
        end};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            char_anna.on_atlantis = 2;
 
            return [[Анна Рэдклифф отвечает: "Последние десять лет я живу здесь, на Атлантиде. Я хорошо помню, как расстроена я была, приехав сюда. Конечно, я не думала, что мы все проведем здесь лет десять. Мне казалось, что уже через полгода-год мы вернемся на поверхность, но намерения вашего отца сильно отличались от этого. Потом Екатерина и Сильвия познакомили меня с Телнеарром и Хетеарром -- двумя навьярами, которые первыми жили на станции. Потом Хетеарр вернулся домой, а вместо него на станцию прибыл Ривеерр. А затем покинул станцию и Телнеарр. Его заменила Леарр". ]];
 
        end};
 
        {tag="on_drake", "Расскажи об Уильяме Дрейке. ", function(s)
 
            char_anna.on_drake = 2;
 
            return [[Анна Рэдклифф отвечает: "Хотя Дрейк -- руководитель Атлантиды, он проводит больше времени здесь, в Окулусе, чем в своем кабинете в Доминусе. Сейчас он в экспедиции -- они с Блэком отправились на поиски отдаленных навьярских поселений". ]];
 
        end};
 
        {tag="on_join", "Почему ты решила присоединиться к нам?", function(s)
 
            char_anna.on_join = 2;
 
            if (char_anna.rel_on_join >= 0) then
 
                return [[Анна Рэдклифф отвечает: "". ]];
 
            elseif (char_walter.rel_on_join >= 0) then
 
                return [[Анна Рэдклифф отвечает: "". ]];
 
            else
 
                return [[Анна Рэдклифф отвечает: "". ]];
 
            end;
 
        end};
 
	};
 
};
 
\ No newline at end of file
0 comments (0 inline, 0 general)