Files @ ae667b5a708c
Branch filter:

Location: games/Awakening/warehouse18.lua - annotation

Silverwing
text and savegame fixes
c4b207ce4252
c4b207ce4252
6e7519136e47
c4b207ce4252
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
a76a965e22a0
a76a965e22a0
a76a965e22a0
6e7519136e47
2b06d0a1d1c7
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f02901977ca4
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f2ede022c193
f2ede022c193
f4331abd833a
f2ede022c193
f2ede022c193
f4331abd833a
f4331abd833a
f2ede022c193
f4331abd833a
f2ede022c193
f2ede022c193
f4331abd833a
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
f4331abd833a
f4331abd833a
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
f4331abd833a
f4331abd833a
f2ede022c193
f4331abd833a
f4331abd833a
f02901977ca4
5c96fecbef4e
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
6e7519136e47
6e7519136e47
6e7519136e47
f02901977ca4
6e7519136e47
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
5c96fecbef4e
5c96fecbef4e
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
f2ede022c193
5c96fecbef4e
5c96fecbef4e
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
f4331abd833a
6e7519136e47
f2ede022c193
5c96fecbef4e
5c96fecbef4e
6e7519136e47
f4331abd833a
6e7519136e47
6e7519136e47
5c96fecbef4e
5c96fecbef4e
5c96fecbef4e
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
0c2323215e40
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f02901977ca4
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
38255c2dc001
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
39940ecc871b
0c2323215e40
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
--[[
Игрок может попасть сюда только после диалога с Майклом.
Эта локация имеет владельца, который будет готов сотрудничать.
Здесь игрок найдет чертеж подводной лодки.
]]

warehouse_18_entry = room {
	nam = "warehouse_18_entry";
	disp = "Вход на склад 18";
	entered = function(s)
		move(char_coachman, here());
	end;
	dsc = [[
		Вы находитесь на улице перед закрытыми воротами, ведущими на территорию склада 18. За высоким забором находятся несколько крупных строений. Склад расположен на окраине одного из промышленных районов Лондона. Здесь грязно, а небо затянуто дымом от многочисленных фабрик. Дышать здесь еще тяжелее чем в других районах этого города и вы вряд ли явились бы сюда, не будь у вас важного дела. 
	]];
	way = {
		'to_warehouse_18'
	};
	obj = {
		'char_w18_sec'
	};
};

to_warehouse_18 = room {
	nam = "warehouse_18_entry";
	disp = "На склад";
	enter = function(s)
		pr("Охранник не пропустит вас. ");
		return false;
	end;
};

char_w18_sec = npc {
	nam = 'char_w18_sec';
	disp = "Охранник";
	dsc = function(s)
		return [[
			Рядом с воротами скучает {охранник}. Он насвистывает какую-то мелодию и поглядывает на изредка проходящих мимо людей. 
		]];
		
	end;
	act = function(s)
		if (s.first_time) then
			walkin('dlg_w18_sec_out_first');
		else
			walkin('dlg_w18_sec_out');
		end;
	end;
	first_time = true;
};

dlg_w18_sec_out_first = dlg {
	nam = 'dlg_w18_sec_out_first';
	disp = "Охранник";
	entered = [[
		Как только вы подходите, охранник недовольно бурчит: "Слушаю".
	]];
	phr = {
		{1, "Вы можете пропустить меня внутрь?", [[
			Почесав затылок, охранник отвечает: "На склад допускаются только сотрудники". 
		]]};
		{2, "Я Дэвид Дрейк. ", [[
			Охранник пожимает плечами: "Мне это ни о чем не говорит".
		]]};
		{3, "Могу я поговорить с управляющим?", [[
			Охранник отрицательно качает головой: "Управляющий занят".
		]], [[ pon(4); ]]};
		{4, false, always = true, "У меня срочное дело к управляющему. ", [[
			Охранник чешет подбородок: "Я не могу вас пропустить". 
		]], [[ pon(5);pon(6); ]]};
		{5, false, "Может эти 5 шиллингов помогут вам принять решение? ", [[
			Глаза охранника заблестели. Он выхватывает монеты из ваших рук и говорит: "Следуйте за мной". 
		]], [[ walkin('warehouse_18_manager'); ]]};
		{6, false, "Может есть способ договориться? ", [[
			Охранник отрицательно качает головой: "Что тебе нужно от управляющего?"
		]], [[ pon(7);pon(8); ]]};
		{7, false, "Это касается только меня и его. ", [[
			Охранник недовольно осматривает вас: "Ладно, пойдемте".
		]], [[ walkin('warehouse_18_manager'); ]]};
		{8, false, "Дело касается собственности Вестхейвен Трансоушен. ", [[
			Охранник отрывисто отвечает: "Здесь нет собственности никаких компаний, кроме Атлантик Транспорт. Можете уходить".
		]], [[ poff(7); ]]};
		{255, always = true, "Нет, ничего. ", "До свидания. ", [[ back(); ]]};
	};
};

