Files @ eaf92b073787
Branch filter:

Location: games/Awakening/main.lua

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

instead_version "1.9.1"
require "para"
require "dash"
require "quotes"
require "hideinv"
require "kbd"

-- Код и ядро
dofile "utils.lua"
-- Общее
dofile "items.lua"
dofile "party.lua"
dofile "game_over.lua";
-- Часть 1
dofile "london.lua"
dofile "wright.lua"
dofile "travel.lua"
dofile "dock2.lua"
dofile "warehouse18.lua"
dofile "warehouse32.lua"
-- Часть 2
dofile "leviathan.lua"
dofile "atlantis.lua"
dofile "atlantis_ignis.lua"
dofile "atlantis_dlg.lua"
dofile "atlantis_intro.lua"
dofile "atlantis_ignis_on_fire.lua"
dofile "atlantis_looking_for_clues.lua"
dofile "atlantis_from_the_ashes.lua"
-- Часть 3
-- Часть 4
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"

--TODO представить все дисплеи картинками
--TODO описания локаций должны изменяться в зависимости от посещения их днем или ночью
--TODO больше Flavour-textа

global {
	warehouse18_found = false;
	warehouse32_found = false;
	dock_found = false;
	leviathan_discovered = false;
	atlantis_found = false;
	
	rel_phaetlarr = 0;
	rel_walter = 0;
	rel_learr = 0;
	rel_anna = 0;
	rel_jack = 0;
};

pl = player {
	nam = "player";
	disp = "Дэвид Дрейк";
	where = 'port';
	hitpoints = 10;
	obj = {'item_umbrella', 'item_charts', 'item_note_1', 'item_money', 
	};
	-- party array. Should be empty on start
	party = {--[["learr", "radcliffe", "phaetlarr", "wright"]]};
	companion = nil;
	money = 200;
	pay = function(s, c)
		if (s.money >= c) then
			s.money = s.money - c;
			return true;
		else
			return false;
		end;
	end;
};

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

demo_end = room {
	nam = "demo_end";
	hideinv = true;
 	dsc = [[
		Вы встаете за штурвал "Левиафана". Уверенным движением руки вы включаете насосы. Резервуары заполняются водой и субмарина опускается вниз. Еще одним движением вы включаете двигатели. "Левиафан" плавно сдвигается с места. Через несколько часов вы выходите в открытое море. Еще раз сверившись с картой, вы направляетесь к месту, отмеченному на ней. 
		
		*** Конец предварительной демонстрации ***
	]];
};

game.nam = "Пробуждение";
game.dsc = [[
	Действие игры происходит в конце 19-го века. Вы играете за Дэвида Дрейка, сына владельца крупной транспортной компании "Вестхейвен Трансоушен". Несколько лет назад Уильям Дрейк, отец главного героя бесследно пропадает. Компания вскоре разваливается. Поиски ни к чему не приводят. Когда казалось бы уже все потеряно, в доме Дрейков находят тайник с документами Уильяма. Несколько схем строений, принадлежащих компании и клочок бумаги с адресом некоего Майкла Райта в Лондоне. Естественно, Дэвид как можно скорее отправляется в Великобританию...
	Вам предстоит отыскать подводную лодку, посетить подводную станцию, построенную Уильямом, встретить древнюю расу подводных жителей, поучаствовать в событиях, описанных древними легендами этой расы и узнать, что стало с Уильямом Дрейком.
]];

game_act_phrases = {
	"Вы не знаете, что с этим делать. ";
	"Вам нет смысла это трогать. ";
	"Вам это ничем не поможет. ";
	"Это бессмыссленно. ";
	"Незачем это трогать. ";
};

game_use_phrases = {
	"Вам это ничем не поможет. ";
	"Это бессмыссленно. ";
	"Вы не знаете, как это сделать. "
};

game.act = function(s)
	return game_act_phrases[rnd(#game_act_phrases)];
end;

game.use = function(s)
	return game_use_phrases[rnd(#game_use_phrases)];
end;
game.inv = "INV: Если вы видите это сообщение - это баг. ";

require "dbg"

function init()
	---modules init
	leviathan_init();
	warehouse18_init();
	warehouse32_init();
	---game init
	pl.where = intro;
	---debug
	atl_nih_init();
	-- atl_lfc_state = 1;
	-- char_svetlova_dlg.state = 2;
	pl.where = atl_fta_is_terra_solis;
	-- pl.where = warehouse_32;
	-- pl.where = w32_mgr;
	-- put(item_toolbox, pl);
	-- put(item_cogs, pl);
	-- put(item_pump_details, pl);
	-- put(item_electrodes, pl);
	--put(item_lamp, pl);
	-- pl.where = aurora_borealis;
	-- 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");
	-- pl.where = leviathan_airlock;
	-- pl.where = hotel_street;
	-- pl.where = warehouse_32_entry;
	-- dock_found = true;
end;