Files @ 38255c2dc001
Branch filter:

Location: games/Awakening/first_city_outer_rim.lua - annotation

Silverwing
Warehouse 18: Done
WIP: Warehouse 32
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
a12ad365166a
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
a12ad365166a
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
8c44ecc37d8d
8c44ecc37d8d
8c44ecc37d8d
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
c4b207ce4252
17f7f42688ff
17f7f42688ff
c4b207ce4252
c4b207ce4252
17f7f42688ff
17f7f42688ff
c4b207ce4252
8c44ecc37d8d
8c44ecc37d8d
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
7e7579e17140
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
8c44ecc37d8d
8c44ecc37d8d
7e7579e17140
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
8c44ecc37d8d
8c44ecc37d8d
77aa01170934
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
a12ad365166a
a12ad365166a
a12ad365166a
8c44ecc37d8d
8c44ecc37d8d
7e7579e17140
c4b207ce4252
7e7579e17140
7e7579e17140
77aa01170934
77aa01170934
7e7579e17140
7e7579e17140
7e7579e17140
77aa01170934
77aa01170934
77aa01170934
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
77aa01170934
77aa01170934
77aa01170934
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
77aa01170934
7e7579e17140
7e7579e17140
7e7579e17140
77aa01170934
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
c4b207ce4252
--dependencies
dofile "service_tunnels.lua";
dofile "hope.lua";
dofile "hope_cutscene.lua";

-- TODO (приватная бета-версия) добавить описания ворот открытых и закрытых

char_first_city_guardian = obj {
	nam = "first_city_guardian";
	disp = "Страж";
	dsc = [[
		Вы видите фигуру {Навьяра}, стоящего около ворот. Приглядевшись внимательнее, вы понимаете, что это автоматон.^
	]];
	act = function()
		return [[
			Автоматон выглядит намного совершеннее тех, что вам доводилось видеть на Атлантиде. Его тело покрыто чешуей, как и тело живых Навьяр. Его выдают лишь стеклянные немигающие глаза и полная неподвижность.
			Головные плавники автоматона плавно меняют цвета, но даже если бы вы понимали, что это значит, вы не смогли бы ему ответить.
		]];
	end
};

first_city_entrance = room {
	nam = "first_city_entrance";
	disp = "Лсэрианотр, врата";
	dsc = function(s)
		if (not s.open) then
			return [[
				Вы находитесь на глубине нескольких километров под водой. Прожектор вашего скафандра с трудом пробивает непроглядную толщу воды. 
				Почти вплотную перед вами расположены огромные ворота из неизвестного материала. 
			]];
		else
			return [[
				Вы находитесь на глубине нескольких километров под водой. Прожектор вашего скафандра с трудом пробивает непроглядную толщу воды. 
				Огромные ворота открыты и Левиафан легко пройдет в них.
			]];
		end;
	end;
	view = function(s)
		if (not s.open) then
			return [[
				"Левиафан" находится на глубине нескольких километров под водой. Мощный прожектор субмарины с трудом пробивает непроглядную толщу воды. 
				Огромные ворота из неизвестного материала преграждают вам путь внутрь. 
			]];
		else
			return [[
				"Левиафан" находится на глубине нескольких километров под водой. Мощный прожектор субмарины с трудом пробивает непроглядную толщу воды. 
				Огромные ворота открыты и Левиафан легко пройдет в них.
			]];
		end;
	end;
	obj = {
		"char_first_city_guardian";
	};
	way = {
		vroom("Левиафан", "leviathan_airlock");
	};
};

first_city_outer_south = room {
	nam = "first_city_outer_south";
	disp = "Лсэрианотр, внешнее кольцо, юг";
	gate = "first_city_entrance";
	east = "first_city_outer_east";
	west = "first_city_outer_west";
	navigatable = true;
	entered = function(s)
		s.entered = nil;
		-- Должно выполняться только один раз:
		-- 1. Генерируем сервисные тоннели
		-- 2. Генерируем табличку сервисных тоннелей для библиотеки
		-- 3. Генерируем ссылки на документы на Надежде
	end;
	dsc = [[
		Вы находитесь в южной части внешнего кольца Лсэрианотра. Это огромный коридор, опоясывающий город по периметру. 
		Высоко над головой виден прозрачный купол, не дающий проникнуть в город минуя ворота. 
	]];
	view = [[
		Вы находитесь в южной части внешнего кольца Лсэрианотра. Это огромный коридор, опоясывающий город по периметру. 
		Высоко над головой виден прозрачный купол, не дающий проникнуть в город минуя ворота.
	]];
	way = {
		vroom("Левиафан", "leviathan_airlock");
	};
};

