Changeset - f17a3eac8053
[Not reviewed]
default
0 2 0
Silverwing - 7 years ago 2017-03-05 10:17:12

Progress on dlg rewrite; Darkstar dlg on navjiarr added
2 files changed with 106 insertions and 12 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
@@ -597,216 +597,224 @@ atl_oculus_main_corridor = room {
 
	};
 
};
 
 
atl_oculus_lab_a = room {
 
	nam = "Атлантида, Окулус, лаборатория A";
 
	dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_oculus_main_corridor");
 
	};
 
	obj = {
 
		"char_svetlova"
 
	};
 
};
 
 
atl_oculus_lab_b = room {
 
	nam = "Атлантида, Окулус, лаборатория B";
 
	dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_oculus_main_corridor");
 
	};
 
	obj = {
 
		"char_winterlight"
 
	};
 
};
 
 
atl_oculus_lab_c = room {
 
	nam = "Атлантида, Окулус, лаборатория C";
 
	dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_oculus_main_corridor");
 
	};
 
	obj = {
 
		"char_ryveerr",
 
		"char_anna_atlantis",
 
		"char_loong"
 
	};
 
};
 
 
atl_oculus_library = room {
 
	nam = "Атлантида, Окулус, библиотека";
 
	dsc = [[Рядом со входом в библиотеку расположен небольшой столик, на котором покоится каталог. Практически все пространство комнаты занято высокими стеллажами, заполненными книгами, журналами и документами. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_oculus_main_corridor");
 
	};
 
};
 
 
atl_dom_lift = room {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Атлантида, лифт";
 
	dsc = [[Герметичная кабина лифта, рассчитанная на 5-6 человек. ]];
 
	way = {
 
		kh_vroom("Выйти", function()
 
			if (atl_dom_lift.state == 0) then
 
				return "atl_dom_main_c";
 
			else
 
				return "atl_ignis_main_center";
 
			end;
 
		end);
 
	};
 
	obj = {
 
		"atl_lift_lever"
 
	};
 
};
 
 
atl_lift_lever = obj {
 
	nam = "Рычаг";
 
	dsc = [[На стене укреплен массивный {рычаг}, повернув который, вы приведете в движение механизм лифта. ]];
 
	act = function(s)
 
		if (atl_dom_lift.state == 1) then
 
			atl_dom_lift.state = 0;
 
			return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно опускающих кабину лифта. ]];
 
		else
 
			atl_dom_lift.state = 1;
 
			return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно поднимающих кабину лифта. ]];
 
		end;
 
	end;
 
};
 
 
--[[
 
Персонажи
 
]]
 
 
char_darkstar = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
	nam = "Винсент Даркстар";
 
	dsc = function(s)
 
        if (char_darkstar_dlg == 0) then
 
            return [[В одном из кресел сидит средних лет {мужчина} с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        else
 
            return [[В одном из кресел сидит {Винсент Даркстар}. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        end;
 
    end;   
 
	dlg = "char_darkstar_dlg";
 
};
 
 
char_moreau = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
	nam = "Фредерик Моро";
 
	dsc = function(s)
 
        if (char_moreau_dlg.state == 0) then
 
            return [[За столом в кресле сидит немолодой {мужчина}. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. В руках он вертит перо. ]];
 
        else
 
            return [[За столом в кресле сидит {Фредерик Моро} и внимательно наблюдает за вами сквозь стекла очков. В руках он вертит перо. ]];
 
        end;
 
    end;   
 
	dlg = "char_moreau_dlg";
 
};
 
 
char_svetlova = npc {
 
	nam = "Екатерина Светлова";
 
	dsc = function(s)
 
        if (char_svetlova_dlg.state == 0) then   
 
            return [[За столом сидит {женщина} лет сорока-пяти. Золотистые волосы собраны в пучок на затылке. Она одета в синее платье, почти без украшений. В правой руке она держит карандаш, которым периодически делает какие-то пометки в бумагах, лежащих на столе. Кажется, она не обращает на вас никакого внимания. ]];
 
        else
 
            return [[За столом сидит {Екатерина Светлова}. Периодически она делает какие-то пометки карандашом в ]];
 
        end;
 
    end;
 
	dlg = "char_svetlova_dlg";
 
};
 
 
char_anna_atlantis = npc {
 
	nam = "Анна Рэдклифф";
 
	disp = "Анна Рэдклифф";
 
	dsc = function(s)
 
		if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
            if (char_anna_atlantis_dlg.state == 0) then
 
                return [[{Девушка} лет двадцати-пяти внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            else
 
			    return [[{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            end;         
 
		else
 
            if (char_anna_atlantis_dlg.state == 0) then      
 
                return [[{Девушка} лет тридцати внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            else
 
			    return [[{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            end;         
 
		end;
 
	end;
 
	dlg = "char_anna_atlantis_dlg";
 
};
 
 
char_learr_atlantis = npc {
 
	var {
 
		offended = false;
 
	};
 
	nam = "Леарр";
 
	dsc = function(s)
 
        if (stead.deref(here()) == "atl_oculus_lab_c") then
 
            return [[{Леарр} стоит, опершись одной рукой на стол. Другой рукой она активно жестикулирует, рассказывая что-то. ]];
 
        else
 
            if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then
 
                return [[{Леарр} стоит перед иллюминатором и что-то рассказывает ]];
 
            else
 
                return [[{Леарр} стоит перед иллюминатором и смотрит вдаль. ]];
 
            end;
 
        end;
 
	end;
 
	dlg = "char_learr_atlantis_dlg";
 
};
 
 
char_aikerjarr = npc {
 
	nam = "Аикерьярр";
 
	dsc = function(s)
 
        if (char_aikerjarr_dlg.state == 0) then
 
            return [[У одного из столов неподвижно стоит {навьяр}. ]];
 
        else
 
		    return [[У одного из столов неподвижно стоит {Аикерьярр}. ]];
 
        end;      
 
	end;
 
	dlg = "char_aikerjarr_dlg";
 
};
 
 
char_ryveerr = npc {
 
	nam = "Ривеерр";
 
	dsc = function(s)
 
		if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
            if (char_ryveerr_dlg.state == 0) then
 
			    return [[У одного из столов стоит {навьяр} и что-то рассказывает. ]];
 
            else
 
                return [[У одного из столов стоит {Ривеерр} и что-то рассказывает. ]];
 
            end;         
 
		else
 
            if (char_ryveerr_dlg.state == 0) then
 
			    return [[Рядом стоит {навьяр} и иногда прерывает рассказ Леарр, добавляя что-то. ]];
 
            else
 
                return [[Рядом стоит {Ривеерр} и иногда прерывает рассказ Леарр, добавляя что-то. ]];
 
            end;
 
		end;
 
	end;
 
	dlg = "char_ryveerr_dlg";
 
};
 
atlantis_dlg.lua
Show inline comments
 
char_darkstar_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Винсент Даркстар";
 
	disp = "Винсент Даркстар";
 
	entered = function(s)
 
		if (atl_lfc_leroy_spoken) then
 
			pon("accuse_leroy");
 
		end;
 
		
 
		if (atl_lfc_goldman_spoken) then
 
			pon("accuse_goldman");
 
		end;
 
		
 
        if (atl_rep_darkstar < 0) then
 
            if (char_darkstar.drake_asked == 0) then pon("on_drake"); end;
 
            if (char_darkstar.black_asked == 0) then pon("on_black"); end;
 
            if (char_darkstar.darkstar_asked == 0) then pon("on_darkstar"); end;
 
            if (char_darkstar.svetlova_asked == 0) then pon("on_svetlova"); end;
 
            if (char_darkstar.moreau_asked == 0) then pon("on_moreau"); end;
 
            if (char_darkstar.wright_asked == 0) then pon("on_wright"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_darkstar.leroy_asked == 0) then pon("on_leroy"); end;
 
                if (char_darkstar.jones_asked == 0) then pon("on_jones"); end;
 
                if (char_darkstar.goldman_asked == 0) then pon("on_goldman"); end;
 
            end;
 
            
 
            if (char_darkstar.atlantis_asked == 0) then pon("on_atlantis"); end;
 
            
 
            if (char_darkstar.navjiarr_asked == 0) then pon("on_navjiarr"); end;
 
            if (char_darkstar.learr_asked == 0) then pon("on_learr"); end;
 
            if (char_darkstar.ryveerr_asked == 0) then pon("on_ryveerr"); end;
 
            if (atl_iof_learr_dead and char_darkstar.aikerjarr_asked == 0) then pon("on_aikerjarr"); end;
 
        else
 
            if (char_darkstar.drake_asked < 2) then pon("on_drake"); end;
 
            if (char_darkstar.black_asked < 2) then pon("on_black"); end;
 
            if (char_darkstar.darkstar_asked < 2) then pon("on_darkstar"); end;
 
            if (char_darkstar.svetlova_asked < 2) then pon("on_svetlova"); end;
 
            if (char_darkstar.moreau_asked < 2) then pon("on_moreau"); end;
 
            if (char_darkstar.wright_asked < 2) then pon("on_wright"); end;
 
            if (atl_iof_completed) then
 
                if (char_darkstar.leroy_asked < 2) then pon("on_leroy"); end;
 
                if (char_darkstar.jones_asked < 2) then pon("on_jones"); end;
 
                if (char_darkstar.goldman_asked < 2) then pon("on_goldman"); end;
 
            end;
 
            if (char_darkstar.atlantis_asked < 2) then pon("on_atlantis"); end;
 
        end;
 
        
 
        if (char_darkstar.drake_asked == 0) then
 
            pon("on_drake");
 
        elseif  (char_darkstar.drake_asked == 1 and atl_rep_darkstar >= 0) then
 
            pon("on_drake");
 
        elseif (char_darkstar.drake_asked < 3 and atl_rep_darkstar > 0) then
 
            pon("on_drake");
 
            
 
            if (char_darkstar.navjiarr_asked < 2) then pon("on_navjiarr"); end;
 
            if (char_darkstar.learr_asked < 2) then pon("on_learr"); end;
 
            if (char_darkstar.ryveerr_asked < 2) then pon("on_ryveerr"); end;
 
            if (atl_iof_learr_dead and char_darkstar.aikerjarr_asked < 2) then pon("on_aikerjarr"); end;
 
        end;
 
        
 
		if (s.state == 0) then
 
			psub("first_meeting");
 
            s.state = 1;         
 
			return [[За столом сидит средних лет мужчина с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он приветствует вас: "Добро пожаловать на Атлантиду, господин Дрейк. Я Винсент Даркстар, мы уже общались по радио. Я занимаю на Атлантиде пост начальника службы безопаности". ]];
 
		elseif (atl_fta_state == 2) then
 
			psub("fta");
 
			return [[Винсент Даркстар приказывает: "Рассказывайте". ]];
 
		else
 
			psub("generic");
 
			return [[Винсент Даркстар сообщает: "Я слушаю". ]];
 
		end;
 
	end;
 
    phr = {
 
		{tag="first_meeting"};
 
		{"Что мне нужно сделать, чтобы мне вернули Левиафан?", [[Винсент Даркстар хлопает ладонями о стол и уверенно сообщает: "Вести себя хорошо и не делать глупостей". ]]};
 
		{"Когда мне вернут Левиафан?", [[Винсент Даркстар отвечает: "Всему свое время. Используйте это время с пользой. Если хотите найти Уильяма, сначала стоит выяснить где и как его искать. И вам не помешает узнать кое-что помимо этого". ]]};
 
		{"Я пришел кое-что спросить. ", [[Винсент Даркстар сообщает :"Я слушаю". ]], code [[psub("generic");]]};
 
		{tag="generic"};
 
		{tag="on_drake", false, "Расскажите об Уильяме. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.drake_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.drake_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Что вы ожидаете услышать? Дрейк -- основатель Вестхейвен Трансоушен. Он -- мой непосредственный руководитель, однако у нас, на Атлантиде, принято решать важные вопросы совместно. Не так давно он отправился в научную экспедицию вместе с Адрианом Блэком и еще несколькими сотрудниками. Дрейк неосторожен и склонен к опрометчивым решениям. Это может сыграть с ним злую шутку".]];
 
            end;
 
        end};
 
        {tag="on_black", false, "Расскажите об Адриане Блэке. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.black_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.black_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Блэк -- главный помощник Дрейка по управлению компанией. Ни одно важное решение в Вестхейвен Трансоушен не принимается без его участия. Не так давно он отправился в научную экспедицию вместе с Уильямом Дрейком и еще несколькими сотрудниками. С одной стороны -- он хороший руководитель и Дрейку повезло иметь такого помощника, с другой -- Блэк, несомненно, принесет в жертву и станцию и всех нас, если это послужит его интересам. Будьте осторожны при общении с ним". ]];
 
            end;
 
        end};
 
        {tag="on_darkstar", false, "Расскажите о себе. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.darkstar_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.darkstar_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Мне нечего рассказывать, кроме того, что я уже сказал. Мое имя Винсент Даркстар и я занимаю пост начальника службы безопасности Атлантиды". ]];
 
            end;
 
        end};
 
        {tag="on_svetlova", false, "Расскажите о Екатерине Светловой", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.svetlova_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.svetlova_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Екатерина Светлова -- руководитель исследовательского отдела на Атлантиде. Секция Окулус находится в ее ведении. Атлантида для нее -- неисчерпаемый источник материала для исследований, поэтому она заинтересована в продолжении работы станции". ]];
 
            end;
 
        end};
 
        {tag="on_moreau", false, "Расскажите о Фредерике Моро", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.moreau_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.moreau_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Фредерик Моро руководит станцией в отсутствие Дрейка и Блэка. Должен сказать, справляется он неплохо. Ему можно доверять безоговорочно -- он с полной ответственностью подходит к управлению станцией. Хотя он склонен делегировать многие решения, он отдает их правильным людям". ]];
 
            end;
 
        end]};
 
        end};
 
        {tag="on_wright", false, "Расскажите о Майлке Райте", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.wright_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.wright_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Майкл Райт -- руководитель инженерного отдела на Атлантиде. В его задачи входит поддержание работоспособности станции и ее техническое развитие. Станция -- дело всей его жизни. Когда поднимался вопрос, он не колеблясь оставил семью на поверхности ради возможности развивать Атлантиду". ]];
 
            end;
 
        end};
 
        {tag="on_leroy", false, "Расскажите о Мишеле Леруа", function()
 
        {tag="on_leroy", false, "Что вы думаете о Мишеле Леруа?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.leroy_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.leroy_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Леруа много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он не выглядит настолько глупым, чтобы саботировать работу станции, однако он один из немногих подпадающих под подозрение. Вообще-то, интересоваться сотрудниками Атлантиды - моя работа, а не ваша". ]];
 
            end;
 
        end};
 
        {tag="on_jones", false, "Расскажите о Чарли Джонсе", function()
 
        {tag="on_jones", false, "Что вы думаете о Чарли Джонсе?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.jones_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.jones_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Джонс много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он недостаточно смел, чтобы попытаться саботировать работу станции, однако он один из немногих попадающих под подозрение. Вообще-то, интересоваться сотрудниками Атлантиды - моя работа, а не ваша". ]];
 
            end;
 
        end};
 
        {tag="on_goldman", false, "Расскажите о Леонарде Голдмане", function()
 
        {tag="on_goldman", false, "Что вы думаете о Леонарде Голдмане?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.goldman_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.goldman_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Голдман много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он эмоционально неуравновешен. Если бы он устроил аварию, он бы уже выдал себя. Однако, он один из немногих, кому хватает знаний, чтобы спланировать саботаж. Вообще-то, интересоваться сотрудниками Атлантиды - моя работа, а не ваша". ]];
 
            end;
 
        end};
 
        {tag="on_atlantis", false, "Расскажите об Атлантиде", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.atlantis_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.atlantis_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Атлантида построена на средства Вестхейвен Трансоушен -- компании вашего отца. Майкл Райт -- создатель станции, многое продумал, существенно облегчив мне работу. Конечно, периодически, мне приходится иметь дело с нарушениями правил -- я неоднократно просил не загромоздать коридоры; всегда закрывать за собой шлюзы, двери, щитки, панели; не перекрывать посторонними предметами доступ к важным узлам станции. Думаю, вы сами заметили, как исполняются эти указания". ]];
 
            end;
 
        end};
 
        {tag="on_navjiarr", false, "Что вы думаете о навьярах?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.navjiarr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.navjiarr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Они -- причина существования Атлантиды, так что в какой-то мере мы все обязаны им тем, что оказались здесь. Не все на станции довольны этим -- и это создает определенную угрозу. Но, надо признать, они не пытались навредить нам последнее время, однако, я все еще советую Моро и Светловой быть настороже при общении с ними. Они не так просты, как кажутся". ]];
 
            end;
 
        end};
 
        {tag="on_learr", false, "Что вы думаете о Леарр?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.learr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                if (atl_iof_learr_dead) then
 
                    char_darkstar.learr_asked = 3;
 
                    return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
                else
 
                    char_darkstar.learr_asked = 2;
 
                    return [[Винсент Даркстар отвечает: "Леарр -- представительница одного из навьярских племен на станции. Она любопытна, молода и умна. Она искренне заинтересована нами и нашими технологиями и это не может не радовать". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_ryveerr", false, "Что вы думаете о Ривеерре?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.ryveerr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.ryveerr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Ривеерр -- представитель одного из навьярских племен на станции. Я мало что могу о нем сказать, и ,в данном случае, это говорит в его пользу". ]];
 
            end;
 
        end};
 
        {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре?", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.aikerjarr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.aikerjarr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Он будет создавать проблемы. Это не предположение, это -- факт". ]];
 
            end;
 
        end};
 
		{tag="accuse_goldman", false, "Саботаж - дело рук Голдмана", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="goldman"; ]]};
 
		{tag="accuse_leroy", "Саботаж - дело рук Леруа", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="leroy"; ]]};
 
		{always=true, "Я пойду", [[Даркстар прощается: "До встречи". ]], code [[ back(); ]]};
 
		{tag="fta"};
 
		{"Что вы хотите услышать?", [[Даркстар поясняет: "Все, что произошло в Солисе и показалось вам подозрительным". ]]};
 
		{"Первый взрыв раздался, когда я был у входа в секцию[Кратко пересказать основные события]", [[Даркстар молча кивает. ]]};
 
		{"Один из клапанов работал неправильно - давление в нем было выше нормы", [[Даркстар с сомнением произносит: "Интересно. За десять лет работы станции такого никогда не было". ]]};
 
		{tag="clock", "[Показать часы]А еще я нашел там вот это", [[Даркстар забирает часы и вертит их в руках: "Так-так-так. Франсуа Голдман. Леонард однозначно в этом замешан, но действовал он не один. Я все еще думаю, что они попытаются вывести из строя одну из субмарин. Скорее всего их целью будет Наутилус". ]], code [[ atl_lfc_goldman_exposed = true; psub("why_nau"); ]]};
 
		{tag="why_nau"};
 
		{"Почему именно Наутилус?", [[Даркстар объясняет:"Саботажник хочет не убить всех, а поломать станцию. Он хочет наверх, а не умереть здесь. Наутилус - субмарина малого радиуса, а Энтерпрайз и Левиафан способны доставить нас на континенты". ]]};
 
		{"Соглашусь с вашим предположением", [[Даркстар кивает: "Хорошо. Я попрошу вас помочь мне с этим заданием". ]], code [[ psub("lfc_help"); ]]};
 
		{"Мне кажется, целью будет другая субмарина", [[Даркстар кивает: "Я это учел. Мы будем следить за всеми доками. Также, я попрошу вас помочь мне с этим заданием". ]], code [[ psub("lfc_help"); ]]};
 
		{tag="lfc_help"};
 
		{"Почему я?", [[Даркстар объясняет:"Я хочу свести количество людей, знающих о саботажах к минимуму, а вы уже в курсе ситуации". ]]};
 
		{"Что я должен сделать?", [[Даркстар рассказывает:"В семь часов вечера вы отправляетесь в док Наутилуса и наблюдаете за происходящим в течение ночи. Если вы замечаете что-то подозрительное - принимаете меры на ваше усмотрение", -- Даркстар достает из ящика стола револьвер и кладет перед вами: "Это вам не помешает".
 
		]], code [[
 
			take(item_colt);
 
			atl_lfc_state = 2;
 
			back();
 
		]]};
 
	};
 
};
 
 
char_moreau_dlg = dlg {
 
	var {
 
		state = 0;
 
		lfc_dialog = false;
 
	};
 
	nam = "Фредерик Моро";
 
	disp = "Фредерик Моро";
 
	entered = function(s)
 
		if (atl_lfc_state == 3) then
 
			atl_lfc_state = 4;
 
			atl_lev_state = 1;
 
			local reputation = 0;
 
			if (atl_rep_darkstar > 0) then
 
				reputation = reputation + 1;
 
			end;
 
			if (atl_rep_moreau > 0) then
 
				reputation = reputation + 1;
 
			end;
 
			if (atl_rep_svetlova > 0) then
 
				reputation = reputation + 1;
 
			end;
 
			if (atl_rep_wright > 0) then
 
				reputation = reputation + 1;
 
			end;
 
			
 
			if (reputation > 2 and atl_rep_moreau >= 0) then
 
				psub("lfc_debrief_good");
 
				return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы очень помогли нам в поимке саботажника. Огромное спасибо. Посовещавшись, мы решили вернуть вам Левиафан. Также, вы можете посещать Атлантиду в любое удобное для вас время -- мы всегда будем рады вас видеть". ]];
 
			elseif (reputation > 2) then
 
				psub("lfc_debrief_good");
 
				return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы очень помогли нам в поимке саботажника. Посовещавшись, мы решили вернуть вам Левиафан. Также, мы решили не запрещать вам доступ на Атлантиду, но не думайте, что я рад вас видеть". ]];
 
			elseif (atl_rep_moreau >= 0) then
 
				psub("lfc_debrief_bad");
 
				return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы очень помогли нам в поимке саботажника. Огромное спасибо. Посовещавшись, мы решили вернуть вам Левиафан. К сожалению, совет решил ограничить вам доступ к станции, поэтому я прошу вас покинуть Атлантиду как можно скорее". ]];
 
			else
 
				psub("lfc_debrief_bad");
 
				return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы очень помогли нам в поимке саботажника. Посовещавшись, мы решили вернуть вам Левиафан. Убирайтесь и больше не возвращайтесь сюда". ]];
 
			end;
 
		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 (atl_rep_moreau < 0) then
 
            if (char_moreau.drake_asked == 0) then pon("on_drake"); end;
 
            if (char_moreau.black_asked == 0) then pon("on_black"); end;
 
            if (char_moreau.darkstar_asked == 0) then pon("on_darkstar"); end;
 
            if (char_moreau.svetlova_asked == 0) then pon("on_svetlova"); end;
 
            if (char_moreau.moreau_asked == 0) then pon("on_moreau"); end;
 
            if (char_moreau.wright_asked == 0) then pon("on_wright"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_moreau.leroy_asked == 0) then pon("on_leroy"); end;
 
                if (char_moreau.jones_asked == 0) then pon("on_jones"); end;
 
                if (char_moreau.goldman_asked == 0) then pon("on_goldman"); end;
 
            end;
 
            
 
            if (char_moreau.atlantis_asked == 0) then pon("on_atlantis"); end;
 
            
 
            
 
            if (char_moreau.navjiarr_asked == 0) then pon("on_navjiarr"); end;
 
            if (char_moreau.learr_asked == 0) then pon("on_learr"); end;
 
            if (char_moreau.ryveerr_asked == 0) then pon("on_ryveerr"); end;
 
            if (char_moreau.aikerjarr_asked == 0) then pon("on_aikerjarr"); end;
 
        else
 
            if (char_moreau.drake_asked < 2) then pon("on_drake"); end;
 
            if (char_moreau.black_asked < 2) then pon("on_black"); end;
 
            if (char_moreau.darkstar_asked < 2) then pon("on_darkstar"); end;
 
            if (char_moreau.svetlova_asked < 2) then pon("on_svetlova"); end;
 
            if (char_moreau.moreau_asked < 2) then pon("on_moreau"); end;
 
            if (char_moreau.wright_asked < 2) then pon("on_wright"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_moreau.leroy_asked < 2) then pon("on_leroy"); end;
 
                if (char_moreau.jones_asked < 2) then pon("on_jones"); end;
 
                if (char_moreau.goldman_asked < 2) then pon("on_goldman"); end;
 
            end;
 
            
 
            if (char_moreau.atlantis_asked < 2) then pon("on_atlantis"); end;
 
            
 
            if (char_moreau.navjiarr_asked < 2) then pon("on_navjiarr"); end;
 
            if (char_moreau.learr_asked < 2) then pon("on_learr"); end;
 
            if (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); end;
 
            if (char_moreau.aikerjarr_asked < 2) then pon("on_aikerjarr"); end;
 
        end;
 
	
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[За столом перед вами сидит немолодой мужчина. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. Вертя в руках перо он приветствует вас: "Добро пожаловать на Атлантиду, месье Дрейк. Мое имя - Фредерик Моро и я исполняю обязанности начальника станции в отсутствие Уильяма и Адриана. Ваше прибытие крайне удивило нас - мы думали, с поверхности найти нашу станцию невозможно. Пока мы думаем, что делать с вами дальше, вы можете воспользоваться ресурсами станции, чтобы узнать побольше о вашем отце и, быть может, понять, куда в точности он направился. Для начала, стоит немного ввести вас в курс дела".^
 
				Моро подходит к книжной полке и берет какую-то книгу. Вернувшись за стол, он раскрывает ее и приступает к рассказу: "Когда мы строили Надежду, нашей целью было создать быстрый и безопасный способ путешествий через Атлантику. Однако, все с самого начала пошло не так, как планировалось. Мы встретили племя подводных существ, именующих себя навьярами - они похожи на рыб и людей одновременно - ходят на двух ногах, используют две руки, но покрыты чешуей и имеют жабры. Тогда мы приняли решение исследовать их тщательнее. Были построены Энтерпрайз, Наутилус и сама Атлантида. Потом мы переселились сюда. Дрейк был захвачен одной из легенд этих рыбней и не так давно, наконец, решился отправиться в экспедицию". ]];
 
		else
 
			psub("generic");
 
			return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Чем могу помочь?" ]];
 
		end;		
 
	end;
 
	phr = {
 
		{tag="first_meeting", empty = code[[ psub("generic"); ]]};
 
		{"Я не имею намерения раскрывать существование Атлантиды.", [[Фредерик Моро кивает: "Рад это слышать, но нам нужно больше чем ваши слова". ]]};
 
		{"Что за навьяры?", [[Фредерик Моро отвечает: _"Na'vji'a'rr -- с их языка это переводится, как ,,Живущие в глубинах''. Как я сказал, они чем-то похожи на людей, но по сути своей они -- рыбы. Подробнее о них вам стоит поговорить с нашими учеными в секции Окулус. Там же вы можете встретить Ривеерра и Леарр -- наших гостей из двух ближайших поселений навьяров"_. ]]};
 
		{"Как получилось, что Левиафан остался на поверхности?", [[Фредерик Моро задумчиво чешет подбородок. Через некоторое время он отвечает: _"Сложно сказать. Это было в ведении Майкла Райта. Скорее всего -- они с Дрейком сознательно спрятали его"_.
 
		]]};
 
        {"Куда конкретно направился Уильям?", [[Фредерик Моро вздыхает: "У нас нет точных данных. И похоже их не было и у Блэка с Дрейком. Мы знаем, что их цель - древний навьярский город". ]]};
 
		{tag="generic"};
 
		{tag="sabotage", false, "Вы знаете, что пожар начался из-за саботажа?", [[Фредерик Моро несколько раз стучит пальцем по столу. Недовольным тоном он делает вам замечание: "Месье Дрейк, -- он выдерживает небольшую паузу, -- Если вы хотите вернуть себе Левиафан, вам стоит следовать нашим правилам и, в частности, не нарушать прямых наших распоряжений". ]], code [[
 
			atl_rep_moreau = atl_rep_moreau - 1;
 
			atl_rep_darkstar = atl_rep_darkstar - 1;
 
		]]};
 
		{tag="ignis_what", false, "Почему начался пожар в Игнисе?", [[Фредерик Моро пожимает плечами и как-то неуверенно проговаривает: "Не знаю. Этим вопросом занимаются инженеры и служба безопасности. Будьте спокойны, наши специалисты не допустят повторения аварии". ]]};
 
		{"Я пойду", [[Моро прощается с вами: "До встречи, месье Дрейк". ]], code [[ back(); ]]};
 
		{tag="lfc_debrief_good"};
 
		{"Спасибо, это все", [[Моро спрашивает: "Вы что-то хотели?". ]], code [[ psub("generic");]]};
 
		{tag="lfc_debrief_bad"};
 
		{"Я пойду", [[Моро кивает. ]], code [[ walk("game_over_banished"); ]]};
 
	};
 
};
 
 
char_svetlova_dlg = dlg {
 
	var {
 
		state = 0;
 
		lfc_sabotage = false;
 
		lfc_dialog = false;
 
		flag_help = false;
 
		flag_explain = false;
 
	};
 
	nam = "Екатерина Светлова";
 
	disp = "Екатерина Светлова";
 
	entered = function(s)
 
		if (s.state == 0) then
 
			psub('first_meeting');
 
            s.state = 1;         
 
			return [[
 
				Светлова отрывает взгляд от бумаг, лежащих перед ней и смотрит на вас: _"Добрый день. Должна признать, вы всех нас знатно напугали, господин Дрейк. Винсент сказал, что вы зайдете. Что ж, я думаю вы будете очень полезны станции. Правда Винсент и Моро решили вас пока к субмаринам не пускать, что несколько помешает моим планам на вас. Впрочем я попробую их уговорить - это будет полезно и нам и вам, как и мое предложение в целом -- я знаю, что вы ищете своего отца -- Даркстар мне и это сказал, -- а он последнее время занимался одной легендой -- он хотел найти первый город навьяров, или как-то так. К сожалению, когда он отправился в эту экспедицию, он почти не оставил нам материалов - все навьярские карты, переводы - они только у него и поэтому мы не можем проследовать за ним. ^
 
				Адриан его очень торопил, поэтому Уильям не успел толком даже план экспедиции для нас обрисовать"_. 
 
			]];
 
		elseif (s.state == 2) then
 
			psub('ryveerr_on_steal');
 
			return [[
 
				Светлова отрывает взгляд от бумаг, лежащих перед ней и смотрит на вас: "Ну как? Поговорили с Ривеерром?"
 
			]];
 
		else
 
			if (atl_iyh_state == 9) then
 
				atl_iyh_state = 10;
 
				psub('iyh_more');
 
				take("item_map_2");
 
				take("item_talk_device");
 
				take("item_navjiarr_chart_1");
 
				take("item_navjiarr_chart_2");
 
				take("item_navjiarr_chart_3");
 
				if (atl_iyh_artifacts_on_atlantis) then
 
					return [[
 
						Светлова отрывает взгляд от бумаг, лежащих перед ней и смотрит на вас: "Добрый день, Дрейк. Мы изучили артефакты, найденные вами в храме. Среди всего прочего, мы нашли несколько фрагментов карты, которые я возвращаю вам - они понадобятся вам в ваших поисках. К сожалению, это именно что фрагменты и мы не можем по ним определить местоположение чего бы то ни было. Однако, недостающие фрагменты могут быть в расположенных неподалеку навьярских города - Дипатреанотре и Ираафаанотре". Она достает из-под стола небольшой чемоданчик с лампочками и кнопочками и вручает его вам: "Этот прибор позволит вам общаться с навьярами под водой. Просто набирайте слова как на клавиатуре печатной машинки, при этом будут последовательно зажигаться лампочки соответствующих цветов". Затем она достает карту, на которой отмечены Атлантида, Ираафаанотр и Дипатреанотр и так же отдает ее вам: "Вы можете взять эту карту".
 
					]];
 
				else
 
					return [[
 
						Светлова отрывает взгляд от бумаг, лежащих перед ней и смотрит на вас: "Добрый день, Дрейк. К сожалению, мы не смогли получить доступ к артефактам, добытым вами в храме. Поэтому, единственное, что вы можете сделать чтобы найти отца - это посетить навьярские города, расположенные неподалеку - Дипатреанотр и Ираафаанотр". Она достает из-под стола небольшой чемоданчик с лампочками и кнопочками и вручает его вам: "Этот прибор позволит вам общаться с навьярами под водой. Просто набирайте слова как на клавиатуре печатной машинки, при этом будут последовательно зажигаться лампочки соответствующих цветов". Затем она достает карту, на которой отмечены Атлантида, Ираафаанотр и Дипатреанотр и так же отдает ее вам: "Вы можете взять эту карту".
 
					]];
 
				end;
 
			else
 
				print("svetlova, generic");
 
				psub('generic');
 
				
 
				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 (atl_iyh_state == 2) then
 
					pon("hard_to_understand");
 
				end;
 
				if (atl_iyh_state == 3) then
 
					pon("explanation");
 
				end;
 
				if (atl_iyh_state < 4 and atl_iyh_ryveerr_spoken) then
 
					pon("ryveerr_spoken");
 
				end;
 
				return [[
0 comments (0 inline, 0 general)