Changeset - 112b38b593c0
[Not reviewed]
default
1 6 0
Silverwing - 6 years ago 2018-08-12 19:12:32

chapter 1: ignis on fire removed;mousetrap variables included;ignis description modified to match initial one
global: initial localization code created
7 files changed with 591 insertions and 1684 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
global {
 
	atl_jack_in_party = false;
 
	atl_lev_state = 0;
 
	
 
	atl_iof_completed = false;
 
	atl_iof_learr_dead = false;
 
	atl_iof_learr_suit = false;
 
	
 
	atl_nih_state = 0;
 
	
 
	atl_iyh_state = 0;
 
    atl_jack_in_party = false;
 
    atl_lev_state = 0;
 
    atl_nih_state = 0;
 
    atl_iyh_state = 0;
 
    atl_iyh_learr_spoken = false;
 
    atl_iyh_aikerjarr_spoken = false;
 
	atl_iyh_ryveerr_spoken = false;
 
    atl_iyh_ryveerr_spoken = false;
 
    atl_iyh2_ryveerr_spoken = false;
 
    atl_iyh2_aikerjarr_spoken = false;
 
	atl_iyh_shockfish_dead = false;
 
	atl_iyh_shockfish_left = false;
 
	atl_iyh_shockfish_away = 0;
 
	atl_iyh_entrance_destroyed = false;
 
	atl_iyh_artifacts_on_atlantis = false;
 
	
 
	atl_lfc_state = 0;
 
	atl_lfc_panic = 0;
 
    atl_iyh_shockfish_dead = false;
 
    atl_iyh_shockfish_left = false;
 
    atl_iyh_shockfish_away = 0;
 
    atl_iyh_entrance_destroyed = false;
 
    atl_iyh_artifacts_on_atlantis = false;
 
 
    atl_mtr_started = false;
 
    atl_mtr_darkstar_consulted = false;
 
    atl_mtr_know_goldman_lost_clock = false;
 
    atl_mtr_know_jones_replaced_goldman = false;
 
    atl_mtr_goldman_accused = false;
 
    atl_mtr_know_more_about_clock = false;
 
    atl_mtr_jones_replace_confirm = false;
 
    atl_mtr_leroy_known = false;
 
    atl_mtr_jones_known = false;
 
    atl_mtr_goldman_known = false;
 
    atl_mtr_know_radcliffe_worked = false;
 
    atl_mtr_know_leroy_in_terra = false;
 
    atl_mtr_finished = false;
 
 
    --[[atl_lfc_state = 0;
 
    atl_lfc_panic = 0;
 
    atl_lfc_panic_warning = 0;
 
	atl_lfc_hallrooms = 0;
 
	atl_lfc_electric = 0;
 
	atl_lfc_board = 0;
 
	atl_lfc_suspect = nil;
 
	atl_lfc_leroy_spoken = 0;
 
	atl_lfc_goldman_spoken = 0;
 
	atl_lfc_goldman_exposed = false;
 
	atl_lfc_saboteur_known = false;
 
    atl_lfc_hallrooms = 0;
 
    atl_lfc_electric = 0;
 
    atl_lfc_board = 0;
 
    atl_lfc_suspect = nil;
 
    atl_lfc_leroy_spoken = 0;
 
    atl_lfc_goldman_spoken = 0;
 
    atl_lfc_goldman_exposed = false;
 
    atl_lfc_saboteur_known = false;
 
    atl_lfc_court_allowed = false;
 
    atl_lfc_leroy_goldman = false;
 
    ]]
 
 
	atl_fta_state = 0;
 
    atl_fta_state = 0;
 
    atl_fta_darkstar_debrief = false;
 
	
 
	atl_rep_moreau = 0;
 
	atl_rep_darkstar = 0;
 
	atl_rep_svetlova = 0;
 
	atl_rep_wright = 0;
 
 
    atl_rep_moreau = 0;
 
    atl_rep_darkstar = 0;
 
    atl_rep_svetlova = 0;
 
    atl_rep_wright = 0;
 
    atl_rep_iraa = 0;
 
    atl_rep_dyp = 0;
 
    
 
@@ -49,9 +58,9 @@ global {
 
};
 
 
atl_illuminators = obj {
 
	nam = "Иллюминаторы";
 
	dsc = [[Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}. ]];
 
	act = [[Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]];
 
    nam = "Иллюминаторы";
 
    dsc = [[Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}. ]];
 
    act = [[Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]];
 
};
 
 
atl_illuminator = obj {
 
@@ -79,33 +88,33 @@ atl_intersect_suit = obj {
 
}
 
 
atl_aqua_corridor_b = room {
 
	nam = "Атлантида, Аква, коридор B";
 
	dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки A, B и С. ]];
 
	way = {
 
		kh_vroom("В гостевой док A", function()
 
			if (atl_lev_state == 0) then
 
				pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
				return false;
 
			elseif (atl_lev_state == 1) then
 
				return "atl_lev_radcliffe_dlg";
 
			else
 
				return "atl_aqua_leviathan_dock";
 
			end;
 
		end);
 
		kh_vroom("В гостевой док B", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В гостевой док C", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
		"atl_nih_tubes_aqua_b"
 
	};
 
    nam = "Атлантида, Аква, коридор B";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки A, B и С. ]];
 
    way = {
 
        kh_vroom("В гостевой док A", function()
 
            if (atl_lev_state == 0) then
 
                pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
                return false;
 
            elseif (atl_lev_state == 1) then
 
                return "atl_lev_radcliffe_dlg";
 
            else
 
                return "atl_aqua_leviathan_dock";
 
            end;
 
        end);
 
        kh_vroom("В гостевой док B", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В гостевой док C", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_aqua_b"
 
    };
 
};
 
 
atl_entry = lcutscene("atl_entry", "Левиафан, рубка", function(s)
 
@@ -117,76 +126,76 @@ atl_entry = lcutscene("atl_entry", "Левиафан, рубка", function(s)
 
end, "Вы прибыли на Атлантиду. ", leviathan_wheelhouse);
 
 
atl_aqua_leviathan_dock = room {
 
	var {
 
		visited = false;
 
	};
 
	nam = "Атлантида, Аква, гостевой док A";
 
	enter = function(s)
 
    var {
 
        visited = false;
 
    };
 
    nam = "Атлантида, Аква, гостевой док A";
 
    enter = function(s)
 
        char_learr:accompany(false);
 
        char_radcliffe:accompany(false);
 
        char_anna:accompany(false);
 
        char_wright:accompany(false);
 
		if (not s.visited) then
 
			s.visited = true;
 
			walk(atlantis_intro_dock);
 
		end;
 
		if (atl_iyh_state == 8) then
 
			atl_iyh_state = 9;
 
			if (atl_iof_learr_dead) then
 
				walk('iyh_outro_aikerjarr');
 
			elseif atl_iyh_shockfish_dead then
 
        if (not s.visited) then
 
            s.visited = true;
 
            walk(atlantis_intro_dock);
 
        end;
 
        if (atl_iyh_state == 8) then
 
            atl_iyh_state = 9;
 
            if (atl_iof_learr_dead) then
 
                walk('iyh_outro_aikerjarr');
 
            elseif atl_iyh_shockfish_dead then
 
                walk('iyh_outro_learr_shockfish_dead');
 
            elseif atl_iyh_entrance_destroyed then
 
				walk('iyh_outro_learr_temple_destroyed');
 
                walk('iyh_outro_learr_temple_destroyed');
 
            else
 
                walk('iyh_outro_learr');
 
			end;
 
		end;
 
	end;
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Левиафан. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]];
 
	view = [[Левиафан находится в просторном доке. Под потолком на высоте пяти метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Внизу расположен закрытый люк, закрывающий вам путь наружу. ]];
 
	way = {
 
            end;
 
        end;
 
    end;
 
    dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Левиафан. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]];
 
    view = [[Левиафан находится в просторном доке. Под потолком на высоте пяти метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Внизу расположен закрытый люк, закрывающий вам путь наружу. ]];
 
    way = {
 
        kh_vroom("В Левиафан", "leviathan_airlock");   
 
		kh_vroom("В коридор B", "atl_aqua_corridor_b");
 
	};
 
        kh_vroom("В коридор B", "atl_aqua_corridor_b");
 
    };
 
}; 
 
 
atl_aqua_nautilus_dock = room {
 
	nam = "Атлантида, Аква, док Наутилуса";
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]];
 
	way = {
 
		kh_vroom("В коридор A", "atl_aqua_corridor_a");
 
	};
 
	obj = {
 
		"char_page"
 
	};
 
    nam = "Атлантида, Аква, док Наутилуса";
 
    dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]];
 
    way = {
 
        kh_vroom("В коридор A", "atl_aqua_corridor_a");
 
    };
 
    obj = {
 
        "char_page"
 
    };
 
};
 
 
atl_aqua_corridor_a = room {
 
	nam = "Атлантида, Аква, коридор A";
 
	dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих к докам. ]];
 
	way = {
 
		kh_vroom("В док \"Надежды\"", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В док \"Энтерпрайза\"", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В док \"Наутилуса\"", function()
 
			if (atl_lfc_state == 2) then
 
				return "atl_lfc_dock_s";
 
			else
 
				return "atl_aqua_nautilus_dock";
 
			end;
 
		end);
 
		kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
		"atl_nih_tubes_aqua_a"
 
	};
 
    nam = "Атлантида, Аква, коридор A";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих к докам. ]];
 
    way = {
 
        kh_vroom("В док \"Надежды\"", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В док \"Энтерпрайза\"", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В док \"Наутилуса\"", function()
 
            if (atl_lfc_state == 2) then
 
                return "atl_lfc_dock_s";
 
            else
 
                return "atl_aqua_nautilus_dock";
 
            end;
 
        end);
 
        kh_vroom("В главный коридор", "atl_aqua_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_aqua_a"
 
    };
 
};
 
 
atl_aqua_main_corridor = room {
 
@@ -288,48 +297,48 @@ atl_intersection = inherit(room, functio
 
end);
 
 
atl_intersection_aqua_dom = atl_intersection {
 
	nam = "Атлантида, межсекционный коридор";
 
	way = {
 
		kh_vroom("В секцию \"Аква\"", "atl_aqua_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_aqua");
 
	};
 
    nam = "Атлантида, межсекционный коридор";
 
    way = {
 
        kh_vroom("В секцию \"Аква\"", "atl_aqua_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_aqua");
 
    };
 
};
 
 
atl_dom_main_near_aqua = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в секцию Аква";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами расположен шлюз, ведущий в соседнюю секцию. ]];
 
	way = {
 
		kh_vroom("В секцию \"Аква\"", "atl_intersection_aqua_dom");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_adm");
 
		kh_vroom("Против часовой стрелки", "atl_dom_main_near_a");
 
		kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		-- TODO добавить скамейки, табличку секции Аква
 
		"atl_nih_tubes_near_aqua"
 
	};
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Аква";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами расположен шлюз, ведущий в соседнюю секцию. ]];
 
    way = {
 
        kh_vroom("В секцию \"Аква\"", "atl_intersection_aqua_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_adm");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_a");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        -- TODO добавить скамейки, табличку секции Аква
 
        "atl_nih_tubes_near_aqua"
 
    };
 
};
 
 
atl_dom_main_near_a = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в коридор А";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в северной части зала. Рядом с вами расположен шлюз, ведущий в коридор А. ]];
 
	way = {
 
		kh_vroom("В коридор A", "atl_dom_corridor_a");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_aqua");
 
		kh_vroom("Против часовой стрелки", "atl_dom_main_near_luna");
 
		kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		-- TODO добавить табличку
 
		"atl_nih_panel_near_a"
 
	};
 
    nam = "Атлантида, Доминус, центральный зал, у входа в коридор А";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в северной части зала. Рядом с вами расположен шлюз, ведущий в коридор А. ]];
 
    way = {
 
        kh_vroom("В коридор A", "atl_dom_corridor_a");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_aqua");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_luna");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        -- TODO добавить табличку
 
        "atl_nih_panel_near_a"
 
    };
 
};
 
 
atl_dom_main_c = room {
 
	nam = "Атлантида, Доминус, центральный зал, центр";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в центральной части зала, рядом с лифтом, ведущим в Игнис. ]];
 
	way = {
 
		kh_vroom("В лифт", function(s)
 
    nam = "Атлантида, Доминус, центральный зал, центр";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в центральной части зала, рядом с лифтом, ведущим в Игнис. ]];
 
    way = {
 
        kh_vroom("В лифт", function(s)
 
            if atl_iof_completed then
 
                pr("Лифт не работает. ");
 
                return false;
 
@@ -337,161 +346,161 @@ atl_dom_main_c = room {
 
                return "atl_dom_lift";
 
            end;
 
        end);
 
		kh_vroom("К секции Аква", "atl_dom_main_near_aqua");
 
		kh_vroom("К кабинету администратора", "atl_dom_main_near_adm");
 
		kh_vroom("К секции Арктос", "atl_dom_main_near_arctos");
 
        kh_vroom("К секции Аква", "atl_dom_main_near_aqua");
 
        kh_vroom("К кабинету администратора", "atl_dom_main_near_adm");
 
        kh_vroom("К секции Арктос", "atl_dom_main_near_arctos");
 
        kh_vroom("К секции Терра", "atl_dom_main_near_terra");
 
        kh_vroom("К секции Окулус", "atl_dom_main_near_oculus");
 
        kh_vroom("К секции Луна", "atl_dom_main_near_luna");
 
		kh_vroom("К коридору А", "atl_dom_main_near_a");
 
		
 
	};
 
	obj = {
 
		-- TODO добавить скамейки
 
	};
 
        kh_vroom("К коридору А", "atl_dom_main_near_a");
 
 
    };
 
    obj = {
 
        -- TODO добавить скамейки
 
    };
 
};
 
 
atl_dom_main_near_adm = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в кабинет администратора";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в кабинет администратора. ]];
 
	way = {
 
		kh_vroom("В кабинет администратора", "atl_dom_administator_room");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_arctos");
 
		kh_vroom("Против часовой стрелки", "atl_dom_main_near_aqua");
 
		kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		-- TODO добавить скамейки, воздуховоды
 
		"atl_nih_panel_near_admin"
 
	};
 
    nam = "Атлантида, Доминус, центральный зал, у входа в кабинет администратора";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в кабинет администратора. ]];
 
    way = {
 
        kh_vroom("В кабинет администратора", "atl_dom_administator_room");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_arctos");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_aqua");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
    };
 
    obj = {
 
        -- TODO добавить скамейки, воздуховоды
 
        "atl_nih_panel_near_admin"
 
    };
 
};
 
 
atl_dom_main_near_luna = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в секцию Луна";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Луна". ]];
 
	way = {
 
		kh_vroom("В секцию \"Луна\"", "atl_intersection_luna_dom");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_a");
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Луна";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Луна". ]];
 
    way = {
 
        kh_vroom("В секцию \"Луна\"", "atl_intersection_luna_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_a");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_oculus");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		"atl_nih_panel_near_luna"
 
	};
 
    };
 
    obj = {
 
        "atl_nih_panel_near_luna"
 
    };
 
};
 
 
atl_dom_main_near_oculus = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в секцию Окулус";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Окулус". ]];
 
	way = {
 
		kh_vroom("В секцию \"Окулус\"", "atl_intersection_oculus_dom");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_luna");
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Окулус";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Окулус". ]];
 
    way = {
 
        kh_vroom("В секцию \"Окулус\"", "atl_intersection_oculus_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_luna");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_terra");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		"atl_nih_boxes_near_oculus"
 
	};
 
    };
 
    obj = {
 
        "atl_nih_boxes_near_oculus"
 
    };
 
};
 
 
atl_dom_main_near_terra = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в секцию Терра";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Терра". ]];
 
	way = {
 
		kh_vroom("В секцию \"Терра\"", "atl_intersection_terra_dom");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_oculus");
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Терра";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Терра". ]];
 
    way = {
 
        kh_vroom("В секцию \"Терра\"", "atl_intersection_terra_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_oculus");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_arctos");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		"atl_nih_boxes_near_terra"
 
	};
 
    };
 
    obj = {
 
        "atl_nih_boxes_near_terra"
 
    };
 
};
 
 
atl_dom_main_near_arctos = room {
 
	nam = "Атлантида, Доминус, центральный зал, у входа в секцию Арктос";
 
	dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Арктос". ]];
 
	way = {
 
		kh_vroom("В секцию \"Арктос\"", "atl_intersection_arctos_dom");
 
		kh_vroom("По часовой стрелке", "atl_dom_main_near_terra");
 
    nam = "Атлантида, Доминус, центральный зал, у входа в секцию Арктос";
 
    dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Арктос". ]];
 
    way = {
 
        kh_vroom("В секцию \"Арктос\"", "atl_intersection_arctos_dom");
 
        kh_vroom("По часовой стрелке", "atl_dom_main_near_terra");
 
        kh_vroom("Против часовой стрелки", "atl_dom_main_near_adm");
 
        kh_vroom("К центру зала", "atl_dom_main_c");
 
	};
 
	obj = {
 
		"atl_nih_tubes_near_arctos"
 
	};
 
    };
 
    obj = {
 
        "atl_nih_tubes_near_arctos"
 
    };
 
};
 
 
atl_dom_corridor_a = room {
 
	nam = "Атлантида, Доминус, коридор A";
 
	dsc = [[Просторный коридор, расположенный в западном крыле секции Доминус, заполнен ярким светом электрических ламп. В одном конце коридора расположена дверь, ведущая в главный зал. Две другие ведут в оружейную и кабинет начальника службы безопасности. ]];
 
	way = {
 
		kh_vroom("В кабинет начальника СБ", "atl_dom_security_office");
 
		kh_vroom("В оружейную", function()
 
			pr("Люк наглухо задраен и опечатан. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В центральный зал", "atl_dom_main_near_a");
 
	};
 
    nam = "Атлантида, Доминус, коридор A";
 
    dsc = [[Просторный коридор, расположенный в западном крыле секции Доминус, заполнен ярким светом электрических ламп. В одном конце коридора расположена дверь, ведущая в главный зал. Две другие ведут в оружейную и кабинет начальника службы безопасности. ]];
 
    way = {
 
        kh_vroom("В кабинет начальника СБ", "atl_dom_security_office");
 
        kh_vroom("В оружейную", function()
 
            pr("Люк наглухо задраен и опечатан. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В центральный зал", "atl_dom_main_near_a");
 
    };
 
};
 
 
atl_dom_security_office = room {
 
	nam = "Атлантида, Доминус, кабинет начальника СБ";
 
	dsc = [[Спартанская обстановка кабинета начальника службы безопасности сразу бросается вам в глаза. небольшая комната почти пуста. Здесь нет ничего кроме массивного металлического стола в центре и двух кресел по разные стороны его. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_dom_corridor_a");
 
	};
 
	obj = {
 
		'char_darkstar'
 
	};
 
    nam = "Атлантида, Доминус, кабинет начальника СБ";
 
    dsc = [[Спартанская обстановка кабинета начальника службы безопасности сразу бросается вам в глаза. небольшая комната почти пуста. Здесь нет ничего кроме массивного металлического стола в центре и двух кресел по разные стороны его. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_dom_corridor_a");
 
    };
 
    obj = {
 
        'char_darkstar'
 
    };
 
};
 
 
atl_dom_administator_room = room {
 
	nam = "Атлантида, Доминус, кабинет администратора";
 
	dsc = [[Кабинет администратора представляет собой небольшую комнату. Вдоль стен установлено несколько шкафов с какими-то бумагами. В центре расположен металлический стол. 
 
	]];
 
	way = {
 
		kh_vroom("В центральный зал", "atl_dom_main_near_adm");
 
	};
 
	obj = {
 
		'char_moreau'
 
	};
 
    nam = "Атлантида, Доминус, кабинет администратора";
 
    dsc = [[Кабинет администратора представляет собой небольшую комнату. Вдоль стен установлено несколько шкафов с какими-то бумагами. В центре расположен металлический стол.
 
    ]];
 
    way = {
 
        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",
 
    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",
 
    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 дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
    nam = "Атлантида, Луна, главный коридор";
 
    dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
    entered = function(s)
 
        if (s.state == 0) then
 
            s.state = 1;
 
@@ -500,16 +509,16 @@ atl_luna_main_corridor = room {
 
            end;
 
        end;
 
    end;
 
	way = {
 
		kh_vroom("В вашу комнату", "atl_luna_drake_room");
 
    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"
 
	};
 
        kh_vroom("В общую комнату", "atl_luna_common_room");
 
        kh_vroom("В секцию \"Доминус\"", "atl_intersection_luna_dom");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_nih_tubes_luna"
 
    };
 
};
 
 
atl_luna_jack_room = room {
 
@@ -524,21 +533,21 @@ atl_luna_jack_room = room {
 
};
 
 
atl_luna_drake_room = room {
 
	nam = "Атлантида, Луна, ваша комната";
 
	dsc = [[Небольшая, но уютная комната, выделенная вам на Атлантиде. Хотя она расчитана на двух человек, пока нет необходимости расселять людей по двое. ]];
 
	way = {
 
		kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators"
 
	};
 
    nam = "Атлантида, Луна, ваша комната";
 
    dsc = [[Небольшая, но уютная комната, выделенная вам на Атлантиде. Хотя она расчитана на двух человек, пока нет необходимости расселять людей по двое. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
    };
 
    obj = {
 
        "atl_illuminators"
 
    };
 
};
 
 
atl_arctos_main_corridor = room {
 
	nam = "Атлантида, Арктос, главный коридор";
 
	dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
	way = {
 
		kh_vroom("В комнату Голдмана", function(s)
 
    nam = "Атлантида, Арктос, главный коридор";
 
    dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]];
 
    way = {
 
        kh_vroom("В комнату Голдмана", function(s)
 
            if goldman_state == 0 then
 
                return "atl_arctos_goldmans_room";
 
            else
 
@@ -546,72 +555,72 @@ atl_arctos_main_corridor = room {
 
                return false;
 
            end;
 
        end);
 
		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"
 
	};
 
        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 = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
    nam = "Атлантида, Арктос, комната";
 
    dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_arctos_main_corridor");
 
    };
 
	obj = {
 
		"char_goldman"
 
	};
 
    obj = {
 
        "char_goldman"
 
    };
 
};
 
 
atl_arctos_jones_room = room {
 
	nam = "Атлантида, Арктос, комната";
 
	dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
    nam = "Атлантида, Арктос, комната";
 
    dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]];
 
    way = {
 
        kh_vroom("В главный коридор", "atl_arctos_main_corridor");
 
    };   
 
	obj = {
 
		"char_jones"
 
	};
 
    obj = {
 
        "char_jones"
 
    };
 
};
 
 
atl_luna_common_room = room {
 
	nam = "Атлантида, Луна, общая комната";
 
	dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]];
 
	way = {
 
		kh_vroom("В главный коридор", "atl_luna_main_corridor");
 
	};
 
	obj = {
 
		"atl_illuminators"
 
	};
 
    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"
 
	};
 
    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",
 
    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 {
 
@@ -639,170 +648,170 @@ kh_vroom("В секцию Доминус", "atl_intersection_terra_dom");
 
};
 
 
atl_terra_workshop_a = room {
 
	nam = "Атлантида, мастерская А";
 
	dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_terra_main_corridor");
 
	};
 
	obj = {
 
    nam = "Атлантида, мастерская А";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        item_electric_lamp:disable(),
 
		"char_michael_wright"
 
	};
 
        "char_michael_wright"
 
    };
 
};
 
 
atl_terra_workshop_b = room {
 
	nam = "Атлантида, мастерская B";
 
	dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
	way = {
 
		kh_vroom("В коридор", "atl_terra_main_corridor");
 
	};
 
	obj = {
 
		"char_radcliffe_atlantis"
 
	};
 
    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"
 
	};
 
    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");
 
	};
 
    nam = "Атлантида, мастерская D";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "item_dynamo";
 
    };   
 
};
 
 
atl_intersection_oculus_dom = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
	way = {
 
		kh_vroom("В секцию \"Окулус\"", "atl_oculus_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_oculus");
 
	};
 
	obj = {
 
		"atl_illuminators",
 
    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 = "Атлантида, Окулус, главный коридор";
 
    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"
 
	};
 
    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"
 
	};
 
    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"
 
	};
 
    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"
 
	};
 
    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");
 
	};
 
    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"
 
	};
 
    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;
 
    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;
 
};
 
 
--[[
 
@@ -826,15 +835,15 @@ char_darkstar = npc {
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
	nam = "Винсент Даркстар";
 
	dsc = function(s)
 
    nam = "Винсент Даркстар";
 
    dsc = function(s)
 
        if (char_darkstar_dlg.state == 0) then
 
            return [[В одном из кресел сидит средних лет {мужчина} с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        else
 
            return [[В одном из кресел сидит {Винсент Даркстар}. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        end;
 
    end;   
 
	dlg = "char_darkstar_dlg";
 
    dlg = "char_darkstar_dlg";
 
};
 
 
char_moreau = npc {
 
@@ -855,15 +864,15 @@ char_moreau = npc {
 
        aikerjarr_asked = 0;
 
        iof_reaction = 0;
 
    };
 
	nam = "Фредерик Моро";
 
	dsc = function(s)
 
    nam = "Фредерик Моро";
 
    dsc = function(s)
 
        if (char_moreau_dlg.state == 0) then
 
            return [[За столом в кресле сидит немолодой {мужчина}. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. В руках он вертит перо. ]];
 
        else
 
            return [[За столом в кресле сидит {Фредерик Моро} и внимательно наблюдает за вами сквозь стекла очков. В руках он вертит перо. ]];
 
        end;
 
    end;   
 
	dlg = "char_moreau_dlg";
 
    dlg = "char_moreau_dlg";
 
};
 
 
char_svetlova = npc {
 
@@ -884,44 +893,44 @@ char_svetlova = npc {
 
        aikerjarr_asked = 0;
 
        iof_reaction = 0;
 
    };
 
	nam = "Екатерина Светлова";
 
	dsc = function(s)
 
    nam = "Екатерина Светлова";
 
    dsc = function(s)
 
        if (char_svetlova_dlg.state == 0) then   
 
            return [[За столом сидит {женщина} лет сорока-пяти. Золотистые волосы собраны в пучок на затылке. Она одета в простое синее платье. В правой руке она держит карандаш, которым периодически делает пометки в бумагах, лежащих на столе. Кажется, она не обращает на вас никакого внимания. ]];
 
        else
 
            return [[За столом сидит {Екатерина Светлова}. Периодически она делает какие-то пометки карандашом в бумагах, лежащих на столе. ]];
 
        end;
 
    end;
 
	dlg = "char_svetlova_dlg";
 
    dlg = "char_svetlova_dlg";
 
};
 
 
char_anna_atlantis = npc {
 
	nam = "Анна Рэдклифф";
 
	disp = "Анна Рэдклифф";
 
	dsc = function(s)
 
		if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
    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 [[{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
                return [[{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            end;         
 
		else
 
        else
 
            if (char_anna_atlantis_dlg.state == 0) then      
 
                return [[{Девушка} лет тридцати внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            else
 
			    return [[{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
                return [[{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            end;         
 
		end;
 
	end;
 
	dlg = "char_anna_atlantis_dlg";
 
        end;
 
    end;
 
    dlg = "char_anna_atlantis_dlg";
 
};
 
 
char_learr_atlantis = npc {
 
	var {
 
		offended = false;
 
	};
 
	nam = "Леарр";
 
	dsc = function(s)
 
    var {
 
        offended = false;
 
    };
 
    nam = "Леарр";
 
    dsc = function(s)
 
        if stead.deref(here()) == "atl_oculus_library" then
 
            return [[{Леарр} сидит за одним из столов, листая какую-то книгу. ]];
 
        elseif stead.deref(here()) == "atl_oculus_library" then
 
@@ -933,8 +942,8 @@ char_learr_atlantis = npc {
 
                return [[{Леарр} стоит перед иллюминатором и смотрит вдаль. ]];
 
            end;
 
        end;
 
	end;
 
	dlg = function(s)
 
    end;
 
    dlg = function(s)
 
        if stead.deref(where(s)) == atl_oculus_lab_a then
 
            return "char_svetlova_dlg";
 
        else
 
@@ -944,15 +953,15 @@ char_learr_atlantis = npc {
 
};
 
 
char_aikerjarr = npc {
 
	nam = "Аикерьярр";
 
	dsc = function(s)
 
    nam = "Аикерьярр";
 
    dsc = function(s)
 
        if (char_aikerjarr_dlg.state == 0) then
 
            return [[У одного из столов неподвижно стоит {навьяр}. ]];
 
        else
 
		    return [[У одного из столов неподвижно стоит {Аикерьярр}. ]];
 
            return [[У одного из столов неподвижно стоит {Аикерьярр}. ]];
 
        end;      
 
	end;
 
	dlg = "char_aikerjarr_dlg";
 
    end;
 
    dlg = "char_aikerjarr_dlg";
 
};
 
 
char_ryveerr = npc {
 
@@ -963,55 +972,55 @@ char_ryveerr = npc {
 
        atlantis_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
	nam = "Ривеерр";
 
	dsc = function(s)
 
		if (char_ryveerr_dlg.state == 0) then
 
    nam = "Ривеерр";
 
    dsc = function(s)
 
        if (char_ryveerr_dlg.state == 0) then
 
            return [[У одного из столов стоит {навьяр} и что-то рассказывает. ]];
 
        else
 
            return [[У одного из столов стоит {Ривеерр} и что-то рассказывает. ]];
 
        end;
 
	end;
 
	dlg = "char_ryveerr_dlg";
 
    end;
 
    dlg = "char_ryveerr_dlg";
 
};
 
 
char_evans = npc {
 
	nam = "Кристиан Эванс";
 
	dsc = function(s)
 
		if (char_evans_dlg.state == 0) then
 
    nam = "Кристиан Эванс";
 
    dsc = function(s)
 
        if (char_evans_dlg.state == 0) then
 
            return [[Там же стоит пожилой {мужчина} с блокнотом и делает какие-то записи. ]];
 
        else
 
            return [[Там же стоит {Кристиан Эванс} с блокнотом и делает какие-то записи. ]];
 
        end;
 
	end;
 
	dlg = "char_evans_dlg";
 
    end;
 
    dlg = "char_evans_dlg";
 
};
 
 
char_winterlight = npc {
 
	nam = "Сильвия Уинтерлайт";
 
	dsc = function(s)
 
    nam = "Сильвия Уинтерлайт";
 
    dsc = function(s)
 
        if (char_winterlight_dlg.state == 0) then
 
            return [[{Женщина} лет тридцати-пяти--сорока стоит, склонишись над картой. Длинные темные волосы спадают на плечи. Она одета в длинную черную юбку и серую блузку. Ее серые глаза внимательно изучают документ, лежащий перед ней. ]];
 
        else
 
            return [[{Сильвия Уинтерлайт} стоит возле одного из столов, рассматривая карту. ]];
 
        end;
 
    end;   
 
	dlg = "char_winterlight_dlg";
 
    dlg = "char_winterlight_dlg";
 
};
 
 
char_jack_wright_atlantis = npc {
 
    nam = "Джек Райт";
 
	dsc = function(s)
 
    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";
 
            return [[{Джеку Райт}, стоящему рядом. ]];
 
        else
 
            return [[{Джек Райт} лежит на койке, листая какую-то книгу. Рядом лежит блокнот, в котором он время от времени он делает пометки карандашом. ]];
 
        end;
 
    end;
 
    dlg = "char_jack_wright_atlantis_dlg";
 
};
 
 
char_michael_wright = npc {
 
	nam = "Майкл Райт";
 
    nam = "Майкл Райт";
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
@@ -1030,51 +1039,51 @@ char_michael_wright = npc {
 
        jack_asked = 0;
 
        iof_reaction = 0;
 
    };   
 
	dsc = function(s)
 
    dsc = function(s)
 
        return [[{Майкл Райт} просматривает какие-то чертежи. ]];
 
    end;
 
	dlg = "char_michael_wright_dlg";
 
    dlg = "char_michael_wright_dlg";
 
};
 
 
char_legrand = npc {
 
	nam = "Мари Легран";
 
	dsc = function(s)
 
    nam = "Мари Легран";
 
    dsc = function(s)
 
        if (char_legrand_dlg.state == 0) then
 
            return [[На стуле в углу сидит {женщина} лет сорока--сорока-пяти и листает какую-то книгу.]];
 
        else
 
            return [[На стуле в углу сидит {Мари Легран} и листает какую-то книгу. ]];
 
        end;   
 
    end;   
 
	dlg = "char_legrand_dlg";
 
    dlg = "char_legrand_dlg";
 
};
 
 
char_radcliffe_atlantis = npc {
 
	nam = "Уолтер Рэдклифф";
 
	dsc = function(s)
 
    nam = "Уолтер Рэдклифф";
 
    dsc = function(s)
 
        if (char_radcliffe_atlantis_dlg.state == 0) then
 
            return [[{Человек} лет сорока--сорока-пяти стоит, навалившись на стену. ]];
 
        else
 
            return [[{Уолтер Рэдклифф} стоит, навалившись на стену. ]];
 
        end;
 
    end;
 
	dlg = "char_radcliffe_atlantis_dlg";
 
    dlg = "char_radcliffe_atlantis_dlg";
 
};
 
 
char_page = npc {
 
	nam = "Фрэнсис Пейдж";
 
	dsc = function(s)
 
    nam = "Фрэнсис Пейдж";
 
    dsc = function(s)
 
        if (char_page_dlg.state == 0) then
 
            return [[Пожилой {мужчина} в рабочей одежде осматривает Наутилус. ]];
 
        else
 
            return [[{Фрэнсис Пейдж} осматривает Наутилус. ]];
 
        end;   
 
    end;   
 
	dlg = "char_page_dlg";
 
    dlg = "char_page_dlg";
 
};
 
 
char_leroy = npc {
 
	nam = "Мишель Леруа";
 
	dsc = function(s)
 
    nam = "Мишель Леруа";
 
    dsc = function(s)
 
        if (char_leroy_dlg.state == 0) then
 
            return [[{Мужчина} лет пятидесяти работает над каким-то чертежом. ]];
 
        else
 
@@ -1085,30 +1094,30 @@ char_leroy = npc {
 
};
 
 
char_goldman = npc {
 
	nam = "Леонард Голдман";
 
	dsc = function(s)
 
    nam = "Леонард Голдман";
 
    dsc = function(s)
 
        if (char_goldman_dlg.state == 0) then
 
            return [[На койке, закинув руки за голову, лежит светловолосый {мужчина} лет пятидесяти. ]];
 
        else
 
            return [[На койке, закинув руки за голову, лежит {Леонард Голдман}. ]];
 
        end;   
 
    end;   
 
	dlg = "char_goldman_dlg";
 
    dlg = "char_goldman_dlg";
 
};
 
 
char_jones = npc {
 
    var {
 
        on_atlantis = 0;
 
    };
 
	nam = "Чарли Джонс";
 
	dsc = function(s)
 
    nam = "Чарли Джонс";
 
    dsc = function(s)
 
        if (char_jones_dlg.state == 0) then
 
            return [[Пожилой {человек}, одетый в простой серый костюм, сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        else
 
            return [[{Чарли Джонс} сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        end;
 
    end;
 
	dlg = "char_jones_dlg";
 
    dlg = "char_jones_dlg";
 
};
 
 
atl_item_tube_spec = obj {
atlantis_dlg.lua
Show inline comments
 
@@ -1704,11 +1704,42 @@ char_anna_atlantis_dlg = dlg {
 
	};
 
};
 
 
--[[
 
    Learr
 
]]
 
atlantis_learr_intro = room {
 
    nam = "Атлантида, Окулус, Главный коридор";
 
    dsc = [[Вы выходите из межсекционного коридора в главный коридор секции _"Окулус"_ и сталкиваетесь лицом к лицу с неведомым существом. Стройное, покрытое блестящей серо-зеленой чешуей тело слегка покачивается. Рыбья голова с небольшими отростками-плавниками, тонкие ноги и руки с широкими перепонками между длинными пальцами покрыты такой же чешуей. Ярко-оранжевые глаза существа с интересом разглядывают вас. Во рту существа сверкают острые треугольные зубы. Одето оно в белую рубашку и ярко-синюю юбку до колен. На шее существа вы замечаете жабры. Отростки на голове существа принимают слабо уловимый сине-зеленый оттенок. ]];
 
    obj = {
 
        vway('continue', '{Продолжить}', 'atlantis_learr_first_dlg')
 
    };
 
};
 
 
atlantis_learr_first_dlg = dlg {
 
    nam = "Леарр";
 
    entered = [[Существо начинает говорить: "Я зздессь-рраньшше-не-видела васс". Голос звучит непривычно для вашего слуха -- гласные произносятся очень коротко, между некоторыми словами делаются резкие паузы, другие же сливаются практически в одно, шипящие и "р" произносятся удлиненно. ]];
 
    phr = {
 
        {"Кто ты?", [[Существо отвечает: "I'yhe'lea'yhe'na'vji'a'rr", -- вы отчетливо различаете короткие паузы между слогами. ]], code [[ pon('who_are_you'); ]]};
 
        {tag="who_are_you", false, "Я не понимаю, что ты говоришь.", [[Существо ненадолго застывает в замешательстве. Затем отвечает: "Я Lea'rr. Ты так-понимаешь?". ]], code [[psub('learr'); ]]};
 
        {"Аааа, монстр, помогите!!!", [[Существо скалит зубы. Плавники меняют цвет на ярко-фиолетовый. Оно рычит на вас: "Прропусти. Нет-врремени". ^Щелкнув зубами, _"Чудовище"_ уходит. ]], code [[
 
            put(char_learr_atlantis, atl_ignis_hall_a);
 
            char_learr_atlantis.offended = true;
 
            walk("atl_oculus_main_corridor");
 
        ]]};
 
        {tag="learr"};
 
        {"Рад знакомству. Я Дэвид Дрейк. ", [[Леарр переспрашивает: "Ты ззнаешшь Уильяма-Дррейка?" -- Вам кажется, вы чувствуете удивление, хотя интонации в словах существа вам совершенно чужды. ]], code [[ psub('drake') ]]};
 
        {"Что ты такое?", [[Леарр ненадолго задумывается и отвечает: "Мы себя-навьярами-называем. Мы недалеко-живем-в-нескольких-кругах-отсюда".]], code [[ pon('under_water'); ]]};
 
        {tag="under_water", false, "Под водой?", [[Леарр кивает. Через некоторое время отвечает: "Ты с-поверхности? Никогда-нас-не-видел, похоже". ]]};
 
        {tag="drake"};
 
        {"Да, я его сын. Ты знакома с ним?", [[оттенок головных плавников Леарр становится более ярким и смещается ближе к зеленому. Она отвечает: _"Да, я его-ззнаю. Уильям-Дррейк нашшу-иссторрию-иззучал. Он ссейчасс-исскать-уехал Lse'ry'anot'rr. Я что-вы-зздессь рада"_. ]], code [[ psub('follow_drake') ]]};
 
        {tag="follow_drake"};
 
        {"Я здесь из-за него. " , [[Леарр кивает: _"Я вам-как-смогу-помогу. Я в-Игниссе-буду, ессли вы говоррить-хотите"_. ^Леарр уходит, а вы остаетесь в одиночестве. ]], code [[ put(char_learr_atlantis, atl_ignis_hall_a); walk("atl_oculus_main_corridor"); ]]};
 
    };
 
};
 
 
char_learr_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
        lfc_dialog = false;    
 
        sabotage_explained = false;
 
	};
 
	nam = "Леарр";
 
	disp = "Леарр";
 
@@ -1719,30 +1750,15 @@ char_learr_atlantis_dlg = dlg {
 
        elseif (atl_iyh_state == 2 and ArrayUtils.indexOf(pl.party, 'learr') == 0) then
 
            pon('iyh2');
 
        end;
 
    
 
        if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
            s.lfc_dialog = true;
 
            pon('sabotage', 'ignis_what');
 
        elseif (atl_lfc_state ~= 1) then
 
            poff('sabotage', 'ignis_what');
 
        end;    
 
    
 
 
		if (s.state == 0) then
 
			if (char_learr_atlantis.offended) then
 
				psub("offended");
 
				return [[Леарр поворачивается к вам, плавники ее становятся ярко-фиолетовыми. Она рычит: "Прриветсствую, монсстрр. Мы говоррить-будем?" ]];
 
			else
 
				psub("pre_iof");
 
				psub("friendly");
 
				return [[Леарр поворачивается к вам, плавники ее принимают едва заметный сине-зеленый оттенок, а она говорит: "Я прриветсствую тебя-he'vji'a'rr". ]];
 
			end;
 
		elseif (s.state == 1) then
 
			s.state = 2;
 
			psub("after_iof");
 
			if (atl_iof_learr_suit) then
 
				return [[При виде вас, плавники Леарр меняют цвет на ярко-зеленый. Она плавно опускает руки вниз и слегка наклоняется вперед. Выпрямившись, она произносит: "Я благодарю тебя. Мне твоя-идея-понравилась". ]];
 
			else
 
				return [[При виде вас, плавники Леарр меняют цвет на ярко-зеленый. Она плавно опускает руки вниз и слегка наклоняется вперед. Выпрямившись, она произносит: "Я благодарю тебя". ]];
 
			end;
 
		else
 
            if (rel_learr < 0) then
 
                if (char_learr.on_books == 0) then pon("on_books") end;
 
@@ -1764,25 +1780,21 @@ char_learr_atlantis_dlg = dlg {
 
		{tag='offended_yes_no'};
 
		{"Не думаю.", [[Леарр кивает, ее плавники медленно теряют цвет. Она говорит: "Я слушаю тебя. Ты говори". ]], code [[ 
 
            char_learr_atlantis_dlg.state = 1;
 
            walk('atl_iof_intro'); 
 
            walk('generic');
 
        ]]};
 
		{"От этого суть не изменится, чудище.", [[Леарр скалится, показывая блестящие острые зубки: "Ты убиррайся, пока я тебя не ссъела". ]], code [[ 
 
			char_learr_atlantis_dlg.state = 1;
 
			walk('atl_iof_intro'); 
 
			walk('generic');
 
		]]};
 
		{tag='pre_iof'};
 
		{tag='friendly'};
 
		{"He'vji'a'rr?", [[Леарр кивает: "Мы так-наззываем пришшедшших-сс-поверхноссти-васс". ]]};
 
		{"Я хотел кое-что спросить.", [["Ты говорри", -- просит Леарр. ]], code [[ 
 
			char_learr_atlantis_dlg.state = 1;
 
			walk('atl_iof_intro'); 
 
			walk('generic');
 
		]]};
 
		{tag="after_iof"};
 
		{"Рад, что смог помочь.", [[Леарр кивает, все еще находясь в явном возбуждении: "Ты говоррить-пришшел? Ты говорри". ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="iyh1", false, "Расскажи о вашем конфликте с Дипатреанотром.", [[Леарр начинает рассказывать, активно жестикулируя: "Рреликвия нессколько-дней-наззад-изз-нашшего-хррама-прропала. Na'vji'a'yhe'dyp'atre'anot'rr вззяли нашшу-рреликвию! Они потом-в-наш-город-пришли и требовали-вернуть их-реликвию! Мы не-брали ее и это-сказали им!" -- Леарр недовольно топает и шипит, -- "Они нам-не-верят! Они украли нашу-вещь и не-верят нам!" ]], code [[ atl_iyh_learr_spoken = true; ]]};
 
        {tag="iyh2", false, "Я отправляюсь в храм Дипатреанотра. Мне не помешает твоя помощь.", [[Плавники Леарр принимают фиолетовый оттенок: "He'vji'a'rr нельзя туда!"]], code [[ psub("join_me"); ]]};      
 
        {tag="sabotage", false, "Ты знаешь, что пожар начался из-за саботажа?", [[Леарр непонимающе крутит головой: "Я что-ты-говоришь-не-понимаю. Что саботаж?" ]], code [[ poff("ignis_what");psub("sabotage_explain"); ]]};
 
        {tag="ignis_what", false, "Ты знаешь, почему начался пожар в Игнисе?", [[Леарр неуверенно пожимает плечами: "Я ты-лучше-знаешь-думаю. Ты расскажешь?"]], code [[ psub("sabotage_reason"); ]]};
 
        {tag="iyh2", false, "Я отправляюсь в храм Дипатреанотра. Мне не помешает твоя помощь.", [[Плавники Леарр принимают фиолетовый оттенок: "He'vji'a'rr нельзя туда!"]], code [[ psub("join_me"); ]]};
 
        {tag="books", false, "[Показать на книгу] Ты читаешь наши книги?", function(s)
 
            if (rel_learr < 0) then
 
                char_learr.on_books = 1;
 
@@ -1807,19 +1819,6 @@ char_learr_atlantis_dlg = dlg {
 
            move(char_learr, char_learr.home);
 
            pret();
 
        ]]};
 
        {tag="sabotage_explain"};
 
        {"Кто-то из работников станции устроил пожар.", [[Леарр непонимающе смотрит на вас: "Я зачем-не-понимаю". ]], code [[char_learr_atlantis_dlg.sabotage_explained = true; pon("explanation2", "avoid");]]};
 
        {tag="explanation2", false, "Он сделал это специально с какой-то собственной целью.", [[Леарр все еще не понимая переспрашивает: "Зачем?"]]};
 
        {"Не думаю, что есть смысл об этом еще говорить.", function(s)
 
            if (char_learr_atlantis_dlg.sabotage_explained) then
 
                return [[Леарр кивает: "Я благодарю-за-объяснение тебя". ]];
 
            else
 
                return [[Леарр кивает. ]];
 
            end;
 
        end};
 
        {tag="sabotage_reason"};
 
        {"Это был саботаж.", [[Леарр непонимающе крутит головой: "Я что-ты-говорришшь-не-понимаю. Что ссаботажж?" ]], code [[ poff("sabotage"); psub("sabotage_explain"); ]]};
 
        {"Я не знаю. Но хотел бы знать", [[Леарр разочарованно вздыхает: "Ты ессли-уззнаешшь-рассскажжи". ]], code [[psub("generic");]]};
 
        {tag="more_on_books"};
 
        {"Я могу помочь?", [[Леарр кивает: "Я думаю-ты-дрругим-делом-ззанят. Я не-хчочу-мешшать". ]], code[[ char_learr.on_books = 3; pret(); ]]};
 
        {"Давно ты этим занимаешься?", [[Леарр кивает: "Я с-ссамого-пррибытия-вашши-книги-учуссь-читать. Я надеюссь-вссе-пойму ссо-врременем". ]]};
atlantis_ignis.lua
Show inline comments
 
atl_ignis_main_center = room {
 
	nam = "Атлантида, Игнис, у лифта";
 
    dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в центре зала, рядом с шахтой лифта.  ]];
 
    dsc = [[Вы в центре огромного круглого зала. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. Рядом с вами расположена шахта лифта. В юго-западной, южной, юго-восточной, северо-восточной и северной частях зала расположены шлюзовые двери. ]];
 
	way = {
 
		vroom("В лифт", "atl_dom_lift");
 
		vroom("На север", "atl_ignis_main_toa");
 
@@ -14,7 +14,7 @@ atl_ignis_main_center = room {
 
 
atl_ignis_main_emex = room {
 
	nam = "Атлантида, Игнис, у аварийного выхода";
 
	dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в южной части зала, рядом со шлюзом аварийного выхода. ]];
 
	dsc = [[Вы находитесь в южной части огромного круглого зала, рядом со шлюзом аварийного выхода. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В шлюз", function()
 
			pr("Вам там нечего делать. ");
 
@@ -28,7 +28,7 @@ atl_ignis_main_emex = room {
 
 
atl_ignis_main_toc = room {
 
	nam = "Атлантида, Игнис, у входа в зал C";
 
	dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в юго-западной части зала, рядом со входом в зал C. ]];
 
	dsc = [[Вы находитесь в юго-западной части огромного круглого зала, рядом со входом в зал C. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В зал C", function()
 
			atl_lfc_hallrooms = 1;
 
@@ -46,7 +46,7 @@ atl_ignis_main_nw_wall = room {
 
		seen = 0;
 
	};
 
	nam = "Атлантида, Игнис, у стены";
 
	dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в северо-западной части зала. ]];
 
	dsc = [[Вы находитесь в северо-западной части огромного круглого зала. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	entered = function(s) 
 
		if (s.seen == 0) then
 
			pr("Ваш взгляд зацепляется за открытый электрический щиток. Атлантида обычно содержится в полном порядке и инженеры редко позволяют себе забыть все вернуть как было после проведения работ. ");
 
@@ -72,7 +72,7 @@ atl_ignis_main_nw_wall_panel = obj {
 
 
atl_ignis_main_toa = room {
 
	nam = "Атлантида, Игнис, у входа в зал A";
 
	dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в северо-западной части зала, рядом со входом в зал A. ]];
 
	dsc = [[Вы находитесь в северо-западной части огромного круглого зала, рядом со входом в зал A. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		vroom("В зал A", "atl_ignis_hall_a");
 
		vroom("На юг", "atl_ignis_main_center");
 
@@ -83,7 +83,7 @@ atl_ignis_main_toa = room {
 
 
atl_ignis_main_tos = room {
 
	nam = "Атлантида, Игнис, у входа в служебное помещение";
 
	dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в северо-восточной части зала, рядом со входом в служебное помещение. ]];
 
	dsc = [[Вы находитесь в северо-восточной части огромного круглого зала, рядом со входом в служебное помещение. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В служебное помещение", function()
 
			pr("Вам там нечего делать сейчас");
 
@@ -97,7 +97,7 @@ atl_ignis_main_tos = room {
 
 
atl_ignis_main_tob = room {
 
	nam = "Атлантида, Игнис, у входа в зал B";
 
	dsc = [[Огромный круглый зал залит ярким светом электрических ламп. Вокруг установлено большое количество заполненных кинопленками и образущих широкие коридоры высоких стеллажей, упирающихся в металлический потолок зала. Вы находитесь в юго-западной части зала, рядом со входом в зал B. ]];
 
	dsc = [[Вы находитесь в юго-западной части огромного круглого зала, рядом со входом в зал B. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В зал B", function()
 
			atl_lfc_hallrooms = 1;
atlantis_ignis_on_fire.lua
Show inline comments
 
deleted file
main.lua
Show inline comments
 
@@ -10,6 +10,7 @@ require "hideinv"
 
require "kbd"
 
require "timer"
 
require "click"
 
require "prefs"
 
 
-- Код и ядро
 
dofile "utils.lua"
 
@@ -32,10 +33,8 @@ dofile "atlantis.lua"
 
dofile "atlantis_ignis.lua"
 
dofile "atlantis_dlg.lua"
 
dofile "atlantis_intro.lua"
 
dofile "atlantis_ignis_on_fire.lua"
 
dofile "atlantis_iraa.lua"
 
dofile "atlantis_dyp.lua"
 
dofile "atlantis_looking_for_clues.lua"
 
dofile "atlantis_from_the_ashes.lua"
 
dofile "atlantis_iyhehevjiarr.lua"
 
-- Часть 3: Путь в Лсэрианотр
startup.lua
Show inline comments
 
@@ -29,6 +29,8 @@ global {
 
    dt_buttons = {};
 
    
 
    --Глобальные состояния(для концовок)
 
    mtr_outcome = 0; -- 1 - leroy accused, 2 - jones accused
 

	
 
    conflict_resolved = false; -- Решен ли конфликт между навьярами
 
    artifacts_returned = false; -- Вернили ли артефакты из храма навьярам?
 
    wright_state = 0; -- был взят Райт на борт или нет
 
@@ -142,6 +144,12 @@ function init()
 
    leviathan_init();
 
    warehouse18_init();
 
    warehouse32_init();
 

	
 
    if prefs.language then
 
        language = prefs.language;
 
    else
 
        prefs.language = language;
 
    end;
 
    
 
    local nums = {1,2,3,4,5,6};
 
    for i = 1, 4 do 
utils.lua
Show inline comments
 
@@ -30,6 +30,18 @@ PartyUtils = {
 
};
 
 
--[[
 
    Translate utils
 
 ]]
 
 
language = "ru"
 
 
translate = function(table, key)
 
    return function()
 
        return table[language][key];
 
    end;
 
end;
 
 
--[[
 
    functions, design to simplify some typical actions while developing Instead game
 
]]
 
EngineUtils = {
 
@@ -71,11 +83,11 @@ EngineUtils = {
 
	vroom_save = function(s)
 
		if need then
 
			local t = stead.string.format("%s = kh_vroom(%s, %q, %s);\n",
 
				name, stead.tostring(self.disp), 
 
					stead.deref(self.where), stead.deref(self.nam));
 
				name, stead.tostring(s.disp),
 
					stead.deref(s.where), stead.deref(s.nam));
 
			h:write(t);
 
		end
 
		stead.savemembers(h, self, name,false);
 
		stead.savemembers(h, s, name, false);
 
	end;
 
};
 
0 comments (0 inline, 0 general)