Files @ 86d4f0313cf4
Branch filter:

Location: games/Awakening/final_scene.lua

Silverwing
Intro overhaul
adrian_helper = obj {
	nam = "adrian_helper";
	life = function(s)
		if (char_adrian.state > 1 and char_adrian.state < 5) then 
			char_adrian.state = char_adrian.state + 1;
		elseif (char_adrian.state == 5) then
			char_naethvjirr.active = true;
			p([[
				Адриан что-то делает с пультом управления и Наэтвьирр оживает
			]]);
			lifeoff(s);
			walk("pre_battle_scene_normal");
		end;
	end;
};

char_adrian = obj {
	nam = "adrian";
	disp = "Adrian";
	state = 1;
	dsc = function(s)
		if (char_naethvjirr.active) then
			return [[
				Вы видите {Адриана Блэка}, стоящего рядом с автоматоном. ^
			]];
		else
			if (s.state == 1) then
				return [[
					Вы видите {Адриана Блэка}, стоящего рядом с автоматоном. Он что-то делает с ним. ^
				]];
			elseif (s.state < 6) then
				return [[
					{Адриан Блэк} собирается включить Наэтвьирра. ^
				]];
			end;
		end;
	end;
	life = function(s)
		if (s.state < 5) then 
			s.state = s.state + 1;
		elseif (s.state == 5) then
			char_naethvjirr.active = true;
			p([[
				Адриан что-то делает с пультом управления и Наэтвьирр оживает
			]]);
			lifeoff(s);
			walk("pre_battle_scene_normal");
		end;
	end;
	act = function(s)
		if (s.state == 1) then 
			walkin "adrian_dlg";
		elseif (s.state < 5) then
			return "Надо как-то остановить его, но как?";
		else 
			-- TODO: Вы сбиваете Адриана с ног
		end;
	end;
};

adrian_dlg = dlg {
	nam = "adrian_dlg";
	disp = "Адриан Блэк";
	hideinv = true;
	entered = [[
		Блэк поворачивается к вам. Его лицо выражает крайнюю степень удивления: 
		"Кто вы, черт возьми, такие?!". Он отвлекся от работы с Наэтвьирром. Кажется, он не рад вас видеть.
	]];
	phr = {
		{"Адриан Блэк?", [[
			"Предположим. "
		]]},
		{"Что здесь происходит?", [[
			"Завершаю то, что должно было закончиться тысячелетия назад. Эта машина, Наэтвьирр - спящий разум глубин, как его называют Навьяры, или если точнее - Эйлеслвьихенарр - вечный разум глубин и поверхности. Он таит знания тысяч поколений Навьяр - они не должны скрываться под толщей воды, они должны быть открыты нам! "
		]], [[ pstart 'more_naethvjirr' ]]},
		{
			tag="more_naethvjirr"
		},
		{"Что вы знаете о Наэтвьирре?", [[
			"Согласно легендам, собранным мной в разных поселениях навьяров, Наэтвьирр был построен в глубокой древности навьярами, которые тогда господствовали как под водой, так и на суше. Единственной целью существования Наэтвьирра было стать "вечным мудрецом" - "эйлеслэйлайхевьирр", как его называют до сих пор в некоторых местах. Имена менялись, как всегда было у навьяров, но всегда отражали суть - частично или полностью - мыслящая, всезнающая машина, способная ответить на многие вопросы и помочь принять многие трудные решения. Только по чудовищному недоразумению он не был активирован раньше. "
		]]},
		{"Вы понимаете, насколько опасно включать эту машину, как бы она ни называлась?", [[
			"Во-первых, не тебе учить меня. Во-вторых, я все предусмотрел - в случае опасности я смогу отключить его."
		]], [[ pstart 'halt_naethvjirr' ]]},
		{
			tag="halt_naethvjirr", 
			empty = function()
				char_adrian.state = 2;
				p("^^С этими словами, Адриан подходит к рубильнику. У вас есть несколько мгновений, чтобы отреагировать");
				walk("final_scene");
				char_naethvjirr.canshoot = true;
				lifeon(adrian_helper);
			end
		},
		{"Как вы собираетесь управлять им, если ключ утерян? *Вы показываете Адриану табличку со схемой работы Наэтвьирра*", [[
			Адриан показывает вам серебристую пластинку небольшого размера(около 20х15см), на которой отсвечивают красноватые круги и линии. - "Я все предусмотрел. Без этой деталюшки Наэтвьирр будет серьезно ограничен в возможностях - это тот самый компонент, который должен блокироваться или разблокироваться ключом. "
		]]}
	};
};

