Files @ 6e7519136e47
Branch filter:

Location: games/Awakening/warehouse18.lua

Silverwing
Project state at 03.10.15
--[[
Игрок может попасть сюда только после диалога с Майклом.
Эта локация имеет владельца, который будет готов сотрудничать.
Здесь игрок найдет чертеж подводной лодки.
]]

warehouse_18_entry = room {
	nam = "warehouse_18_entry";
	disp = "Вход на склад 18";
	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 = character {
	nam = 'char_w18_sec';
	disp = "Охранник";
	dsc = function(s)
		if (s.aware) then
			return [[
				{Охранник} внимательно наблюдает за вами. 
			]];
		else
			return [[
				Рядом со входом стоит скучающий {охранник}. 
			]];
		end;
	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, "Я Дэвид Дрейк. ", "Мне это ни о чем не говорит. ", [[ pon(4); ]]};
		{3, "Могу я поговорить с управляющим?", "Управляющий занят. "};
		{4, false, always = true, "У меня срочное дело к управляющему. ", "Следуйте за мной. ", [[ walkin('warehouse_18_manager'); ]] };
		{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(); ]]};
	};
};

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

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

char_w18_mgr = character {
	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;
				pr("Все принадлежащее старой компании мы перенесли в отдельное помещение. Вы можете пройти туда. ");
				walkin("warehouse_18_inside");
			else
				pr("И?");
			end;
		]]};
		{2, 'Этот склад ранее принадлежал "Вестхейвен Трансоушен"', code = [[
			if (punseen(1, 3)) then
				pr("Все принадлежащее старой компании мы перенесли в отдельное помещение. Вы можете пройти туда. ");
				walkin("warehouse_18_inside");
			else
				pr("И?");
			end;
		]]};
		{3, 'Меня интересуют некоторые вещи, которые остались здесь от предыдущего владельца', code = [[
			if (punseen(1, 2)) then
				pr("Все принадлежащее старой компании мы перенесли в отдельное помещение. Вы можете пройти туда. ");
				walkin("warehouse_18_inside");
			else
				pr("И?");
			end;
		]]};
		{255, always = true, 'Нет, ничего', "До свидания"};
	};
};

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 = character {
	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 = [[
		{Ящик 1}
	]];
	act = w18_box_act;
};

w18_box2 = obj {
	nam = "w18_box2";
	disp = "Ящик";
	dsc = [[
		{Ящик 2}
	]];
	act = w18_box_act;
};

w18_box3 = obj {
	nam = "w18_box3";
	disp = "Ящик";
	dsc = [[
		{Ящик 3}
	]];
	act = w18_box_act;
};

w18_box4 = obj {
	nam = "w18_box4";
	disp = "Ящик";
	dsc = [[
		{Ящик 4}
	]];
	act = w18_box_act;
};

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

function warehouse18_init()
	local item1 = "item_ducttape";
	local item2 = "item_leviathan_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;