Files @ 25cc88aa8577
Branch filter:

Location: games/Awakening/atlantis_ignis.lua

Silverwing
logic and savegame fixes
atl_ignis_main_center = room {
	nam = "Атлантида, Игнис, главный зал, у лифта";
	dsc = [[
		Вы в центре огромного круглого зала. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. Рядом с вами расположена шахта лифта. В юго-западной, южной, юго-восточной, северо-восточной и северной частях зала расположены шлюзовые двери.
	]];
	way = {
		vroom("В лифт", "atl_dom_lift");
		vroom("На север(к залу A)", "atl_ignis_main_toa");
		vroom("На юго-запад(к залу C)", "atl_ignis_main_toc");
		vroom("На юго-восток(к залу B)", "atl_ignis_main_tob");
		vroom("На юг", "atl_ignis_main_emex");
		vroom("На северо-запад", "atl_ignis_main_nw_wall");
		vroom("На северо-восток", "atl_ignis_main_tos");
	};
};

atl_ignis_main_emex = room {
	nam = "Атлантида, Игнис, главный зал, южная часть, аварийный выход";
	dsc = [[
		Рядом с вами расположен шлюз аварийного выхода. К северу находится шахта лифта.
	]];
	way = {
		kh_vroom("В шлюз", function()
			pr("Без скафандра вы там недолго проживете");
			return false;
		end);
		vroom("На север(к лифту)", "atl_ignis_main_center");
		vroom("По часовой стрелке(к залу C)", "atl_ignis_main_toc");
		vroom("Против часовой стрелки(к залу B)", "atl_ignis_main_tob");
	};
};

atl_ignis_main_toc = room {
	nam = "Атлантида, Игнис, главный зал, юго-западная часть, вход в зал C";
	dsc = [[
		Рядом с вами расположен вход в зал С. К северозападу находится шахта лифта.
	]];
	way = {
		kh_vroom("В зал C", function()
			atl_lfc_hallrooms = 1;
			pr("Дверь заклинило");
			return false;
		end);
		vroom("На северо-восток(к лифту)", "atl_ignis_main_center");
		vroom("По часовой стрелке", "atl_ignis_main_nw_wall");
		vroom("Против часовой стрелки", "atl_ignis_main_emex");
	};
};

atl_ignis_main_nw_wall = room {
	var {
		seen = 0;
	};
	nam = "Атлантида, Игнис, главный зал, северо-западная часть, стена";
	dsc = [[
		К югозападу находится шахта лифта
	]];
	entered = function(s) 
		if (s.seen == 0) then
			pr("Ваш взгляд зацепляется за открытый электрический щиток. Атлантида обычно содержится в полном порядке и инженеры редко позволяют себе забыть все вернуть как было после проведения работ. ");
			s.seen = 1;
			atl_lfc_board = 1;
			return "";
		end;
	end;
	way = {
		vroom("На юго-восток(к лифту)", "atl_ignis_main_center");
		vroom("Против часовой стрелки(к залу C)", "atl_ignis_main_toc");
		vroom("По часовой стрелке(к залу A)", "atl_ignis_main_toa");
	};
	obj = {
		atl_ignis_main_nw_wall_panel;
	};
};

atl_ignis_main_nw_wall_panel = obj {
	nam = "Щиток";
	dsc = [[
		В стену вмонтирован {электрический щиток}. Сейчас он открыт. 
	]];
};

atl_ignis_main_toa = room {
	nam = "Атлантида, Игнис, главный зал, северная часть, вход в зал A";
	dsc = [[
		Рядом с вами расположен вход в зал A. К югу находится шахта лифта.
	]];
	way = {
		vroom("В зал A", "atl_ignis_hall_a");
		vroom("На юг(к лифту)", "atl_ignis_main_n");
		vroom("Против часовой стрелки", "atl_ignis_main_nw_wall");
		vroom("По часовой стрелке(к служебному помещению)", "atl_ignis_main_tos");
	};
};