dlg_w18_sec_out = dlg {
	nam = 'dlg_w18_sec_out';
	disp = "Охранник";
	entered = [[
		"Слушаю". 
	]];
	phr = {
		{1, always = true, "Проводите меня к управляющему", [[
			"Следуйте за мной". 
		]], [[ walkin('warehouse_18_manager'); ]]};
		{2, always = true, "Проводите меня на склад", [[
			"Следуйте за мной".
		]], [[ walkin('warehouse_18_inside'); ]]};
		{255, always = true, "Нет, ничего", [[
			"До свидания". 
		]], [[ back(); ]]};
	};
};

dlg_w18_sec_in = dlg {
	nam = 'dlg_w18_sec_in';
	disp = "Охранник";
	entered = [[
		"Слушаю". 
	]];
	phr = {
		{1, always = true, "Я закончил. ", [[
			"Следуйте за мной. 
		]], [[ walkin('warehouse_18_entry'); ]]};
		{255, always = true, "Нет, ничего", "До свидания", [[ back(); ]]};
	};
};

dlg_w18_sec_mgr = dlg {
	nam = 'dlg_w18_sec_out';
	disp = "Охранник";
	entered = [[
		"Слушаю". 
	]];
	phr = {
		{1, always = true, "Проводите меня к выходу.", [[
			"Следуйте за мной". 
		]], [[ walkin('warehouse_18_entry'); ]]};
		{2, always = true, "Проводите меня на склад.", [[
			"Следуйте за мной".
		]], [[ walkin('warehouse_18_inside'); ]]};
		{255, always = true, "Нет, ничего.", [[
			"До свидания". 
		]], [[ back(); ]]};
	};
};

warehouse_18_manager = room {
	nam = "warehouse_18_manager";
	disp = "Склад 18, кабинет управляющего";
	dsc = [[
		Вы находитесь в кабинете управляющего складом 18. Это небольшая комната, со столом в центре.
	]];
	obj = {
		'char_w18_sec_mgr',
		'char_w18_mgr',
		'w18_shelves'
	};
};

w18_shelves = obj {
	nam = "w18_shelves";
	dsc = "Вдоль стен комнаты расположены {шкафы}, заполненные какими-то папками. ";
	act = "Вы пробегаетесь взглядом по папкам. По большей части, это описи содержимого склада, какие-то отчетные документы и прочая бесполезная для вас макулатура. Даже если бы здесь и было что-то важное, охранник с управляющим вряд ли позволили бы вам взять это. ";
};

char_w18_sec_mgr = npc {
	nam = 'char_w18_sec_mgr';
	disp = "Охранник";
	dsc = [[
		{Охранник} стоит у двери и внимательно наблюдает за вами. 
	]];
	phrases = {
		[["Говорите с управляющим, не со мной". ]],
		[["Мне нечего вам сказать". ]],
		[["Я не управляющий". ]]
	};
};

char_w18_mgr = npc {
	nam = "char_w18_mgr";
	disp = "Управляющий складом";
	dsc = [[
		За столом сидит {управляющий} и разбирает какие-то бумаги. Кажется, он не обращает на вас никакого внимания.
	]];
	dlg = "dlg_w18_mgr"
};

