Files @ 6e7519136e47
Branch filter:

Location: games/Awakening/warehouse18.lua - annotation

Silverwing
Project state at 03.10.15
c4b207ce4252
c4b207ce4252
6e7519136e47
c4b207ce4252
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
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";
	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;