Changeset - e56198c202cf
[Not reviewed]
default
0 3 0
Silverwing - 9 years ago 2015-05-17 09:31:39

Final scene additions
3 files changed with 46 insertions and 15 deletions:
0 comments (0 inline, 0 general)
final_battle.lua
Show inline comments
 
@@ -354,6 +354,7 @@ final_battle = room {
 
	entered = function(s)
 
		-- Здесь будем собирать все необходимое для начала финальной битвы: сопартийцы отыграют свою роль, после чего начнется битва не на жизнь, а на смерть.
 
		s.entered = nil; -- Должно отработать не более одного раза
 
		
 
		pl.position = {1,2};
 
		local throw = rnd(8);
 
		while (s.generators[throw] ~= 1) do
 
@@ -379,6 +380,14 @@ final_battle = room {
 
		end;
 
		s.generators[pylon] = 5;
 
		
 
		for i = 1, #pl.party do
 
			if (pl.party[i] == "phaetlarr")
 
			elseif (pl.party[i] == "learr")
 
			elseif (pl.party[i] == "radcliffe")
 
			elseif (pl.party[i] == "wright")
 
			end;
 
		end;
 
		
 
		lifeon(s);
 
	end;
 
	life = function(s)
final_scene.lua
Show inline comments
 
@@ -5,9 +5,11 @@ adrian_helper = obj {
 
			char_adrian.state = char_adrian.state + 1;
 
		elseif (char_adrian.state == 5) then
 
			char_naethvjirr.active = true;
 
			return [[
 
			p([[
 
				Адриан что-то делает с пультом управления и Наэтвьирр оживает
 
			]], true;
 
			]]);
 
			lifeoff(s);
 
			walk("pre_battle_scene_normal");
 
		end;
 
	end;
 
};
 
@@ -28,7 +30,7 @@ char_adrian = obj {
 
				]];
 
			elseif (s.state < 6) then
 
				return [[
 
					{Блэк} собирается включить Наэтвьирра. ^
 
					{Адриан Блэк} собирается включить Наэтвьирра. ^
 
				]];
 
			end;
 
		end;
 
@@ -38,9 +40,11 @@ char_adrian = obj {
 
			s.state = s.state + 1;
 
		elseif (s.state == 5) then
 
			char_naethvjirr.active = true;
 
			return [[
 
			p([[
 
				Адриан что-то делает с пультом управления и Наэтвьирр оживает
 
			]], true;
 
			]]);
 
			lifeoff(s);
 
			walk("pre_battle_scene_normal");
 
		end;
 
	end;
 
	act = function(s)
 
@@ -121,7 +125,9 @@ char_naethvjirr = obj {
 
		char_adrian.state = 6;
 
		-- TODO Адриан стреляет в одного из членов партии
 
		if (#pl.party ~= 0) then
 
			chosen_one_name = pl.party[rnd(#pl.party)];
 
			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
 
@@ -131,8 +137,10 @@ char_naethvjirr = obj {
 
			else
 
				chosen_one = char_wright_fb; 
 
			end;
 
			table.remove(pl.party, chosen_one_index);
 
			p("^^Адриан вскидывает пистолет и стреляет в вашу сторону. " .. chosen_one.disp .. " падает замертво");
 
			walk(final_battle);
 
			
 
			walk("pre_battle_scene_fight");
 
		else
 
			-- TODO Адриан стреляет в вас
 
			walk("game_over_shot");
 
@@ -197,10 +205,24 @@ final_scene= room {
 
	};
 
};
 
 
--final_scene_interrupt = room {
 
--	nam = "final_scene_interrupt";
 
--	disp = "Лсэрианотр, центральный зал";
 
--	dsc = "";
 
--	obj = {
 
--	};
 
--};
 
\ No newline at end of file
 
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')
 
	};
 
};
 
\ No newline at end of file
main.lua
Show inline comments
 
@@ -141,7 +141,7 @@ function init()
 
	put(submarine_leviathan, shipyard_inside);
 
	---debug
 
	--pl.where = submarine_leviathan;
 
	move(submarine_leviathan, first_city_inner_north);
 
	walk(final_scene);
 
	move(submarine_leviathan, first_city_inner_north);
 
	--walk(leviathan_wardroom);
 
end
 
\ No newline at end of file
0 comments (0 inline, 0 general)