Changeset - 38a48ac67d2a
[Not reviewed]
default
2 2 3
Silverwing - 9 years ago 2015-06-18 08:59:34

Filename changes
7 files changed with 289 insertions and 288 deletions:
0 comments (0 inline, 0 general)
dock2.lua
Show inline comments
 
new file 100644
 
--[[
 
Игрок может попасть сюда только после диалога с Майклом.
 
Верфь заброшена, многие механизмы придется ремонтировать.
 
Здесь игрок найдет подводную лодку, которую нужно будет восстановить.
 
]]
 
shipyard_2 = room {
 
	nam = "shipyard_2";
 
	disp = "Верфь";
 
	dsc = [[
 
		Вы стоите у входа в огромное обветшалое здание. Полусодранная вывеска сообщает, что здание является собственностью компании Вест-Хэйвен Транс-Оушен. 
 
	]];
 
	enter = function(s)
 
		move(char_coachman, here());
 
	end;
 
	obj = {
 
		vway("Вход", "Огромные ворота слегка приоткрыты. Вы можете {войти}^", "shipyard_inside")
 
	};
 
};
 
 
shipyard_inside = room {
 
	nam = "shipyard_inside";
 
	disp = "Верфь";
 
	dsc = [[
 
		Вы находитесь внутри верфи. Огромное полупустое здание. Под потолком расположены краны, некогда служившие для подъема и спуска кораблей. 
 
		Вдоль стен лежат сотни ящиков. Большинство из них уже успели прогнить, но некоторые сохранились весьма неплохо.
 
	]];
 
	view = [[
 
		Левиафан находится в доке
 
	]];
 
	obj = {
 
		vway("Ржавая лестница", "Старая проржавевшая лестница ведет {на второй этаж}^", "shipyard_2nd_floor"),
 
		vway("Выход", "Огромные ворота слегка приоткрыты. Вы можете {выйти}^", "shipyard_2")
 
	};
 
};
 
 
shipyard_2nd_floor = room {
 
	nam = "shipyard_2nd_floor";
 
	disp = "Верфь, второй этаж";
 
	dsc = [[
 
		Вы находитесь внутри верфи. Огромное полупустое здание. Под потолком расположены краны, некогда служившие для подъема и спуска кораблей. 
 
		Вы находитесь на металлических мостках на уровне второго этажа. 
 
	]];
 
	obj = {
 
		vway("Ржавая лестница вниз", "Старая проржавевшая лестница ведет {на первый этаж}^", "shipyard_inside"),
 
		vway("Ржавая лестница вверх", "Старая проржавевшая лестница ведет {на третий этаж}^", "shipyard_3rd_floor"),
 
	};
 
};
 
 
shipyard_3rd_floor = room {
 
	nam = "shipyard_3rd_floor";
 
	disp = "Верфь, третий этаж";
 
	dsc = [[
 
		Вы находитесь внутри верфи. Огромное полупустое здание. Под потолком расположены краны, некогда служившие для подъема и спуска кораблей. 
 
		Вы находитесь на металлических мостках на уровне третьего этажа. 
 
	]];
 
	obj = {
 
		vway("Ржавая лестница вниз", "Старая проржавевшая лестница ведет {на второй этаж}^", "shipyard_2nd_floor"),
 
		vway("Ржавая лестница вверх", "Старая проржавевшая лестница ведет {на четвертый этаж}^", "shipyard_4th_floor"),
 
	};
 
};
 
 
shipyard_4th_floor = room {
 
	nam = "shipyard_4th_floor";
 
	disp = "Верфь, четвертый этаж";
 
	dsc = [[
 
		Вы находитесь внутри верфи. Огромное полупустое здание. Под потолком расположены краны, некогда служившие для подъема и спуска кораблей. 
 
		Вы находитесь на металлических мостках на уровне четвертого этажа. 
 
	]];
 
	obj = {
 
		vway("Ржавая лестница вниз", "Старая проржавевшая лестница ведет {на третий этаж}^", "shipyard_3rd_floor"),
 
		vway("Ржавая лестница вверх", "Старая проржавевшая лестница ведет {на пятый этаж}^", "shipyard_5th_floor"),
 
	};
 
};
 
 
shipyard_5th_floor = room {
 
	nam = "shipyard_5th_floor";
 
	disp = "Верфь, пятый этаж";
 
	disp = "Верфь, третий этаж";
 
	dsc = [[
 
		Вы находитесь внутри верфи. Огромное полупустое здание. Под потолком расположены краны, некогда служившие для подъема и спуска кораблей. 
 
		Вы находитесь на металлических мостках под самым потолком. 
 
	]];
 
	obj = {
 
		vway("Ржавая лестница вниз", "Старая проржавевшая лестница ведет {на четвертый этаж}^", "shipyard_4th_floor")
 
	};
 
};
 
