--[[ Игрок может попасть сюда только после диалога с Майклом. Эта локация имеет владельца, который будет готов сотрудничать. Здесь игрок найдет чертеж подводной лодки. ]] 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;