dlg_w18_mgr = dlg {
	nam = "dlg_w18_mgr";
	disp = "Управляющий складом";
	entered = [[
		"Добрый день, что вы хотели?"
	]];
	phr = {
		{1, 'Мое имя Дэвид Дрейк, я сын владельца "Вестхейвен Трансоушен". ', code = [[
			if (punseen(2, 3)) then
				char_w18_sec.first_time = false;
				char_w18_sec_mgr.dlg = 'dlg_w18_sec_mgr';
				pr("\"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда. \"");
			else
				pr("\"И?\"");
			end;
		]]};
		{2, 'Этот склад ранее принадлежал "Вестхейвен Трансоушен". ', code = [[
			if (punseen(1, 3)) then
				char_w18_sec.first_time = false;
				char_w18_sec_mgr.dlg = 'dlg_w18_sec_mgr';
				pr("\"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда. \"");
			else
				pr("\"И?\"");
			end;
		]]};
		{3, 'Меня интересуют некоторые вещи, которые остались здесь от предыдущего владельца. ', code = [[
			if (punseen(1, 2)) then
				char_w18_sec.first_time = false;
				char_w18_sec_mgr.dlg = 'dlg_w18_sec_mgr';
				pr("\"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда. \"");
			else
				pr("\"И?\"");
			end;
		]]};
		{255, always = true, 'Нет, ничего', "До свидания", code = [[
			back();
		]]};
	};
};

warehouse_18_inside = room {
	nam = "warehouse_18_inside";
	disp = "Склад 18, комната с хламом";
	dsc = [[
		Вы находитесь в небольшой комнате, куда, по словам управляющего, было перенесено все оставшееся от "Вестхейвен Трансоушен". Все покрыто толстым слоем пыли - очевидно сюда нечасто заходят. 
	]];
	obj = {
		'char_w18_sec_in';
		'w18_box1';
		'w18_box2';
		'w18_box3';
		'w18_box4';
	};
};

char_w18_sec_in = npc {
	nam = "char_w18_sec_in";
	disp = "Охранник";
	dsc = [[
		Рядом со входом стоит скучающий {охранник}. 
	]];
	dlg = 'dlg_w18_sec_in';
};

w18_box_act = function(s)
	if (s.item) then
		local item = s.item;
		s.item = nil;
		take(item);
		return stead.ref(item).disp;
	else
		return "Здесь ничего нет";
	end;
end;

w18_box1 = obj {
	nam = "w18_box1";
	disp = "Ящик";
	dsc = [[
		В центре комнаты составлено множество {ящиков}. 
	]];
	act = w18_box_act;
};

w18_box2 = obj {
	nam = "w18_box2";
	disp = "Ящик";
	dsc = [[
		Возле одной из стен комнаты свалены в кучу какие-то {обломки}. 
	]];
	act = w18_box_act;
};

w18_box3 = obj {
	nam = "w18_box3";
	disp = "Ящик";
	dsc = [[
		Рядом с дверью стоит {стеллаж}, заполненный всякой всячиной.
	]];
	act = w18_box_act;
};

w18_box4 = obj {
	nam = "w18_box4";
	disp = "Ящик";
	dsc = [[
		Еще несколько {ящиков} валяется в углу. 
	]];
	act = w18_box_act;
};

w18_boxes = {
	w18_box1;
	w18_box2;
	w18_box3;
	w18_box4;
};

function warehouse18_init()
	local item1 = "item_cogs";
	local item2 = "item_unknown_schematics";
	local item3 = "item_map";
	while item1 do
		local t = rnd(#w18_boxes);
		if (not w18_boxes[t].item) then
			w18_boxes[t].item = item1;
			item1 = nil;
		end;
	end;
	while item2 do
		local t = rnd(#w18_boxes);
		if (not w18_boxes[t].item) then
			w18_boxes[t].item = item2;
			item2 = nil;
		end;
	end;
	while item3 do
		local t = rnd(#w18_boxes);
		if (not w18_boxes[t].item) then
			w18_boxes[t].item = item3;
			item3 = nil;
		end;
	end;
end;