1
0
Fork 0
mirror of https://gitlab.com/Oreolek/duel.git synced 2024-06-26 03:50:55 +03:00

Отдельная локация и планы по ней

This commit is contained in:
Alexander Yakovlev 2017-03-09 18:14:16 +07:00
parent 39eec3c1d2
commit 9c95c95d01
3 changed files with 91 additions and 42 deletions

88
locations/pavels.lua Normal file
View file

@ -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 = {
}
}

View file

@ -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 = 'Дорога на север',

View file

@ -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' };