Changeset - b93a2ca56af9
[Not reviewed]
default
0 1 0
silverwing - 7 years ago 2017-06-24 11:17:05

iyh rewrite progress
1 file changed with 4 insertions and 41 deletions:
0 comments (0 inline, 0 general)
atlantis_iyhehevjiarr.lua
Show inline comments
 
@@ -658,196 +658,196 @@ iyh_lab_turn = obj {
 
		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_entry");
 
		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"):disable();
 
		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();
 
	};
 
	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";
 
    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 [[Вы осторожно нащупываете скрытую внутри трещины кнопку и нажимаете ее. Каменные плиты отодвигаются в стороны, образуя проход в скрытое помещение храма. ]];
 
@@ -899,239 +899,202 @@ iyh_temple_hidden_room_1 = room {
 
    };
 
};
 
 
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 = [[
 
		Главный зал древнего навьярского святилища. В стенах слева и справа вырезаны небольшие углубления, на которых некогда покоились ценные реликвии. Сейчас большинство из них пусты. Потолок находится на высоте нескольких десятков метров, но ни лестниц, ни уступов нет. Вы находитесь в дальнем конце зала. 
 
	]];
 
	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;
 
	entered = function(s)
 
		if (iyh_back_door.open) then
 
			path("В заднюю зверь"):enable();
 
		end;
 
	end;
 
	way = {
 
		kh_vroom("В центр зала", "iyh_temple_main_hall_middle");
 
		kh_vroom("В заднюю дверь", "iyh_temple_rear_corridor_end"):disable();
 
	};
 
};
 
 
iyh_back_door = obj {
 
	var {
 
		open = false;
 
		kh_vroom("В заднюю дверь", "iyh_temple_rear_corridor_end");
 
	};
 
	nam = "iyh_back_door";
 
	dsc = function(s)
 
		if (s.open) then
 
			return [[
 
				В конце зала находится открытая {дверь}. 
 
			]];
 
		else
 
			return [[
 
				В конце зала находится массивная {дверь}, закрытая на засов.
 
			]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.open) then
 
			return [[
 
				Дверь уже открыта. 
 
			]];
 
		else
 
			path("В главный зал"):enable();
 
			return [[
 
				Вы отодвигаете засов и открываете дверь. 
 
			]];
 
		end;
 
	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");
0 comments (0 inline, 0 general)