Files @ a2b2af954b81
Branch filter:

Location: games/Awakening/service_tunnels.lua

Silverwing
Zayslanotrr additions
service_tunnels_definitions = {
	--	       name			     #        O        ^        |
	["0"]  = { name="nol'nol"  , e1= "1" };
	["1"]  = { name="nol'lse"  , e1= "0", e2= "7", e3= "2" };
	["2"]  = { name="nol'dyle" , e1= "3",          e3= "1", e4= "8" };
	["3"]  = { name="nol'vlye" , e1= "2", e2= "4" 				   , ex = "first_city_factory"};
	["4"]  = { name="nol'elt"  ,          e2= "3", e3="10" };
	["5"]  = { name="nol'tei"  , e1="11" };
	--	       name			     #        O        ^        |
	["6"]  = { name="lse'nol"  ,          e2="12", e3= "7" };
	["7"]  = { name="lse'lse"  ,          e2= "1", e3= "6", e4="13" };
	["8"]  = { name="lse'dyle" , e1="14",          e3= "9", e4="02" };
	["9"]  = { name="lse'vlye" ,          e2="15", e3= "8" };
	["10"] = { name="lse'elt"  ,          e2="11", e3= "4" };
	["11"] = { name="lse'tei"  , e1= "5", e2="10", e3="17" };
	--	       name			     #        O        ^        |
	["12"] = { name="dyle'nol" ,          e2= "6", e3="18" };
	["13"] = { name="dyle'lse" , e1="19", e2="14",        e4= "7" };
	["14"] = { name="dyle'dyle", e1= "8", e2="13" };
	["15"] = { name="dyle'vlye", e1="16", e2= "9", e3="21" };
	["16"] = { name="dyle'elt" , e1="15",          e3="22", e4="17" };
	["17"] = { name="dyle'tei" ,                   e3="11", e4="16" };
	--	       name			     #        O        ^        |
	["18"] = { name="vlye'nol" ,                   e3="12", e4="24" };
	["19"] = { name="vlye'lse" , e1="13", e2="20" };
	["20"] = { name="vlye'dyle",          e2="19",          e4="21" };
	["21"] = { name="vlye'vlye",                   e3="15", e4="20" };
	["22"] = { name="vlye'elt" , e1="28", e2="23", e3="16" };
	["23"] = { name="vlye'tei" ,          e2="22" };
	--	       name			     #        O        ^        |
	["24"] = { name="elt'nol"  , e1="30", e2="25",          e4="18", ex = "first_city_engineering"};
	["25"] = { name="elt'lse"  ,          e2="24", e3="26" };
	["26"] = { name="elt'dyle" ,                   e3="25" };
	["27"] = { name="elt'vlye" , e1="33", e2="28" };
	["28"] = { name="elt'elt"  , e1="22", e2="27", e3="34", e4="29" };
	["29"] = { name="elt'tei"  , e1="35",                   e4="28" };
	--	       name			     #        O        ^        |
	["30"] = { name="tei'nol"  , e1="24", e2="31" };
	["31"] = { name="tei'lse"  ,          e2="30", e3="32" };
	["32"] = { name="tei'dyle" ,                   e3="31", e4="33" };
	["33"] = { name="tei'vlye" , e1="27",                   e4="32" };
	["34"] = { name="tei'elt"  ,                   e3="28" };
	["35"] = { name="tei'tei"  , e1="29"                           , ex = "first_city_powerplant"};
};

service_tunnels = room {
	nam = "service_tunnels";
	disp = "Сервисные тоннели";
	position = "0";
	definitions = service_tunnels_definitions;
	entered = function(s)
		path('e1'):disable();
		path('e2'):disable();
		path('e3'):disable();
		path('e4'):disable();
		path('ex'):disable();
		if (s.definitions[s.position].e1) then
			path('e1'):enable();
		end;
		if (s.definitions[s.position].e2) then
			path('e2'):enable();
		end;
		if (s.definitions[s.position].e3) then
			path('e3'):enable();
		end;
		if (s.definitions[s.position].e4) then
			path('e4'):enable();
		end;
		if (s.definitions[s.position].ex) then
			path('ex'):enable();
		end;
	end;
	dsc = function(s)
		return "Вы находитесь в сервисном тоннеле Лсэрианотра. Табличка сообщает вам, что вы находитесь в секции " .. s.definitions[s.position].name .. ". ";
	end;
	way = {
		kh_vroom('В направлении #', function()
			service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e1;
			return service_tunnels;
		end, "e1");
		kh_vroom('В направлении O', function()
			service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e2;
			return service_tunnels;
		end, "e2");
		kh_vroom('В направлении \\^', function()
			service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e3;
			return service_tunnels;
		end, "e3");
		kh_vroom('В направлении |', function()
			service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e4;
			return service_tunnels;
		end, "e4");
		kh_vroom("Выход", function()
			return service_tunnels.definitions[service_tunnels.position].ex;
		end, "ex");
	};
}