Changeset - e8d1e9d9d258
[Not reviewed]
default
2 5 0
Silverwing - 8 years ago 2016-03-11 16:06:45

Removed unnecessary files and added atlantis locations
7 files changed with 478 insertions and 39 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
atlantis_illuminators = obj {
 
	nam = "Иллюминаторы";
 
	dsc = [[
 
		Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}.
 
	]];
 
	act = [[
 
		Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлически конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелой металлической обуви персонала станции. 
 
	]];
 
};
 
 
atlantis_aqua_corridor_b = room {
 
	nam = "Атлантида, Аква, коридор B";
 
	dsc = [[
 
		Широкий коридор, освещенный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая, судя по надписи на ней в основной коридор секции _"Аква"_. По бокам коридора вы видите еще несколько дверей, ведущие в другие помещения секции: гостевые доки A, B и С. 
 
	]];
 
	way = {
 
		kh_vroom("В гостевой док A", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В гостевой док B", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В гостевой док C", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В главный коридор", "atlantis_aqua_main_corridor");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_aqua_leviathan_dock = room {
 
	nam = "Атлантида, Аква, гостевой док A";
 
	dsc = [[
 
		Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен _"Левиафан"_. Под потолком, на высоте примерно в 5 метров укреплены специальные балки, по которым могут свободно перемещаться крюки подъемных кранов. Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. 
 
	]];
 
	way = {
 
		kh_vroom("В коридор B", "atlantis_aqua_corridor_b");
 
	};
 
};
 
 
atlantis_aqua_corridor_a = room {
 
	nam = "Атлантида, Аква, коридор B";
 
	dsc = [[
 
		Широкий коридор, освещенный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая, судя по надписи на ней в основной коридор секции _"Аква"_. По бокам коридора вы видите еще несколько дверей, ведущие к докам, закрепленным за субмаринами, приписанными к станции. 
 
	]];
 
	way = {
 
		kh_vroom("В док \"Надежды\"", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В док \"Энтерпрайза\"", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В док \"Наутилуса\"", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В главный коридор", "atlantis_aqua_main_corridor");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_aqua_main_corridor = room {
 
	nam = "Атлантида, Аква, центральный коридор";
 
	dsc = [[
 
		Широкий коридор, освещенный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая, судя по надписи на ней в секцию _"Доминус"_. По бокам коридора вы видите еще несколько дверей, ведущие в другие помещения секции. Судя по всему это склады. Также две двери ведут соответственно в коридоры A и B. 
 
	]];
 
	way = {
 
		kh_vroom("На склад A", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("На склад B", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("На склад C", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("На склад D", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В коридор A", "atlantis_aqua_corridor_a");
 
		kh_vroom("В коридор B", "atlantis_aqua_corridor_b");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_intersection_aqua_dominus");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_intersection_aqua_dominus = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[
 
		Небольшой коридор, расположенный между секциями станции. Яркий свет электрическихз ламп освещает помещение. 
 
	]];
 
	way = {
 
		kh_vroom("В секцию \"Аква\"", "atlantis_aqua_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_dominus_main_hall");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_dominus_main_hall = room {
 
	nam = "Атлантида, Доминус, центральный зал";
 
	dsc = [[
 
		Огромный круглый зал с куполообразным потолком. Потолок частично сделан из стекла, открывая прекрасный вид на водную толщу. Яркий свет электрических ламп освещает помещение. Вдоль стен расположены скамейки, а вокруг центра установлены высокие металлические колонны, помогающие поддерживать потолок. 
 
	]];
 
	way = {
 
		kh_vroom("В лифт", "atlantis_dominus_lift");
 
		kh_vroom("В библиотеку", "atlantis_dominus_library");
 
		kh_vroom("В коридор A", "atlantis_dominus_corridor_a");
 
		kh_vroom("В коридор B", "atlantis_dominus_corridor_b");
 
		kh_vroom("В секцию \"Аква\"", "atlantis_intersection_aqua_dominus");
 
		kh_vroom("В секцию \"Луна\"", "atlantis_intersection_luna_dominus");
 
		kh_vroom("В секцию \"Арктос\"", "atlantis_intersection_arctos_dominus");
 
		kh_vroom("В секцию \"Терра\"", "atlantis_intersection_terra_dominus");
 
	};
 
};
 
 
atlantis_dominus_corridor_a = room {
 
	nam = "Атлантида, Доминус, коридор A";
 
	dsc = [[
 
		Просторный коридор, расположенный в западном крыле секции Доминус. 
 
	]];
 
	way = {
 
		kh_vroom("В лабораторию A", "atlantis_dominus_lab_a");
 
		kh_vroom("В лабораторию B", "atlantis_dominus_lab_b");
 
		kh_vroom("В центральный зал", "atlantis_dominus_main_hall");
 
	};
 
};
 
 
atlantis_dominus_lab_a = room {
 
	nam = "Атлантида, Доминус, лаборатория A";
 
	dsc = [[
 
		Комната со множеством столов, шкафов и различных приборов. Вдоль стен над столами видны решетки вентиляции - в случае нештатной ситуации помещение легко можно будет проветрить.
 
	]];
 
	way = {
 
		kh_vroom("В коридор", "atlantis_dominus_corridor_a");
 
	};
 
};
 
 
atlantis_dominus_lab_b = room {
 
	nam = "Атлантида, Доминус, лаборатория B";
 
	dsc = [[
 
		Комната со множеством столов, шкафов и различных приборов. Вдоль стен над столами видны решетки вентиляции - в случае нештатной ситуации помещение легко можно будет проветрить.
 
	]];
 
	way = {
 
		kh_vroom("В коридор", "atlantis_dominus_corridor_a");
 
	};
 
};
 
 
atlantis_dominus_corridor_b = room {
 
	nam = "Атлантида, Доминус, коридор B";
 
	dsc = [[
 
		Просторный коридор, расположенный в западном крыле секции Доминус. Вдоль стен расположено несколько скамеек. 
 
	]];
 
	way = {
 
		kh_vroom("В архив", "atlantis_dominus_archive");
 
		kh_vroom("В кабинет администратора", "atlantis_dominus_administator_room");
 
		kh_vroom("В секцию \"Луна\"", "atlantis_intersection_luna_dominus");
 
	};
 
};
 
 
atlantis_dominus_archive = room {
 
	nam = "Атлантида, Доминус, архив";
 
	dsc = [[
 
		Большая комната со множеством стеллажей, заполненных всевозможными бумагами.
 
	]];
 
	way = {
 
		kh_vroom("В коридор", "atlantis_dominus_corridor_b");
 
	};
 
};
 
 
atlantis_dominus_administator_room = room {
 
	nam = "Атлантида, Доминус, архив";
 
	dsc = [[
 
		Небольшая комнатушка. В центре ее расположен стол. Вдоль стен установлено несколько шкафов. Напротив входа на стене висит карта местности. 
 
	]];
 
	way = {
 
		kh_vroom("В коридор", "atlantis_dominus_corridor_b");
 
	};
 
};
 
 
atlantis_intersection_luna_dominus = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[
 
		Небольшой коридор, расположенный между секциями станции. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		kh_vroom("В секцию \"Луна\"", "atlantis_luna_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_dominus_main_hall");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_intersection_arctos_dominus = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[
 
		Небольшой коридор, расположенный между секциями станции. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		kh_vroom("В секцию \"Арктос\"", "atlantis_arctos_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_dominus_main_hall");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_luna_main_corridor = room {
 
	nam = "Атлантида, Луна, главный коридор";
 
	dsc = [[
 
		Узкий длинный коридор. По обе его стороны расположены двери, ведущие в комнаты персонала. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		kh_vroom("В общую комнату", "atlantis_luna_common_room");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_intersection_luna_dominus");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_arctos_main_corridor = room {
 
	nam = "Атлантида, Арктос, главный коридор";
 
	dsc = [[
 
		Узкий длинный коридор. По обе его стороны расположены двери, ведущие в комнаты персонала. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		kh_vroom("В общую комнату", "atlantis_arctos_common_room");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_intersection_arctos_dominus");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_luna_common_room = room {
 
	nam = "Атлантида, Луна, общая комната";
 
	dsc = [[
 
		Средних размеров комната. В центре установлен массивный стол, вокруг которого расположено несколько стульев. 
 
	]];
 
	way = {
 
		kh_vroom("В главный коридор", "atlantis_luna_main_corridor");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_arctos_common_room = room {
 
	nam = "Атлантида, Луна, общая комната";
 
	dsc = [[
 
		Средних размеров комната. В центре установлен массивный стол, вокруг которого расположено несколько стульев. 
 
	]];
 
	way = {
 
		kh_vroom("В главный коридор", "atlantis_arctos_main_corridor");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_intersection_terra_dominus = room {
 
	nam = "Атлантида, межсекционный коридор";
 
	dsc = [[
 
		Небольшой коридор, расположенный между секциями станции. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		kh_vroom("В секцию \"Терра\"", "atlantis_terra_main_corridor");
 
		kh_vroom("В секцию \"Доминус\"", "atlantis_dominus_main_hall");
 
	};
 
	obj = {
 
		"atlantis_illuminators"
 
	};
 
};
 
 
atlantis_terra_main_corridor = room {
 
	nam = "Атлантида, Терра, главный коридор";
 
	dsc = [[
 
		Широкий просторный коридор. По обе стороны его расположены шлюзовые двери, ведущие в мастерские. Вдоль стен расположено множество ящиков. В конце коридора находятся две двери, ведущие в технические секции станции.
 
	]];
 
	way = {
 
		kh_vroom("В мастерскую A", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В мастерскую B", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В мастерскую C", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В мастерскую D", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В секцию Солис", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В секцию Аэрис", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В секцию Доминус", "atlantis_intersection_terra_dominus");
 
	};
 
};
 
 
atlantis_dominus_lift = room {
 
	_state = 0;
 
	nam = "Атлантида, лифт";
 
	dsc = [[
 
		Герметичная кабина лифта, рассчитанная на 5-6 человек. 
 
	]];
 
	way = {
 
		kh_vroom("Выйти", function()
 
			if (atlantis_dominus_lift._state == 0) then
 
				return "atlantis_dominus_main_hall";
 
			else
 
				return "atlantis_ignis_main_hall";
 
			end;
 
		end);
 
	};
 
	obj = {
 
		"atlantis_lift_lever"
 
	};
 
};
 
 
atlantis_lift_lever = obj {
 
	nam = "Рычаг";
 
	dsc = [[
 
		На стене лифта укреплен массивный {рычаг}, поворачивая который, вы приведете в движение механизм, поднимающий и опускающий кабину лифта. 
 
	]];
 
	act = function(s)
 
		if (atlantis_dominus_lift._state == 1) then
 
			atlantis_dominus_lift._state = 0;
 
			return [[
 
				Вы поворачиваете рычаг и слышите грохот механизмов, плавно опускающих кабину лифта.
 
			]];
 
		else
 
			atlantis_dominus_lift._state = 1;
 
			return [[
 
				Вы поворачиваете рычаг и слышите грохот механизмов, плавно поднимающих кабину лифта.
 
			]];
 
		end;
 
	end;
 
};
 
 
atlantis_ignis_main_hall = room {
 
	nam = "Атлантида, Игнис, центральный зал";
 
	dsc = [[
 
		Огромный круглый зал. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана, проплывающих внизу, рядом и выше рыб. 
 
		В центре зала расположена шахта лифта, а вдоль стен расположены четыре шлюзовых двери, три из которых ведут в другие залы Игниса, а один - в служебное помещение. От лифтовой шахты к краям зала ведут четыре тропинки, а пространство между ними занято где-то стеллажами с различными предметами, где-то установлены столики с удобными стульями, скамейки. 
 
	]];
 
	way = {
 
		kh_vroom("В лифт", "atlantis_dominus_lift");
 
		kh_vroom("В зал A", "atlantis_ignis_hall_a");
 
		kh_vroom("В зал B", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В зал C", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
		kh_vroom("В служебное помещение", function()
 
			pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
			return false;
 
		end);
 
	};
 
};
 
 
atlantis_ignis_hall_a = room {
 
	nam = "Атлантида, Игнис, зал А";
 
	dsc = [[
 
		Средних размеров прямоугольный зал. 
 
	]];
 
	obj = {
 
		'ignis_illuminator';
 
		'ignis_screen';
 
		'ignis_projector';
 
		'ignis_lightswitch';
 
	};
 
};
 
 
ignis_illuminator = obj {
 
	nam = "Иллюминатор";
 
	_state = 1;
 
	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;
 
};
 
 
ignis_screen = obj {
 
	nam = "Экран";
 
	dsc = function(s)
 
		return [[
 
			Экран
 
		]];
 
	end;
 
};
 
 
ignis_projector = obj {
 
	nam = "Проектор";
 
	dsc = function(s)
 
		return [[
 
			Проектор
 
		]];
 
	end;
 
};
 
 
ignis_lightswitch = obj {
 
	nam = "Выключатель";
 
	dsc = function(s)
 
		return [[
 
			Выключатель
 
		]];
 
	end;
 
};
 
 
char_learr_atlantis = obj {
 
	nam = "Леарр";
 
	var {
 
		state = 0;
 
	};
 
	dsc = function(s)
 
	end;
 
};
 
\ No newline at end of file
hotel.lua
Show inline comments
 
deleted file
leviathan.lua
Show inline comments
 
@@ -518,7 +518,7 @@ leviathan_airpump_control = obj {
 
				Вы выключаете воздушные насосы. 
 
			]];
 
		else
 
			lifeon(submarine_leviathan);
 
			lifeon(s);
 
			submarine_leviathan.airpump = true;
 
			return [[
 
				Вы включаете воздушные насосы. 
 
@@ -878,6 +878,7 @@ phone_dlg = dlg {
 
};
 
 
function leviathan_init()
 
	put(submarine_leviathan:disable(), dock_mooring);
 
	local i = 0;
 
	while i < submarine_leviathan.circuit_breaks do
 
		local t = rnd(#leviathan_wiring);
leviathan_disabled.lua
Show inline comments
 
deleted file
main.lua
Show inline comments
 
@@ -132,15 +132,15 @@ function init()
 
	warehouse32_init();
 
	---game init
 
	pl.where = intro;
 
	put(submarine_leviathan:disable(), dock_mooring);
 
	---debug
 
	-- pl.where = warehouse_32_night;
 
	pl.where = atlantis_aqua_leviathan_dock;
 
	-- pl.where = warehouse_32;
 
	-- pl.where = w32_mgr;
 
	-- put(item_toolbox, pl);
 
	-- put(item_cogs, pl);
 
	-- put(item_pump_details, pl);
 
	-- put(item_electrodes, pl);
 
	put(item_lamp, pl);
 
	--put(item_lamp, pl);
 
	-- pl.where = aurora_borealis;
 
	-- move(submarine_leviathan, first_city_entrance);
 
	-- move(submarine_leviathan, first_city_outer_east);
 
@@ -155,4 +155,4 @@ function init()
 
	-- pl.where = hotel_street;
 
	-- pl.where = warehouse_32_entry;
 
	-- dock_found = true;
 
end
 
\ No newline at end of file
 
end;
 
\ No newline at end of file
utils.lua
Show inline comments
 
@@ -248,7 +248,7 @@ function input_number(tab)
 
		--return tab.label .. tab.input .. "_";
 
	end;
 
	tab.entered = function(s)
 
		input = "";
 
		s.input = "";
 
		hook_keys('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'backspace', 'return');
 
	end;
 
	tab.left = function(s)
warehouse32.lua
Show inline comments
 
@@ -691,6 +691,9 @@ warehouse_32_shelves = obj {
 
 
w32_shelf_input = input_number {
 
	nam = "w32_shelf_input";
 
	disp = function(s) 
 
		return "Стеллаж с отметкой " .. s.sector;
 
	end;
 
	check = function(s, input)
 
		for i = 1, #s.items do
 
			if (s.items[i].shelf == s.sector and w32_shelf_input.items[i].position == input and not w32_shelf_input.items[i].taken) then
 
@@ -709,6 +712,7 @@ w32_shelf_input = input_number {
 
};
 
 
function warehouse32_init()
 
	print("init w32");
 
	for i = 1, #w32_shelf_input.items do
 
		local ok = false;
 
		while not ok do
0 comments (0 inline, 0 general)