diff --git a/london.lua b/london.lua --- a/london.lua +++ b/london.lua @@ -109,10 +109,10 @@ char_worker_dlg = dlg { phr = { {tag='new'}, {always=true, "Могу я воспользоваться вашими инструментами?", [[Рабочий отрывисто отвечает: "Нет", -- после чего отворачивается в другую сторону. ]], [[ pjump 'bribe_try' ]]}; - {always=true, "Нет, ничего", [[Рабочий недовольно рычит: "Тогда отвали", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; + {always=true, "Нет, ничего. ", [[Рабочий недовольно рычит: "Тогда отвали", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; {tag='bribe_try'}; {always=true, "Могу я купить их у вас?", [[Рабочий снова повернулся к вам. Он с плохо скрываемым интересом спрашивает: "Сколько?" ]], [[ pjump 'bribing_20' ]]}; - {always=true, "Нет, ничего", [[Рабочий недовольно рычит: "Тогда отвали", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; + {always=true, "Нет, ничего. ", [[Рабочий недовольно рычит: "Тогда отвали", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; {tag='bribing_20'}; {"5 шиллингов?", [[ Рабочий усмехнулся: "Издеваешься?" ]]}; {always=true, "10 шиллингов?", [[ @@ -135,13 +135,13 @@ char_worker_dlg = dlg { end; end, [[ char_worker.bought = true; back();]]}; {tag='bribing_15'}; - {always=true, "10", [["14". ]], [[pjump 'bribing_14']]}; - {always=true, "11", [[ + {always=true, "10. ", [["14". ]], [[pjump 'bribing_14']]}; + {always=true, "11. ", [[ "14" ]], [[pjump 'bribing_14']]}; - {always=true, "12", [["14". ]], [[pjump 'bribing_14']]}; - {always=true, "13", [["14". ]], [[pjump 'bribing_14']]}; - {always=true, "14", function(s) + {always=true, "12. ", [["14". ]], [[pjump 'bribing_14']]}; + {always=true, "13. ", [["14". ]], [[pjump 'bribing_14']]}; + {always=true, "14. ", function(s) if (pl:pay(14)) then char_worker.bought = true; return [[Рабочий довольно потирает руки: "Идет". ]]; @@ -150,10 +150,10 @@ char_worker_dlg = dlg { end; end, [[ char_worker.bought = true; back(); ]]}; {tag='bribing_14'}; - {always=true, "10", [["13". ]], [[pjump 'bribing_13']]}; - {always=true, "11", [["13". ]], [[pjump 'bribing_13']]}; - {always=true, "12", [["13". ]], [[pjump 'bribing_13']]}; - {always=true, "13", function(s) + {always=true, "10. ", [["13". ]], [[pjump 'bribing_13']]}; + {always=true, "11. ", [["13". ]], [[pjump 'bribing_13']]}; + {always=true, "12. ", [["13". ]], [[pjump 'bribing_13']]}; + {always=true, "13. ", function(s) if (pl:pay(13)) then char_worker.bought = true; return [[Рабочий довольно потирает руки: "Идет". ]]; @@ -162,9 +162,9 @@ char_worker_dlg = dlg { end; end, [[ char_worker.bought = true; back(); ]]}; {tag='bribing_13'}; - {always=true, "10", [[Рабочий недовольно рычит: "Не хочешь -- не надо", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; - {always=true, "11", [[Рабочий недовольно рычит: "Не хочешь -- не надо", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; - {always=true, "12", function(s) + {always=true, "10. ", [[Рабочий недовольно рычит: "Не хочешь -- не надо", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; + {always=true, "11. ", [[Рабочий недовольно рычит: "Не хочешь -- не надо", -- после чего отворачивается в другую сторону. ]], [[ back(); ]]}; + {always=true, "12. ", function(s) if (pl:pay(12)) then char_worker.bought = true; return [[Рабочий довольно потирает руки: "Идет". ]]; @@ -208,13 +208,13 @@ ginshop_trader_dlg = dlg { end; entered = [[Сняв очки, продавец смотрит на вас и спрашивает: "Добро пожаловать, господин. Чем могу помочь, господин?" ]]; phr = { - {always = true, "Бутылочку чего-нибудь покрепче, пожалуйста", [[Продавец кивает: "Сию секунду, господин". Почесав седую голову, он уходит в подвал, откуда возвращается через некоторое время с бутылкой. С громким стуком поставив бутылку на стол, он сообщает вам цену: "Это будет стоить вам 10 шиллингов, господин". ]], code = [[ psub("buy"); ]]}; - {always = true, "Это все, спасибо", [[Продавец одевает очки обратно и прощается с вами: "Приходите еще, господин". ]], function() + {always = true, "Бутылочку чего-нибудь покрепче, пожалуйста. ", [[Продавец кивает: "Сию секунду, господин". Почесав седую голову, он уходит в подвал, откуда возвращается через некоторое время с бутылкой. С громким стуком поставив бутылку на стол, он сообщает вам цену: "Это будет стоить вам 10 шиллингов, господин". ]], code = [[ psub("buy"); ]]}; + {always = true, "Это все, спасибо. ", [[Продавец одевает очки обратно и прощается с вами: "Приходите еще, господин". ]], function() back(); end; }; {tag = "buy"}; - {always = true, "Беру", function(s) + {always = true, "Беру. ", function(s) if (pl:pay(10)) then ginshop_trader.bought = true; take(item_bottle); @@ -223,7 +223,7 @@ ginshop_trader_dlg = dlg { return [[Одевая очки обратно, продавец прячет бутылку под прилавок: "Простите, господин, но я сказал 10 шиллингов". ]]; end; end, code = [[ back(); ]]}; - {always = true, "Я передумал", [[Одевая очки обратно, продавец прячет бутылку под прилавок: "Подумайте еще, господин. Всего 10 шиллингов, господин!". ]], code = [[ pret(); ]]}; + {always = true, "Я передумал. ", [[Одевая очки обратно, продавец прячет бутылку под прилавок: "Подумайте еще, господин. Всего 10 шиллингов, господин!". ]], code = [[ pret(); ]]}; }; }; @@ -408,7 +408,7 @@ hotel_concierge_dlg = dlg { entered = [[Консьерж оживился, как только вы подошли: "Здравствуйте! Желаете снять номер?" ]]; phr = { {1, "Да, мне нужна комната на неделю. ", [[Консьерж, посмотрев в журнал, называет цену: "С вас 100 монет". ]], code = [[ psub("pay"); ]]}; - {255, always = true, "Не сейчас", function() + {255, always = true, "Не сейчас. ", function() back(); return [[Консьерж недовольно отвечает: "Приходите, когда соберетесь! "]]; end}; @@ -523,7 +523,7 @@ starlight_dlg = dlg { {10, "Для чего это могло понадобиться Уильяму? ", [[Джозеф Старлайт снимает очки: "Понятия не имею. Совершенно". ]]}; {11, "Это бы объяснило куда он исчез. ", [[Джозеф Старлайт чешет голову: "Может быть, только никаких документов не сохранилось. Впрочем они очень много денег на какие-то секретные проекты тратили последнее время". ]]}; {13, tag = 'final'}; - {14, always = true, "Вы можете посмотреть эти бумаги? Вам знакомы эти места? [Показать Джозефу документы отца]", [["Так вот зачем вы здесь! Я догадывался. Давайте ваши бумаги сюда", - Джозеф выхыватывает документы из ваших рук и бегло просматривает их. Почесав голову, он говорит: "Я знаю, где находится склад 18, это недалеко". ]], code [[ warehouse18_found = true; poff(14); ]]}; + {14, always = true, "Вы можете посмотреть эти бумаги? Вам знакомы эти места? [Показать Джозефу документы отца]", [["Так вот зачем вы здесь! Я догадывался. Давайте ваши бумаги сюда", - Джозеф выхыватывает документы из ваших рук и бегло просматривает их. Почесав голову, он говорит: "Я знаю, где находится склад 18, это недалеко". Он сообщает вам адрес склада. ]], code [[ warehouse18_found = true; poff(14); ]]}; {15, always = true, "Мне пора. ", [[Джозеф Старлайт отворачивается к столу: "До встречи". ]], code [[ back(); ]]}; }; }; \ No newline at end of file diff --git a/travel.lua b/travel.lua --- a/travel.lua +++ b/travel.lua @@ -107,7 +107,7 @@ coachman_dlg = dlg { end; end }, - {255, always = true, "Я передумал", function(s) + {255, always = true, "Я передумал. ", function(s) back() end} }; 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";