\ No newline at end of file
items.lua
Show inline comments
 
item_note_1 = obj {
 
	nam = "note1";
 
	disp = "Записка";
 
	inv = [[Клочок бумаги с адресом: [Адрес Майкла Райта], Майкл Райт]];
 
};
 
 
item_documents = obj {
 
	nam = "documents";
 
	disp = "Документы отца";
 
	dsc = [[
 
		На столе лежат {схемы складов и верфей} Вест-Хэйвен Транс-Оушен
 
	]];
 
	inv = [[
 
		Схемы нескольких строений, принадлежавших компании отца. На некоторых схемах есть места отмечены жирными крестиками.
 
		Схемы с крестиками обозначены как склад 18, верфь 2, склад 32
 
	]];
 
	use = function(s, o)
 
		if (o == char_michael) then
 
			remove(s, pl);
 
			put(s, item_michael_table);
 
			char_michael.documents = true;
 
			return [[
 
				Вы отдаете бумаги Майклу. Он кладет их на стол и принимается изучать.
 
			]];
 
		end;
 
	end;
 
	tak = function()
 
		char_michael.documents = false;
 
		return "Вы забираете бумаги";
 
	end;
 
};
 
 
item_toolbox = obj {
 
	nam = "toolbox";
 
	disp = "Ящик с инструментами";
 
	dsc = [[
 
		Вы видите {ящик} со всевозможными полезными и не очень инструментами - отвертками, ключами, молотками и т.д.^
 
	]];
 
};
 
 
item_pickaxe = obj {
 
	nam = "pickaxe";
 
	disp = "Кирка";
jack.lua
Show inline comments
 
new file 100644
 
--[[
 
Здесь игрок получает адреса всех ключевых локаций первой части
 
]]
 
door_michael = obj {
 
	nam = "door_michael";
 
	disp = "Дверь";
 
	locked = true;
 
	act = function(s)
 
		if (s.locked) then
 
			walkin "michael_entry_dlg";
 
		else
 
			walk "michael_house_inside";
 
		end;
 
		return true;
 
	end;
 
	dsc = function(s)
 
		if (s.locked) then
 
			return [[ Дверь в дом заперта. Можно попробовать {постучаться}^ ]];
 
		else
 
			return [[ Дверь открыта, вы можете {войти}^ ]];
 
		end;
 
	end;
 
};
 
 
item_michael_table = obj {
 
	nam = "michael_table";
 
	disp = "Стол";
 
	dsc =[[
 
		Вы видите массивный старый стол. 
 
	]];
 
	obj = {
 
		vobj("Газеты", [[На столе лежит стопка {газет}]])
 
	};
 
};
 
 
char_michael = obj {
 
	nam = "michael";
 
	disp = "Майкл Райт";
 
	dsc = function(s)
 
		if (s.documents) then
 
			return [[ ^{Майкл Райт} с интересом рассматривает схемы, которые вы ему отдали^ ]];
 
		else
 
			return [[ ^Вы видите {пожилого человека} одетого в изрядно поношенный костюм^ ]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.documents) then
 
			walkin "michael_main_dlg";
 
		else
 
			walkin "michael_pre_dlg";
 
		end;
 
	end;
 
};
 
 
michael_entry_dlg = dlg {
 
	nam = "michael_entry_dlg";
 
	disp = "Голос за дверью";
 
	dsc = "Кто здесь?";
 
	hideinv = true;
 
	phr = {
 
		{"Могу я увидеть Майкла Райта?", "Кто спрашивает?", [[ psub 'who' ]]},
 
		{always = true, "Извините, я ошибся адресом", function(s) 
 
			back()
 
		end},
 
		{tag = 'who'},
 
		{"Это сын Уильяма Дрейка", "Заходи, нам есть о чем поговорить", function ()
 
			door_michael.locked = false;
 
			walk 'michael_house_inside';
 
		end},
 
		{"Майкл Райт здесь живет?", "Кто спрашивает?"},
 
		{"У меня важное сообщение для него", "Здесь таких нет, до свидания", function(s) 
 
			back()
 
		end}
 
		
 
	};
 
};
 
 
michael_main_dlg = dlg {
 
	nam = "michael_main_dlg";
 
	disp = "Майкл Райт";
 
	dsc = [[
 
		Майкл неспешно просматривает одну за другой схемы, которые вы ему передали. Часть из них, очевидно, знакомы ему.
 
	]];
 
	hideinv = true;
 
	phr = {
 
		{"Вы можете что-то мне подсказать с этим?", [[
 
			Не знаю. Это схемы зданий, принадлежащих компании Уильяма. Часть из них заброшена, многие разрушены, остальные перекуплены и сейчас используются. Я могу сказать тебе адреса. [Майкл сообщает вам адреса интересующих вас зданий]
 
		]]},
 
		{"Что могут означать места отмеченные крестами?", [[
 
			Понятия не имею. Я работал на Верфи 2, Уильям часто бывал там, но я не замечал ничего необычного в месте, которое здесь отмечено. Сейчас она заброшена, так что можешь попробовать погулять там. Если что-то выяснишь - сообщи мне.
 
		]]},
 
		{"До свидания", "До встречи"}
 
	};
 
};
 
 
michael_pre_dlg = dlg {
 
	nam = "michael_pre_dlg";
 
	disp = "Майкл Райт";
 
	dsc = [[
 
		Пожилой человек внимательно смотрит на вас и начинает говорить: 
 
		Как ты уже, наверное, догадался, я и есть Майкл. Да, я работал на твоего отца. 
 
		Вероятно, ты удивлен, что до этого момента никто не смог выйти на меня. 
 
		Это связано лишь с одним - то, чем я и твой отец занимались было, да и остается, крайне секретным.		
 
	]];
 
	hideinv = true;
 
	phr = {
 
		{"Расскажите больше об Уильяме", [[
 
			Я мало что о нем знаю. Уильям был отличным руководителем - Вест-Хэйвен Транс-Оушен процветала под его руководством. 
 
			Мы были впереди всех по современности используемых технологий. У нас всегда были самые быстрые и надежные корабли.
 
			Однако, в последние годы, твой отец как будто стал уделять компании меньше внимания - он стал намного реже выходить из своего кабинета, общаясь только с ограниченным кругом лиц.
 
			Дела пошли на спад. Конкуренты медленно, но верно нагоняли нас. А потом он просто исчез.
 
		]]},
 
		{"Расскажите о себе", [[
 
			Да мне нечего рассказывать. Более 20 лет я работал на Вест-Хэйвен Транс-Оушен ведущим инженером. Занимался разработкой новых двигателей. 
 
			Уильям создал все условия для моей работы - у меня не было недостатка ни в материалах, ни в рабочих руках. Когда компания развалилась я решил отойти от дел. 
 
			Моих сбережений вполне хватало на спокойную жизнь. Чертежи я сберечь не сумел, а то непременно бы продал их кому-нибудь. Впрочем я не сильно об этом жалею.
 
		]]},
 
		{"Чем же таким секретным вы занимались?", [[
 
			Учитывая, что Вест-Хэйвен Транс-Оушен уже давно нет, я думаю, что могу рассказать тебе это. Вобщем я был начальником инженерного отделения. 
 
			Конкретно, я занимался увеличением скорости движения наших кораблей. Должен признать, я достиг больших результатов. 
 
			Последние мои корабли были вдвое быстрее чем лучшие из кораблей конкурентов. А потом Уильям исчез. Через полгода компания развалилась. 
 
			Корабли были разобраны на металлолом, а мои чертежи пропали. 
 
		]]},
 
		{"Вы знаете, где мой отец сейчас?", [[
 
			Нет, я потерял связь с ним около 10 лет назад. Меня, конечно, удивило, что он оставил свою компанию, семью, все свое благосостояние. 
 
			Он как под воду ушел - еще утром сидел в своем кабинете, а вечером полмира его искало.
 
		]]},
 
		{always = true, "Спасибо, я узнал все", [[
 
			До встречи
 
		]], function(s)
 
			back();
 
		end}
 
	};
 
};
 
 
michael_house_inside = room {
 
	nam = "michael_house_inside";
 
	disp = "Дом Майкла Райта";
 
	dsc = [[
 
		Вы находитесь в небольшом уютном домике. Окна закрыты плотными занавесками. В комнате светло за счет нескольких электрических ламп. 
 
	]];
 
	obj = {
 
		'item_michael_table',
 
		'char_michael',
 
		vway("Выйти", "{Выйти из дома}", "michael_house")
 
	};
 
};
 
 
michael_house = room {
 
	nam = "michael_house";
 
	disp = "Дом Майкла Райта";
 
	enter = function(s)
 
		put(char_coachman, here());
 
	end;
 
	dsc = [[
 
		Вы стоите у входа в дом, указанный в записке.
 
	]];
 
	obj = {'door_michael'};
 
};
 
\ No newline at end of file
london.lua
Show inline comments
 
new file 100644
main.lua
Show inline comments
 
@@ -16,9 +16,10 @@ dofile "items.lua"
 
dofile "party.lua"
 
dofile "game_over.lua";
 
-- Часть 1
 
dofile "michael.lua"
 
dofile "london.lua"
 
dofile "jack.lua"
 
dofile "coachman.lua"
 
dofile "shipyard2.lua"
 
dofile "dock2.lua"
 
dofile "warehouse18.lua"
 
dofile "warehouse32.lua"
 
-- Часть 2
 
@@ -33,46 +34,6 @@ dofile "first_city_inner_rim.lua"
 
dofile "first_city_middle_rim.lua"
 
dofile "first_city_outer_rim.lua"
 
 
item_note_1 = obj {
 
	nam = "note1";
 
	disp = "Записка";
 
	inv = [[Клочок бумаги с адресом: [Адрес Майкла Райта], Майкл Райт]];
 
};
 
 
item_documents = obj {
 
	nam = "documents";
 
	disp = "Документы отца";
 
	dsc = [[
 
		На столе лежат {схемы складов и верфей} Вест-Хэйвен Транс-Оушен
 
	]];
 
	inv = [[
 
		Схемы нескольких строений, принадлежавших компании отца. На некоторых схемах есть места отмечены жирными крестиками.
 
		Схемы с крестиками обозначены как склад 18, верфь 2, склад 32
 
	]];
 
	use = function(s, o)
 
		if (o == char_michael) then
 
			remove(s, pl);
 
			put(s, item_michael_table);
 
			char_michael.documents = true;
 
			return [[
 
				Вы отдаете бумаги Майклу. Он кладет их на стол и принимается изучать.
 
			]];
 
		end;
 
	end;
 
	tak = function()
 
		char_michael.documents = false;
 
		return "Вы забираете бумаги";
 
	end;
 
};
 
 
item_toolbox = obj {
 
	nam = "toolbox";
 
	disp = "Ящик с инструментами";
 
	dsc = [[
 
		Вы видите {ящик} со всевозможными полезными и не очень инструментами - отвертками, ключами, молотками и т.д.^
 
	]];
 
};
 
 
pl = player {
 
	nam = "player";
 
	disp = "Дэвид Дрейк";
 
@@ -80,7 +41,7 @@ pl = player {
 
	hitpoints = 10;
 
	obj = {'item_umbrella', "item_documents", "item_note_1", "item_first_city_key", "item_colt"};
 
	-- party array. Should be empty on start
 
	party = {"learr", "radcliffe", --[["phaetlarr", ]]"wright"};
 
	party = {--[["learr", "radcliffe", "phaetlarr", "wright"]]};
 
	companion = nil;
 
};
 
michael.lua
Show inline comments
 
deleted file
shipyard2.lua
Show inline comments
 
deleted file
0 comments (0 inline, 0 general)