Files @ 77aa01170934
Branch filter:

Location: games/Awakening/main.lua

Silverwing
lseryanotrr finished
-- $Name: Пробуждение$
-- $Version: 1.0$
-- $Author: Khaelenmore Thaal$

--TODO представить все дисплеи картинками
instead_version "1.9.1"
require "para"
require "dash"
require "quotes"
require "hideinv"

-- Код и ядро
dofile "utils.lua"
-- Общее
dofile "items.lua"
dofile "party.lua"
dofile "game_over.lua";
-- Часть 1
dofile "michael.lua"
dofile "coachman.lua"
dofile "shipyard2.lua"
dofile "warehouse18.lua"
dofile "warehouse32.lua"
-- Часть 2
dofile "leviathan.lua"
dofile "atlantis.lua"
dofile "navjiarr_settlement.lua"
dofile "navjiarr_hostile_settlement.lua"
-- Часть 3
dofile "final_scene.lua";
dofile "final_battle.lua";
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 = "Дэвид Дрейк";
	where = 'port';
	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"};
	companion = nil;
};

hotel = room {
	nam = "hotel";
	disp = "Гостиница";
	enter = function(s)
		move(char_coachman, here());
	end;
	dsc = [[
		Вы находитесь в холле гостиницы
	]];
};

port = room {
	nam = "port";
	disp = "Порт";
	enter = function(s)
		move(char_coachman, here());
	end;
	dsc = [[
		Вы находитесь в порту. Небо покрыто тяжелыми тучами - вот-вот начнется дождь. 
		Вокруг кипит жизнь: снуют толпы народу, то и дело раздаются гудки пароходов, слышно ржание лошадей, запряженных в многочисленные экипажи, привозящие и увозящие людей.
	]];
	obj = {'item_toolbox'};
};

intro = room {
	nam = "intro";
	hideinv = true;
	disp = "Вступление";
	dsc = [[
		Вы играете за Дэвида Дрейка - единственного сына богатого и уважаемого владельца транспортной компании "Вест-Хэйвен Транс-Оушен".^
		Более 10 лет назад, когда Дэвиду было 10 лет, Уильям таинственным образом пропал, не оставив практически никаких следов. Полицейское расследование вскоре зашло в тупик и было прекращено.^
		Через несколько месяцев компания, оставшаяся без своего владельца обанкротилась, ее имущество было продано.^
		После исчезновения отца Дэвид жил в Вашингтоне с бабушкой. Он пошел по стопам отца и выучился на инженера-кораблестроителя. 
		Несколько дней назад в доме, где он жил, был обнаружен тайник, хранящий секретные документы отца - карты, указывающие по-видимому на какие-то тайники Уильяма и записка с адресом и именем.^
		Одержимый идеей узнать больше, молодой Дрейк отправляется в Лондон...
	]];
	obj = {
		vway("Начать игру", "{Начать игру}", 'port')
	}
};

game.nam = "Пробуждение";
game.dsc = [[
		Мой первый текстовый квест
]];
game.act = "Это не мое";
game.use = "Каким образом?";
game.inv = "Мне это не нужно";

require "dbg"

function init()
	put(char_coachman, port);
	put(submarine_leviathan, shipyard_inside);
	---debug
	--pl.where = submarine_leviathan;
	move(submarine_leviathan, first_city_entrance);
	--move(submarine_leviathan, first_city_outer_east);
	--walk(final_scene);
	--walk(leviathan_wardroom);
	walk(leviathan_wardroom);
	put("char_learr", "leviathan_wardroom");
	--put("char_phaetlarr", "leviathan_engines");
	put("char_radcliffe", "leviathan_engines");
	put("char_wright", "leviathan_wardroom");
end