Changeset - 1507421a136b
[Not reviewed]
default
0 2 0
silverwing - 7 years ago 2017-06-24 11:25:50

iyh rewrite progress
2 files changed with 4 insertions and 3 deletions:
0 comments (0 inline, 0 general)
atlantis_iyhehevjiarr.lua
Show inline comments
 
atl_lev_first_sail = room {
 
	nam = "Левиафан";
 
	hideinv = true;
 
	dsc = [[
 
		Вы поднимаетесь на борт Левиафана и ждете, когда соберется команда. Меньше, чем через пятнадцать минут все поднимаются на борт и вы можете отправляться. 
 
	]];
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "leviathan_captains_cabin");
 
	};
 
};
 
 
char_aikerjarr_lev = obj {
 
	var {
 
		follow = true;
 
	};
 
	nam = "aikerjarr";
 
	disp = "Аикерьярр";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[
 
				{Аикерьярр} стоит перед иллюминатором. ^
 
			]];
 
		else
 
			return [[
 
				{Аикерьярр} смотрит на вас. ^
 
			]];
 
		end;
 
	end;
 
	home = "leviathan_wheelhouse";
 
	accompany = function(s, value)
 
		s.follow = value;
 
		if (value) then
 
			lifeon(s);
 
		else
 
			move(s, s.home, where(s));
 
			lifeoff(s);
 
		end;
 
	end;
 
	life = function(s)
 
		if (where(pl).leviathan) then
 
			if (stead.nameof(where(s)) ~= s.home) then
 
				move(s, s.home, where(s));
 
			end;
 
		else
 
			move(s, where(pl), where(s));
 
		end;
 
	end;
 
	act = function(s)
 
		if (not where(pl).leviathan) then
 
			return [[
 
				Вы не можете говорить с ним сейчас.
 
			]];
 
		end;
 
		if (atl_iyh_shockfish_dead) then
 
			return [[
 
				Аикерьярр молчит.
 
			]];
 
		else
 
			return [[
 
				"Вы что-нужно-делайте. Я наблюдаю". 
 
			]];
 
		end;
 
	end;
 
};
 
 
iyh_far_from_entrance_foot = room {
 
	nam = "Океан";
 
	handwheel_room = "iyh_far_from_entrance";
 
	underwater = true;
 
	no_exit = [[
 
		Нет смысла покидать Левиафан здесь. 
 
	]];
 
	dsc = [[
 
		Вы видите вдалеке высокую скалу, простирающуюся на многие километры в обе стороны. Прямо перед вами, в скале вы видите массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами. 
 
	]];
 
	view = [[
 
		Через иллюминаторы вы видите вдалеке высокую скалу, простирающуюся на многие километры в обе стороны. Прямо перед вами, в скале вы видите массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами. 
 
	]];
 
	way = {
 
		kh_vroom("В Левиафан", "leviathan_airlock");
 
	};
 
};
 
 
iyh_far_from_entrance = dlg {
 
	var {
 
		visited = false;
 
	};
 
	no_exit = [[
 
		Нет смысла покидать Левиафан здесь. 
 
	]];
 
	nam = "Левиафан, рубка";
 
	hideinv = true;
 
	entered = function(s)
 
		atl_iyh_state = 7;
 
		if (not s.visited) then
 
			return [[
 
				Вы прибываете на место.
 
			]];
 
		end;
 
	end;
 
	dsc = function(s)
 
		pr [[Через иллюминаторы вы видите высокую скалу, простирающуюся на многие километры в обе стороны. В скале вырезаны массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами. ]];
 
		
 
		if (not s.visited) then
 
			s.visited = true;
 
			if (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0) then
 
				return [[
 
					Аиверьярр молча рассматривает храм через иллюминаторы. ]];
 
			elseif (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
				return [[Леарр поднимается в рубку. При виде храма, она восклицает: "Мы должны-попасть туда!" ]];
 
			end;
 
		end;
 
	end;
 
	phr = {
 
		{tag="advance", always=true, "[Подойти ближе]", [[Послушные вашей воле, двигатели Левиафана приводят субмарину в движение и вы плавно приближаетесь ко входу в храм. ]], code [[ walk('iyh_near_temple'); ]]};
 
		{tag="wait", "[Ждать]", [[Вы решаете подождать до наступления ночи и это правдывает себя. Как только последние лучи солнца перестают пробиваться сквозь толщу воды, скат выбирается из своего логова и отправляется на охоту. ]], code [[ 
 
			lifeon(iyh_far_from_entrance);
 
			atl_iyh_shockfish_away = 30;
 
		]]};
 
		{tag="light_temple", always=true, "[Осветить вход в храм]", [[Мощный луч света падает на вход в храм. Вы видите внутри какое-то движение и изнутри выплывает огромный скат. ]], code [[ iyh_fight.distance = 1000; walk('iyh_fight'); ]]};
 
		{tag="light_wall_r", "[Осветить скалы справа от храма]", [[Мощный луч света освещает скалы по правую сторону от храма. Он плавно скользит по поверхности скалы, пока вы не натыкаетесь на то, что отсюда кажется вам каким-то ущельем. Возможно следует изучить его? ]], code [[ 
 
			iyh_near_temple:pon('ravine');
 
			pon('ravine'); 
 
		]]};
 
		{tag="light_wall_l", "[Осветить скалы слева от храма]", [[Мощный луч света освещает скалы по левую сторону от храма. Он плавно скользит по поверхности скалы, однако так и не натыкается ни на что интересное. ]]};
 
		{tag="ravine", false, always=true, "[Подойти ко входу в ущелье]", [[Вы поворачиваете штурвал и включаете двигатели Левиафана. Через несколько минут вы оказываетесь у входа в ущелье. ]], code [[ walk('iyh_ravine_entry'); ]]};
 
		{tag="away", always=true, "[Отойти от штурвала]", code = [[
 
			walk('leviathan_wheelhouse');
 
		]]};
 
		{tag="return", always=true, "[Покинуть храм]", code = [[
 
			walk('leviathan_dlg');
 
		]]};
 
	};
 
	life = function(s)
 
		if (not atl_iyh_shockfish_left) then
 
			atl_iyh_shockfish_away = atl_iyh_shockfish_away - 1;
 
			if (atl_iyh_shockfish_away == 0) then
 
				if (where(pl) == iyh_temple_main_hall_entry or where(pl) == iyh_temple_main_hall_middle or where(pl) == iyh_temple_main_hall_end or where(pl) == iyh_near_temple_foot) then
 
					walk("game_over_shockfish");
 
				elseif (where(pl).leviathan == true and (where(submarine_leviathan) == "iyh_near_temple_foot")) then
 
					pr [[Скат возвращается и, заметив Левиафан, тут же нападает на субмарину. Вы поднимаетесь на мостик, чтобы принять управление. ]];
 
					walk("iyh_fight");
 
				end;
 
			elseif (atl_iyh_shockfish_away < 5) then
 
				pr "Приближается рассвет. Скат скоро вернется. ";
 
			end;
 
		end;
 
	end;
 
};
 
 
iyh_fight = room {
 
	var {
 
		temple_distance = 0;
 
		distance = 0;
 
		shockfish_health = 100;
 
		timing = 0;
 
	};
 
	nam = "Штурвал Левиафана";
 
	entered = function(s)
 
		s.temple_distance = s.distance;
 
		s.shockfish_health = 100;
 
	end;
 
	hideinv = true;
 
	forcedsc = true;
 
	leviathan = true;
 
	dsc = function(s)
 
		pr("Вы находитесь от ската на расстоянии около "..tostring(s.distance).." метров. ");
 
		pr("Храм находится примерно на расстоянии " .. tostring(s.temple_distance) .. " метров. ");
 
		pr("На приборной панели вы видите, что ");
 
		iyh_fight_torpedo:enable();
 
		iyh_fight_recharge:disable();
 
		if (submarine_leviathan.torpedoes == 2) then
 
			pr "оба торпедных аппапата заряжены и готовы к бою. ";
 
		elseif (submarine_leviathan.torpedoes == 1) then
 
			pr "только один из торпедных аппаратов заряжен. ";
 
		else
 
			iyh_fight_recharge:enable();
 
			iyh_fight_torpedo:disable();
 
			pr "у вас не осталось заряженных торпед. ";
 
		end;
 
		if (submarine_leviathan.electric_integrity < 30) then
 
			pr "Свет в рубке периодически моргает, чувствуется запах горелой проводки, часть проводов искрит. ";
 
		elseif (submarine_leviathan.electric_integrity < 70) then	
 
			pr "Свет в рубке периодически моргает. ";
 
		end;
 
		if (submarine_leviathan.hull_integrity < 30) then
 
			pr "Обшивка Левиафана сильно повреждена. ";
 
		elseif (submarine_leviathan.hull_integrity < 70) then	
 
			pr "Обшивка Левиафана повреждена. ";
 
		end;
 
	end;
 
	maketurn = function(s)
 
		if (s.distance > 1000) then
 
			if (s.shockfish_health < 20 or atl_iyh_entrance_destroyed) then
 
				pr "Скат уплывает и вы остаетесь одни. ";
 
				atl_iyh_shockfish_left = true;
 
				walk("iyh_far_from_entrance");
 
			else
 
				pr "Вы удаляетесь достаточно далеко и скат возвращается к себе в жилище. ";
 
				walk("iyh_far_from_entrance");
 
			end;
 
		end;
 
		if (s.shockfish_health < 20 or (atl_iyh_entrance_destroyed and s.shockfish_health < 70)) then
 
			if (s.distance < 0) then
 
				s.distance = s.distance - 75;
 
			else
 
				s.distance = s.distance + 75;
 
			end;
 
			pr "Скат пытается сбежать от вас. ";
 
		else
 
			if (math.abs(s.distance) <= 75) then
 
				if (math.abs(s.distance) > 0) then
 
					s.distance = 0;
 
					pr "Скат приближается к вам. ";
 
				end;
 
				
 
				if (s.timing <= 0) then
 
					s.timing = 5;
 
					pr "Скат атакует Левиафан электрическим разрядом. ";
 
					submarine_leviathan.electric_integrity = submarine_leviathan.electric_integrity - 10;
 
					if (submarine_leviathan.electric_integrity > 50) then
 
						pr "Атака не оказывает видимого эффекта на субмарину. ";
 
					elseif (submarine_leviathan.electric_integrity > 0) then
 
						pr "Свет моргает, проводка искрит. ";
 
						if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
							pr "По телефону вы слышите встревоженный голос Райта: \"Мы так долго не протянем\". ";
 
						elseif (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
							pr "По телефону вы слышите встревоженный голос Рэдклиффа: \"Мы так долго не протянем\". ";
 
						end;
 
					else
 
						walk('game_over_powerless');
 
					end;
 
				else
 
					s.timing = s.timing - 1;
 
					pr "Скат пытается пробить обшивку Левиафана хвостовым шипом. ";
 
					submarine_leviathan.hull_integrity = submarine_leviathan.hull_integrity - 5;
 
					if (submarine_leviathan.hull_integrity > 50) then
 
						pr ", но не наосит ощитимого ущерба. ";
 
					elseif (submarine_leviathan.hull_integrity > 0) then
 
						pr ". Сильный удар повреждает внешнюю обшивку, в резервуары проникает вода. ";
 
					else
 
						walk('game_over_sunk');
 
					end;
 
				end;
 
			else
 
				pr "Скат приближается к вам. ";
 
				if (s.distance < 0) then
 
				s.distance = s.distance + 75;
 
			else
 
				s.distance = s.distance - 75;
 
			end;
 
			end;
 
		end;
 
	end;
 
	obj = {
 
		"iyh_fight_torpedo",
 
		"iyh_fight_sonic",
 
		"iyh_fight_recharge",
 
		"iyh_advance_full",
 
		"iyh_advance_half",
 
		"iyh_advance_quarter",
 
		"iyh_retreat_full",
 
		"iyh_retreat_half",
 
		"iyh_retreat_quarter"
 
	};
 
};
 
 
iyh_fight_torpedo_temple = obj {
 
	nam = "iyh_fight_torpedo_temple";
 
	dsc = "{Выстрелить торпедой в храм}^";
 
	act = function(s)
 
		if (math.abs(iyh_fight.temple_distance) < 50) then
 
			return [[Цель слишком близко. ]];
 
		elseif (math.abs(iyh_fight.temple_distance) > 200) then
 
			return [[Цель слишком далеко. ]];
 
		else
 
			atl_iyh_entrance_destroyed = true;
 
			return [[Торпеда попадает в аккурат над храмом и вход оказывается завален тяжелыми глыбами. ]];
 
		end;
 
	end;
 
};
 
 
iyh_fight_torpedo = obj {
 
	nam = "iyh_fight_torpedo";
 
	dsc = "{Выстрелить торпедой в ската}^";
 
	act = function(s)
 
		if (math.abs(iyh_fight.distance) < 50) then
 
			return [[Цель слишком близко. ]];
 
		elseif (math.abs(iyh_fight.distance) > 200) then
 
			return [[Цель слишком далеко. ]];
 
		else
 
			if (iyh_fight.shockfish_health > 70) then
 
				local meters = 25 * rnd(3) + 25;
 
				iyh_fight.shockfish_health = iyh_fight.shockfish_health - 70;
 
				if (iyh_fight.distance >= 0) then
 
					iyh_fight.distance = iyh_fight.distance + meters;
 
				else
 
					iyh_fight.distance = iyh_fight.distance - meters;
 
				end;
 
				pr("Вы стреляете торпедой в ската. Торпеда достигает цели. Ската отбрасывает назад на ".. tostring(meters) .. " метров. ");
 
			else
 
				iyh_fight.shockfish_health = 0;
 
				atl_iyh_shockfish_dead = true;
 
				pr "Вы стреляете торпедой в ската. Торпеда взрывается достигнув цели и разрывает ската. Вода краснеет от крови, а вы теперь можете безопасно приблизиться к храму. ";
 
				
 
				if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
					pr [[Леарр в ярости поднимается в рубку и кричит на вас: "Что ты делаешь ненавистный-a'rr?!" ]];
 
				elseif (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0) then
 
					pr [[Аикерьярр отворачивается от иллюминатора и со злобой смотрит на вас: "Ты за-это-ответишь he'rr". ]];
 
				end;
 
				
 
				if (math.abs(iyh_fight.temple_distance) < 100) then
 
					walk("iyh_near_temple");
 
				else
 
					walk("iyh_far_from_entrance");
 
				end;
 
				
 
				return;
 
			end;
 
			return iyh_fight:maketurn();
 
		end;
 
	end;
 
};
 
 
iyh_fight_sonic = obj {
 
	nam = "iyh_fight_sonic";
 
	dsc = "{Выстрелить из звуковой пушки}^";
 
	act = function(s)
 
		if (math.abs(iyh_fight.distance) > 200) then
 
			return [[
 
				Цель слишком далеко
 
			]];
 
		else
 
			if (iyh_fight.shockfish_health > 50) then
 
				iyh_fight.shockfish_health = iyh_fight.shockfish_health - 10;
 
				pr "Вы стреляете в ската из звуковой пушки. Это лишь слегка ранит его. ";
 
			else
 
				pr "Вы стреляете в ската из звуковой пушки. Это не наносит ему серьезного ущерба. ";
 
			end;
 
			return iyh_fight:maketurn();
 
		end;
 
	end;
 
};
 
 
iyh_fight_recharge = obj {
 
	nam = "iyh_fight_torpedo";
 
	dsc = "{Перезарядить торпеды}^";
 
	act = function(s)
 
		--Если в партии нет никого кроме Леарр/Аикерьярра, то игрок перезаряжает торопеды сам, иначе - отдает преказ
 
		if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0 or ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
			pr "Вы отдаете по телефону приказ перезарядить торпедные аппараты. ";
 
		else
 
			pr "Вы спускаетесь вниз, чтобы перезарядить торпедные аппараты. ";
 
			iyh_fight:maketurn();
 
			iyh_fight:maketurn();
 
			pr "Вы возвращаетесь в рубку, чтобы продолжить бой. "
 
		end;
 
	end;
 
};
 
 
iyh_advance_full = obj {
 
	nam = "iyh_advance_full";
 
	dsc = "{Полный вперед}^";
 
	act = function(s)
 
		pr "Вы включаете двигатели на полную мощность. ";
 
		if (iyh_fight.distance >= 0) then
 
			iyh_fight.distance = iyh_fight.distance - 100;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance - 100;
 
			if (iyh_fight.distance < 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		else
 
			iyh_fight.distance = iyh_fight.distance + 100;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance + 100;
 
			if (iyh_fight.distance >= 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		end;
 
		iyh_fight:maketurn();
 
	end;
 
};
 
 
iyh_advance_half = obj {
 
	nam = "iyh_advance_half";
 
	dsc = "{1/2 вперед}^";
 
	act = function(s)
 
		pr "Вы включаете двигатели на половину мощности. ";
 
		if (iyh_fight.distance >= 0) then
 
			iyh_fight.distance = iyh_fight.distance - 50;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance - 50;
 
			if (iyh_fight.distance < 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		else
 
			iyh_fight.distance = iyh_fight.distance + 50;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance + 50;
 
			if (iyh_fight.distance >= 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		end;
 
		iyh_fight:maketurn();
 
	end;
 
};
 
 
iyh_advance_quarter = obj {
 
	nam = "iyh_advance_quarter";
 
	dsc = "{1/4 вперед}^";
 
	act = function(s)
 
		pr "Вы включаете двигатели на четверть мощности. ";
 
		if (iyh_fight.distance >= 0) then
 
			iyh_fight.distance = iyh_fight.distance - 25;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance - 25;
 
			if (iyh_fight.distance < 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		else
 
			iyh_fight.distance = iyh_fight.distance + 25;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance + 25;
 
			if (iyh_fight.distance >= 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		end;
 
		iyh_fight:maketurn();
 
	end;
 
};
 
 
iyh_retreat_full = obj {
 
	nam = "iyh_retreat_full";
 
	dsc = "{Полный назад}^";
 
	act = function(s)
 
		pr "Вы включаете двигатели на полную мощность. ";
 
		if (iyh_fight.distance >= 0) then
 
			iyh_fight.distance = iyh_fight.distance + 100;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance + 100;
 
			if (iyh_fight.distance < 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		else
 
			iyh_fight.distance = iyh_fight.distance - 100;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance - 100;
 
			if (iyh_fight.distance >= 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		end;
 
		iyh_fight:maketurn();
 
	end;
 
};
 
 
iyh_retreat_half = obj {
 
	nam = "iyh_retreat_half";
 
	dsc = "{1/2 назад}^";
 
	act = function(s)
 
		pr "Вы включаете двигатели на половину мощности. ";
 
		if (iyh_fight.distance >= 0) then
 
			iyh_fight.distance = iyh_fight.distance + 50;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance + 50;
 
			if (iyh_fight.distance < 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		else
 
			iyh_fight.distance = iyh_fight.distance - 50;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance - 50;
 
			if (iyh_fight.distance >= 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		end;
 
		iyh_fight:maketurn();
 
	end;
 
};
 
 
iyh_retreat_quarter = obj {
 
	nam = "iyh_retreat_quarter";
 
	dsc = "{1/4 назад}^";
 
	act = function(s)
 
		pr "Вы включаете двигатели на четверть мощности. ";
 
		if (iyh_fight.distance >= 0) then
 
			iyh_fight.distance = iyh_fight.distance + 25;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance + 25;
 
			if (iyh_fight.distance < 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		else
 
			iyh_fight.distance = iyh_fight.distance - 25;
 
			iyh_fight.temple_distance = iyh_fight.temple_distance - 25;
 
			if (iyh_fight.distance >= 0) then
 
				pr "Вы проплываете мимо противника и разворачиваете субмарину. "
 
			end;
 
		end;
 
		iyh_fight:maketurn();
 
	end;
 
};
 
 
iyh_ravine_entry = room {
 
	nam = "Штурвал Левиафана";
 
	no_exit = [[
 
		Нет смысла покидать Левиафан здесь. 
 
	]];
 
	dsc = [[Левиафан находится у входа в ущелье. Вдалеке по левому борту, на юго-западе, вы видите вход в навьярский храм. ]];
 
	hideinv = true;
 
	way = {
 
		kh_vroom("Отойти от штурвала", function(s)
 
			return "leviathan_wheelhouse";
 
		end);
 
		kh_vroom("Войти в ущелье", function(s)
 
			iyh_labyrinth.position = 1;
 
			iyh_labyrinth.direction = 1;
 
			return "iyh_labyrinth";
 
		end);
 
		kh_vroom("Ко входу в храм", "iyh_near_temple");
 
		kh_vroom("Отойти назад", "iyh_far_from_entrance");
 
	};
 
};
 
 
--[[
 
	Описание структуры лабиринта. Каждый узел описан в двух направлениях
 
	1 - прямое
 
	2 - обратное
 
	направления обозначены как 
 
	l - налево
 
	r - направо
 
	f - прямо
 
	выход описывается одной строкой, невыходы описываются парой "узел+направление"
 
]]
 
iyh_labyrinth_template = {
 
	[1]= {[1]={l={32, 1}, r={2, 1}}, 			[2]={f="iyh_ravine_entry"}};
 
	[2]= {[1]={f={3, 1}}, 						[2]={f={1,2}}};
 
	[3]= {[1]={l={5, 1}, f={4,1}},				[2]={f={2,2}}};
 
	[4]= {[1]={}, 								[2]={f={3,2}}};
 
	[5]= {[1]={l={37, 1}, f={6,1} },			[2]={f={3,2}}};
 
	[6]= {[1]={l={7,1}, r={33, 1}},  			[2]={f={5,2}}};
 
	[7]= {[1]={l={12,1}, f={11,1}, r={8,1}},	[2]={f={6,2}}};
 
	[8]= {[1]={l={10,1}, r={9,1}}, 				[2]={f={7,2}}};
 
	[9]= {[1]={}, 								[2]={f={8,2}}};
 
	[10]={[1]={}, 								[2]={f={8,2}, r={11,2}}};
 
	[11]={[1]={f={10,1}}, 						[2]={f={7,2}}};
 
	[12]={[1]={l={14,1}, f={13,1}}, 			[2]={f={7,2}}};
 
	[13]={[1]={}, 								[2]={f={12,2}}};
 
	[14]={[1]={f={15,1}, l={20,1}}, 			[2]={f={12,2}}};
 
	[15]={[1]={l={17,1}, r={16,1}}, 			[2]={f={14,2}}};
 
	[16]={[1]={}, 								[2]={f={15,2}}};
 
	[17]={[1]={l={19,1}, r={18,1}}, 			[2]={f={15,2}}};
 
	[18]={[1]={}, 								[2]={f={17,2}}};
 
	[19]={[1]={}, 								[2]={f={17,2}}};
 
	[20]={[1]={l={22,1}, f={21,1}}, 			[2]={f={14,2}}};
 
	[21]={[1]={}, 								[2]={f={20,2}}};
 
	[22]={[1]={l={25,1}, r={23,1}}, 			[2]={f={20,2}}};
 
	[23]={[1]={l="iyh_rear_entrance", r={24,1}},[2]={f={22,2}}};
 
	[24]={[1]={}, 								[2]={f={23,2}}};
 
	[25]={[1]={l={27,1},r={26,1}}, 				[2]={f={22,2}}};
 
	[26]={[1]={}, 								[2]={f={25,2}}};
 
	[27]={[1]={l={30,2}, f={29,1}, r={28,1}}, 	[2]={f={25,2}}};
 
	[28]={[1]={}, 								[2]={f={27,2}}};
 
	[29]={[1]={}, 								[2]={f={27,2}}};
 
	[30]={[1]={l={27,2}, r={36,1}}, 			[2]={f={31,2}}};
 
	[31]={[1]={l={30,1}, r={35,1}}, 			[2]={f={32,2}}};
 
	[32]={[1]={l={31,1}, r={34,1}}, 			[2]={f={1,2}}};
 
	[33]={[1]={}, 								[2]={l={6,2}, r={37,2}}};
 
	[34]={[1]={}, 								[2]={f={32,2}}};
 
	[35]={[1]={}, 								[2]={f={31,2}}};
 
	[36]={[1]={}, 								[2]={f={30,2}}};
 
	[37]={[1]={f={33,1}}, 						[2]={f={5,2}}};
 
};
 
 
iyh_labyrinth = room {
 
	var {
 
		location = 1;
 
		direction = 1;
 
	};
 
	no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
	nam = "Штурвал Левиафана";
 
	dsc = function(s)
 
		pr [[Вы находитесь в глубоком и узком ущелье. ]];
 
		if (iyh_labyrinth_template[s.location]["f"]) then
 
			pr [[Ущелье продолжается вперед. ]];
 
		end;
 
		if (iyh_labyrinth_template[s.location]["l"] and iyh_labyrinth_template[s.location]["r"]) then
 
			pr [[Влево и вправо уходят ответвления. ]];
 
		elseif (iyh_labyrinth_template[s.location]["l"]) then
 
			pr [[Влево уходит ответвление. ]];
 
		elseif (iyh_labyrinth_template[s.location]["r"]) then
 
			pr [[Вправо уходит ответвление. ]];
 
		elseif (not iyh_labyrinth_template[s.location]["f"]) then
 
			pr [[Дальше пути нет. ]];
 
		end;
 
	end;
 
	update = function(s)
 
	end;
 
	obj = {
 
		"iyh_lab_forward",
 
		"iyh_lab_left",
 
		"iyh_lab_right",
 
		"iyh_lab_turn"
 
	};
 
};
 
 
iyh_lab_forward = obj {
 
	nam = "iyh_lab_forward";
 
	dsc = "{Вперед}^";
 
	act = function(s)
 
		pr [[Вы продолжаете движение. ]];
 
		local p = iyh_labyrinth.position;
 
		local d = iyh_labyrinth.direction;
 
		
 
		if (type(iyh_labyrinth_template[p][d]) == 'string') then
 
			walk(iyh_labyrinth_template[p][d]);
 
		else
 
			iyh_labyrinth.position = iyh_labyrinth_template[p][d]["f"][1];
 
			iyh_labyrinth.direction = iyh_labyrinth_template[p][d]["f"][2];
 
		end;
 
		
 
		iyh_labyrinth:update();
 
	end;
 
};
 
 
iyh_lab_left = obj {
 
	nam = "iyh_lab_left";
 
	dsc = "{Налево}^";
 
	act = function(s)
 
		pr [[Вы сворачиваете налево. ]];
 
		local p = iyh_labyrinth.position;
 
		local d = iyh_labyrinth.direction;
 
		
 
		if (type(iyh_labyrinth_template[p][d]) == 'string') then
 
			walk(iyh_labyrinth_template[p][d]);
 
		else
 
			iyh_labyrinth.position = iyh_labyrinth_template[p][d]["l"][1];
 
			iyh_labyrinth.direction = iyh_labyrinth_template[p][d]["l"][2];
 
		end;
 
		
 
		iyh_labyrinth:update();
 
	end;
 
};
 
 
iyh_lab_right = obj {
 
	nam = "iyh_lab_right";
 
	dsc = "{Направо}^";
 
	act = function(s)
 
		pr [[Вы сворачиваете направо. ]];
 
		local p = iyh_labyrinth.position;
 
		local d = iyh_labyrinth.direction;
 
		
 
		if (type(iyh_labyrinth_template[p][d]) == 'string') then
 
			walk(iyh_labyrinth_template[p][d]);
 
		else
 
			iyh_labyrinth.position = iyh_labyrinth_template[p][d]["r"][1];
 
			iyh_labyrinth.direction = iyh_labyrinth_template[p][d]["r"][2];
 
		end;
 
		
 
		iyh_labyrinth:update();
 
	end;
 
};
 
 
iyh_lab_turn = obj {
 
	nam = "iyh_lab_turn";
 
	dsc = "{Развернуться}^";
 
	act = function(s)
 
		pr [[Вы разворачиваете субмарину. ]];
 
		if (iyh_labyrinth.direction == 1) then
 
			iyh_labyrinth.direction = 2;
 
		else
 
			iyh_labyrinth.direction = 1;
 
		end;
 
		
 
		iyh_labyrinth:update();
 
	end;
 
};
 
 
iyh_rear_entrance = room {
 
	nam = "Левиафан";
 
	dsc = [[
 
		Вы находитесь в конце ущелья. Луч прожектора освещает небольшой проход в скале. 
 
	]];
 
	way = {
 
		kh_vroom("Отойти от штурвала", "iyh_rear_entrance_foot");
 
		kh_vroom("В ущелье", function(s)
 
			iyh_labyrinth.position = 23;
 
			iyh_labyrinth.direction = 2;
 
			return "iyh_labyrinth";
 
		end);
 
	};
 
	entered = function(s)
 
		move(submarine_leviathan, iyh_rear_entrance_foot);
 
	end;
 
};
 
 
iyh_rear_entrance_foot = room {
 
	nam = "Ущелье";
 
	dsc = [[
 
		Узкое глубокое ущелье. Вы находитесь в одном из его концов. В скале вы видите небольшой проход явно искусственного происхождения.
 
	]];
 
	way = {
 
		kh_vroom("В Левиафан", "leviathan_airlock");
 
		kh_vroom("Внутрь", "iyh_temple_rear_corridor_entry");
 
	};
 
	entered = function(s)
 
		if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and not char_learr.accompany) then
 
			pr [[
 
				Леарр входит в шлюз вслед за вами: "Я вместе-с-тобой-пойду".
 
			]];
 
			
 
			char_learr:accompany(true);
 
			char_radcliffe:accompany(false);
 
			char_wright:accompany(false);
 
			char_anna:accompany(false);
 
		elseif (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0 and not char_aikerjarr_lev.accompany) then
 
			pr [[
 
				Аикерьярр входит в шлюз вслед за вами: "Я вместе-с-тобой-пойду".
 
			]];
 
			char_aikerjarr_lev:accompany(true);
 
			char_radcliffe:accompany(false);
 
			char_wright:accompany(false);
 
			char_anna:accompany(false);
 
		end;
 
		
 
		path("В Левиафан"):disable();
 
		if (where(submarine_leviathan) == here()) then
 
			path("В Левиафан"):enable();
 
		end;
 
	end;
 
};
 
 
iyh_temple_rear_corridor_entry = room {
 
	nam = "Коридор";
 
	dsc = [[
 
		Темный узкий и невысокий коридор. По обе стороны коридора вы видите дверные проемы. 
 
	]];
 
	way = {
 
		kh_vroom("Выйти", "iyh_rear_entrance_foot");
 
		kh_vroom("В левую комнату", "iyh_left_room_1");
 
		kh_vroom("В правую комнату", "iyh_right_room_1");
 
		kh_vroom("Пройти дальше", "iyh_temple_rear_corridor_middle");
 
	};
 
};
 
 
iyh_temple_rear_corridor_middle = room {
 
	nam = "Коридор";
 
	dsc = [[
 
		Темный узкий и невысокий коридор. По обе стороны коридора вы видите дверные проемы. 
 
	]];
 
	way = {
 
		kh_vroom("К выходу", "iyh_temple_rear_corridor_entry");
 
		kh_vroom("В левую комнату", "iyh_left_room_2");
 
		kh_vroom("В правую комнату", "iyh_right_room_2");
 
		kh_vroom("Пройти дальше", "iyh_temple_rear_corridor_end");
 
	};
 
};
 
 
iyh_temple_rear_corridor_end = room {
 
	nam = "Коридор";
 
	dsc = [[
 
		Темный узкий и невысокий коридор. По обе стороны коридора вы видите дверные проемы. 
 
	]];
 
	way = {
 
		kh_vroom("К выходу", "iyh_temple_rear_corridor_middle");
 
		kh_vroom("В левую комнату", "iyh_left_room_3");
 
		kh_vroom("В правую комнату", "iyh_right_room_3");
 
		kh_vroom("В главный зал", "iyh_temple_main_hall_end");
 
	};
 
};
 
 
iyh_left_room_1 = room {
 
	nam = "Комната";
 
	dsc = [[Небольшая комната, вытесанная в скале. Внутри почти ничего не сохранилось, кроме каменного пъедестала в центре. Единственный дверной проем ведет в коридор. В стенах слева и справа от входа сделано несколько глубоких ниш. ]];
 
	way = {
 
		vway("В коридор", "iyh_temple_rear_corridor_entry");
 
	};
 
	obj = {
 
		--"item_navjiarr_chart_2"
 
	};
 
};
 
 
iyh_right_room_1 = room {
 
	nam = "Комната";
 
	dsc = [[Небольшая комната, вытесанная в скале. Внутри почти ничего не сохранилось, кроме каменного пъедестала в центре. Единственный дверной проем ведет в коридор. В стенах слева и справа от входа сделано несколько глубоких ниш. ]];
 
	way = {
 
		vway("В коридор", "iyh_temple_rear_corridor_entry");
 
	};
 
	obj = {
 
		"item_legend_of_hunter"
 
	};
 
};
 
 
iyh_left_room_2 = room {
 
	nam = "Комната";
 
	dsc = [[Небольшая комната, вытесанная в скале. Внутри почти ничего не сохранилось, кроме каменного пъедестала в центре. Единственный дверной проем ведет в коридор. В стенах слева и справа от входа сделано несколько глубоких ниш. ]];
 
	way = {
 
		vway("В коридор", "iyh_temple_rear_corridor_middle");
 
	};
 
	obj = {
 
		--"item_navjiarr_chart_3"
 
	};
 
};
 
 
iyh_right_room_2 = room {
 
	nam = "Комната";
 
	dsc = [[Небольшая комната, вытесанная в скале. Внутри почти ничего не сохранилось, кроме каменного пъедестала в центре. Единственный дверной проем ведет в коридор. В стенах слева и справа от входа сделано несколько глубоких ниш. ]];
 
	way = {
 
		vway("В коридор", "iyh_temple_rear_corridor_middle");
 
	};
 
	obj = {
 
		"item_legend_of_first_city"
 
	};
 
};
 
 
iyh_left_room_3 = room {
 
	nam = "Комната";
 
	dsc = [[Небольшая комната, вытесанная в скале. Внутри почти ничего не сохранилось, кроме каменного пъедестала в центре. Единственный дверной проем ведет в коридор. ]];
 
	way = {
 
		vway("В коридор", "iyh_temple_rear_corridor_end");
 
        vway("В скрытый проход", "iyh_temple_hidden_room_1"):disable();
 
		kh_vroom("В коридор", "iyh_temple_rear_corridor_end");
 
        kh_vroom("В скрытый проход", "iyh_temple_hidden_room_1"):disable();
 
	};
 
	obj = {
 
		--"item_navjiarr_chart_1"
 
        "iyh_old_navjiarr_body",
 
        "iyh_item_record",
 
        "iyh_room_wall",
 
        "iyh_room_wall_gap"
 
	};
 
};
 
 
iyh_old_navjiarr_body = obj {
 
    nam = "iyh_old_navjiarr_body";
 
    dsc = [[В одной из ниш справа от входа лежит старый {навьяр}. Серая чешуя давно поблекла, глаза закрыты. Руки сложены на груди. ]];
 
    act = [[Навьяр никак не реагирует на вас. Он мертв. ]];
 
};
 
 
iyh_item_record = obj {
 
    nam = "iyh_item_record";
 
    disp = "Каменная табличка";
 
    dsc = [[Рядом с ним лежит каменная {табличка} с письменами. ]];
 
    tak = [[Вы забираете табличку. ]];
 
    inv = function(s)
 
        --Написать исходный навьярский вариант таблички
 
        if (language_known) then
 
            return [[Табличка гласит: "Те, кто найдут это, пусть знают, что здесь покоится истинный глаз Дипатреанотра, служащий разгадкой этого храма. Знайте, читающие это, что реликвию я взял для способствования осуществления пророчества о спящем в глубине. Для открытия храма, взгляните истинным глазом напротив моего ложа". Чуть ниже дописано: "Если Вилрьярр еще здесь, отпустите его. Ему незачем оставаться здесь". ]];
 
        else
 
            return [[Табличка содержит навьярские письмена, которые вы не понимаете. ]];
 
        end;
 
    end;
 
};
 
 
iyh_room_wall = obj {
 
    nam = "iyh_room_wall";
 
    dsc = [[{Стена} слева от входа не содержит ниш, в отличие от стен в других комнатах. ]];
 
    act = [[Гладкая каменная стена. Глубокая трещина от потолка до пола пересекает ее посередине. Вы не видите ничего необычного. ]];
 
};
 
 
iyh_room_wall_gap = obj {
 
    nam = "iyh_room_wall_gap";
 
    dsc = [[Глубокая {трещина} от потолка до пола пересекает ее посередине. ]];
 
    act = function(s)
 
        if (iyh_looking_glass.seen) then
 
            path('В скрытый проход'):enable();
 
            return [[Вы осторожно нащупываете скрытую внутри трещины кнопку и нажимаете ее. Каменные плиты отодвигаются в стороны, образуя проход в скрытое помещение храма. ]];
 
        else
 
            return [[Просто трещина, ничего интересного. ]];
 
        end;
 
    end;
 
};
 
 
iyh_looking_glass = obj {
 
    var {
 
        seen = false;
 
    };
 
    nam = "iyh_looking_glass";
 
    disp = "Подзорная труба";
 
    dsc = [[]];
 
    inv = [[Короткая подзорная труба из неизвестного вам металла, такого же, из какого сделаны многие другие старые артефакты навьяров. ]];
 
    use = function(s, o)
 
        if (o == iyh_room_wall or o == iyh_room_wall_gap) then
 
            s.seen = true;
 
            return "Через трубу стена выглядит совсем иначе - картинка странным образом искажается, позволяя видеть детали, скрытые от обычного взора. Стоя прямо напротив трещины и глядя внутрь, вы замечаете небольшой прямоугольный выступ, примерно на уровне шеи. ";
 
        end;
 
    end;
 
};
 
 
iyh_right_room_3 = room {
 
	nam = "Комната";
 
	dsc = [[Небольшая комната, вытесанная в скале. Внутри почти ничего не сохранилось, кроме каменного пъедестала в центре. Единственный дверной проем ведет в коридор. В стенах слева и справа от входа сделано несколько глубоких ниш. ]];
 
	way = {
 
		vway("В коридор", "iyh_temple_rear_corridor_end");
 
        vway("В скрытое помещение", "iyh_temple_hidden_room_2"):disable();
 
	};
 
	obj = {
 
        "item_legend_of_temple"
 
	};
 
};
 
 
iyh_temple_hidden_room_1 = room {
 
    nam = "iyh_temple_hidden_room_1";
 
    disp = "Скрытая комната";
 
    dsc = [[Небольшая комната, вытесанная в скале. Надежно спрятанная от посторонних глаз, она хранила свои тайны многие столетия, пока вы не открыли ее. Сейчас одна из стен ее раскрылась, открывая проход внутрь. ]];
 
    way = {
 
        kh_vroom("К задним комнатам", "iyh_left_room_3");
 
        kh_vroom("К гланому залу", "iyh_temple_left_hall"):disable();
 
    };
 
    obj = {
 
        "iyh_temple_hidden_wall_1",
 
        "iyh_temple_lever_1"
 
    };
 
};
 
 
iyh_temple_lever_1 = obj {
 
    var {
 
        state = false;
 
    };
 
    nam = "iyh_temple_lever_1";
 
    dsc = [[У стены, напротив проема находится массивный {рычаг}. ]];
 
    act = function(s)
 
        if (s.state) then
 
            return [[Вам больше незачем его трогать. ]];
 
        else
 
            s.state = true;
 
            path("К главному залу"):enable();
 
            path("В скрытое помещение", iyh_temple_left_hall):enable();
 
            return [[Вы дергаете за рычаг и одна из плит в стене рядом с ним отодвигается, открывая проход. ]];
 
        end;
 
    end;
 
};
 
 
iyh_temple_hidden_wall_1 = obj {
 
    nam = "iyh_temple_hidden_wall_1";
 
    dsc = [[Одна из стен комнаты покрыта навьярскими письменами, отлично сохранившимися. ]];
 
    act = function(s)
 
        if (language_known) then
 
            return [[Слова на стене складываются в странную фразу: "Многие покинули этот дом, чтобы поселиться рядом с ним и никогда более не вернуться. Многие другие навещают его регулярно, не оставляя надолго. Остальные же, так и остались там, не покидая его никогда". ]];
 
        else
 
            return [[Вы не понимаете написанного. ]];
 
        end;
 
    end;
 
};
 
 
iyh_temple_hidden_room_2 = room {
 
    nam = "iyh_temple_hidden_room_2";
 
    disp = "Скрытая комната";
 
    dsc = [[Небольшая комната, вытесанная в скале. Надежно спрятанная от посторонних глаз, она хранила свои тайны многие столетия, пока вы не открыли ее. ]];
 
    way = {
 
        kh_vroom("К задним комнатам", "iyh_right_room_3"):disable();
 
        kh_vroom("К гланому залу", "iyh_temple_right_hall")
 
    };
 
    obj = {
 
        
 
    };
 
};
 
 
iyh_temple_stairs_l = obj {
 
    nam = "iyh_temple_stairs_l";
 
    dsc = [[В стене, слева от входа вы видите темный проем, за которым начинается длинная каменная {лестница}, ведущая куда-то вниз, под храм. ]];
 
};
 
 
iyh_temple_stairs_r = obj {
 
    nam = "iyh_temple_stairs_r";
 
    dsc = [[В стене, справа от входа вы видите темный проем, за которым начинается длинная каменная {лестница}, ведущая куда-то вниз, под храм. ]];
 
};
 
 
iyh_temple_lever_2 = obj {
 
    var {
 
        state = false;
 
    };
 
    nam = "iyh_temple_lever_1";
 
    dsc = [[У стены, напротив проема находится массивный {рычаг}. ]];
 
    act = function(s)
 
        if (s.state) then
 
            return [[Вам больше незачем его трогать. ]];
 
        else
 
            s.state = true;
 
            path("К задним комнатам"):enable();
 
            path("В скрытое помещение", iyh_temple_right_hall):enable();
 
            return [[Вы дергаете за рычаг и одна из плит в стене рядом с ним отодвигается, открывая проход. ]];
 
        end;
 
    end;
 
};
 
 
iyh_temple_lever_3 = obj {
 
    var {
 
        state = false;
 
    };
 
    nam = "iyh_temple_lever_1";
 
    dsc = [[В центре комнаты находится еще один, такой же, {рычаг}. ]];
 
    act = function(s)
 
        if (s.state) then
 
            return [[Вам больше незачем его трогать. ]];
 
        else
 
            s.state = true;
 
            iyh_temple_stairs_l:enable();
 
            iyh_temple_stairs_r:enable();
 
            path("Вниз по лестнице", iyh_temple_left_hall):enable();
 
            path("Вниз по лестнице", iyh_temple_right_hall):enable();
 
            return [[Вы дергаете за рычаг и слышите скрежет каменных плит где-то неподалеку. В комнате ничего не изменилось. ]];
 
        end;
 
    end;
 
};
 
 
iyh_temple_main_hall_end = room {
 
	nam = "Храм";
 
	dsc = [[Главный зал древнего навьярского святилища. В стенах слева и справа вырезаны небольшие углубления, на которых некогда покоились ценные реликвии. Сейчас большинство из них пусты. Потолок находится на высоте нескольких десятков метров, но ни лестниц, ни уступов нет. Вы находитесь в дальнем конце зала. Массивная дверь ведет в задние помещения храма. ]];
 
	enter = function(s)
 
		if (atl_iyh_shockfish_away == 0 and atl_iyh_shockfish_away and not atl_iyh_shockfish_dead and not atl_iyh_shockfish_left) then
 
			walk("game_over_shockfish_2");
 
		end;
 
	end;
 
	way = {
 
		kh_vroom("В центр зала", "iyh_temple_main_hall_middle");
 
		kh_vroom("В заднюю дверь", "iyh_temple_rear_corridor_end");
 
	};
 
};
 
 
iyh_back_door_main = obj {
 
	nam = "iyh_back_door_main";
 
	dsc = function(s)
 
		if (iyh_back_door.open) then
 
			return [[
 
				В конце зала находится открытая {дверь}. 
 
			]];
 
		else
 
			return [[
 
				В конце зала находится закрытая {дверь}. 
 
			]];
 
		end;
 
	end;
 
	act = [[
 
		Не удается открыть дверь. Она заперта с другой стороны. 
 
	]];
 
};
 
 
iyh_temple_main_hall_middle = room {
 
	nam = "Храм";
 
	dsc = [[
 
		Главный зал древнего навьярского святилища. В стенах слева и справа вырезаны небольшие углубления, на которых некогда покоились ценные реликвии. Сейчас большинство из них пусты. Потолок находится на высоте нескольких десятков метров, но ни лестниц, ни уступов нет. Слева и справа от вас вы видите небольшие проемы, ведущие в боковые помещения. 
 
	]];
 
	obj = {
 
		"iyh_pedestal"
 
	};
 
	enter = function(s)
 
		if (atl_iyh_shockfish_away == 0 and not atl_iyh_shockfish_dead and not atl_iyh_shockfish_left) then
 
			walk("game_over_shockfish_2");
 
		end;
 
	end;
 
	way = {
 
		kh_vroom("К выходу", "iyh_temple_main_hall_entry");
 
		kh_vroom("В конец зала", "iyh_temple_main_hall_end");
 
		kh_vroom("Налево", "iyh_temple_left_hall");
 
		kh_vroom("Направо", "iyh_temple_right_hall");
 
	};
 
};
 
 
iyh_temple_main_hall_entry = room {
 
	nam = "Храм";
 
	dsc = [[
 
		Главный зал древнего навьярского святилища. В стенах слева и справа вырезаны небольшие углубления, на которых некогда покоились ценные реликвии. Сейчас большинство из них пусты. Потолок находится на высоте нескольких десятков метров, но ни лестниц, ни уступов нет. Вы находитесь у входа в зал. 
 
	]];
 
	enter = function(s)
 
		if (atl_iyh_shockfish_away == 0 and not atl_iyh_shockfish_dead and not atl_iyh_shockfish_left) then
 
			walk("game_over_shockfish_2");
 
		end;
 
	end;
 
	entered = function(s)
 
		if (atl_iyh_entrance_destroyed) then
 
			path("Выйти"):disable();
 
		end;
 
	end;
 
	way = {
 
		kh_vroom("Выйти", "iyh_near_temple_foot");
 
		kh_vroom("Пройти дальше", "iyh_temple_main_hall_middle");
 
	};
 
	obj = {
 
		"item_temple_disk"
 
	};
 
};
 
 
iyh_temple_left_hall = room {
 
	nam = "Храм";
 
	dsc = [[
 
		Вы находитесь в одной из боковых комнат храма. Небольшое помещение - не более десятка метров в ширину. 
 
	]];
 
	way = {
 
		kh_vroom("В главный зал", "iyh_temple_main_hall_middle");
 
        kh_vroom("В скрытое помещение", "iyh_temple_hidden_room_1"):disable();
 
        kh_vroom("Вниз по лестнице", "iyh_temple_descent_l"):disable();
 
	};
 
	obj = {
 
		"iyh_temple_rubble_left",
 
		"iyh_temple_niche_left"
 
	};
 
};
 
 
iyh_temple_right_hall = room {
 
	nam = "Храм";
 
	dsc = [[
 
		Вы находитесь в одной из боковых комнат храма. Небольшое помещение - не более десятка метров в ширину. 
 
	]];
 
    checkCoder = function(s, phrase)
 
        if (phrase == "aed'rr") then
 
            path('В скрытое помещение'):enable();
 
            return [[Стоит последней лампочке погаснуть, как одна из плит в стене комнаты сдвигается, открывая проход в скрытое помещение. ]];
 
        else
 
            return [[Лампочки кодировщика зажигаются в заданной последовательности, но ничего не происходит. ]];
 
        end;
 
    end;
 
	way = {
 
		kh_vroom("В главный зал", "iyh_temple_main_hall_middle");
 
        kh_vroom("В скрытое помещение", "iyh_temple_hidden_room_2"):disable();
 
        kh_vroom("Вниз по лестнице", "iyh_temple_descent_r"):disable();
 
	};
 
	obj = {
 
		"iyh_temple_rubble_right",
 
		"iyh_temple_niche_right"
 
	};
 
};
 
 
iyh_temple_descent_l = darkroom {
 
    nam = "Храм, спуск";
 
    dsc_halflit = [[Вы идете по длинной крутой лестнице, вырезанной в толще скалы. Она уходит куда-то вглубь земли, под храм. ]];
 
    dsc_dark = [[Вы идете по длинной крутой лестнице, вырезанной в толще скалы. Она уходит куда-то вглубь земли, под храм. В темноте вы ничего не видите. ]];
 
    way = {
 
        kh_vroom("Вверх", "iyh_temple_left_hall");
 
        kh_vroom("Вниз", "iyh_temple_under_corridor_1");
 
    };
 
};
 
 
 
iyh_temple_descent_r = darkroom {
 
    nam = "Храм, спуск";
 
    dsc_halflit = [[Вы идете по длинной крутой лестнице, вырезанной в толще скалы. Она уходит куда-то вглубь земли, под храм. ]];
 
    dsc_dark = [[Вы идете по длинной крутой лестнице, вырезанной в толще скалы. Она уходит куда-то вглубь земли, под храм. В темноте вы ничего не видите. ]];
 
    way = {
 
        kh_vroom("Вверх", "iyh_temple_right_hall");
 
        kh_vroom("Вниз", "iyh_temple_under_corridor_1");
 
    };
 
};
 
 
iyh_temple_under_corridor_1 = darkroom {
 
    nam = "Под храмом";
 
    dsc_halflit = [[Темный коридор, расположенный под храмом. Скрытый от посторонних глаз, он простоял нетронутым сотни, если не тысячи лет, храня древние тайны навьяров. Слева и справа вы видите проходы, ведущие к лестницам наверх. ]];
 
    dsc_dark = [[Темный коридор, расположенный под храмом. Скрытый от посторонних глаз, он простоял нетронутым сотни, если не тысячи лет, храня древние тайны навьяров. В темноте вы различаете едва уловимое свечение откуда-то в конце коридора. ]];
 
    way = {
 
        kh_vroom("На лестницу слева", "iyh_temple_right_hall");
 
        kh_vroom("На лестницу справа", "iyh_temple_right_hall");
 
        kh_vroom("Дальше по коридору", "iyh_temple_under_corridor_1", 1);
 
    };
 
};
 
 
iyh_temple_under_corridor_2 = darkroom {
 
    nam = "Под храмом";
 
    dsc_halflit = [[Темный коридор, расположенный под храмом. Скрытый от посторонних глаз, он простоял нетронутым сотни, если не тысячи лет, храня древние тайны навьяров. ]];
 
    dsc_dark = [[Темный коридор, расположенный под храмом. Скрытый от посторонних глаз, он простоял нетронутым сотни, если не тысячи лет, храня древние тайны навьяров. ]];
 
    obj = {
 
        'iyh_temple_under_plaque'
 
    };
 
    checkCoder = function(s, phrase)
 
        if (phrase == "i'yhe'he'vji'a'rr" or phrase == "he'vji'a'rr") then
 
            iyh_temple_under_plaque:disable();
 
            path("В дверь"):enable();
 
            return [[Лампочки кодировщика зажигаются в заданной последовательности bи каменная дверь медленно поднимается, открывая проход дальше. ]];
 
        else
 
            return [[Лампочки кодировщика зажигаются в заданной последовательности, но ничего не происходит. ]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("Назад, к лестницам", "iyh_temple_under_corridor_1");
 
        kh_vroom("В дверь", "iyh_temple_under_room"):disable();
 
    };
 
};
 
 
iyh_temple_under_plaque = obj {
 
    nam = "iyh_temple_under_plaque";
 
    dsc = function(s)
 
        if (pl.has_light) then
 
            return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая черная {табличка} из неизвестного материала. ]];
 
        elseif (language_known) then
 
            return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на табличке едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. Надпись гласит: "Назови себя и ты войдешь". ]];
 
        else
 
            return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на табличке едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. К сожалению, вы не понимаете, что они значат. ]];
 
        end;
 
    end;
 
    act = [[Табличка из неизвестного материала. ]];
 
};
 
 
iyh_temple_under_room = darkroom {
 
    nam = "iyh_temple_under_room";
 
    disp = "Под храмом";
 
    dsc_halflit = [[Небольшая темная комната, скрытая в глубинах древнего навьярского храма. Вы первые, кто потревожил ее за долгие столетия. В центре находится каменный пьедестал. ]];
 
    dsc_dark = [[Небольшая темная комната, скрытая в глубинах древнего навьярского храма. В темноте вы с трудом различаете очертания предметов. ]];
 
};
 
 
iyh_temple_rubble_left = obj {
 
	nam = "iyh_temple_rubble";
 
	dsc = [[
 
		В углу валяется {груда обломков}.
 
	]];
 
	act = [[
 
		Здесь ничего нет.
 
	]];
 
};
 
 
iyh_temple_niche_left = obj {
 
	var {
 
		taken = false;
 
	};
 
	nam = "iyh_temple_deep_niche_left";
 
	dsc = [[
 
		В одной из стен вы замечаете глубокую {нишу}. 
 
	]];
 
	act = function(s)
 
		if (s.taken) then
 
			return [[
 
				Здесь ничего нет. 
 
			]];
 
		else
 
			s.taken = true;
 
			take(item_statuette);
 
			return [[
 
				Внутри вы находите металлическую статуэтку, изображающую навьяра. 
 
			]];
 
		end;
 
	end;
 
};
 
 
iyh_temple_rubble_right = obj {
 
	var {
 
		taken = false;
 
	};
 
	nam = "iyh_temple_rubble";
 
	dsc = [[
 
		В углу валяется {груда обломков}.
 
	]];
 
	act = function(s)
 
		if (s.taken) then
 
			return [[
 
				Здесь ничего нет. 
 
			]];
 
		else
 
			s.taken = true;
 
			take(item_legend_of_dark_source);
 
			return [[
 
				В куче обломков вы находите металлическую табличку. 
 
			]];
 
		end;
 
	end;
 
};
 
 
iyh_temple_niche_right = obj {
 
	nam = "iyh_temple_deep_niche_left";
 
	dsc = [[
 
		В одной из стен вы замечаете глубокую {нишу}. 
 
	]];
 
	act = [[
 
		Здесь ничего нет.
 
	]];
 
};
 
 
iyh_pedestal = obj {
 
	var {
 
		taken = false;
 
	};
 
	nam = "iyh_pedestal";
 
	dsc = function(s)
 
		if (s.taken) then
 
			return [[
 
				В центре комнаты расположен пустой {пьедестал}.
 
			]];
 
		else
 
			return [[
 
				В центре комнаты расположен {пьедестал}, на котором покоится какой-то блестящий предмет.
 
			]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.taken) then
 
			return [[
 
				Здесь ничего нет. 
 
			]];
 
		else
 
			s.taken = true;
 
			atl_iyh_state = 8;
 
			
 
			if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
				return [[
 
					Вы подходите к кубу, чтобы взять его, но Леарр вас опережает - она прячет куб к себе в сумку. По ее плавникам бегут цветные полосы: [Это наша-реликвия].
 
				]];
 
			elseif (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0) then
 
				return [[
 
					Вы подходите к кубу, чтобы взять его, но Аикерьярр вас опережает - он прячет куб к себе в сумку. По его плавникам бегут цветные полосы: [Не трогай! Это наша-реликвия].
 
				]];
 
			else
 
				take(item_navjiarr_cube);
 
				return [[
 
					Вы поднимаете небольшой светящийся кубик. 
 
				]];
 
			end;
 
			
 
		end;
 
	end;
 
};
 
 
iyh_near_temple = dlg {
 
	nam = "Штурвал Левиафана";
 
	dsc = [[
 
		Через иллюминаторы вы видите прямо перед собой массивные каменные двери, вытесанные в скале, возвышающейся далеко над вами. Над ними вы видите небольшой козырек, поддерживаемый массивными колоннами. Древний камень все еще хранит орнамент, выгравированный на дверях, колоннах и ступенях лестницы.
 
	]];
 
	enter = function(s)
 
		if (atl_iyh_shockfish_away == 0 and not atl_iyh_shockfish_dead and not atl_iyh_shockfish_left) then
 
			pr [[
 
				Как только вы приближаетесь, скат выплывает из свого жилища, чтобы прогнать посмевших приблизиться к нему.
 
			]];
 
			iyh_fight.temple_distance = 50;
 
			iyh_fight.distance = 50;
 
			walk(iyh_fight);
 
		end;
 
	end;
 
	entered = function(s)
 
		move(submarine_leviathan, iyh_near_temple_foot);
 
	end;
 
	phr = {
 
		{tag="ravine", false, always=true, "[Ко входу в ущелье]", [[
 
			Вы поворачиваете штурвал и включаете двигатели Левиафана. Через несколько минут вы оказываетесь у входа в ущелье.
 
		]], code [[ walk('iyh_ravine_entry'); ]]};
 
		{tag="away", always=true, "[Отойти от штурвала]", code = [[
 
			walk('leviathan_wheelhouse');
 
		]]};
 
		{tag="back", always=true, "[Вернуться к исходной позиции]", code = [[
 
			walk('iyh_far_from_entrance');
 
		]]};
 
	};
 
};
 
 
iyh_near_temple_foot = dlg {
 
	nam = "Вход в храм";
 
	dsc = [[
 
		Прямо перед собой вы видите массивные каменные двери, вытесанные в скале, возвышающейся далеко над вами. Над ними вы видите небольшой козырек, поддерживаемый массивными колоннами. Древний камень все еще хранит орнамент, выгравированный на дверях, колоннах и ступенях лестницы.
 
	]];
 
	way = {
 
		kh_vroom("В Левиафан", "leviathan_airlock");
 
		
 
	};
 
};
 
 
iyh_outro_svetlova = room {
 
	nam = "Атлантида, док Левиафана";
 
	dsc = function(s)
 
		pr [[
 
			При выходе из Левиафана, вас встречает Екатерина Светлова. Вы рассказываете ей обо всем произошедшем. 
 
		]];
 
		if (atl_iyh_shockfish_dead) then
 
			pr [[
 
				Она забирает у вас артефакты для изучения, но крайне недовольна убийством ската: "Артефакты, конечно будут полезны, но то что вы сделали ставит под угрозу дальнейшее существование станции. Хвала небесам, что рыбни об этом не знают и может быть, не узнают о произошедшем".^
 
			]];
 
		elseif (atl_iyh_entrance_destroyed) then
 
			pr [[
 
				Она забирает у вас артефакты для изучения, но огорчена разрушением святилища: "Очень жаль, что пришлось разрушить храм - там наверняка было еще много интересного".^
 
			]];
 
		else
 
			pr [[
 
				Она забирает у вас артефакты для изучения и благодарит вас: "Отлично, вы оказали нам неоценимую услугу. Скоро я верну реликвию в Дипатреанотр и ситуация будет исчерпана".^
 
			]];
 
		end;
 
		
 
		--[[pr [ [
 
			Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, к вам входит Екатерина и отдает часть табличек, найденных вами: "Это вам понадобится в поисках отца. Эти таблички помогут вам проследовать путем Уильяма. Я уже говорила, что он отправился на поиски древнего навьярского города, Лсэрианотра. Должно быть, он сделал копии этих диаграмм. Но здесь не все просто - это лишь фрагменты карт и чтобы воспользоваться ими, вам придется найти недостающие части. К сожалению, я не знаю, где их можно найти. Но, скорее всего, знают навьяры. 
 
		] ];
 
		if (not atl_iof_learr_dead) then
 
			pr [ [
 
				Вам следует начать с Ираафаанотра - родного города Леарр. Наверняка, она согласится отправиться туда с вами". 
 
			] ];
 
		else
 
			pr [ [
 
				Рядом с нами расположено два города - Дипатреанотр и Ираафаанотр, и я советую вам их посетить". 
 
			] ];
 
		end;]]
 
		pr [[
 
			Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое что для вас".
 
		]];
 
	end;
 
	entered = function(s)
 
		atl_iyh_artifacts_on_atlantis = true;
 
		remove(item_statuette);
 
		remove(item_temple_disk);
 
		remove(item_legend_of_temple);
 
		remove(item_legend_of_dark_source);
 
		remove(item_legend_of_first_city);
 
		remove(item_legend_of_hunter);
 
		remove(item_navjiarr_chart_1);
 
		remove(item_navjiarr_chart_2);
 
		remove(item_navjiarr_chart_3);
 
	end;
 
	obj = {
 
		vroom("Продолжить", "atl_luna_drake_room");
 
	};
 
};
 
 
iyh_outro_aikerrjarr = room {
 
	nam = "Атлантида, док Левиафана";
 
	dsc = function(s)
 
		pr [[
 
			При выходе из Левиафана, вас встречает Екатерина Светлова. Аикерьярр сразу же требует: "Ты мне-отдашь взятое-тобой-в-храме-все". На что Светлова просит его: "Позвольте кратко взглянуть на все". Аикерьярр с явным недовольством соглашается. Пока Екатерина осматривает реликвии, вы рассказываете ей обо всем произошедшем. Как только вы заканчиваете рассказ, 
 
		]];
 
		
 
		if (atl_iyh_shockfish_dead) then
 
			pr [[
 
				она недовольно восклицает: "Зачем вы это сделали?!", - После чего, уже спокойнее добавляет: "Впрочем, можете не отвечать. Что сделано то сделано".^
 
			]];
 
		elseif (atl_iyh_entrance_destroyed) then
 
			pr [[
 
				она огорченно комментирует: "Очень жаль, что пришлось разрушить храм - там наверняка было еще много интересного".^
 
			]];
 
		else
 
			pr [[
 
				она благодарит вас: "Отлично, вы оказали нам неоценимую услугу. Скоро я верну реликвию в Дипатреанотр и ситуация будет исчерпана".^
 
			]];
 
		end;
 
		
 
		pr [[
 
			Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое что для вас".
 
		]];
 
	end;
 
	hideinv = true;
 
	entered = function(s)
 
		remove(item_statuette);
 
		remove(item_temple_disk);
 
		remove(item_legend_of_temple);
 
		remove(item_legend_of_dark_source);
 
		remove(item_legend_of_first_city);
 
		remove(item_legend_of_hunter);
 
		remove(item_navjiarr_chart_1);
 
		remove(item_navjiarr_chart_2);
 
		remove(item_navjiarr_chart_3);
 
	end;
 
	obj = {
 
		vroom("Продолжить", "atl_luna_drake_room");
 
	};
 
};
 
 
iyh_outro_learr = dlg {
 
	nam = "Атлантида, док Левиафана";
 
	entered = function(s)
 
		if (rel_learr > 0) then
 
			psub('rel_ok');
 
			return [[
 
				При выходе из Левиафана, вас встречает Екатерина Светлова. Леарр сразу же просит: "Ты мне-отдашь взятое-в-храме".^
 
				На что Светлова просит ее: "Может вы разрешите нам оставить реликвии на некоторое время?"^
 
				Леарр не слишком уверенно отвечает: "Старейшина это-не-одобрит. Другой-выход есть?"
 
				
 
			]];
 
		else
 
			psub('rel_not_ok');
 
			return [[
 
				При выходе из Левиафана, вас встречает Екатерина Светлова. Леарр сразу же просит: "Ты мне-отдашь взятое-в-храме".^
 
				На что Светлова просит ее: "Может вы разрешите нам оставить реликвии на некоторое время?"^
 
				Леарр не слишком уверенно отвечает: "Старейшина это-не-одобрит. Другой-выход есть?"
 
			]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="rel_ok"};
 
		{"Это очень поможет нам в поисках Уильяма", [[
 
			Леарр все еще неуверенно: "Я что-смогу-сделаю. Вы пока-все-оставьте".
 
		]], code [[
 
			atl_iyh_artifacts_on_atlantis = true;
 
			atl_rep_svetlova = atl_rep_svetlova + 1;
 
			walk("iyh_outro_learr_2");
 
		]]};
 
		{"Хорошо, забирайте реликвии", [[
 
			Леарр благодарит вас: "Вы можете-наш-город-посетить и реликвии-смотреть".
 
		]], code [[
 
			rel_learr = rel_learr + 1;
 
			remove(item_statuette);
 
			remove(item_temple_disk);
 
			remove(item_legend_of_temple);
 
			remove(item_legend_of_dark_source);
 
			remove(item_legend_of_first_city);
 
			remove(item_legend_of_hunter);
 
			remove(item_navjiarr_chart_1);
 
			remove(item_navjiarr_chart_2);
 
			remove(item_navjiarr_chart_3);
 
			walk("iyh_outro_learr_2");
 
		]]};
 
		{tag="rel_not_ok"};
 
		{"Это очень поможет нам в поисках Уильяма", [[
 
			Леарр отвечает: "Я с-вами-не-говорю. Не позволю-реликвии-оставить. Вы можете-наш-город-посетить и реликвии-смотреть".
 
		]], code [[
 
			remove(item_statuette);
 
			remove(item_temple_disk);
 
			remove(item_legend_of_temple);
 
			remove(item_legend_of_dark_source);
 
			remove(item_legend_of_first_city);
 
			remove(item_legend_of_hunter);
 
			remove(item_navjiarr_chart_1);
 
			remove(item_navjiarr_chart_2);
 
			remove(item_navjiarr_chart_3);
 
			walk("iyh_outro_learr_2");
 
		]]};
 
		{"Хорошо, забирайте реликвии", [[
 
			Леарр отвечает: "Я с-вами-не-говорю. Не позволю-реликвии-оставить. Вы можете-наш-город-посетить и реликвии-смотреть".
 
		]], code [[
 
			rel_learr = rel_learr + 1;
 
			remove(item_statuette);
 
			remove(item_temple_disk);
 
			remove(item_legend_of_temple);
 
			remove(item_legend_of_dark_source);
 
			remove(item_legend_of_first_city);
 
			remove(item_legend_of_hunter);
 
			remove(item_navjiarr_chart_1);
 
			remove(item_navjiarr_chart_2);
 
			remove(item_navjiarr_chart_3);
 
			walk("iyh_outro_learr_2");
 
		]]};
 
	};
 
};
 
 
iyh_outro_learr_2 = room {
 
	nam = "Атлантида";
 
	dsc = [[
 
		Вы отправляетесь в свою комнату, чтобы отдохнуть. Утром, вас вызывает по телефону Екатерина Светлова: "Дрейк, пройдите ко мне. У меня есть кое что для вас".
 
	]];
 
	obj = {
 
		vroom("Продолжить", "atl_luna_drake_room");
 
	};
 
};
 
\ No newline at end of file
game_over.lua
Show inline comments
 
game_over_banished_lfc = game_over("game_over_banished_lfc", [[Как только вы оказываетесь в межсекционном коридоре, вас окружают стражники Атлантиды. Они просят вас проследовать за ними и вы понимаете, что сопротивление бесполезно. Вас проводят в кабинет Винсента Даркстара. Когда стражники выходят, начальник службы безопасности поднимается из-за стола и начинает вас отчитывать:"Господин Дрейк. Вы крайне разочаровали меня. Мало того! Вы поставили под угрозу дальнейшую работу станции", -- впервые вы слышите, как Даркстар практически срывается на крик -- до этого он всегда говорил спокойно и уверенно, -- "Отныне, вы лишены всяческих привилегий и при первой возможности будете депортированы". Когда вы выходите из кабинета, охранники сопроваждают вас в вашу каюту и запирают там. Несколько месяцев вы проводите взаперти. Уильям и Адриан Блэк так и не вернулись из своей экспедиции.^Вскоре вас в запертой каюте Левиафана, мало отличающейся от каюты на станции, высылают на поверхность. Вас высаживают возле одного из небольшихэ прибрежных городков соединенных штатов, откуда вы без проблем доберетесь куда угодно. Однако, путь на Атлантиду потерян для вас навсегда.  ]]);
 
 
game_over_lse_prison_fight = game_over("game_over_lse_prison", [[Стражники с легкостью останавливают вашу попытку побега. Вы возвращаетесь в камеры и теперь вам уже не на что надеяться. ]]);
 
 
game_over_lse_prison = game_over("game_over_lse_prison", [[Фаэтларр рванулся к двери, расчитывая проскользнуть незаметно. К сожалению, дверь оказалась запертой и навьяру не оставалось ничего, кроме как попытаться убрать стражника, пока тот не позвал на помощь. К сожалению, Фаэтларр оказался недостаточно быстр. Дверь открылась и в помещение вбежали сразу несколько стражников. Фаэтларру не оставалось ничего, кроме как сдаться. Его запирают рядом с остальными членами экипажа. Вы понимаете, что теперь все действительно кончено. Вы проиграли. ]]);
 
 
game_over_lse_guards = game_over("game_over_lse_guards", [[Охранник поднимает тревогу. Вы не успеваете ничего сделать и оказываетесь схвачены. ]]);
 
 
game_over_phaetlarr_caught = game_over("game_over_phaetlarr_caught", [[Едва увидев Фаэтларра, стражники бросаются к нему, не давая никаких шансов на спасение. Через некоторое время, он оказывается в тюрьме, рядом с остальными членами экипажа. Вы понимаете, что теперь все действительно кончено. Вы проиграли. ]]);
 
 
game_over_phaetlarr_wrong_wire = game_over("game_over_phaetlarr_wrong_wire", [[Едва Фаэтларр обрезает провод, как свет в доке меняет цвет на красный, а со всех сторон доносятся громкие звуки сирены. Стражники среагировали моментально. Меткий бросок копья протыкает навьяра. Даже если он выжил, шансов спасти остальной экипаж у него не остается. ]]);
 
 
game_over_za_temple = game_over("game_over_za_temple", [[Развернув субмарину вы подставили винт под удары ваших противников. Несколько попаданий в винт выводят его из строя и Левиафан оказывается обездвижен. Теперь вы совершенно беззащитны перед атаками противника. ]]);
 
 
game_over_kraken = game_over("game_over_kraken", [[От сильных ударов корпус субмарины начал расходиться по швам. В помещения хлынула вода. Озверевший кракен продолжает хлестать Левиафан своими щупальцами. Наконец, чудовище хватает подлодку и отправляется вместе с ней в бездну. К этому времени на борту уже не осталось никого живого, кроме, быть может, навьяров. ]]);
 
 
game_over_za_fight = game_over("game_over_za_fight", [[Стражники навьяров - опасные противники. Очередной удар копья проделывает дыру в вашем скафандре и он наполняется водой. Вскоре вы задыхаетесь. ]]);
 
 
game_over_za_learr = game_over("game_over_za_learr", [[Леарр пытается оттолкнуть вас от штурвала и остановить Левиафан. Вы делаете резкий поворот и субмарина кренится на бок. Леарр, не удержавшись на ногах, падает. Навьярка кричит в бессильной ярости, когда вы пролетаете над воротами Заисланотра. Вы берете курс к центру города, а вокруг вас начинают появляться целые отряды вооруженных навьяров. Восседая на белых акулах, всадники несутся наперерез Левиафану. Поначалу, копья отскакивают от металлической обшивки субмарины, не насося ей ущерба, а выстрелы из звуковой пушки выкашивают огромные прорехи в рядах противника. Однако, вскоре, несколько копий попадает в уязвимые места: на приборной панели загораются тревожные лампочки, сообщающие о поломках. Еще через мгновение винт останавливается. Вы чувствуете запах дыма, заполняющий помещение. Вы пытаетесь использовать звуковую пушку, однако она не работает. Вы пытаетесь запустить торпеды, но мощный взрыв сотрясает подлодку - отверстия торпедных аппаратов были заблокированы и торпеды взорвались находясь еще внутри Левиафана. Свет гаснет, а отсеки начинает заполнять вода. Вы наглухо задраиваете люк рубки, но вас это уже не спасет. ]]);
 
 
game_over_za_anna = game_over("game_over_za_learr", [[Вы берете курс к центру города, а вокруг вас начинают появляться целые отряды вооруженных навьяров. Восседая на белых акулах, всадники несутся наперерез Левиафану. Поначалу, копья отскакивают от металлической обшивки субмарины, не насося ей ущерба, а выстрелы из звуковой пушки выкашивают огромные прорехи в рядах противника. Однако, вскоре, несколько копий попадает в уязвимые места: на приборной панели загораются тревожные лампочки, сообщающие о поломках. Вы слышите едва различимый среди шума двигателей голос Анны: "Это была плохая идея". Через мгновение винт останавливается. Вы чувствуете запах дыма, заполняющий помещение. Вы пытаетесь использовать звуковую пушку, однако она не работает. Вы пытаетесь запустить торпеды, но мощный взрыв сотрясает подлодку - отверстия торпедных аппаратов были заблокированы и торпеды взорвались находясь еще внутри Левиафана. Свет гаснет, а отсеки начинает заполнять вода. Вы наглухо задраиваете люк рубки, но вас это уже не спасет. ]]);
 
 
game_over_eaten_by_octopus = game_over("game_over_eaten_by_octopus", [[Гигантский спрут мгновенно опутывает вас своими щупальцами. Вы не можете вырваться из стальной хватки чудовища. Металл скафандра скрипит, не выдерживая давления и вы понимаете, что ваши дни сочтены. ]]);
 
 
game_over_eaten_by_shark = room {
 
    nam = "game_over_eaten_by_shark";
 
    disp = "Игра окончена";
 
    hideinv = true;
 
    dsc = [[Вы не успеваете заметить, как акула разгрызает ваш скафандр острыми зубами. Через несколько мгновений вы умираете. ]];
 
};
 
 
game_over_caught = room {
 
	nam = "game_over_caught";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Охранники склада обнаруживают вас. В мгновение вы оказываетесь схвачены. Ни в полиции ни в суде никому нет никакого дела до причин вашей попытки проникновения на склад. Ближайшие несколько лет вы проведете в тюрьме. ]];
 
};
 
 
game_over_banished = room {
 
	nam = "game_over_banished";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Охранники сопровождают вас до Левиафана. Без помощи Атлантиды, вы не сможете найти отца. Ваши поиски окончены. ]];
 
};
 
 
game_over_powerless = room {
 
	nam = "game_over_powerless";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Электрооборудование Левиафана выходит из строя и вы теряете всякую возможность управлять субмариной. Разъяренный скат продолжает атаковать субмарину, то испуская электрические разряды, то нанося удары хвостовым шипом. Через некоторое время обшивка не выдерживает и рубка Левиафана заполняется водой. ]];
 
};
 
 
game_over_shockfish = room {
 
	nam = "game_over_shockfish";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Когда скат возвращается и обнаруживает вас, он мгновенно убивает вас, сперва проткнув хвостовым шипом и после чего выпустив мощный электрический разряд. ]];
 
};
 
 
game_over_shockfish_2 = room {
 
	nam = "game_over_shockfish";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Вы возвращаетесь в главный зал храма и не замечаете, как сзади вас скат плавно опускается и протыкает вас своим шипом. Мощный электрически разряд довершает дело и ваше тело падает на пол древнего святилища. ]];
 
	dsc = [[Вы входите в главный зал храма и не замечаете, как сзади вас скат плавно опускается и протыкает вас своим шипом. Мощный электрически разряд довершает дело и ваше тело падает на пол древнего святилища. ]];
 
};
 
 
game_over_sunk = room {
 
	nam = "game_over_sunk";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Мощный удар хвостового шипа пробивает обшивку Левиафана насквозь. Вода быстро заполняет отсеки субмарины и у вас не остается никаких шансов спастись. ]];
 
};
 
 
game_over_shot = room {
 
	nam = "game_over_shot";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Блэк вскидывает пистолет и стреляет в вашу сторону. Вы чувствуете боль в груди. В глазах мутнеет и вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_awakening = room {
 
	nam = "game_over_awakening";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Пробуждение Наэтвьирра завершено. Вы зря старались. ]];
 
};
 
 
game_over_pylon = room {
 
	nam = "game_over_pylon";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Мощный луч света, исходящий из пилона, испепеляет вас. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_naethvjirr = room {
 
	nam = "game_over_naethvjirr";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Очередная атака Наэтвьирра оказывается для вас фатальной. Вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_final_battle = game_over("game_over_final_battle", [[Вы падаете на холодный металлический пол зала. Наэтвьирр вскоре пробудится, но вам уже все равно. ]]);
 
 
game_over_shot_fb = room {
 
	nam = "game_over_shot_fb";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Застреленный Адрианом Блэком, вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_victory =room {
 
	nam = "game_over_victory";
 
	disp = "Вы победили";
 
	hideinv = true;
 
	dsc = [[Как только последний генератор затихает, свет начинает медленно тускнеть. Вы слышите, как по всему городу экстренно открываются двери и понимаете, что у вас есть всего несколько минут прежде чем вода хлынет и в этот зал. Вы в спешке приводите в сознание ваших напарников и одеваете скафандр. ]];
 
};
 
 
game_over_ignis = room {
 
	nam = "Игра окончена";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[У вас кружится голова от нестерпимого жара. Не в силах стоять, вы опускаетесь на горячий пол. С каждым вдохом вы чувствуете едкий дым, проникающий в ваши легкие. Леарр подбегает к вам, чтобы помочь. Вы пытаетесь подняться, но падаете снова и теряете сознание. ]];
 
};
 
 
game_over_trap = room {
 
	nam = "Игра окончена";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Вы делаете шаг  и не успеваете понять, как пол под вами проваливается и вы падаете в пропасть. ]];
 
};
 
\ No newline at end of file
0 comments (0 inline, 0 general)