Changeset - b32fd3efa26a
[Not reviewed]
default
0 3 0
Silverwing - 7 years ago 2017-04-23 08:32:01

313
3 files changed with 32 insertions and 2 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
@@ -374,758 +374,764 @@ atl_dom_administator_room = room {
 
		kh_vroom("В центральный зал", "atl_dom_main_near_adm");
 
	};
 
	obj = {
 
		'char_moreau'
 
	};
 
};
 
 
atl_intersection_luna_dom = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
	way = {
 
		kh_vroom("В секцию \"Луна\"", "atl_luna_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_luna");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"      
 
	};
 
};
 
 
atl_intersection_arctos_dom = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
	way = {
 
		kh_vroom("В секцию \"Арктос\"", "atl_arctos_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_arctos");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"  
 
	};
 
};
 
 
atl_luna_main_corridor = room {
 
    var {
 
        state = 0;
 
    };
 
	nam = "Атлантида, Луна, главный коридор";
 
	dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
    entered = function(s)
 
        if (s.state == 0) then
 
            s.state = 1;
 
            if (where(char_jack_wright_atlantis) == atl_luna_jack_room) then
 
                path("В комнату Джека"):enable();
 
            end;
 
        end;
 
    end;
 
	way = {
 
		kh_vroom("В вашу комнату", "atl_luna_drake_room");
 
        kh_vroom("В комнату Джека", "atl_luna_jack_room"):disable();
 
		kh_vroom("В общую комнату", "atl_luna_common_room");
 
		kh_vroom("В секцию \"Доминус\"", "atl_intersection_luna_dom");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
		"atl_nih_tubes_luna"
 
	};
 
};
 
 
atl_luna_jack_room = room {
 
    nam = "Атлантида, Луна, комната Джека";
 
    dsc = [[небольшая уютная комната, расчитанная на двух человек. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators"
 
    };
 
};
 
 
atl_luna_drake_room = room {
 
	nam = "Атлантида, Луна, ваша комната";
 
	dsc = [[Небольшая, но уютная комната, выделенная вам на Атлантиде. Хотя она расчитана на двух человек, пока нет необходимости расселять людей по двое. ]];
 
	way = {
 
		kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators"
 
	};
 
};
 
 
atl_arctos_main_corridor = room {
 
	nam = "Атлантида, Арктос, главный коридор";
 
	dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
	way = {
 
		kh_vroom("В комнату Голдмана", "atl_arctos_goldmans_room");
 
		kh_vroom("В комнату Джонса", "atl_arctos_jones_room");
 
	 	kh_vroom("В общую комнату", "atl_arctos_common_room");
 
		kh_vroom("В секцию \"Доминус\"", "atl_intersection_arctos_dom");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
		"atl_nih_tubes_arctos"
 
	};
 
};
 
 
atl_arctos_goldmans_room = room {
 
	nam = "Атлантида, Арктос, комната";
 
	dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
	obj = {
 
		"char_goldman"
 
	};
 
};
 
 
atl_arctos_jones_room = room {
 
	nam = "Атлантида, Арктос, комната";
 
	dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
	obj = {
 
		"char_jones"
 
	};
 
};
 
 
atl_luna_common_room = room {
 
	nam = "Атлантида, Луна, общая комната";
 
	dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]];
 
	way = {
 
		kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators"
 
	};
 
};
 
 
atl_arctos_common_room = room {
 
	nam = "Атлантида, Луна, общая комната";
 
	dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]];
 
	way = {
 
		kh_vroom("В главный коридор", "atl_arctos_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators"
 
	};
 
};
 
 
atl_intersection_terra_dom = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
	way = {
 
		kh_vroom("В секцию \"Терра\"", "atl_terra_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_terra");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit" 
 
	};
 
};
 
 
atl_terra_main_corridor = room {
 
	nam = "Атлантида, Терра, главный коридор";
 
	dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в мастерские. Вдоль стен стоят множество ящиков. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]];
 
	way = {
 
		kh_vroom("В мастерскую A", "atl_terra_workshop_a");
 
		kh_vroom("В мастерскую B", "atl_terra_workshop_b");
 
		kh_vroom("В мастерскую C", "atl_terra_workshop_c");
 
		kh_vroom("В мастерскую D", "atl_terra_workshop_d");
 
		kh_vroom("В секцию Солис", function()
 
			if (atl_fta_state == 1) then
 
				return "atl_fta_is_terra_solis";
 
			else
 
				pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
				return false;
 
			end;
 
		end);
 
		kh_vroom("В секцию Доминус", "atl_intersection_terra_dom");
 
	};
 
	obj = {
 
		"atl_nih_boxes_terra"
 
	};
 
};
 
 
atl_terra_workshop_a = room {
 
	nam = "Атлантида, мастерская А";
 
	dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_terra_main_corridor");
 
	};
 
	obj = {
 
		"char_michael_wright"
 
	};
 
};
 
 
atl_terra_workshop_b = room {
 
	nam = "Атлантида, мастерская B";
 
	dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_terra_main_corridor");
 
	};
 
	obj = {
 
		"char_radcliffe_atlantis"
 
	};
 
};
 
 
atl_terra_workshop_c = room {
 
	nam = "Атлантида, мастерская C";
 
	dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_terra_main_corridor");
 
	};
 
	obj = {
 
		"char_leroy"
 
	};
 
};
 
 
atl_terra_workshop_d = room {
 
	nam = "Атлантида, мастерская D";
 
	dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_terra_main_corridor");
 
	};
 
};
 
 
atl_intersection_oculus_dom = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
	way = {
 
		kh_vroom("В секцию \"Окулус\"", "atl_oculus_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_oculus");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"  
 
	};
 
};
 
 
atl_oculus_main_corridor = room {
 
	var {
 
		first_visit = true;
 
	};
 
	nam = "Атлантида, Окулус, главный коридор";
 
    dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в лаборатории. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]];
 
	enter = function(s)
 
		if (s.first_visit) then
 
			s.first_visit = false;
 
			walkin("atlantis_learr_intro");
 
		end;
 
	end;
 
	way = {
 
		kh_vroom("В лабораторию A", "atl_oculus_lab_a");
 
		kh_vroom("В лабораторию B", "atl_oculus_lab_b");
 
		kh_vroom("В лабораторию C", "atl_oculus_lab_c");
 
		kh_vroom("В библиотеку", "atl_oculus_library");
 
		kh_vroom("В секцию Аэрис", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В секцию Доминус", "atl_intersection_oculus_dom");
 
	};
 
	obj = {
 
		"atl_nih_panel_oculus"
 
	};
 
};
 
 
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_evans"
 
	};
 
};
 
 
atl_oculus_library = room {
 
	nam = "Атлантида, Окулус, библиотека";
 
	dsc = [[Рядом со входом в библиотеку расположен небольшой столик, на котором покоится каталог. Практически все пространство комнаты занято высокими стеллажами, заполненными книгами, журналами и документами. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_oculus_main_corridor");
 
	};
 
    obj = {
 
        "char_legrand"
 
    };
 
};
 
 
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;
 
        iof_reaction = 0;
 
    };
 
	nam = "Фредерик Моро";
 
	dsc = function(s)
 
        if (char_moreau_dlg.state == 0) then
 
            return [[За столом в кресле сидит немолодой {мужчина}. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. В руках он вертит перо. ]];
 
        else
 
            return [[За столом в кресле сидит {Фредерик Моро} и внимательно наблюдает за вами сквозь стекла очков. В руках он вертит перо. ]];
 
        end;
 
    end;   
 
	dlg = "char_moreau_dlg";
 
};
 
 
char_svetlova = 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;
 
        iof_reaction = 0;
 
    };
 
	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_library") 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 {
 
    var {
 
        iof_reaction = 0;
 
    };
 
	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";
 
};
 
 
char_evans = npc {
 
	nam = "Кристиан Эванс";
 
	dsc = function(s)
 
		if (char_evans_dlg.state == 0) then
 
            return [[Там же стоит пожилой {мужчина} с блокнотом и делает какие-то записи. ]];
 
        else
 
            return [[Там же стоит {Кристиан Эванс} с блокнотом и делает какие-то записи. ]];
 
        end;
 
	end;
 
	dlg = "char_evans_dlg";
 
};
 
 
char_winterlight = npc {
 
	nam = "Сильвия Уинтерлайт";
 
	dsc = function(s)
 
        if (char_winterlight_dlg.state == 0) then
 
            return [[{Женщина} лет тридцати-пяти--сорока стоит, склонишись над картой. Длинные темные волосы спадают на плечи. Она одета в длинную черную юбку и серую блузку. Ее зеленые глаза внимательно изучают документ, лежащий перед ней. ]];
 
        else
 
            return [[{Сильвия Уинтерлайт} стоит возле одного из столов, рассматривая карту. ]];
 
        end;
 
    end;   
 
	dlg = "char_winterlight_dlg";
 
};
 
 
char_jack_wright_atlantis = npc {
 
	nam = "Джек Райт";
 
    nam = "Джек Райт";
 
	dsc = function(s)
 
        if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then
 
			return [[{Джеку Райт}, стоящему рядом. ]];
 
		else 
 
			return [[{Джек Райт} лежит на койке, листая какую-то книгу. Рядом лежит блокнот, в котором он время от времени он делает пометки карандашом. ]];
 
		end;
 
	end;
 
	dlg = "char_jack_wright_atlantis_dlg";
 
};
 
 
char_michael_wright = npc {
 
	nam = "Майкл Райт";
 
    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;
 
        jack_asked = 0;
 
        iof_reaction = 0;
 
    };   
 
	dsc = function(s)
 
        return [[{Майкл Райт} просматривает какие-то чертежи. ]];
 
    end;
 
	dlg = "char_michael_wright_dlg";
 
};
 
 
char_legrand = npc {
 
	nam = "Мари Легран";
 
	dsc = function(s)
 
        if (char_legrand_dlg.state == 0) then
 
            return [[На стуле в углу сидит {женщина} лет сорока--сорока-пяти и листает какую-то книгу.]];
 
        else
 
            return [[На стуле в углу сидит {Мари Легран} и листает какую-то книгу. ]];
 
        end;   
 
    end;   
 
	dlg = "char_legrand_dlg";
 
};
 
 
char_radcliffe_atlantis = npc {
 
	nam = "Уолтер Рэдклифф";
 
	dsc = function(s)
 
        if (char_radcliffe_atlantis_dlg.state == 0) then
 
            return [[{Человек} лет сорока--сорока-пяти стоит, навалившись на стену. ]];
 
        else
 
            return [[{Уолтер Рэдклифф} стоит, навалившись на стену. ]];
 
        end;
 
    end;
 
	dlg = "char_radcliffe_atlantis_dlg";
 
};
 
 
char_page = npc {
 
	nam = "Фрэнсис Пейдж";
 
	dsc = function(s)
 
        if (char_page_dlg.state == 0) then
 
            return [[Пожилой {мужчина} в рабочей одежде осматривает Наутилус. ]];
 
        else
 
            return [[{Фрэнсис Пейдж} осматривает Наутилус. ]];
 
        end;   
 
    end;   
 
	dlg = "char_page_dlg";
 
};
 
 
char_leroy = npc {
 
	nam = "Мишель Леруа";
 
	dsc = function(s)
 
        if (char_leroy_dlg.state == 0) then
 
            return [[{Мужчина} лет пятидесяти работает над каким-то чертежом. ]];
 
        else
 
            return [[{Мишель Леруа} работает над каким-то чертежом. ]];
 
        end;
 
    end;   
 
    dlg = "char_leroy_dlg";   
 
};
 
 
char_goldman = npc {
 
	nam = "Леонард Голдман";
 
	dsc = function(s)
 
        if (char_goldman_dlg.state == 0) then
 
            return [[На койке, закинув руки за голову, лежит светловолосый {мужчина} лет пятидесяти. ]];
 
        else
 
            return [[На койке, закинув руки за голову, лежит {Леонард Голдман}. ]];
 
        end;   
 
    end;   
 
	dlg = "char_goldman_dlg";
 
};
 
 
char_jones = npc {
 
	nam = "Чарли Джонс";
 
	dsc = function(s)
 
        if (char_jones_dlg.state == 0) then
 
            return [[Пожилой {человек}, одетый в простой серый костюм, сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        else
 
            return [[{Чарли Джонс} сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        end;
 
    end;
 
	dlg = "char_jones_dlg";
 
};
 
 
atl_nih_tubes_gen = function(nam, dsc)
 
	return obj {
 
		var {
 
			broken = false;
 
			fixed = false;
 
		};
 
		nam = nam;
 
		dsc = dsc;
 
		act = function(s)
 
			if (s.fixed) then
 
				return "Поврежденные трубы замотаны изолентой";
 
			elseif (s.broken) then
 
				return "Трубы повреждены и воздух со слабым шипением вырывается из них";
 
			else
 
				return "Трубы в порядке";
 
			end;
 
		end;
 
		use = function(s, o)
 
			if (o == item_ducttape and s.broken and not s.fixed) then
 
				s.fixed = true;
 
				atl_nih_state = 2;
 
				return [[
 
					Вы заматываете разрыв изолентой. На какое-то время такое решение сгодится. 
 
				]];
 
			end;
 
		end;
 
	};
 
end;
 
 
atl_nih_tubes_near_aqua = atl_nih_tubes_gen("atl_nih_tubes_near_aqua", [[Рядом со шлюзом из стены выходят несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_a = atl_nih_tubes_gen("atl_nih_tubes_near_a", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_admin = atl_nih_tubes_gen("atl_nih_tubes_near_admin", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_luna = atl_nih_tubes_gen("atl_nih_tubes_near_luna", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_oculus = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_terra = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_arctos = atl_nih_tubes_gen("atl_nih_tubes_near_arctos", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_oculus = atl_nih_tubes_gen("atl_nih_tubes_oculus", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_terra = atl_nih_tubes_gen("atl_nih_tubes_terra", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_luna = atl_nih_tubes_gen("atl_nih_tubes_luna", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_arctos = atl_nih_tubes_gen("atl_nih_tubes_arctos", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_aqua = atl_nih_tubes_gen("atl_nih_tubes_aqua", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_aqua_a = atl_nih_tubes_gen("atl_nih_tubes_aqua_a", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_aqua_b = atl_nih_tubes_gen("atl_nih_tubes_aqua_b", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_panel_near_a = obscured_obj("atl_nih_panel_near_a", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_a", true);
 
 
atl_nih_panel_near_admin = obscured_obj("atl_nih_panel_near_admin", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_admin", true);
 
 
atl_nih_panel_near_luna = obscured_obj("atl_nih_panel_near_luna", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_luna", true);
 
 
atl_nih_panel_oculus = obscured_obj("atl_nih_panel_oculus", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_oculus", true);
 
 
atl_nih_boxes_near_oculus = obscured_obj("atl_nih_boxes_near_oculus", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_oculus", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_boxes_near_terra = obscured_obj("atl_nih_boxes_near_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_boxes_terra = obscured_obj("atl_nih_boxes_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. 
 
]], "atl_nih_tubes_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_tubes_near_aqua:disable();
 
atl_nih_panel_near_a:disable();
 
atl_nih_panel_near_admin:disable();
 
atl_nih_panel_near_luna:disable();
 
atl_nih_boxes_near_oculus:disable();
 
atl_nih_boxes_near_terra:disable();
 
atl_nih_tubes_near_arctos:disable();
 
atl_nih_panel_oculus:disable();
 
atl_nih_boxes_terra:disable();
 
atl_nih_tubes_luna:disable();
 
atl_nih_tubes_arctos:disable();
 
atl_nih_tubes_aqua:disable();
 
atl_nih_tubes_aqua_a:disable();
 
atl_nih_tubes_aqua_b:disable();
 
 
atl_nih_init = function()
 
	atl_nih_state = 1;
 
	local nih_array = {
 
		atl_nih_tubes_near_aqua,
 
		atl_nih_tubes_near_a,
 
		atl_nih_tubes_near_admin,
 
		atl_nih_tubes_near_luna,
 
		atl_nih_tubes_near_oculus,
 
		atl_nih_tubes_near_terra,
 
		atl_nih_tubes_near_arctos,
 
		atl_nih_tubes_oculus,
 
		atl_nih_tubes_terra,
 
		atl_nih_tubes_luna,
 
		atl_nih_tubes_arctos,
 
		atl_nih_tubes_aqua,
 
		atl_nih_tubes_aqua_a,
 
		atl_nih_tubes_aqua_b
 
	};
 
	
 
	local nih_array2 = {
 
		atl_nih_tubes_near_aqua,
 
		atl_nih_panel_near_a,
 
		atl_nih_panel_near_admin,
 
		atl_nih_panel_near_luna,
 
		atl_nih_boxes_near_oculus,
 
		atl_nih_boxes_near_terra,
 
		atl_nih_tubes_near_arctos,
 
		atl_nih_panel_oculus,
 
		atl_nih_boxes_terra,
 
		atl_nih_tubes_luna,
 
		atl_nih_tubes_arctos,
 
		atl_nih_tubes_aqua,
 
		atl_nih_tubes_aqua_a,
 
		atl_nih_tubes_aqua_b
 
	};
 
	
 
	nih_array[rnd(#nih_array)].broken = true;
 
	
 
	for i = 1, #nih_array2 do
 
		nih_array2[i]:enable();
 
	end;
 
end;
 
\ No newline at end of file
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;
 
 
		poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr");
 
      
 
        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;
 
            
 
            if (char_darkstar.navjiarr_asked < 2) then pon("on_navjiarr"); end;
 
            if (char_darkstar.learr_asked < 2) then pon("on_learr"); end;
 
            if (atl_iof_learr_dead and char_darkstar.learr_asked < 3) 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};
 
        {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()
 
            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()
 
            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()
 
            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;
 
        
 
        poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr");
 
        
 
        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 (atl_iof_learr_dead and 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 (atl_iof_learr_dead and char_moreau.learr_asked < 3) then pon("on_learr"); end;
 
            if (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); end;
 
            if (atl_iof_learr_dead and char_moreau.aikerjarr_asked < 2) then pon("on_aikerjarr"); end;
 
        end;
 
	
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[За столом перед вами сидит немолодой мужчина. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. Вертя в руках перо он приветствует вас: "Добро пожаловать на Атлантиду, месье Дрейк. Мое имя - Фредерик Моро и я исполняю обязанности начальника станции в отсутствие Уильяма и Адриана. Ваше прибытие крайне удивило нас - мы думали, с поверхности найти нашу станцию невозможно. Пока мы думаем, что делать с вами дальше, вы можете воспользоваться ресурсами станции, чтобы узнать побольше о вашем отце и, быть может, понять, куда в точности он направился. Для начала, стоит немного ввести вас в курс дела".^
 
				Моро подходит к книжной полке и берет какую-то книгу. Вернувшись за стол, он раскрывает ее и приступает к рассказу: "Когда мы строили Надежду, нашей целью было создать быстрый и безопасный способ путешествий через Атлантику. Однако, все с самого начала пошло не так, как планировалось. Мы встретили племя подводных существ, именующих себя навьярами - они похожи на рыб и людей одновременно - ходят на двух ногах, используют две руки, но покрыты чешуей и имеют жабры. Тогда мы приняли решение исследовать их тщательнее. Были построены Энтерпрайз, Наутилус и сама Атлантида. Потом мы переселились сюда. Дрейк был захвачен одной из легенд этих рыбней и не так давно, наконец, решился отправиться в экспедицию". ]];
 
		else
 
		elseif (char_moreau.iof_reaction == 0 and atl_iof_completed) then
 
            char_moreau.iof_reaction = 1;      
 
            if (atl_iof_learr_dead) then
 
                psub("iof_learr_dead");
 
                return [[Фредерик Моро как обычно сидит за столом. Как только вы подходите, он сообщает вам: "Месье Дрейк, рад видеть, что с вами все в порядке. К сожалению, нам не удалось спасти Леарр. Это большая потеря для всех нас. Думаю, вам стоит знать, что на станцию прибыл Аикерьярр, чтобы продолжить ее работу". ]];
 
            elseif (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_dead"};
 
        {"Я ничего не мог сделать. ", [[Фредерик Моро кивает: "Я понимаю". Немного помолчав он говорит: "Давайте к делу". ]], code [[psub("generic");]]};
 
        {"Давайте к делу. ", [[Фредерик Моро неодобрительно кивает: "Слушаю". ]], code [[
 
            atl_rep_moreau = atl_rep_moreau - 1;
 
            psub("generic");
 
        ]]};
 
        {tag="iof_learr_suit"};
 
        {"Рад, что никто не пострадал. ", [[Фредерик Моро кивает: "Ваши действия достойны уважения. Еще раз благодарю вас. Но, перейдем к делу". ]], code [[psub("generic");]]};
 
        {tag="iof_learr"};
 
        {"Рад, что никто не пострадал. ", [[Фредерик моро кивает: "Перейдем к делу". ]], code [[psub("generic");]]};
 
		{tag="first_meeting", empty = code[[ psub("generic"); ]]};
 
		{"Я не имею намерения раскрывать существование Атлантиды.", [[Фредерик Моро кивает: "Рад это слышать, но нам нужно больше чем ваши слова". ]]};
 
		{"Что за навьяры?", [[Фредерик Моро отвечает: _"Na'vji'a'rr -- с их языка это переводится, как ,,Живущие в глубинах''. Как я сказал, они чем-то похожи на людей, но по сути своей они -- рыбы. Подробнее о них вам стоит поговорить с нашими учеными в секции Окулус. Там же вы можете встретить Ривеерра и Леарр -- наших гостей из двух ближайших поселений навьяров"_. ]]};
 
		{"Как получилось, что Левиафан остался на поверхности?", [[Фредерик Моро задумчиво чешет подбородок. Через некоторое время он отвечает: _"Сложно сказать. Это было в ведении Майкла Райта. Скорее всего -- они с Дрейком сознательно спрятали его"_.
 
		]]};
 
        {"Куда конкретно направился Уильям?", [[Фредерик Моро вздыхает: "У нас нет точных данных. И похоже их не было и у Блэка с Дрейком. Мы знаем, что их цель - древний навьярский город". ]]};
 
		{tag="generic"};
 
        {tag="on_drake", false, "Расскажите об Уильяме. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.drake_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.drake_asked = 2;
 
                return [[Фредерик Моро отвечает: "Уильям Дрейк безусловно гениальный предприниматель и грамотный руководитель, однако он не достиг бы таких успехов, если бы работал один. Адриан Блэк всегда помогал ему управлять компанией. Майкл Райт придумал и построил многие суда компании. Уильям всегда понимал важность сотрудников Вестхейвен Трансоушен и оказывал и продолжает оказывать должное уважение всем нам". ]];
 
            end;
 
        end};
 
        {tag="on_black", false, "Расскажите об Адриане Блэке. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.black_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.black_asked = 2;
 
                return [[Фредерик Моро отвечает: "Адриан Блэк -- один из основателей Вестхейвен Трансоушен. Он совсем не похож на Уильяма -- осторожный и рассчетливый, он часто вступал в спор с Дрейком по поводу особенно рискованных предприятий. Ему мы тоже многим обязаны, но, если говорить честно, Уильям был гораздо популярнее среди сотрудников". ]];
 
            end;
 
        end};
 
        {tag="on_darkstar", false, "Расскажите о Винсенте Даркстаре. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.darkstar_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.darkstar_asked = 2;
 
                return [[Фредерик Моро отвечает: "О нем мало что известно, да он и неразговорчив. Впрочем он справляется со своими обязанностями и Дрейк доверяет ему". ]];
 
            end;
 
        end};
 
        {tag="on_svetlova", false, "Расскажите о Екатерине Светловой. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.svetlova_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.svetlova_asked = 2;
 
                return [[Фредерик Моро отвечает: "Екатерина здесь только из-за навьяров. Ваш отец пригласил ее в Вестхейвен Трансоушен сразу после первой экспедиции Надежды. Сейчас она руководит исследованиями на Атлантиде. Она может показаться вам циничной, но, поверьте, это не вполне так". ]];
 
            end;
 
        end};
 
        {tag="on_moreau", false, "Расскажите о себе. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.moreau_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.moreau_asked = 2;
 
                return [[Фредерик Моро отвечает: "Я мало что могу рассказать. Мы с вашим отцом, Адрианом и Майклом вместе учились. Когда мы основали Вестхейвен Трансоушен, я остался в тени моих более талантливых друзей. Впрочем, меня, если честно, вполне устраивало такое положение. Сейчас, когда Уильям и Адриан отправились в свою экспедицию, мне пришлось занять пост руководителя станции, но я с радостью вернусь на свою прежнюю должность, как только они вернутся". ]];
 
            end;
 
        end};
 
        {tag="on_wright", false, "Расскажите о Майкле Райте. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.wright_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.wright_asked = 2;
 
                return [[Фредерик Моро отвечает: "Майкл Райт в компании с самого основания. Он гениальный инженер и изобретатель. Атлантиду тоже спроектировал он и для него она стала смыслом существования. Майкл даже оставил жену и сына на поверхности в пользу возможности развивать станцию". ]];
 
            end;
 
        end};
 
        {tag="on_leroy", false, "Что вы думаете о Мишеле Леруа?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.leroy_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.leroy_asked = 2;
 
                return [[Фредерик Моро отвечает: "Мишель Леруа -- один из наших инженеров. Последнее время он очень активно выступает в пользу завершения работы станции и возвращения на поверхность. К счастью, его пока поддерживает не слишком много людей. Майкл Райт расскажет вам больше про него". ]];
 
            end;
 
        end};
 
        {tag="on_jones", false, "Что вы думаете о Чарли Джонсе?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.jones_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.jones_asked = 2;
 
                return [[Фредерик Моро отвечает: "Чарли Джонс -- один из наших инженеров. Кажется, он поддался влиянию Леруа и поддерживает его в плане возвращения на поверхность. Майкл Райт расскажет вам больше про него". ]];
 
            end;
 
        end};
 
        {tag="on_goldman", false, "Что вы думаете о Леонарде Голдмане?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.goldman_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.goldman_asked = 2;
 
                return [[Фредерик Моро отвечает: "Леонард Голдман -- один из наших инженеров. Он один из сторонников возвращения на поверхность -- он первым на станции начал поднимать этот вопрос . Майкл Райт расскажет вам больше про него". ]];
 
            end;
 
        end};
 
        {tag="on_atlantis", false, "Расскажите об Атлантиде. ", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.atlantis_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.atlantis_asked = 2;
 
                return [[Фредерик Моро отвечает: "Мы построили Атлантиду чтобы изучать навьяров. Для этого же мы собрали команду ученых, которую возглавила Екатерина Светлова. Станция постепенно росла, благодаря усилиям инженерной команды под руководством Майкла Райта. Мы пригласили сюда навьяров из ближайших поселений -- Леарр из Ираафаанотра и Ривеерра из Дипатреанотра. Можете поговорить с ними, если хотите -- они сейчас на станции". ]];
 
            end;
 
        end};
 
        {tag="on_navjiarr", false, "Что вы думаете о навьярах?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.navjiarr_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.navjiarr_asked = 2;
 
                return [[Фредерик Моро отвечает: "Интересные существа. Наши ученые говорят, что они ближе к рыбам, чем к кому бы то ни было еще. Однако, они ходят на двух ногах, имеют руки, и способны дышать воздухом! Более подробно вам лучше говорить с учеными, не со мной, -- он делает небольшую паузу, -- Атлантида обязана им своим существованием. Если бы мы не встретили их при первой экспедиции, вряд ли кто-то стал бы строить эту станцию, тем более здесь. Первое время они создавали нам проблемы, но, к счастью, нам удалось их разрешить и наладить отношения с ними. Двое из них сейчас находятся на станции и вы можете погвоорить с ними". ]];
 
            end;
 
        end};
 
        {tag="on_learr", false, "Что вы думаете о Леарр?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.learr_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                if (atl_iof_learr_dead) then
 
                    char_moreau.learr_asked = 3;
 
                    return [[Фредерик Моро тяжело вздыхает: "Ее гибель -- большая потеря для всех нас. Кажется, даже Винсент Даркстар, не способный, как мне казалось на дружеские чувства, относился к ней с некоторой теплотой". ]];
 
                else
 
                    char_moreau.learr_asked = 2;
 
                    return [[Фредерик Моро отвечает: "Милая девушка, хоть и рыба. Она, конечно, порой бывает надоедлива в виду своей излишней, на мой взгляд любознательности, но вы себя на ее месте представьте -- она родилась и росла в своей примитивной деревне, а тут мы -- неспособные дышать в воде, зато способные строить поразительные машины. Нет ничего удивительного, что она только и делает, что носится между Игнисом, Окулусом и Террой, расспрашивая всех обо всем". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_ryveerr", false, "Что вы думаете о Ривеерре?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.ryveerr_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.ryveerr_asked = 2;
 
                return [[Фредерик Моро отвечает: "Я мало что могу о нем сказать. Он почти не покидает Окулус, общаясь только с учеными. Возможно их вам и стоит спросить о нем". ]];
 
            end;
 
        end};
 
        {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре?", function()
 
            if (atl_rep_moreau < 0) then
 
                char_moreau.aikerjarr_asked = 1;
 
                return [[Фредерик Моро отвечает: "Я не хочу говорить об этом сейчас". ]];
 
            else
 
                char_moreau.aikerjarr_asked = 2;
 
                return [[Фредерик Моро отвечает: "Пренеприятный персонаж. Будь моя воля -- я бы прогнал его со станции, и большая часть руководителей со мной согласна. Однако, понимая, какие у этого будут последствия, я вынужден позволить ему находиться здесь". ]];
 
            end;
 
        end};
 
		{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)
 
        poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr");
 
        if (atl_rep_svetlova < 0) then
 
            if (char_svetlova.drake_asked == 0) then pon("on_drake"); end;
 
            if (char_svetlova.black_asked == 0) then pon("on_black"); end;
 
            if (char_svetlova.darkstar_asked == 0) then pon("on_darkstar"); end;
 
            if (char_svetlova.svetlova_asked == 0) then pon("on_svetlova"); end;
 
            if (char_svetlova.moreau_asked == 0) then pon("on_moreau"); end;
 
            if (char_svetlova.wright_asked == 0) then pon("on_wright"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_svetlova.leroy_asked == 0) then pon("on_leroy"); end;
 
                if (char_svetlova.jones_asked == 0) then pon("on_jones"); end;
 
                if (char_svetlova.goldman_asked == 0) then pon("on_goldman"); end;
 
            end;
 
            
 
            if (char_svetlova.atlantis_asked == 0) then pon("on_atlantis"); end;
 
            
 
            
 
            if (char_svetlova.navjiarr_asked == 0) then pon("on_navjiarr"); end;
 
            if (char_svetlova.learr_asked == 0) then pon("on_learr"); end;
 
            if (char_svetlova.ryveerr_asked == 0) then pon("on_ryveerr"); end;
 
            if (atl_iof_learr_dead and char_svetlova.aikerjarr_asked == 0) then pon("on_aikerjarr"); end;
 
        else
 
            if (char_svetlova.drake_asked < 2) then pon("on_drake"); end;
 
            if (char_svetlova.black_asked < 2) then pon("on_black"); end;
 
            if (char_svetlova.darkstar_asked < 2) then pon("on_darkstar"); end;
 
            if (char_svetlova.svetlova_asked < 2) then pon("on_svetlova"); end;
 
            if (char_svetlova.moreau_asked < 2) then pon("on_moreau"); end;
 
            if (char_svetlova.wright_asked < 2) then pon("on_wright"); end;
 
            
 
            if (atl_iof_completed) then
 
                if (char_svetlova.leroy_asked < 2) then pon("on_leroy"); end;
 
                if (char_svetlova.jones_asked < 2) then pon("on_jones"); end;
 
                if (char_svetlova.goldman_asked < 2) then pon("on_goldman"); end;
 
            end;
 
            
 
            if (char_svetlova.atlantis_asked < 2) then pon("on_atlantis"); end;
 
            
 
            if (char_svetlova.navjiarr_asked < 2) then pon("on_navjiarr"); end;
 
            if (char_svetlova.learr_asked < 2) then pon("on_learr"); end;
 
            if (atl_iof_learr_dead and char_svetlova.learr_asked < 3) then pon("on_learr"); end;
 
            if (char_svetlova.ryveerr_asked < 2) then pon("on_ryveerr"); end;
 
            if (atl_iof_learr_dead and char_svetlova.aikerjarr_asked < 2) then pon("on_aikerjarr"); end;
 
        end;
 
    
 
		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 [[
 
					Светлова отрывает взгляд от бумаг, лежащих перед ней и смотрит на вас: "Добрый день". 
 
				]];
 
			end;
 
		end;
 
	end;
 
	phr = {
 
		{tag = "first_meeting"};
 
		{"Как так получилось, что не осталось никакой информации?", [[Екатерина Светлова поясняет: "Блэк сильно торопил Уильяма и едва они закончили минимальные исследования, они отправились в Венаэданотр -- отдаленный навьярский город к западу от Атлантиды. К сожалению, мы не знаем его точное местоположение". ]], code [[ pon('venaedanotrr'); ]]};
 
        {"В чем заключается цель экспедиции?", [[Екатерина Светлова отвечает: "Дрейк и Блэк ищут Лсэрианотр -- легендарный навьярский город". ]], code [[pon('lseryanotr')]]};
 
        {tag = "venaedanotrr", false, "Венаэданотр?", [[Екатерина светлова отвечает: "Один из множества навьярских городов. К сожалению, у нас нет почти никакой информации о нем, кроме предположений. Думаю Дрейк и Блэк смогут многое рассказать о нем, когда вернутся из своей экспедиции". ]]};
 
		{tag = "lseryanotr", false, "Лсэрианотр?", [[Екатерина Светлова отвечает: "По легенде -- это самый древний город навьяров. С ним связано множество легенд. Одна из них гласит, что Наэтвьирр -- существо великой мудрости, по одной из версий, призванное навьярами из другого мира -- должен был дать навьярам великие знания, которые позволили бы им войти в век процветания. Однако, один из мудрецов предостерег навьяров об обмане, задуманном Наэтвьирром. Но, к тому моменту, Наэтвьирр уже прибыл в Лсэрианотр. Навьяры испугались и запечатали город, навеки закрыв Наэтвьирра внутри". ]]};
 
		{"В чем заключается ваше предложение?", [[Екатерина Светлова откладывает бумаги в сторону, достает из ящика стола карту и раскладывает ее на столе. После чего продолжает: _"На самом деле, вы прибыли как нельзя вовремя. Наши отношения с навьярами несколько натянулись в последнее время, и, боюсь, разрешить разногласия поможете только вы. Я попробую кратко изложить ситуацию, задавайте вопросы по ходу рассказа, если вам потребуется дополнительная информация, -- Светлова делает небольшую паузу, -- Неподалеку от Атлантиды находятся два навьярских поселения - Ираафаанотр и Дипатреанотр. Первая встреча с жителями Дипатреанотра прошла не совсем гладко и в результате ее погибло несколько человек. К счастью, в дальнейшем отношения удалось наладить. Недавно, между Ираафаанотром и Дипатреанотром произошел конфликт, который может негативно повлиять на нас и наши отношения с этими городами. Мы пытались вмешаться, но это лишь обострило разногласия и в дальнейшем может поставить под угрозу само существование станции"_. ]], code [[ psub('help')]]};
 
		{tag = 'help'};
 
		{"И как я смогу помочь?", [[Екатерина Светлова поясняет: _"Навьяры знают, что вы не с Атлантиды, поэтому вы предстанете как нейтральная сторона. Сейчас вам стоит поговорить с Леарр и Ривеерром - узнать их взгляд на ситуацию. Потом приходите ко мне и решим, что делать"_. ]], code [[
 
			char_svetlova_dlg.flag_help = true;
 
			if (char_svetlova_dlg.flag_explain) then
 
				pon("first_meeting_end");
 
			end;
 
		]]};
 
		{"И в чем суть этого конфликта?", [[Екатерина Светлова отвечает: "У навьяров много разных священных предметов, табу, пророчеств. За время существования станции мы заполучили и изучили множество реликвий. Большинство их вполне обычны: статуэтки, какие-то религиозные символы, записи и так далее. Однако, мы заметили закономерность -- самые древние предметы разительно отличаются от остальных -- изготовлены они более качественно, а многие предметы и вовсе не имеют сопоставимых аналогов. Например, у нас есть множество металлических фрагментов, очевидно использовавшихся в каких-то механизмах, есть диски, призмы, цилиндры, изготовленные из неизвестных нам материалов -- они преломляют свет совершенно удивительным образом благодаря внутренней структуре материала. Интересно, что эти предметы имеют совершенно правильную форму и хорошо сохранились. Навьяры говорят, что это не просто предметы красоты, но некие записи, изготовленные древними. Не знаю, как относиться к этому. Возможно, вернувшись из экспедиции Блэк и Дрейк смогут что-то прояснить. Но это было просто отступление. Не так давно из Ираафаанотра и Дипатреанотра пропали ценнейшие реликвии. Города теперь обвиняют в этом друг друга и дело грозит обернуться войной". ]], code [[
 
			char_svetlova_dlg.flag_explain = true;
 
			if (char_svetlova_dlg.flag_help) then
 
				psub("first_meeting_end");
 
			end;
 
		]]};
 
		{tag = "first_meeting_end"};
 
		{"Хорошо, я помогу вам. ", [[Екатерина Светлова кивает: _"Поговорите с Леарр и Ривеерром, разберитесь, узнайте больше. Ривеерр большую часть времени находится здесь. Леарр вы, скорее всего, найдете в Игнисе"_. ]], code [[ 
 
			char_svetlova_dlg.state = 1;
 
			atl_iyh_state = 1;
 
			psub("generic");
 
		]]};
 
		{"Я прибыл сюда искать своего отца, а не решать проблемы полуразумных рыбней", [[Екатерина Светлова пожимает плечами и недовольно отвечает: "Если вы не станете помогать нам, мы не станем помогать вам. Вы можете сидеть здесь и ждать". ]]};
 
		{tag = "generic"};
 
        {tag = "on_drake", false, "Расскажите об Уильяме. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.drake_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.drake_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Дрейк смог многого достигнуть и, хотя, он работал не один, именно благодаря его таланту Вестхейвен Трансоушен просуществовала многие годы. Меня всегда удивляло его чутье -- он часто принимает странные, но, в конечном итоге, выгодные решения. Боюсь, когда-нибудь это чутье подведет его". ]];
 
            end;
 
        end};
 
        {tag = "on_black", false, "Расскажите об Адриане Блэке. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.black_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.black_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Блэк и Дрейк всегда работали вместе. Там где Дрейк готов пойти на риск, Блэк предлагает поступить осторожно. Зачастую Дрейк полностью передает управление в руки Блэка и Блэк всегда хорошо справляется. В свою очередь, Дрейк всегда умел собирать вокруг себя правильных людей, чего Блэк никогда бы не смог". ]];
 
            end;
 
        end};
 
        {tag="on_darkstar", false, "Расскажите о Винсенте Даркстаре. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.darkstar_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.darkstar_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Если вы уже говорили с ним, то вы итак все знаете. Вы можете посчитать его чрезмерно осторожным, но для его должности это скорее достоинство, чем недостаток. Не знаю, что творится у него в голове и почему он вообще занимается этим здесь, но пока у нас нет причин не доверять ему". ]];
 
            end;
 
        end};
 
        {tag="on_svetlova", false, "Расскажите о себе. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.svetlova_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.svetlova_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Не знаю, что вам рассказать. Я родилась в России, но образование получала уже в Европе, во Франции. После завершения обучения, я занималась некоторыми исследованиями в своей области, отправлялась с несколькими экспедициями в различные уголки света. А потом на меня вышел Фредерик Моро -- я тогда как раз искала возможности для новой экспедиции, Атлантиды тогда еще не было, но уже была Надежда и в Вестхейвен Трансоушен уже знали про навьяров. Потом была построена Атлантида и вот я здесь, занимаюсь делом всей моей жизни". ]];
 
            end;
 
        end};
 
        {tag="on_moreau", false, "Расскажите о Фредерике Моро. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.moreau_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.moreau_asked = 2;
 
                return [[Екатерина Светлова отвечает: "С Фредериком Моро я познакомилась раньше, чем с другими руководителями Вестхейвен Трансоушен. Хотя он и работает в компании с самого ее основания, его имя звучит гораздо реже, чем имена Блэка и Дрейка, однако, вклад Моро в развитие Вестхейвен Трансоушен трудно переоценить. Со всей своей скрупулезностью и точностью, он умело управлял ресурсами компании и продолжает это делать на Атлантиде. Что меня в нем удивляет, так это то, что он, при всех своих способностях, предпочитает оставаться в тени Дрейка и Блэка". ]];
 
            end;
 
        end};
 
        {tag="on_wright", false, "Расскажите о Майкле Райте. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.wright_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.wright_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Без Майкла Райта Вестхейвен Трансоушен никогда не достигла бы вершин. Сперва все более и более быстроходные и комфортабельные суда, а затем и Надежда с Атлантидой -- все было придумано им. Он напоминает мне безумного изобретателя из фантастической книжки, за исключением того, что не пытается захватить мир". ]];
 
            end;
 
        end};
 
        {tag="on_leroy", false, "Расскажите о Мишеле Леруа. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.leroy_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.leroy_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Мишель Леруа хорошо известен на станции - он один из первых открыто поднял вопрос о закрытии станции и возвращении на поверхность. К счастью, он пока не успел слишком многих склонить на свою сторону. Вам лучше поговорить с Моро или Райтом по этому поводу". ]];
 
            end;
 
        end};
 
        {tag="on_jones", false, "Что вы думаете о Чарли Джонсе? ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.jones_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.jones_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Кажется, это кто-то из подчиненных Майкла Райта. Почему бы вам не поговорить с ним об этом". ]];
 
            end;
 
        end};
 
        {tag="on_goldman", false, "Что вы думаете о Леонарде Голдмане? ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.goldman_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.goldman_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Кажется, это кто-то из подчиненных Майкла Райта. Почему бы вам не поговорить с ним об этом". ]];
 
            end;
 
        end};
 
        {tag="on_atlantis", false, "Расскажите об Атлантиде. ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.atlantis_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
 
            else
 
                char_svetlova.atlantis_asked = 2;
 
                return [[Екатерина Светлова отвечает: "Атлантидабыла построена с единственной целью -- быть ближе к навьярам, получить возможность изучать их. Майкл Райт, конечно, скажет вам другое и будет по-своему прав -- в конце концов, станцию придумал именно он". ]];
 
            end;
 
        end};
 
        {tag="on_navjiarr", false, "Что вы думаете о навьярах? ", function()
 
            if (atl_rep_svetlova < 0) then
 
                char_svetlova.navjiarr_asked = 1;
 
                return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]];
party.lua
Show inline comments
 
party_accompany = function(s, value)
 
	if (ArrayUtils.indexOf(pl.party, s.nam) == 0) then
 
		return;
 
	end;
 
	s.follow = value;
 
	if (value) then
 
		lifeon(s);
 
	else
 
		move(s, s.home, where(s));
 
		lifeoff(s);
 
	end;
 
end;
 
 
party_follow = function(s)
 
    if (where(pl).cutscene) then
 
    elseif (where(pl).leviathan) then
 
        if (stead.nameof(where(s)) ~= s.home) then
 
            move(s, s.home, where(s));
 
        end;
 
    else
 
        move(s, where(pl), where(s));
 
    end;
 
end;
 
 
-- TODO больше отвлеченных диалогов, дабы было о чем поговорить с сопартийцами. Не стоит делать их деревянными безжизненными манекенами
 
char_learr = obj {
 
	var {
 
		follow = false;
 
	};
 
	nam = "learr";
 
	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(learr_home_dlg);
 
		else
 
			walkin(learr_dlg);
 
		end;
 
	end;
 
};
 
 
char_phaetlarr = obj {
 
	var {
 
		follow = false;
 
	};
 
	nam = "phaetlarr";
 
	disp = "Фаэтларр";
 
	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(phaetlarr_home_dlg);
 
		else
 
			walkin(phaetlarr_dlg);
 
		end;
 
	end;
 
};
 
 
char_radcliffe = obj {
 
	var {
 
		follow = false;
 
        
 
        rel_on_join = nil;
 
	};
 
	nam = "radcliffe";
 
	disp = "Уолтер Рэдклифф";
 
	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;
 
	};
 
	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)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(wright_home_dlg);
 
		else
 
			walkin(wright_dlg);
 
		end;
 
	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;
 
		
 
		return [[
 
			Уолтер задумчиво смотрит на вас
 
		]];
 
	end;
 
	phr = {
 
		{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_home_dlg = dlg {
 
	nam = "wright_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;
 
		return [[
 
			Джек ждет ваших указаний
 
		]];
 
	end;
 
	phr = {
 
		{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(true);
 
					char_anna:accompany(false);
 
					pon('stay');
 
					poff('join');
 
					return [[Я готов]];
 
				else
 
					-- TODO сообщать это только если в партии есть навьяры
 
					return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]];
 
				end;
 
			end; 
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_wright:accompany(false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		}
 
	};
 
};
 
 
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;
0 comments (0 inline, 0 general)