mirror of
https://gitlab.com/Oreolek/duel.git
synced 2024-05-23 03:18:31 +03:00
243 lines
9 KiB
Lua
243 lines
9 KiB
Lua
obj {
|
||
nam = 'back',
|
||
dsc = function() return fmt.c("{Назад}") end,
|
||
act = function()
|
||
return walkout()
|
||
end
|
||
}
|
||
|
||
local markers = {
|
||
chos = "626,666",
|
||
abandoned = "264,213",
|
||
exit_west = "373,540",
|
||
pavels = "168,609",
|
||
houseclosed = "348,692",
|
||
exit_north = "448,157",
|
||
intersection = "555,550",
|
||
town = "543,462",
|
||
factory = "703,310",
|
||
cathedral = "703,310"
|
||
}
|
||
room {
|
||
nam = 'map',
|
||
disp = "Карта",
|
||
noinv = true,
|
||
enter = function (here, from)
|
||
char.lastroom = from.nam
|
||
end,
|
||
pic = function()
|
||
local map = 'images/satellite.jpg'
|
||
if markers[char.lastroom] then
|
||
map = map .. ';images/marker.png@' .. markers[char.lastroom]
|
||
end
|
||
return map
|
||
end,
|
||
decor = [[
|
||
Вы сверяетесь с картой.
|
||
]],
|
||
obj = {'back'}
|
||
}
|
||
dlg {
|
||
nam = 'quests',
|
||
disp = "Квесты",
|
||
noinv = true,
|
||
decor = [[
|
||
Вы вспоминаете обо всём, что нужно сделать.
|
||
]],
|
||
obj = {{
|
||
{
|
||
cond = function()
|
||
return char.quests.chos == nil
|
||
end,
|
||
'Найти Ангелину Чо',
|
||
'Вы приехали по гарантийному вызову. Вам надо найти Ангелину Чо, починить всё что у неё есть по гарантии и вернуться.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.car == 1
|
||
end,
|
||
'Вернуть автомобиль',
|
||
'Неизвестный робот посчитал ваш автомобиль за бесхозную технику. Скорее всего, он где-то в этой деревне.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.car == 2
|
||
end,
|
||
'Вернуть автомобиль',
|
||
'Вы нашли сообщество роботов. Нужно убедить их отдать вам автомобиль.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.car == 3
|
||
end,
|
||
'Вернуть автомобиль',
|
||
'Просто дождитесь, когда его привезут.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.car == 4
|
||
end,
|
||
'Вернуть автомобиль',
|
||
'Автомобиль здесь. Его никто не охраняет. Просто сядьте в машину.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.abandoned == 1
|
||
end,
|
||
'Бесхозные роботы',
|
||
[[Мужчина в храме Последней Розы интересуется роботами на северной ферме.
|
||
Их хозяин умер, и теперь ценные работники не подчиняются никому.
|
||
Он хочет, чтобы вы настроили роботов на его голос.]]
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.chos == 1
|
||
end,
|
||
'Найти дом Павла',
|
||
'Вы должны найти дом Павла и попросить у него программатор, чтобы починить Анжелине комбайн.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.chos == 2
|
||
end,
|
||
'Убедить Павла отдать программатор',
|
||
'Старую технику надо искать у соседей.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.chos == 3
|
||
end,
|
||
'Починить комбайн… или нет?',
|
||
'Починить Анжелине комбайн при помощи программатора.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return char.quests.chos == -1
|
||
end,
|
||
'(провалено) Починить комбайн',
|
||
'Вы отдали ваш единственный программатор в обмен на свою же автомашину.'
|
||
};
|
||
{
|
||
'Назад',
|
||
function() walkout() end,
|
||
};
|
||
}}
|
||
}
|
||
|
||
dlg {
|
||
nam = 'inventory',
|
||
disp = "Телефон",
|
||
noinv = true,
|
||
enter = function()
|
||
local walkto = nil
|
||
if char.call == 'unknown' then
|
||
char.call = nil
|
||
lifeoff('call-unknown')
|
||
walk('caller-unknown')
|
||
end
|
||
return true
|
||
end,
|
||
decor = function()
|
||
return 'Здесь будут все телефоны и заметки, которые вы запишете в телефон.'
|
||
end,
|
||
obj = {{
|
||
{
|
||
always = true,
|
||
'Ангелина Чо',
|
||
function()
|
||
local retval = 'Вы набираете номер заказчика. Нет ответа.'
|
||
if not visited('cho_dlg') then
|
||
retval = retval .. ' Спит она там, что ли?'
|
||
end
|
||
return retval
|
||
end,
|
||
};
|
||
{
|
||
always = true,
|
||
'Назад',
|
||
function() walkout() end,
|
||
};
|
||
}}
|
||
}
|
||
|
||
room {
|
||
nam = 'character',
|
||
disp = 'Персонаж',
|
||
noinv = true,
|
||
decor = function()
|
||
return [[Обращение: ]]..fmt.tab('20%')..pronoun_3()..
|
||
[[^Действия: ]]..fmt.tab('20%')..
|
||
'Оригинальность'..fmt.tab('40%')..opposed(char.actions)..' Традиционность'..
|
||
fmt.tab('80%')..char.actions..'%'..
|
||
[[^Репутация: ]]..fmt.tab('20%')..
|
||
gendered('Нечестивец', 'Нечестивая', 'Нечестивое', 'Нечестивые')
|
||
..fmt.tab('40%')..opposed(char.reputation)..' '..
|
||
gendered('Святой', 'Святая', 'Святое', 'Святые')..
|
||
fmt.tab('80%')..char.reputation..'%'..
|
||
[[^Раны: ]]..fmt.tab('20%')..char.wounds..[[ (при трёх ранах ]]..plural('персонаж умрёт', 'персонажи умрут')..')^'..
|
||
[[^^При себе у вас: ]]..listinv()
|
||
end,
|
||
obj = {'back'}
|
||
}
|
||
|
||
room {
|
||
nam = 'ending',
|
||
disp = 'Уехать из Жестианы',
|
||
noinv = true,
|
||
decor = function()
|
||
local out = 'Вы уверены, что хотите немедленно уехать из Жестианы?'
|
||
if char.took_kathy then
|
||
out = out .. [[(по пути вы не забудете заехать за девочкой)]]
|
||
end
|
||
out = out .. '^^' .. fmt.c('{yes|Да}')
|
||
return out
|
||
end,
|
||
obj = {
|
||
'back',
|
||
obj {
|
||
nam = 'yes',
|
||
act = function() walk('theend') end,
|
||
}
|
||
}
|
||
}
|
||
|
||
room {
|
||
nam = 'theend',
|
||
disp = 'КОНЕЦ',
|
||
noinv = true,
|
||
decor = function()
|
||
local out = 'Так закончилось ваше приключение в Жестиане.^^'
|
||
if char.quests.chos < 4 then
|
||
out = out .. [[Семья Чо потеряла урожай.
|
||
После бурных споров она раскололась: прабабушка Анжелина с сыном остались в Жестиане,
|
||
а молодое поколение перебралось в город. Роботов поделили пополам.
|
||
Всей семье пришлось тяжело, но они выжили и даже немного рады переменам.^^]]
|
||
else
|
||
out = out .. [[Семья Чо собрала прекрасный урожай. ]]
|
||
if char.took_kathy then
|
||
out = out .. [[^^В городе Катя оказалась способной ученицей. Она с блеском закончила три курса
|
||
теории и готовится к практической командировке. Куратором практики назначили вас.]]
|
||
else
|
||
out = out .. [[Но радость была недолгой, когда обнаружилось, что правнучка сбежала
|
||
в город на подножке рейсового автобуса.]]
|
||
end
|
||
out = out .. '^^'
|
||
end
|
||
if char.robots_law == true then
|
||
out = out .. [[Районное отделение полиции очень удивилось, когда обнаружило
|
||
однорукого робота, который предлагал им зарегистрировать 45 «единиц находок»
|
||
на большой потрёпанной тележке. Робота убедили в том, что находки действительно
|
||
бесхозны, но на следующий день он вернулся с новой тележкой. После того,
|
||
как среди механизмов обнаружились потерянная спутниковая рация полковника Косых
|
||
и патроны для боевого механизированного костюма, полиция запротоколировала
|
||
все «находки».^^]]
|
||
else
|
||
out = out .. [[Роботы Жестианы продолжают собирать бесхозные механизмы.
|
||
Случайно обнаруженный ими искусственный интеллект позволил построить
|
||
фабрику по производству новых братьев. Они всё ещё ждут хозяина.^^]]
|
||
end
|
||
out = out .. fmt.c(fmt.b('КОНЕЦ'))
|
||
return out
|
||
end
|
||
}
|