atl_ignis_main_tos = room {
	nam = "Атлантида, Игнис, главный зал, северо-восточная часть, вход в служебное помещение";
	dsc = [[
		Рядом с вами расположен вход в служебное помещение. К югу находится шахта лифта.
	]];
	way = {
		kh_vroom("В служебное помещение", function()
			pr("Вам там нечего делать сейчас");
			return false;
		end);
		vroom("На юго-запад(к лифту)", "atl_ignis_main_center");
		vroom("По часовой стрелке(к залу B)", "atl_ignis_main_tob");
		vroom("Против часовой стрелки(к залу A)", "atl_ignis_main_toa");
	};
};

atl_ignis_main_tob = room {
	nam = "Атлантида, Игнис, главный зал, юго-западная часть, вход в зал B";
	dsc = [[
		Рядом с вами расположен вход в зал B. К северозападу находится шахта лифта.
	]];
	way = {
		kh_vroom("В зал B", function()
			atl_lfc_hallrooms = 1;
			pr("Дверь заклинило");
			return false;
		end);
		vroom("На северо-запад(к лифту)", "atl_ignis_main_center");
		vroom("Против часовой стрелки", "atl_ignis_main_tos");
		vroom("По часовой стрелке", "atl_ignis_main_emex");
	};
};

atl_ignis_hall_a = room {
	nam = "Атлантида, Игнис, зал А";
	enter = function(s)
		if (seen(char_learr_atlantis, atl_ignis_hall_a) and ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
			if (where(char_jack_wright_atlantis) ~= atl_ignis_hall_a) then
				put('char_jack_wright_atlantis', 'atl_ignis_hall_a');
			end;
		end;
	end;
	dsc = [[
		Средних размеров прямоугольный зал. 
	]];
	obj = {
		'atl_ignis_illuminator';
		'atl_ignis_screen';
		'atl_ignis_projector';
		--'atl_ignis_lightswitch';
	};
	way = {
		vroom("В коридор", "atl_ignis_main_toa");
	};
};

atl_ignis_illuminator = obj {
	var {
		state = 1;
	};
	nam = "Иллюминатор";
	dsc = function(s)
		if (s.state == 1) then
			return [[
				Огромное панорамное {окно} открывает великолепный вид на океан вокруг.
			]];
		else
			return [[
				Огромное панорамное {окно} закрыто тяжелыми металлическими листами.
			]];
		end;
	end;
	act = function(s)
		if (s.state == 1) then
			s.state = 0;
			return [[
				Вы нажимаете на кнопку рядом с окном и металлические листы со скрежетом закрывают его, полностью блокируя проникновение света извне.
			]];
		else
			s.state = 1;
			return [[
				Вы нажимаете на кнопку рядом с окном и металлические листы со скрежетом отъезжают в стороны, открывая его.
			]];
		end;
	end;
};

atl_ignis_screen = obj {
	nam = "Экран";
	dsc = function(s)
		return [[
			На одной из стен закреплен экран.
		]];
	end;
};

atl_ignis_projector = obj {
	var {
		state = 0;
	};
	nam = "Проектор";
	dsc = function(s)
		if (s.state == 0) then
			return [[
				{Проектор} готов к работе.
			]];
		else
			return [[
				{Проектор} не работает.
			]];
		end;
	end;
	act = function(s)
		if (s.state == 0) then
			s.state = 1;
			atl_lfc_electric = 1;
			return [[
				Вы включаете проектор, однако он не работает. 
			]];
		else
			s.state = 0;
			return [[
				Вы выключаете проектор. 
			]];

		end;
	end;
};

--[[atl_ignis_lightswitch = obj {
	nam = "Выключатель";
	dsc = function(s)
		return [ [
			На стене вы видите {выключатель}.
		] ];
	end;
	act = function(s)
		return [ [
			
		] ];
	end;
};]]