Changeset - c97551e53eab
[Not reviewed]
default
0 3 0
Silverwing - 9 years ago 2015-05-23 09:23:01

following implemented
3 files changed with 109 insertions and 28 deletions:
0 comments (0 inline, 0 general)
leviathan.lua
Show inline comments
 
@@ -16,13 +16,13 @@ submarine_leviathan = obj {
 
	nam = "submarine_leviathan";
 
	disp = "Левиафан";
 
	-- dsc = [[
 
	--	Вы видите огромную металлическую конструкцию, напоминающую рыбу. Большие стеклянные иллюминаторы по бортам еще больше усиливают впечатление. На бортах крупными буквами выведено "А12 Левиафан". В верхней части машины вы видите {люк}.^ 
 
	--]];
 
	dsc = [[
 
		Вы видите "{Левиафан}" - вашу субмарину
 
		Вы видите "{Левиафан}" - вашу субмарину. ^
 
	]];
 
	act = [[ Несмотря на проведенные в бездействии годы, субмарина сейчас в отличном состоянии. Из иллюминаторов льется яркий свет. На борту виднреется слегка пошарпанная, но читаемая надпись "А04 - Левиафан" ]];
 
	-- function()
 
		-- walk "leviathan_airlock";
 
		-- return "Оказавшись внутри, вы закрываете за собой люк";
 
	--end;
 
@@ -39,12 +39,13 @@ submarine_leviathan = obj {
 
--	end;
 
--};
 
 
leviathan_airlock = room {
 
	nam = "leviathan_airlock";
 
	disp = "Левиафан, шлюз";
 
	leviathan = true;
 
	dsc = [[
 
		Вы находитесь в шлюзовом отсеке Левиафана. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		vroom("Кают-компания", "leviathan_wardroom");
 
		vroom("Наружу", function()
 
@@ -53,12 +54,13 @@ leviathan_airlock = room {
 
	};
 
};
 
 
leviathan_captains_cabin = room {
 
	nam = "leviathan_captains_cabin";
 
	disp = "Левиафан, каюта капитана";
 
	leviathan = true;
 
	dsc = [[
 
		Вы находитесь в каюте, очевидно, предназначенной для капитана. Эта каюта немного больше остальных, в ней размещен стол и стул. 
 
		В столе несколько ящичков, хитроумно закрытых, чтобы при качке они не открывались.
 
	]];
 
	way = {
 
		vroom("Каюты", "leviathan_cabins");
 
@@ -68,12 +70,13 @@ leviathan_captains_cabin = room {
 
	};
 
};
 
 
leviathan_cabins = room {
 
	nam = "leviathan_cabins";
 
	disp = "Левиафан, каюты";
 
	leviathan = true;
 
	dsc  =[[
 
		Вы находитесь в длинном коридоре с множеством дверей, ведущих в каюты, расположенные по левому борту.
 
	]];
 
	way = {
 
		vroom("Каюта капитана", "leviathan_captains_cabin");
 
		vroom("Кают-компания", "leviathan_wardroom");
 
@@ -81,75 +84,69 @@ leviathan_cabins = room {
 
	
 
};
 
 
leviathan_cargo_hold = room {
 
	nam = "leviathan_cargo_hold";
 
	disp = "Левиафан, грузовой отсек";
 
	leviathan = true;
 
	dsc = [[
 
		Вы находитесь в грузовом отсеке Левиафана
 
	]];
 
	way = {
 
		vroom("Кают-компания", "leviathan_wardroom");
 
	};
 
};
 
 
leviathan_wardroom = room {
 
	nam = "leviathan_wardroom";
 
	disp = "Левиафан, кают-компания";
 
	leviathan = true;
 
	dsc = [[
 
		Вы находитесь в кают-компании Левиафана. Просторная комната, в центре которой укреплен массивный металлический стол. 
 
		Из машинного отсека доносится гул двигателей. Яркий свет электрических ламп освещает помещение. 
 
	]];
 
	way = {
 
		vroom("Рубка", "leviathan_dlg");
 
		vroom("Шлюз", "leviathan_airlock");
 
		vroom("Каюты", "leviathan_cabins");
 
		vroom("Грузовой отсек", "leviathan_cargo_hold");
 
		vroom("Машинный отсек", "leviathan_engines");
 
	};
 
	obj = {
 
		--vway("Машинный отсек", "Из {машинного отсека} доносится легкий гул.^", "leviathan_engines");
 
		--vway("Рубка", "{В рубку}^", "leviathan_dlg");
 
		--vway("Шлюз", "{В шлюз}^", "leviathan_airlock");
 
		--vway("Каюты", "{В каюты экипажа}^", "leviathan_cabins");
 
		--vway("Грузовой отсек", "{В грузовой отсек}^", "leviathan_cargo_hold");
 
		"char_learr";
 
		--"char_phaetlarr";
 
		"char_radcliffe";
 
		"char_wright";
 
		"phone_wardroom";
 
	};
 
};
 
 
leviathan_engines = room {
 
	nam = "leviathan_engines";
 
	disp = "Левиафан, машинное отделение";
 
	leviathan = true;
 
	dsc = [[
 
		Вы находитесь в машинном отделении Левиафана. Равномерный гул электрических двигателей сообщает о полной готовности субмарины. 
 
	]];
 
	way = {
 
		vroom("Кают-компания", "leviathan_wardroom");
 
	};
 
};
 
 
phone_cabin = obj {
 
	nam = "phone_cabin";
 
	disp = "Телефон";
 
	dsc = [[
 
		На столе установлен {телефонный аппарат} для связи в пределах субмарины
 
		На столе установлен {телефонный аппарат} для связи в пределах субмарины. ^
 
	]];
 
	act = function(s)
 
		walkin(phone_dlg);
 
	end;
 
};
 
 
phone_wardroom = obj {
 
	nam = "phone_wardroom";
 
	disp = "Телефон";
 
	dsc = [[
 
		На столе, рядом с креслом командира установлен {телефонный аппарат} для связи в пределах субмарины
 
		На столе, рядом с креслом командира установлен {телефонный аппарат} для связи в пределах субмарины. ^
 
	]];
 
	act = function(s)
 
		walkin(phone_dlg);
 
	end;
 
};
 
main.lua
Show inline comments
 
@@ -143,7 +143,11 @@ function init()
 
	---debug
 
	--pl.where = submarine_leviathan;
 
	--move(submarine_leviathan, first_city_entrance);
 
	move(submarine_leviathan, first_city_outer_south);
 
	--walk(final_scene);
 
	walk(leviathan_wardroom);
 
	put("char_learr", "leviathan_wardroom");
 
	--put("char_phaetlarr", "leviathan_engines");
 
	put("char_radcliffe", "leviathan_engines");
 
	put("char_wright", "leviathan_wardroom");
 
end
 
\ No newline at end of file
party.lua
Show inline comments
 
@@ -3,12 +3,34 @@ char_learr = obj {
 
	disp = "Леарр";
 
	dsc = function(s)
 
		return [[
 
			{Леарр} ждет ваших указаний ^
 
		]];
 
	end;
 
	home = "leviathan_wardroom";
 
	accompany = function(s, value)
 
		if (value) then
 
			lifeon(s);
 
		else
 
			move(s, s.home, where(s));
 
			lifeoff(s);
 
		end;
 
	end;
 
	life = function(s)
 
		print("learr");
 
		if (where(pl).leviathan) then
 
			print("learr:leviathan");
 
			if (stead.nameof(where(s)) ~= s.home) then
 
				print("learr:goinghome");
 
				move(s, s.home, where(s));
 
			end;
 
		else
 
			print("learr:following");
 
			move(s, where(pl), where(s));
 
		end;
 
	end;
 
	act = function(s)
 
		walkin(learr_dlg);
 
	end;
 
};
 
 
char_phaetlarr = obj {
 
@@ -16,12 +38,30 @@ char_phaetlarr = obj {
 
	disp = "Фаэтларр";
 
	dsc = function()
 
		return [[
 
			{Фаэтларр} ждет ваших указаний ^
 
		]];
 
	end;
 
	home = "leviathan_engines";
 
	accompany = function(s, 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)
 
		walkin(phaetlarr_dlg);
 
	end;
 
};
 
 
char_radcliffe = obj {
 
@@ -29,12 +69,30 @@ char_radcliffe = obj {
 
	disp = "Уолтер Рэдклифф";
 
	dsc = function()
 
		return [[
 
			{Уолтер Рэдклифф} ждет ваших указаний ^
 
		]];
 
	end;
 
	home = "leviathan_engines";
 
	accompany = function(s, 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)
 
		walkin(radcliffe_dlg);
 
	end;
 
};
 
 
char_wright = obj {
 
@@ -42,12 +100,34 @@ char_wright = obj {
 
	disp = "Джек Райт";
 
	dsc = function()
 
		return [[
 
			{Джек Райт} ждет ваших указаний ^
 
		]];
 
	end;
 
	home = "leviathan_wardroom";
 
	accompany = function(s, value)
 
		if (value) then
 
			lifeon(s);
 
		else
 
			move(s, s.home, where(s));
 
			lifeoff(s);
 
		end;
 
	end;
 
	life = function(s)
 
		print("wright");
 
		if (where(pl).leviathan) then
 
			print("wright:leviathan");
 
			if (stead.nameof(where(s)) ~= s.home) then
 
				print("wright:goinghome");
 
				move(s, s.home, where(s));
 
			end;
 
		else
 
			print("wright:following");
 
			move(s, where(pl), where(s));
 
		end;
 
	end;
 
	act = function(s)
 
		walkin(wright_dlg);
 
	end;
 
};
 
 
learr_dlg = dlg {
 
@@ -59,16 +139,16 @@ learr_dlg = dlg {
 
			Леарр вопросительно смотрит на вас
 
		]];
 
	end;
 
	phr = {
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз", "Хорошо", 
 
			function()
 
				char_learr.accompany = true;
 
				char_phaetlarr.accompany = false;
 
				char_radcliffe.accompany = false;
 
				char_wright.accompany = false;
 
				char_learr.accompany(char_learr, true);
 
				char_phaetlarr.accompany(char_phaetlarr, false);
 
				char_radcliffe.accompany(char_radcliffe, false);
 
				char_wright.accompany(char_wright, false);
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
@@ -85,16 +165,16 @@ phaetlarr_dlg = dlg {
 
			Фаэтларр ждет ваших указаний
 
		]];
 
	end;
 
	phr = {
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				char_learr.accompany = false;
 
				char_phaetlarr.accompany = true;
 
				char_radcliffe.accompany = false;
 
				char_wright.accompany = false;
 
				char_learr.accompany(char_learr, false);
 
				char_phaetlarr.accompany(char_phaetlarr, true);
 
				char_radcliffe.accompany(char_radcliffe, false);
 
				char_wright.accompany(char_wright, false);
 
			end; 
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
@@ -109,16 +189,16 @@ radcliffe_dlg = dlg {
 
	entered = [[
 
		Уолтер задумчиво смотрит на вас
 
	]];
 
	phr = {
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				char_learr.accompany = false;
 
				char_phaetlarr.accompany = false;
 
				char_radcliffe.accompany = true;
 
				char_wright.accompany = false;
 
				char_learr.accompany(char_learr, false);
 
				char_phaetlarr.accompany(char_phaetlarr, false);
 
				char_radcliffe.accompany(char_radcliffe, true);
 
				char_wright.accompany(char_wright, false);
 
			end; 
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
@@ -133,16 +213,16 @@ wright_dlg = dlg {
 
	entered = [[
 
		Джек ждет ваших указаний
 
	]];
 
	phr = {
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				char_learr.accompany = false;
 
				char_phaetlarr.accompany = false;
 
				char_radcliffe.accompany = false;
 
				char_wright.accompany = true;
 
				char_learr.accompany(char_learr, false);
 
				char_phaetlarr.accompany(char_phaetlarr, false);
 
				char_radcliffe.accompany(char_radcliffe, false);
 
				char_wright.accompany(char_wright, true);
 
			end; 
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
0 comments (0 inline, 0 general)