2017-02-26 11:45:05 +02:00
|
|
|
|
obj {
|
|
|
|
|
nam = 'back',
|
2017-03-15 12:31:30 +02:00
|
|
|
|
dsc = function() return fmt.c("{Назад}") end,
|
2017-02-26 11:45:05 +02:00
|
|
|
|
act = function()
|
|
|
|
|
return walkout()
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
local markers = {
|
|
|
|
|
chos = "626,666",
|
2017-03-02 19:37:19 +02:00
|
|
|
|
abandoned = "264,213",
|
|
|
|
|
exit_west = "373,540",
|
|
|
|
|
pavels = "168,609",
|
2017-03-05 15:36:51 +02:00
|
|
|
|
houseclosed = "348,692",
|
2017-03-02 19:37:19 +02:00
|
|
|
|
exit_north = "448,157",
|
|
|
|
|
intersection = "555,550",
|
|
|
|
|
town = "543,462",
|
|
|
|
|
factory = "703,310",
|
|
|
|
|
cathedral = "703,310"
|
2017-02-26 11:45:05 +02:00
|
|
|
|
}
|
|
|
|
|
room {
|
|
|
|
|
nam = 'map',
|
|
|
|
|
disp = "Карта",
|
2017-03-15 16:31:11 +02:00
|
|
|
|
noinv = true,
|
2017-02-26 11:45:05 +02:00
|
|
|
|
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 = [[
|
2017-03-15 12:31:30 +02:00
|
|
|
|
Вы сверяетесь с картой.
|
2017-02-26 11:45:05 +02:00
|
|
|
|
]],
|
|
|
|
|
obj = {'back'}
|
|
|
|
|
}
|
|
|
|
|
dlg {
|
|
|
|
|
nam = 'quests',
|
|
|
|
|
disp = "Квесты",
|
2017-03-15 16:31:11 +02:00
|
|
|
|
noinv = true,
|
2017-02-26 11:45:05 +02:00
|
|
|
|
decor = [[
|
2017-04-01 13:46:06 +03:00
|
|
|
|
Вы вспоминаете обо всём, что нужно сделать.
|
2017-02-26 11:45:05 +02:00
|
|
|
|
]],
|
|
|
|
|
obj = {{
|
|
|
|
|
{
|
|
|
|
|
cond = function()
|
2017-03-09 14:04:05 +02:00
|
|
|
|
return char.quests.chos == nil
|
2017-02-26 11:45:05 +02:00
|
|
|
|
end,
|
2017-03-07 12:05:33 +02:00
|
|
|
|
'Найти Ангелину Чо',
|
|
|
|
|
'Вы приехали по гарантийному вызову. Вам надо найти Ангелину Чо, починить всё что у неё есть по гарантии и вернуться.'
|
2017-03-07 08:51:27 +02:00
|
|
|
|
};
|
2017-03-09 14:04:05 +02:00
|
|
|
|
{
|
|
|
|
|
cond = function()
|
2017-03-24 15:00:40 +02:00
|
|
|
|
return char.quests.car == 1
|
2017-03-09 14:04:05 +02:00
|
|
|
|
end,
|
2017-03-24 15:00:40 +02:00
|
|
|
|
'Вернуть автомобиль',
|
|
|
|
|
'Неизвестный робот посчитал ваш автомобиль за бесхозную технику. Скорее всего, он где-то в этой деревне.'
|
2017-03-09 14:04:05 +02:00
|
|
|
|
};
|
2017-03-07 08:51:27 +02:00
|
|
|
|
{
|
|
|
|
|
cond = function()
|
2017-03-24 15:00:40 +02:00
|
|
|
|
return char.quests.car == 2
|
2017-03-07 08:51:27 +02:00
|
|
|
|
end,
|
|
|
|
|
'Вернуть автомобиль',
|
2017-03-24 15:00:40 +02:00
|
|
|
|
'Вы нашли сообщество роботов. Нужно убедить их отдать вам автомобиль.'
|
|
|
|
|
};
|
|
|
|
|
{
|
|
|
|
|
cond = function()
|
|
|
|
|
return char.quests.car == 3
|
|
|
|
|
end,
|
|
|
|
|
'Вернуть автомобиль',
|
|
|
|
|
'Просто дождитесь, когда его привезут.'
|
|
|
|
|
};
|
|
|
|
|
{
|
|
|
|
|
cond = function()
|
|
|
|
|
return char.quests.car == 4
|
|
|
|
|
end,
|
|
|
|
|
'Вернуть автомобиль',
|
|
|
|
|
'Автомобиль здесь. Его никто не охраняет. Просто сядьте в машину.'
|
2017-03-07 08:51:27 +02:00
|
|
|
|
};
|
2017-02-26 11:45:05 +02:00
|
|
|
|
{
|
|
|
|
|
cond = function()
|
2017-03-06 07:31:09 +02:00
|
|
|
|
return char.quests.abandoned == 1
|
|
|
|
|
end,
|
|
|
|
|
'Бесхозные роботы',
|
2017-03-29 13:34:54 +03:00
|
|
|
|
[[Мужчина в храме Последней Розы интересуется роботами на северной ферме.
|
2017-03-06 07:31:09 +02:00
|
|
|
|
Их хозяин умер, и теперь ценные работники не подчиняются никому.
|
|
|
|
|
Он хочет, чтобы вы настроили роботов на его голос.]]
|
2017-03-07 08:51:27 +02:00
|
|
|
|
};
|
2017-03-06 07:31:09 +02:00
|
|
|
|
{
|
|
|
|
|
cond = function()
|
2017-03-24 15:00:40 +02:00
|
|
|
|
return char.quests.chos == 1
|
2017-02-26 11:45:05 +02:00
|
|
|
|
end,
|
|
|
|
|
'Найти дом Павла',
|
2017-03-24 15:00:40 +02:00
|
|
|
|
'Вы должны найти дом Павла и попросить у него программатор, чтобы починить Анжелине комбайн.'
|
|
|
|
|
};
|
|
|
|
|
{
|
|
|
|
|
cond = function()
|
|
|
|
|
return char.quests.chos == 2
|
|
|
|
|
end,
|
|
|
|
|
'Убедить Павла отдать программатор',
|
|
|
|
|
'Старую технику надо искать у соседей.'
|
|
|
|
|
};
|
|
|
|
|
{
|
|
|
|
|
cond = function()
|
|
|
|
|
return char.quests.chos == 3
|
|
|
|
|
end,
|
|
|
|
|
'Починить комбайн… или нет?',
|
|
|
|
|
'Починить Анжелине комбайн при помощи программатора.'
|
2017-03-07 08:51:27 +02:00
|
|
|
|
};
|
2017-03-24 15:11:47 +02:00
|
|
|
|
{
|
|
|
|
|
cond = function()
|
|
|
|
|
return char.quests.chos == -1
|
|
|
|
|
end,
|
|
|
|
|
'(провалено) Починить комбайн',
|
|
|
|
|
'Вы отдали ваш единственный программатор в обмен на свою же автомашину.'
|
|
|
|
|
};
|
2017-02-26 11:45:05 +02:00
|
|
|
|
{
|
|
|
|
|
'Назад',
|
|
|
|
|
function() walkout() end,
|
2017-03-07 08:51:27 +02:00
|
|
|
|
};
|
2017-02-26 11:45:05 +02:00
|
|
|
|
}}
|
|
|
|
|
}
|
|
|
|
|
|
2017-03-07 14:20:05 +02:00
|
|
|
|
dlg {
|
2017-02-26 11:45:05 +02:00
|
|
|
|
nam = 'inventory',
|
2017-03-31 12:42:37 +03:00
|
|
|
|
disp = "Телефон",
|
2017-03-15 16:31:11 +02:00
|
|
|
|
noinv = true,
|
2017-03-25 07:32:14 +02:00
|
|
|
|
enter = function()
|
|
|
|
|
local walkto = nil
|
2017-03-30 06:00:36 +03:00
|
|
|
|
if char.call == 'unknown' then
|
|
|
|
|
char.call = nil
|
|
|
|
|
lifeoff('call-unknown')
|
|
|
|
|
walk('caller-unknown')
|
2017-03-25 07:32:14 +02:00
|
|
|
|
end
|
|
|
|
|
return true
|
|
|
|
|
end,
|
2017-02-26 11:45:05 +02:00
|
|
|
|
decor = function()
|
2017-03-07 14:20:05 +02:00
|
|
|
|
return 'Здесь будут все телефоны и заметки, которые вы запишете в телефон.'
|
2017-02-26 11:45:05 +02:00
|
|
|
|
end,
|
2017-03-07 14:20:05 +02:00
|
|
|
|
obj = {{
|
2017-03-07 14:24:07 +02:00
|
|
|
|
{
|
|
|
|
|
always = true,
|
|
|
|
|
'Ангелина Чо',
|
|
|
|
|
function()
|
|
|
|
|
local retval = 'Вы набираете номер заказчика. Нет ответа.'
|
|
|
|
|
if not visited('cho_dlg') then
|
|
|
|
|
retval = retval .. ' Спит она там, что ли?'
|
|
|
|
|
end
|
|
|
|
|
return retval
|
|
|
|
|
end,
|
|
|
|
|
};
|
2017-03-07 14:20:05 +02:00
|
|
|
|
{
|
|
|
|
|
always = true,
|
|
|
|
|
'Назад',
|
|
|
|
|
function() walkout() end,
|
|
|
|
|
};
|
|
|
|
|
}}
|
2017-02-26 11:45:05 +02:00
|
|
|
|
}
|
2017-03-15 12:31:30 +02:00
|
|
|
|
|
|
|
|
|
room {
|
|
|
|
|
nam = 'character',
|
|
|
|
|
disp = 'Персонаж',
|
2017-03-15 16:31:11 +02:00
|
|
|
|
noinv = true,
|
2017-03-15 12:31:30 +02:00
|
|
|
|
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..'%'..
|
2017-03-25 07:04:31 +02:00
|
|
|
|
[[^Раны: ]]..fmt.tab('20%')..char.wounds..[[ (при трёх ранах ]]..plural('персонаж умрёт', 'персонажи умрут')..')^'..
|
|
|
|
|
[[^^При себе у вас: ]]..listinv()
|
2017-03-15 12:31:30 +02:00
|
|
|
|
end,
|
|
|
|
|
obj = {'back'}
|
|
|
|
|
}
|
2017-03-15 16:28:15 +02:00
|
|
|
|
|
|
|
|
|
room {
|
|
|
|
|
nam = 'ending',
|
|
|
|
|
disp = 'Уехать из Жестианы',
|
2017-03-15 16:31:11 +02:00
|
|
|
|
noinv = true,
|
2017-03-29 13:42:15 +03:00
|
|
|
|
decor = function()
|
|
|
|
|
local out = 'Вы уверены, что хотите немедленно уехать из Жестианы?'
|
|
|
|
|
if char.took_kathy then
|
|
|
|
|
out = out .. [[(по пути вы не забудете заехать за девочкой)]]
|
|
|
|
|
end
|
2017-03-30 13:18:46 +03:00
|
|
|
|
out = out .. '^^' .. fmt.c('{yes|Да}')
|
|
|
|
|
return out
|
2017-03-29 13:42:15 +03:00
|
|
|
|
end,
|
2017-03-15 16:28:15 +02:00
|
|
|
|
obj = {
|
|
|
|
|
'back',
|
|
|
|
|
obj {
|
|
|
|
|
nam = 'yes',
|
|
|
|
|
act = function() walk('theend') end,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
room {
|
|
|
|
|
nam = 'theend',
|
|
|
|
|
disp = 'КОНЕЦ',
|
2017-03-15 16:31:11 +02:00
|
|
|
|
noinv = true,
|
2017-03-28 19:33:19 +03:00
|
|
|
|
decor = function()
|
|
|
|
|
local out = 'Так закончилось ваше приключение в Жестиане.^^'
|
|
|
|
|
if char.quests.chos < 4 then
|
|
|
|
|
out = out .. [[Семья Чо потеряла урожай.
|
|
|
|
|
После бурных споров она раскололась: прабабушка Анжелина с сыном остались в Жестиане,
|
|
|
|
|
а молодое поколение перебралось в город. Роботов поделили пополам.
|
|
|
|
|
Всей семье пришлось тяжело, но они выжили и даже немного рады переменам.^^]]
|
2017-03-29 13:42:15 +03:00
|
|
|
|
else
|
2017-03-31 07:29:52 +03:00
|
|
|
|
out = out .. [[Семья Чо собрала прекрасный урожай. ]]
|
2017-03-29 13:42:15 +03:00
|
|
|
|
if char.took_kathy then
|
|
|
|
|
out = out .. [[^^В городе Катя оказалась способной ученицей. Она с блеском закончила три курса
|
|
|
|
|
теории и готовится к практической командировке. Куратором практики назначили вас.]]
|
|
|
|
|
else
|
|
|
|
|
out = out .. [[Но радость была недолгой, когда обнаружилось, что правнучка сбежала
|
|
|
|
|
в город на подножке рейсового автобуса.]]
|
|
|
|
|
end
|
|
|
|
|
out = out .. '^^'
|
2017-03-28 19:33:19 +03:00
|
|
|
|
end
|
|
|
|
|
if char.robots_law == true then
|
|
|
|
|
out = out .. [[Районное отделение полиции очень удивилось, когда обнаружило
|
|
|
|
|
однорукого робота, который предлагал им зарегистрировать 45 «единиц находок»
|
|
|
|
|
на большой потрёпанной тележке. Робота убедили в том, что находки действительно
|
|
|
|
|
бесхозны, но на следующий день он вернулся с новой тележкой. После того,
|
|
|
|
|
как среди механизмов обнаружились потерянная спутниковая рация полковника Косых
|
|
|
|
|
и патроны для боевого механизированного костюма, полиция запротоколировала
|
|
|
|
|
все «находки».^^]]
|
|
|
|
|
else
|
|
|
|
|
out = out .. [[Роботы Жестианы продолжают собирать бесхозные механизмы.
|
|
|
|
|
Случайно обнаруженный ими искусственный интеллект позволил построить
|
|
|
|
|
фабрику по производству новых братьев. Они всё ещё ждут хозяина.^^]]
|
|
|
|
|
end
|
|
|
|
|
out = out .. fmt.c(fmt.b('КОНЕЦ'))
|
|
|
|
|
return out
|
|
|
|
|
end
|
2017-03-15 16:28:15 +02:00
|
|
|
|
}
|