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
 
@@ -1672,145 +1672,168 @@ char_winterlight_dlg = dlg {
 
		{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"); ]]};
party.lua
Show inline comments
 
@@ -230,176 +230,202 @@ phaetlarr_home_dlg = dlg {
 
			Фаэтларр ждет ваших указаний
 
		]];
 
	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;
0 comments (0 inline, 0 general)