1
0
Fork 0
mirror of https://gitlab.com/Oreolek/duel.git synced 2024-06-23 18:40:54 +03:00
duel/ui.lua

207 lines
6.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 ~= nil then
if char.call == 'unknown' then
walkto = 'caller-unknown'
end
end
char.call = nil
if walkto ~= nil then
walk(walkto)
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 = 'Вы уверены, что хотите немедленно уехать из Жестианы?^^'..fmt.c('{yes|Да}'),
obj = {
'back',
obj {
nam = 'yes',
act = function() walk('theend') end,
}
}
}
room {
nam = 'theend',
disp = 'КОНЕЦ',
noinv = true,
decor = fmt.c(fmt.b('КОНЕЦ'))
}