diff --git a/locations/pavels.lua b/locations/pavels.lua new file mode 100644 index 0000000..7120e63 --- /dev/null +++ b/locations/pavels.lua @@ -0,0 +1,88 @@ +--[[ + Павел спрашивает у вас через домофон что-то инженерное, вы отвечаете. + Он открывает дверь и приказывает вам идти в подвал. + Там - мастерская. + Павел - это киборг. Его макушка головы сделана из прозрачного пластика. + Вы видите его мозг. + -- Мне нужно починить одну вещь. + -- ??? + -- Себя. Меня "улучшили" в армии, добавили искуственный интеллект к + обычному мозгу. Я могу попасть в зёрнышко с десяти километров из пушки. + Но мой ИИ устарел, и он хочет обновления. + + Павел знает, как делать обновление и он уже достал чип, но ему нужен + знающий и надёжный техник. Для обновления человека придётся усыпить. + У вас есть несколько вариантов, один из которых - просто убить его, + воспользоваться мастерской и уехать. +]] +room { + nam = 'pavels', + disp = 'Дом на окраине', + way = {'exit_west'}, + decor = [[ + Вы стоите перед типовым напечатанным одноэтажным домом. + + С одной стороны к стене прислонилась маленькая пристройка для дров. + С другой стороны — {suit|боевой механизированный костюм.} + + Возле входной двери горит {call|кнопка домофона.} + ]], + obj = { + obj { + nam = 'call'; + disp = 'домофон'; + act = 'Домофон был включён, хозяин — дома. Достаточно было только поговорить с ним.'; + talk = function() return walk('pavels-call') end; + take = function() + pn "Вам не был нужен домофон или какая-то его деталь." + return false + end, + open = function() + pn "Домофон не разбирается." + return false + end + }; + obj { + nam = 'suit', + disp = 'боевой костюм', + talk = 'Костюм не принимал ваших команд. Если, конечно, он вообще вас слушал.', + take = function() + pn "Вам не нужна была боевая машина. Возвращаться в город на своём кабриолете было бы приятнее и быстрее." + return false + end, + act = function() + local out = [[ + Боевой механизированный костюм высотой 2,7 метров, марка РГ-22. + Рассчитан на одного пилота. + Вооружён автоматической пушкой калибра 5мм и огнемётом.^^]] + if char.war == "earth" then + out = out .. [[ + Вы чинили эти двуногие танки день и ночь. + Лунные мины становились всё изощрённее, и + приходилось срочно отлаживать программы починки, а иногда и лезть вручную. + Боты никогда не заботились о том, чтобы вычистить остатки пилота из кабины.^^ + ]] + end + if char.war == "moon" then + out = out .. [[ + Где бы вы ни сражались, эти двуногие твари шли на вас тысячами. + Вам приходилось еженедельно изобретать новые мины, чтобы получить хоть какой-то + шанс отбиться. + Сорок восемь смертельных чертежей против главной уязвимости этой модели — + человека в кабине.^^ + ]] + end + out = out..[[Такие штамповались на Земле сотнями тысяч, но после войны оказалось, что большая часть потеряна на поле боя. + Конечно, по официальной версии. + ]] + return out + end + } + } +} +dlg { + nam = 'pavels-call', + decor = [[Камера домофона смотрела на вас бесстрастным блеском.]], + obj = { + } +} diff --git a/main3.lua b/main3.lua index dc8ba99..f18ff88 100644 --- a/main3.lua +++ b/main3.lua @@ -21,6 +21,7 @@ fmt.para = true include "locations/cathedral" include "locations/abandoned" include "locations/chos" +include "locations/pavels" -- https://www.google.ru/maps/place/%D0%9C%D0%B5%D0%BA%D1%81%D0%B8%D0%BA%D0%B0/@22.8355052,-105.0808555,16z/data=!4m5!3m4!1s0x84043a3b88685353:0xed64b4be6b099811!8m2!3d23.634501!4d-102.552784 -- Необходимые правки стиля перед релизом: @@ -45,48 +46,6 @@ room { decor = [[Типовой одноэтажный дом. Окна занавешены, а вход заперт.]], way = {'exit_west'}, } -room { - nam = 'pavels', - disp = 'Дом на окраине', - way = {'exit_west'}, - decor = [[ - Вы стоите перед типовым напечатанным одноэтажным домом. - - С одной стороны к стене прислонилась маленькая пристройка для дров. - С другой стороны — {suit|боевой механизированный костюм.} - ]], - obj = { - obj { - nam = 'suit', - act = function() - out = [[ - Боевой механизированный костюм высотой 2,7 метров, марка РГ-22. - Рассчитан на одного пилота. - Вооружён автоматической пушкой калибра 5мм и огнемётом.^^]] - if char.war == "earth" then - out = out .. [[ - Вы чинили эти двуногие танки день и ночь. - Лунные мины становились всё изощрённее, и - приходилось срочно отлаживать программы починки, а иногда и лезть вручную. - Боты никогда не заботились о том, чтобы вычистить остатки пилота из кабины.^^ - ]] - end - if char.war == "moon" then - out = out .. [[ - Где бы вы ни сражались, эти двуногие твари шли на вас тысячами. - Вам приходилось еженедельно изобретать новые мины, чтобы получить хоть какой-то - шанс отбиться. - Сорок восемь смертельных чертежей против главной уязвимости этой модели — - человека в кабине.^^ - ]] - end - out = out..[[Такие штамповались на Земле сотнями тысяч, но после войны оказалось, что большая часть потеряна на поле боя. - Конечно, по официальной версии. - ]] - end - } - } -} room { nam = 'exit_north', disp = 'Дорога на север', diff --git a/tools.lua b/tools.lua index a531e7c..b51e6cc 100644 --- a/tools.lua +++ b/tools.lua @@ -32,6 +32,7 @@ init = function () acts = { inv = 'act' }; sources = { scene = true, inv = false }; -- осмотр инвентаря вынесен отдельно }, me()) + --[[ place( proxy_menu { disp = 'ВЗЯТЬ'; acts = { inv = 'take' }; @@ -52,6 +53,7 @@ init = function () acts = { inv = 'close' }; sources = { scene = false, inv = true }; }, me()) + ]] place( proxy_menu { disp = 'ГОВОРИТЬ С'; acts = { inv = 'talk' };