diff --git a/warehouse18.lua b/warehouse18.lua --- a/warehouse18.lua +++ b/warehouse18.lua @@ -10,9 +10,7 @@ warehouse_18_entry = room { entered = function(s) move(char_coachman, here()); end; - dsc = [[ - Вы находитесь на улице перед закрытыми воротами, ведущими на территорию склада 18. За высоким забором находятся несколько крупных строений. Склад расположен на окраине одного из промышленных районов Лондона. Здесь грязно, а небо затянуто дымом от многочисленных фабрик. Дышать здесь еще тяжелее чем в других районах этого города и вы вряд ли явились бы сюда, не будь у вас важного дела. - ]]; + dsc = [[Склад 18 расположен на окраине одного из промышленных районов Лондона. Здесь грязно, а небо затянуто дымом от многочисленных фабрик. Дышать здесь еще тяжелее чем в других районах этого города и вы вряд ли явились бы сюда, не будь у вас важного дела. Территория склада огорожена высоким забором. За ним находятся несколько крупных строений. ]]; way = { 'to_warehouse_18' }; @@ -33,12 +31,7 @@ to_warehouse_18 = room { char_w18_sec = npc { nam = 'char_w18_sec'; disp = "Охранник"; - dsc = function(s) - return [[ - Рядом с воротами скучает {охранник}. Он насвистывает какую-то мелодию и поглядывает на изредка проходящих мимо людей. - ]]; - - end; + dsc = [[Рядом с воротами склада скучает {охранник}. Он насвистывает какую-то мелодию и поглядывает на изредка проходящих мимо людей. ]]; act = function(s) if (s.first_time) then walkin('dlg_w18_sec_out_first'); @@ -52,34 +45,23 @@ char_w18_sec = npc { dlg_w18_sec_out_first = dlg { nam = 'dlg_w18_sec_out_first'; disp = "Охранник"; - entered = [[ - Как только вы подходите, охранник недовольно бурчит: "Слушаю". - ]]; + 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); ]]}; + {1, "Вы можете пропустить меня внутрь?", [[Почесав затылок, охранник отвечает: "На склад допускаются только сотрудники". ]]}; + {2, "Я Дэвид Дрейк. ", [[Охранник пожимает плечами: "Мне это ни о чем не говорит". ]]}; + {3, "Могу я поговорить с управляющим?", [[Охранник отрицательно качает головой: "Управляющий занят". ]], [[ pon(4); ]]}; + {4, false, "У меня срочное дело к управляющему. ", [[Охранник чешет подбородок: "Я не могу вас пропустить". ]], [[ pon(5);pon(6); ]]}; + {5, false, "Может эти 5 шиллингов помогут вам принять решение? ", function(s) + if (pl.pay(5)) then + walkin('warehouse_18_manager'); + return [[Глаза охранника заблестели. Он выхватывает монеты из ваших рук и говорит: "Следуйте за мной". ]] + else + return [[Охранник с непониманием смотрит на вас: "Какие 5 шиллингов? Здесь их нет". ]] + end; + end}; + {6, false, "Может есть способ договориться? ", [[Охранник отрицательно качает головой: "Что вам нужно от управляющего?" ]], [[ pon(7);pon(8); ]]}; + {7, false, "Это касается только меня и его. ", [[Охранник недовольно осматривает вас: "Ладно, пойдемте". ]], [[ walkin('warehouse_18_manager'); ]]}; + {8, false, "Дело касается собственности Вестхейвен Трансоушен. ", [[Охранник отрывисто отвечает: "Здесь нет собственности никаких компаний, кроме Атлантик Транспорт. Можете уходить". ]], [[ poff(7); ]]}; {255, always = true, "Нет, ничего. ", "До свидания. ", [[ back(); ]]}; }; }; @@ -87,19 +69,11 @@ dlg_w18_sec_out_first = dlg { dlg_w18_sec_out = dlg { nam = 'dlg_w18_sec_out'; disp = "Охранник"; - entered = [[ - "Слушаю". - ]]; + entered = [[Как только вы подходите к охраннику, он оборачивается к вам. Узнав вас, он кивает: "Слушаю". ]]; phr = { - {1, always = true, "Проводите меня к управляющему", [[ - "Следуйте за мной". - ]], [[ walkin('warehouse_18_manager'); ]]}; - {2, always = true, "Проводите меня на склад", [[ - "Следуйте за мной". - ]], [[ walkin('warehouse_18_inside'); ]]}; - {255, always = true, "Нет, ничего", [[ - "До свидания". - ]], [[ back(); ]]}; + {1, always = true, "Проводите меня к управляющему. ", [[Охранник кивает: "Следуйте за мной". ]], [[ walkin('warehouse_18_manager'); ]]}; + {2, always = true, "Проводите меня на склад. ", [[Охранник кивает: "Следуйте за мной". ]], [[ walkin('warehouse_18_inside'); ]]}; + {255, always = true, "Нет, ничего. ", [[Охранник пожимает плечами и недоуменно произносит: "До свидания". ]], [[ back(); ]]}; }; }; @@ -110,10 +84,8 @@ dlg_w18_sec_in = dlg { "Слушаю". ]]; phr = { - {1, always = true, "Я закончил. ", [[ - "Следуйте за мной. - ]], [[ walkin('warehouse_18_entry'); ]]}; - {255, always = true, "Нет, ничего", "До свидания", [[ back(); ]]}; + {1, always = true, "Я закончил. ", [[Охранник приглашает вас проследовать за ним к выходу. ]], [[ walkin('warehouse_18_entry'); ]]}; + {255, always = true, "Нет, ничего. ", [[Охранник молча кивает. ]], [[ back(); ]]}; }; }; @@ -124,43 +96,44 @@ dlg_w18_sec_mgr = dlg { "Слушаю". ]]; phr = { - {1, always = true, "Проводите меня к выходу.", [[ - "Следуйте за мной". - ]], [[ walkin('warehouse_18_entry'); ]]}; - {2, always = true, "Проводите меня на склад.", [[ - "Следуйте за мной". - ]], [[ walkin('warehouse_18_inside'); ]]}; - {255, always = true, "Нет, ничего.", [[ - "До свидания". - ]], [[ back(); ]]}; + {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. Это небольшая комната, со столом в центре. - ]]; + dsc = [[Кабинет управляющего представляет собой небольшую комнату с небольшим окном в одной из стен. ]]; + [[Вы находитесь в кабинете управляющего складом 18. Это небольшая комната, уставленная большим количеством стеллажей с документами. В центре установлен простой деревянный стол, заваленный какими-то бумагами. ]]; obj = { 'char_w18_sec_mgr', + 'w18_shelves', + 'w18_table', 'char_w18_mgr', - 'w18_shelves' }; }; w18_shelves = obj { nam = "w18_shelves"; - dsc = "Вдоль стен комнаты расположены {шкафы}, заполненные какими-то папками. "; - act = "Вы пробегаетесь взглядом по папкам. По большей части, это описи содержимого склада, какие-то отчетные документы и прочая бесполезная для вас макулатура. Даже если бы здесь и было что-то важное, охранник с управляющим вряд ли позволили бы вам взять это. "; + dsc = "Вдоль стен расположены {шкафы}, заполненные какими-то папками. "; + act = "Вы пробегаетесь взглядом по папкам. По большей части, это описи содержимого склада, отчетные документы и прочая бесполезная для вас макулатура. Даже если бы здесь и было что-то интересное, охранник с управляющим вряд ли позволили бы вам взять это. "; +}; + +w18_table = obj { + nam = "w18_table"; + dsc = "В центре комнаты установлен простой деревянный стол, заваленный какими-то {бумагами}. "; + act = "Вы бегло проглядываете бумаги. Это какие-то чеки, бухгалтерские документы и прочая бесполезная для вас макулатура. Даже если бы здесь и было что-то интересное, охранник с управляющим вряд ли позволили бы вам взять это. "; }; char_w18_sec_mgr = npc { + var { + dlg = undefined; + }; nam = 'char_w18_sec_mgr'; disp = "Охранник"; - dsc = [[ - {Охранник} стоит у двери и внимательно наблюдает за вами. - ]]; + dsc = [[{Охранник} стоит у двери и внимательно наблюдает за вами. ]]; phrases = { [["Говорите с управляющим, не со мной". ]], [["Мне нечего вам сказать". ]], @@ -172,7 +145,7 @@ char_w18_mgr = npc { nam = "char_w18_mgr"; disp = "Управляющий складом"; dsc = [[ - За столом сидит {управляющий} и разбирает какие-то бумаги. Кажется, он не обращает на вас никакого внимания. + За столом сидит {управляющий} и не обращая на вас никакого внимания, копается в документах. ]]; dlg = "dlg_w18_mgr" }; @@ -180,35 +153,36 @@ char_w18_mgr = npc { dlg_w18_mgr = dlg { nam = "dlg_w18_mgr"; disp = "Управляющий складом"; - entered = [[ - "Добрый день, что вы хотели?" - ]]; + entered = [[Не поднимая на вас взгляда управляющий здоровается с вами: "Добрый день, что вы хотели?" ]]; phr = { - {1, 'Мое имя Дэвид Дрейк, я сын владельца "Вестхейвен Трансоушен". ', code = [[ + {1, 'Мое имя Дэвид Дрейк, я сын владельца Вестхейвен Трансоушен. ', code = [[ if (punseen(2, 3)) then char_w18_sec.first_time = false; char_w18_sec_mgr.dlg = 'dlg_w18_sec_mgr'; - pr("\"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда. \""); + pr("Не отрываясь от своего занятия, управляющий сообщает вам: \"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда\". "); + back(); else - pr("\"И?\""); + 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("\"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда. \""); + pr("Не отрываясь от своего занятия, управляющий сообщает вам: \"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда\". "); + back(); else - pr("\"И?\""); + 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("\"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда. \""); + pr("Не отрываясь от своего занятия, управляющий сообщает вам: \"Все принадлежащее старой компании мы перенесли в отдельное помещение. Охранник проводит вас туда\". "); + back(); else - pr("\"И?\""); + pr('Управляющий кивает: "И?"'); end; ]]}; {255, always = true, 'Нет, ничего', "До свидания", code = [[ @@ -220,9 +194,7 @@ dlg_w18_mgr = dlg { warehouse_18_inside = room { nam = "warehouse_18_inside"; disp = "Склад 18, комната с хламом"; - dsc = [[ - Вы находитесь в небольшой комнате, куда, по словам управляющего, было перенесено все оставшееся от "Вестхейвен Трансоушен". Все покрыто толстым слоем пыли - очевидно сюда нечасто заходят. - ]]; + dsc = [[Небольшая комната, выделенная под хранение вещей оставшихся от Вестхейвен Трансоушен. Судя по всему, новый владелец не слишком заботился о сохранности или осмотре приобретенных вместе со складом преметов. Все свалено в кучи и покрыто толстым слоем пыли. ]]; obj = { 'char_w18_sec_in'; 'w18_box1'; @@ -253,38 +225,42 @@ w18_box_act = function(s) end; w18_box1 = obj { + var { + item = nil; + }; nam = "w18_box1"; disp = "Ящик"; - dsc = [[ - В центре комнаты составлено множество {ящиков}. - ]]; - act = w18_box_act; + dsc = [[Рядом с дверью стоит {стеллаж}, заполненный всякой всячиной. ]]; + act = w18_box_act; }; w18_box2 = obj { + var { + item = nil; + }; nam = "w18_box2"; disp = "Ящик"; - dsc = [[ - Возле одной из стен комнаты свалены в кучу какие-то {обломки}. - ]]; + dsc = [[Возле одной из стен комнаты свалены в кучу какие-то {обломки}. ]]; act = w18_box_act; }; w18_box3 = obj { + var { + item = nil; + }; nam = "w18_box3"; disp = "Ящик"; - dsc = [[ - Рядом с дверью стоит {стеллаж}, заполненный всякой всячиной. - ]]; + dsc = [[В центре комнаты составлено множество {ящиков}. ]]; act = w18_box_act; }; w18_box4 = obj { + var { + item = nil; + }; nam = "w18_box4"; disp = "Ящик"; - dsc = [[ - Еще несколько {ящиков} валяется в углу. - ]]; + dsc = [[Еще несколько {ящиков} валяется в углу. ]]; act = w18_box_act; }; @@ -296,6 +272,9 @@ w18_boxes = { }; function warehouse18_init() + if (not w18_boxes[1].item and not w18_boxes[2].item and not w18_boxes[3].item and not w18_boxes[4].item) then + return; + end; local item1 = "item_cogs"; local item2 = "item_unknown_schematics"; local item3 = "item_map";