char_naethvjirr = obj {
	nam = "naethvjirr";
	disp = "Наэтвьирр";
	disp2 = "Наэтвьирра";
	canshoot = false;	
	dsc = function(s)
		if (s.active) then
			return [[
				В центре зала перед массивной конструкцией, напоминающей трон, стоит {автоматон навьяр}. Конструкт выглядит совершенно как живой, сияющие белым светом глаза оглядывают помещение и вас в ожидании ваших действий. Тысячи проводов тянутся от "трона" к стенам, подобно щупальцам. ^
			]];
		else
			return [[
				В центре зала на массивной конструкции, напоминающей трон, сидит {навьяр}. Конструкт выглядит совершенно как живой, однако он абсолютно неподвижен. Покрытые серебристой чешуей, его руки покоятся на коленях. Тысячи проводов тянутся от "трона" и фигуры к стенам, подобно щупальцам. Глаза навьяра закрыты. ^
			]];
		end;
	end;
	act = [[
		Я пока не знаю, что с этим делать
	]];
	noshootmsg = "Я не знаю, к чему это приведет, пока лучше этого не делать";
	nohitmsg = "Я не знаю, к чему это приведет, пока лучше этого не делать";
	onshoot = function(s)
		p("^^Ваш выстрел повреждает Наэтвьирра, но вы не замечаете, сказалось ли это на его работоспособности");
		fb_naethvjirr.hitpoints = 2;
		char_adrian.state = 6;
		-- TODO Адриан стреляет в одного из членов партии
		if (#pl.party ~= 0) then
			local chosen_one;
			local chosen_one_index = rnd(#pl.party);
			local chosen_one_name = pl.party[chosen_one_index];
			if (chosen_one_name == "learr") then
				chosen_one = char_learr_fb;
			elseif (chosen_one_name == "phaetlarr") then
				chosen_one = char_phaetlarr_fb;
			elseif (chosen_one_name == "radcliffe") then
				chosen_one = char_radcliffe_fb;
			else
				chosen_one = char_wright_fb; 
			end;
			table.remove(pl.party, chosen_one_index);
			p("^^Адриан вскидывает пистолет и стреляет в вашу сторону. " .. chosen_one.disp .. " падает замертво");
			
			walk("pre_battle_scene_fight");
		else
			-- TODO Адриан стреляет в вас
			walk("game_over_shot");
		end;
	end;
};

char_learr_fb = obj {
	nam = "learr_fb";
	disp = "Леарр";
	dsc = function()
		return [[
			{Леарр} смотрит попеременно то на вас, то на Адриана ^
		]];
	end;
};

char_phaetlarr_fb = obj {
	nam = "phaetlarr_fb";
	disp = "Фаэтларр";
	dsc = function()
		return [[
			{Фаэтларр} оглядывает зал ^
		]];
	end;
};

char_radcliffe_fb = obj {
	nam = "radcliffe_fb";
	disp = "Уолтер Рэдклифф";
	dsc = function()
		return [[
			{Уолтер Рэдклифф} с интересом разглядывает Наэтвьирра ^
		]];
	end;
};

char_wright_fb = obj {
	nam = "wright_fb";
	disp = "Джек Райт";
	dsc = function()
		return [[
			{Джек Райт} ждет ваших действий ^
		]];
	end;
};

final_scene= room {
	nam = "final_scene";
	disp = "Лсэрианотр, центральный зал";
	dsc = [[
		Вы находитесь в центральном зале древнего города Навьяр. Вдоль стен стоят огромные металлические шкафы, из которых тысячи проводом тянутся к громадной конструкции в центре зала. Мягкий свет льется сверху, практически ослепляя вас после полумрака остальной части мертвого города. 
	]];
	obj = {
		"char_naethvjirr",
		"char_adrian",
		"adrian_helper",
		"char_learr_fb",
		"char_phaetlarr_fb",
		"char_radcliffe_fb",
		"char_wright_fb"
	};
};

pre_battle_scene_fight = room {
	nam = "pre_battle_scene_fight";
	disp = "Лсэрианотр, центральный зал";
	dsc = [[
		Вы не успеваете опомниться, как Блэк снова стоит у пульта, а Наэтвьирр открывает глаза и оглядывает помещение. Адриан тут же издает приказ, указывая на вас:"Убей их"
	]];
	obj = {
		vway("Продолжить", "{Продолжить}", 'final_battle')
	};
};

pre_battle_scene_normal = room {
	nam = "pre_battle_scene_normal";
	disp = "Лсэрианотр, центральный зал";
	dsc = [[
		В глазах автоматона зажигается мягкий синий свет и он поворачивается к Адриану. Какое-то время он молчит, видимо, пытаясь подобрать наиболее подходящий язык для общения. В итоге по головным плавникам Навьяра побежали цветные полосы - ставший уже столь привычным для вас, способ общения среди Навьяров. Он "говорит" быстро, и вы успеваете понять лишь отдельные слова: "время", "пробуждение", "повелитель". Вы понимаете, что у вас есть еще немного времени, чтобы остановить его. Едва вы достаете оружие, как из пола перед троном поднимаются два небольших пилона. Очевидно, что город будет защищать своего хозяина. 
	]];
	obj = {
		vway("Продолжить", "{Продолжить}", 'final_battle')
	};
};