Files @ 3570f0fdd82a
Branch filter:

Location: games/Awakening/warehouse32.lua

silverwing
fixed to work
--[[
Игрок может попасть сюда только после диалога с Майклом.
Эта локация имеет владельца, которому не понравится, что здесь шляются посторонние.
Здесь игрок найдет карту.
]]

warehouse_32_entry = room {
	nam = "warehouse_32_entry";
	disp = "Вход на склад 32";
	dsc = [[
		
	]];
	way = {
		kh_vroom("Войти", function(s)
			
		end;);
	};
};

warehouse_32_entry_night = room {
	nam = "warehouse_32_entry_night";
	disp = "Вход на склад 32";
	dsc = [[
		
	]];
};

warehouse_32_definitions = {
	---line E
	["01"] = { name="у задней двери", dsc=[[
		
	]], e1 = "11", ex3 = "w32_backdoor"};
	["02"] = { name="тупик", dsc=[[
		
	]], e1 = "12", corner = true};
	["03"] = { name="тупик", dsc=[[
		
	]], e1 = "13", corner = true};
	["04"] = { name="тупик", dsc=[[
		
	]], e1 = "14", corner = true};
	---line DE
	["10"] = { name="тупик", dsc=[[
		
	]], e2 = "11", corner = true};
	["11"] = { name="", dsc=[[
		
	]], e1 = "21", e2="12", e3="01", e4="10"};
	["12"] = { name="", dsc=[[
		
	]], e1 = "22", e2="13", e3="02", e4="11"};
	["13"] = { name="", dsc=[[
		
	]], e1 = "23", e2="14", e3="03", e4="12"};
	["14"] = { name="", dsc=[[
		
	]], e1 = "24", e2="15", e3="04", e4="13"};
	["15"] = { name="тупик", dsc=[[
		
	]], e4 = "14", corner = true};
	---line CD
	["20"] = { name="тупик", dsc=[[
		
	]], e2 = "21", corner = true};
	["21"] = { name="", dsc=[[
		
	]], e1 = "31", e2="22", e3="11", e4="20"};
	["22"] = { name="", dsc=[[
		
	]], e1 = "32", e2="23", e3="12", e4="21"};
	["23"] = { name="", dsc=[[
		
	]], e1 = "33", e2="24", e3="13", e4="22"};
	["24"] = { name="", dsc=[[
		
	]], e1 = "34", e2="25", e3="14", e4="23"};
	["25"] = { name="тупик", dsc=[[
		
	]], e4 = "24", corner = true};
	---line BC
	["30"] = { name="тупик", dsc=[[
		
	]], e2 = "31", corner = true};
	["31"] = { name="", dsc=[[
		
	]], e1 = "41", e2="32", e3="21", e4="30"};
	["32"] = { name="", dsc=[[
		
	]], e1 = "42", e2="33", e3="22", e4="31"};
	["33"] = { name="", dsc=[[
		
	]], e1 = "43", e2="34", e3="23", e4="32"};
	["34"] = { name="", dsc=[[
		
	]], e1 = "44", e2="35", e3="24", e4="33"};
	["35"] = { name="тупик", dsc=[[
		
	]], e4 = "34", corner = true};
	---line AB
	["40"] = { name="тупик", dsc=[[
		
	]], e2 = "41", corner = true};
	["41"] = { name="", dsc=[[
		
	]], e1 = "51", e2="42", e3="31", e4="40"};
	["42"] = { name="", dsc=[[
		
	]], e1 = "52", e2="43", e3="32", e4="41"};
	["43"] = { name="", dsc=[[
		
	]], e1 = "53", e2="44", e3="33", e4="42"};
	["44"] = { name="", dsc=[[
		
	]], e1 = "54", e2="45", e3="34", e4="43"};
	["45"] = { name="тупик", dsc=[[
		
	]], e4 = "34", corner = true};
	---line A
	["51"] = { name="тупик", dsc=[[
		
	]], e3 = "41", corner = true};
	["52"] = { name="у входа", dsc=[[
		
	]], e3 = "42", ex1 = "w32_frontdoor"};
	["53"] = { name="тупик", dsc=[[
		
	]], e3 = "43", corner = true};
	["54"] = { name="у входа в кабинет управляющего", dsc=[[
		
	]], e3 = "44", ex1="w32_mgr"};
};

warehouse_32 = room {
	nam = "warehouse_32";
	disp = function(s)
		return "Склад 32, " .. s.definitions[position].name;
	end;
	dsc = function(s)
		local dir_name;
		if (s.dir == 1) then
			dir_name = "север";
		elseif (s.dir == 2) then
			dir_name = "восток";
		elseif (s.dir == 3) then
			dir_name = "юг";
		elseif (s.dir == 4) then
			dir_name = "запад";
		end;
		return s.definitions[position].dsc .. "^ Вы смотрите на " .. dir_name;
	end;
	pos = "01";
	dir = 1;
	guards = {
		{ pos = "21", dir="1", s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
		{ pos = "31", dir="4", s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
		{ pos = "24", dir="2", s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
		{ pos = "34", dir="3", s = 1 }; --s=1 - должен повернуть направо, s=2 - должен пройти прямо
	};
	checkGuardSight = function(s)
		--Проверить область зрения каждого стражника, если игрок находится в области зрения - FAIL
	end;
	guardTurn = function(s)
		--Каждый стражник делает ход, игрок получает сообщения, о том, слышит ли он шаги, откуда и как они движутся
	end;
	makeTurn = function(s)
		s:checkGuardSight();
		s:guardTurn();
		s:checkGuardSight();
	end;
	way = {
		kh_vroom("Повернуть налево", function(s)
		end);
		kh_vroom("Вперед", function(s)
		end);
		kh_vroom("Повернуть направо", function(s)
		end);
	};
};