first_city_outer_east = room {
	nam = "first_city_outer_east";
	disp = "Лсэрианотр, внешнее кольцо, восток";
	south = "first_city_outer_south";
	north = "first_city_outer_north";
	navigatable = true;
	dsc = [[
		Вы находитесь в восточной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. На востоке вы видите огромное здание с большим количеством труб, идущих до самого купола. Скорее всего, это какая-то древняя фабрика.
	]];
	view = [[
		Вы находитесь в восточной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. 
	]];
	way = {
		vroom("Левиафан", "leviathan_airlock");
		vroom("В здание", "first_city_factory");
	};
};

first_city_outer_west = room {
	nam = "first_city_outer_west";
	disp = "Лсэрианотр, внешнее кольцо, запад";
	south = "first_city_outer_south";
	north = "first_city_outer_north";
	navigatable = true;
	dsc = [[
		Вы находитесь в западной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. 
	]];
	view = [[
		Вы находитесь в западной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. 
	]];
	way = {
		vroom("Левиафан", "leviathan_airlock");
		vroom("В здание", "first_city_library");
	};
};

first_city_outer_north = room {
	nam = "first_city_outer_north";
	disp = "Лсэрианотр, внешнее кольцо, север";
	gate = "first_city_middle_north";
	east = "first_city_outer_east";
	west = "first_city_outer_west";
	navigatable = true;
	dsc = [[
		Вы находитесь в северной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. 
	]];
	view = [[
		Вы находитесь в северной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. 
	]];
	obj = {
		"submarine_hope"
	};
	way = {
		vroom("Левиафан", "leviathan_airlock");
		vroom("Надежда", "hope_airlock");
	};
};

path_first_city_tunnel = vroom("В сервисный тоннель", "service_tunnels");

first_city_factory = room {
	nam = "first_city_factory";
	disp = "Лсэрианотр, внешнее кольцо, завод";
	entered = function(s)
		service_tunnels.position = "3";
	end;
	dsc = [[
		Помещение, в котором вы находитесь, очевидно, некогда было заводом. Конвейеры, странные механизмы, разбросанные инструменты, долгие тысячелетия лежавшие без движения. 
	]];
	obj = {
		"item_pickaxe",
		"first_city_crack"
	};
	way = {
		disable(path_first_city_tunnel);
	};
};

first_city_crack = obj {
	nam = "first_city_crack";
	dsc = "В дальней стене вы видите {трещину}. Сквозь нее пробивается слабый свет, очевидно там какое-то помещение.";
	act = function(s)
		if (s.wide) then
			return [[
				Вы видите за щелью какие-то тоннели. Вы сможете пролезть туда.
			]];
		else
			return [[
				Нужно чем-то расширить эту щель, если вы хотите туда попасть
			]];
		end;
	end;
	canhit = true;
	onhit = function(s)
		if (s.wide) then
			return "Трещина уже достаточно большая для вас, нет смысла еще что-то с ней делать."
		else
			s.wide = true;
			enable(path_first_city_tunnel);
			return "Несколькими осторожными ударами кирки вы расширяете трещину достаточно, чтобы пролезть внутрь."
		end;
	end;
	
};

first_city_library = room {
	nam = "first_city_library";
	disp = "Лсэрианотр, внешнее кольцо, библиотека";
	dsc = [[
		В здании вы видите огромные стеллажи, заполненные табличками из неизвестного материала. Таблички исписаны письменами Навьяров и потускнели от времени. 
	]];
	obj = {
		'first_city_index',
		'first_city_maintenance_info'
	};
};

first_city_index = obj {
	nam = "first_city_index";
	dsc = "На стене возле входа висит большая {табличка}. ";
	act = function(s)
	end;
};

first_city_maintenance_info = obj {
	nam = "first_city_index";
	dsc = "Один из {стеллажей} рядом со входом содержит информацию об обслуживании Лсэрианотра. Вероятно, там вы найдете то, что поможет вам отключить охранную систему города. ";
	act = function(s)
		if (s.taken) then
			return "Врядли вы найдете здесь что-то еще полезное. ";
		else
			take("item_service_info")
			return "Вы просматриваете тысячи записей и уже почти теряете всякую надежду когда натыкаетесь на табличку, описывающую сервисные тоннели города. ";
		end;
	end;
};