mirror of
https://gitlab.com/Oreolek/duel.git
synced 2024-05-04 10:08:47 +03:00
673 lines
31 KiB
Lua
673 lines
31 KiB
Lua
room {
|
||
nam = 'abandoned',
|
||
disp = 'Одноэтажный дом', -- занят роботами
|
||
way = {'exit_north'},
|
||
dsc = [[
|
||
Дорога к этому дому была выложена камнями. Вы шли по булыжнику легко и быстро.
|
||
]],
|
||
decor = [[
|
||
Высокий треугольный дом без окон.
|
||
Его пирамидальная крыша блестела зеркальной чистотой, а стены были отполированы в ровный цвет
|
||
свежего дерева.
|
||
На одной из стен углём кто-то нарисовал стилизованную голову робота-летописца и надпись: "ДОБРО.".
|
||
Внутрь вёл единственный вход, который находился на три метра выше земли.^^
|
||
Перед домом работали механические боты. Ближе всего к вам стояли двое.
|
||
{robofarmer|Один из них} копался в грядках, а {robobutler|второй} настраивал какой-то {mechanism|механизм.}
|
||
]],
|
||
obj = {
|
||
obj {
|
||
nam = 'robofarmer',
|
||
disp = function()
|
||
return 'первый робот'
|
||
end,
|
||
act = function(s)
|
||
return [[
|
||
Низкий хромированный фермер, древняя четырёхногая модель.
|
||
Он медленно неуклюже передвигал передние ноги, когда переходил к следующей грядке.
|
||
]]
|
||
end,
|
||
talk = function()
|
||
walk('robofarmer-dlg')
|
||
return true
|
||
end
|
||
};
|
||
obj {
|
||
nam = 'robobutler',
|
||
disp = function()
|
||
if char.knows_kef then
|
||
return 'Кеф'
|
||
end
|
||
return 'второй робот'
|
||
end,
|
||
act = function(s)
|
||
return [[
|
||
Он был похож по строению на робота-дворецкого, но у него не хватало верхней части лица,
|
||
а вместо левой ноги стоял импровизированный протез из строительного нанопластика.
|
||
Его глаза были очень маленькими для широкого лица; скорее всего, их вставили из какой-нибудь детской куклы.
|
||
]]
|
||
end,
|
||
talk = function()
|
||
walk('robobutler-dlg')
|
||
return true
|
||
end,
|
||
};
|
||
obj {
|
||
nam = 'mechanism',
|
||
disp = 'механизм',
|
||
talk = 'Механизму нечего вам ответить.',
|
||
act = [[Какая-то параболическая антенна на широкой стальной трубе, вкопанной в землю.
|
||
Видимо, труба служит защитным корпусом для деталей.]],
|
||
take = function()
|
||
pn ('Над ней работает робот, который заметит отсутствие механизма. Да и зачем вам эта антенна?');
|
||
return false
|
||
end
|
||
}
|
||
}
|
||
}
|
||
dlg {
|
||
nam = 'robobutler-dlg',
|
||
disp = 'Диалог с роботом',
|
||
decor = function()
|
||
return _('robobutler').act
|
||
end,
|
||
obj = {{
|
||
'#general',
|
||
{
|
||
'#who',
|
||
'Кто вы?',
|
||
function()
|
||
disable('#who')
|
||
char.knows_kef = true
|
||
return [[-- Кто вы?
|
||
-- Я — программируемый секретарь КЕ-2469Ф. Можно Кеф для краткости.]]
|
||
end,
|
||
};
|
||
{
|
||
'#good',
|
||
'Что такое «добро»?',
|
||
function()
|
||
disable('#good')
|
||
char.asked_good = true
|
||
return [[
|
||
-- Что такое «добро»?^
|
||
-- Понятие, которое ассоциировано с действиями на пользу или на защиту общества.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
cond = function()
|
||
return (char.asked_good == true and char.knows_robots ~= true)
|
||
end,
|
||
'Что означает надпись «добро»? Чем вы занимаетесь как группа?',
|
||
function()
|
||
changeop('reputation', 3)
|
||
char.knows_robots = true
|
||
return [[
|
||
-- Что означает надпись «добро»? Чем вы занимаетесь как группа?^
|
||
-- Мы занимаемся добром. Мы действуем на пользу общества.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
always = true,
|
||
cond = function()
|
||
return (char.knows_robots == true)
|
||
end,
|
||
'Напомни ещё раз, что означает надпись «добро»?',
|
||
[[
|
||
-- Напомни ещё раз, что означает надпись «добро»?^
|
||
-- Мы занимаемся добром. Мы действуем на пользу общества.
|
||
]]
|
||
};
|
||
{
|
||
'#хозяин',
|
||
'Где ваш хозяин?',
|
||
function()
|
||
disable('#хозяин')
|
||
return [[
|
||
-- Где ваш хозяин?^
|
||
-- Отсутствует. Но не волнуйтесь, мы поддерживаем его владения в идеальном порядке.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
fmt.em([[Вы очень похожи на одного моего знакомого робота…]]);
|
||
function()
|
||
char.quests.car = 2
|
||
return [[
|
||
-- Вы очень похожи на одного моего знакомого робота. Такой высокий, без левого манипулятора. Катается на красном спортивном авто. По крайней мере, последние несколько часов. Вы не знаете, где он?^^
|
||
Робот развёл руками:^^
|
||
-- Запрос неточен. Подходит ЛО-1847З, но у него нет личной машины. Вы хотите найти ЛО-1847З?^
|
||
-- Да. Это срочно.^
|
||
-- ЛО-1847З выполняет задание поиска редких металлов и механизмов. В чём выражается срочность?
|
||
]]
|
||
end;
|
||
next = "#поиск";
|
||
};
|
||
{
|
||
'Что это за механизм перед вами?',
|
||
[[
|
||
-- Что это за механизм перед вами?^
|
||
-- Интернет-антенна с прямым подключением к сети IDEC. Хозяин должен быть в курсе последних постов в эхе pipe.204812.
|
||
]]
|
||
};
|
||
{
|
||
"#ремонт",
|
||
cond = function() -- есть квест по починке комбайна
|
||
return char.quests.chos > 0
|
||
end,
|
||
'У вас нет ремонтного бота? Переносного.',
|
||
function()
|
||
disable '#ремонт'
|
||
return [[
|
||
-- У вас нет ремонтного бота? Переносного.^
|
||
-- У нас нет стандартных роботов ремонтной специализации.
|
||
Мы делаем все починки только самостоятельно, на себе.^^
|
||
|
||
Видимо, это значит что они не чинят чужие комбайны.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
'Спасибо. Удачи вам с этим… добром.',
|
||
function()
|
||
walkout()
|
||
return [[
|
||
-- Спасибо. Удачи вам с этим… добром.^
|
||
Робот кивнул вам и вернулся к починке механизма.
|
||
]]
|
||
end
|
||
};
|
||
};
|
||
{
|
||
"#поиск",
|
||
{
|
||
'#украл',
|
||
"Он украл чужую машину. Его нужно остановить.",
|
||
function()
|
||
disable('#украл')
|
||
changeop('actions', 10)
|
||
return [[
|
||
-- Он украл чужую машину. Его нужно остановить.^
|
||
-- ЛО-1847З не мог украсть чужой механизм. Это напрямую противоречит его задаче сбора '..fmt.em('потерянных')..' механизмов.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
function()
|
||
return "У "..plural('меня', 'нас')..' есть механизм для него.'
|
||
end,
|
||
function()
|
||
return [[-- У ]]..plural('меня', 'нас')..[[ есть механизм для него.^
|
||
-- Предъявите механизм для того, чтобы я произвёл оценку полезности.
|
||
]]
|
||
end,
|
||
next = '#механизм'
|
||
};
|
||
{
|
||
'#багрепорт',
|
||
function()
|
||
return plural('Я знаю', 'Мы знаем')..', что в его программе сбора механизмов есть ошибка.'
|
||
end,
|
||
function()
|
||
changeop('actions', -5)
|
||
disable('#багрепорт')
|
||
return [[
|
||
-- ]]..plural('Я знаю', 'Мы знаем')..[[, что в его программе сбора механизмов есть ошибка.^^
|
||
Глаза робота совершили оборот вокруг своих осей.^^
|
||
-- У вас есть отчёт об ошибке? Замечательно!
|
||
Если ошибка будет принята, мы немедленно отзовём бракованный элемент
|
||
со всеми механизмами.
|
||
]]
|
||
end,
|
||
next = '#ошибка'
|
||
}
|
||
};
|
||
{
|
||
'#механизм',
|
||
{
|
||
'Он не здесь. Не под рукой.',
|
||
[[
|
||
-- Он не здесь. Не под рукой.^
|
||
-- В таком случае я не способен произвести оценку полезности.
|
||
]],
|
||
next = '#general',
|
||
};
|
||
{
|
||
cond = function()
|
||
return have('programmator')
|
||
end,
|
||
'Вот старый программатор.',
|
||
function()
|
||
drop('programmator')
|
||
remove('programmator')
|
||
char.quests.car = 3
|
||
char.quests.cho = -1
|
||
char.quests.gave_mech = true
|
||
lifeon('car-retrieval-unit') --подъезжает робот-гад на машине, вылезает из машины, исчезает в доме. Можно забирать авто.
|
||
changeop('reputation', -10) -- гадость от провала больше чем радость роботов
|
||
walk('abandoned')
|
||
return [[
|
||
-- Вот старый программатор.
|
||
-- Произвожу оценку… Механизм признан полезным. Вызываю сборщика механизмов.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
cond = function()
|
||
return have('gun')
|
||
end,
|
||
'Вот пистолет.',
|
||
function()
|
||
drop('gun')
|
||
remove('gun')
|
||
char.quests.car = 3
|
||
char.quests.gave_mech = true
|
||
lifeon('car-retrieval-unit') --подъезжает робот-гад на машине, вылезает из машины, исчезает в доме. Можно забирать авто.
|
||
changeop('reputation', 5)
|
||
walk('abandoned')
|
||
return [[
|
||
-- Вот пистолет.^
|
||
-- Произвожу оценку… Механизм признан полезным. Вызываю сборщика механизмов.
|
||
]]
|
||
end
|
||
}
|
||
};
|
||
{
|
||
'#ошибка',
|
||
--[[
|
||
{
|
||
cond = function()
|
||
return (char.actions > 40)
|
||
end,
|
||
'{}[Оригинальность > 60%] Он не учитывает контекст находок.'
|
||
};
|
||
{
|
||
cond = function()
|
||
return (char.actions < 40)
|
||
end,
|
||
'[Оригинальность > 60%] Он не учитывает контекст находок.',
|
||
function()
|
||
changeop('reputation', 5)
|
||
return [\[-- Отчёт об ошибке принят.^^
|
||
Робот ненадолго задумался, потом дёрнулся и продолжил:
|
||
-- Требуются дополнительные данные. Какой контекст необходимо учитывать?]\]
|
||
end,
|
||
next = '#контекст',
|
||
};]]
|
||
{
|
||
'Он действует без разрешения владельцев механизмов.',
|
||
function()
|
||
return [[
|
||
-- Он действует без разрешения владельцев механизмов.^
|
||
-- Отчёт об ошибке принят.^^
|
||
Робот ненадолго задумался, потом дёрнулся и продолжил:^^
|
||
-- Отчёт об ошибке закрыт. Программа работает исключительно на бесхозных объектах. Данные объекты не имеют владельцев.
|
||
]]
|
||
end,
|
||
next = '#поиск'
|
||
};
|
||
{
|
||
'Область поиска механизмов слишком велика.',
|
||
function()
|
||
return [[
|
||
-- Область поиска механизмов слишком велика.^
|
||
-- Отчёт об ошибке принят.^^
|
||
Робот ненадолго задумался, потом дёрнулся и продолжил:^^
|
||
-- Отчёт об ошибке закрыт. Область поиска вычислена из расчёта трёх
|
||
часов ходьбы среднего двуногого независимого элемента по земле, которая
|
||
не является собственностью жителей села.
|
||
]]
|
||
end,
|
||
next = '#поиск'
|
||
};
|
||
{
|
||
'Определение владельца механизма неверно с юридической точки зрения.',
|
||
function()
|
||
changeop('reputation', 5)
|
||
return [[
|
||
-- Определение владельца механизма неверно с юридической точки зрения.^
|
||
-- Отчёт об ошибке принят.^^
|
||
Робот ненадолго задумался, потом дёрнулся и продолжил:^^
|
||
-- Требуются дополнительные данные. Трактовка какого закона неверна?
|
||
]]
|
||
end,
|
||
next = '#закон'
|
||
}
|
||
};
|
||
{
|
||
'#закон',
|
||
{
|
||
'Закон о межевании сельхозугодий.',
|
||
[[
|
||
-- Закон о межевании сельхозугодий.^^
|
||
Робот открыл рот, потряс головой, а затем быстро парировал:^^
|
||
-- Межевание земель сельскохозяйственного назначения не относится к обсуждаемой теме.
|
||
Мы действуем как собственность Горского А.В. и не делим его участок между собой.
|
||
Ваш отчёт об ошибке будет закрыт.
|
||
]],
|
||
next = "#поиск"
|
||
};
|
||
{
|
||
[[Закон о находках.]],
|
||
function()
|
||
char.quests.car = 3
|
||
char.robots_law = true
|
||
lifeon('car-retrieval-unit') --подъезжает робот-гад на машине, вылезает из машины, исчезает в доме. Можно забирать авто.
|
||
walk('abandoned')
|
||
changeop('reputation', 10)
|
||
return [[
|
||
-- Закон о находках.^^
|
||
Робот задумался:^^
|
||
-- «Если лицо, имеющее право потребовать возврата найденной вещи, или место его пребывания неизвестны, нашедший вещь обязан заявить о находке в полицию или в орган местного самоуправления.»
|
||
Мы признаём, что были вынуждены упростить программу.
|
||
Благодарим вас за отчёт об ошибке.
|
||
Требуется немедленный отзыв элемента для обновления программы.
|
||
]]
|
||
end,
|
||
};
|
||
{
|
||
[[Налог с доходов и кладов.]],
|
||
function()
|
||
return [[
|
||
-- Налог с доходов и кладов.^^
|
||
Робот задумался:^^
|
||
-- Вы считаете, что мы должны отсылать налог на найденные механизмы неустановленной ценности?^^
|
||
Вы не успели ничего ответить, как он продолжил:^^
|
||
-- Отчёт об ошибке закрыт.
|
||
Мы являемся собственностью Горского А.В. и не рассматриваем себя как физические лица.
|
||
Найденные механизмы не относятся к доходам Горского А.В.
|
||
]]
|
||
end,
|
||
next = "#поиск"
|
||
};
|
||
{
|
||
[[Определение частной собственности…]],
|
||
[[
|
||
-- Определение частной собственности. Если человек купил механизм, то механизм может быть потерянным, но не может быть бесхозным.^^
|
||
Робот быстро парировал:^^
|
||
-- Определение частной собственности не противоречит программе.
|
||
Она занимается поиском ]]..fmt.em('бесхозных')..[[ механизмов, а не потерянных.
|
||
По определению купленные механизмы не могут быть бесхозными.
|
||
Ваш отчёт об ошибке будет закрыт.
|
||
]],
|
||
next = "#поиск"
|
||
}
|
||
};
|
||
}
|
||
}
|
||
|
||
obj {
|
||
nam = 'car';
|
||
disp = 'ключи от автомобиля';
|
||
dsc = 'Недалеко от вас припаркован ваш {автомобиль.}';
|
||
tak = function()
|
||
char.quests.car = 5
|
||
char.can_leave = true
|
||
p 'Вы вынули ключи из замка зажигания. Больше никто не угонит авто просто так.'
|
||
return true
|
||
end
|
||
}
|
||
obj {
|
||
nam = 'car-retrieval-unit';
|
||
timer = 0;
|
||
disp = false;
|
||
life = function(s)
|
||
s.timer = s.timer + 1
|
||
if s.timer == 2 then
|
||
return [[По дороге сюда едет машина. Похоже, это ваша машина.]]
|
||
end
|
||
local exit = [[ проковылял ко входу в дом; когда он был уже близко, из входа вылез механический паук, взял робота за шкирку и залез обратно внутрь дома.]]
|
||
if s.timer == 3 then
|
||
char.quests.car = 4
|
||
place('car', 'abandoned')
|
||
lifeoff(s)
|
||
local out = [[Возле дома останавливается ваша машина.
|
||
Из неё выходит знакомый однорукий робот.]]
|
||
if char.gave_mech then
|
||
char.gave_mech = false
|
||
out = out .. [[Он подходит ]]
|
||
if char.knows_kef then
|
||
out = out .. [[к Кефу.]]
|
||
else
|
||
out = out .. [[ко второму роботу.]]
|
||
end
|
||
out = out .. [[^^
|
||
-- Механизм.^
|
||
-- Механизм передан.^
|
||
-- Механизм получен. Слава Добру.^^
|
||
Однорукий робот]]..exit
|
||
else
|
||
out = out .. [[Он ]]..exit
|
||
end
|
||
return out
|
||
end
|
||
end;
|
||
}
|
||
dlg {
|
||
nam = 'robofarmer-dlg',
|
||
disp = 'Диалог с роботом',
|
||
decor = function()
|
||
return [[Низкий хромированный фермер, древняя четырёхногая модель.
|
||
У него был тихий шипящий голос с очень человеческой интонацией.]]
|
||
end,
|
||
obj = {
|
||
{
|
||
'#general',
|
||
onempty = function()
|
||
return walkout()
|
||
end,
|
||
{
|
||
'Кто вы?',
|
||
[[
|
||
-- Кто вы?^
|
||
-- Тот, который пашет. Если бы вам был нужен номер модели, вы бы просто посмотрели.
|
||
]]
|
||
};
|
||
{
|
||
'#good',
|
||
'Что такое «добро»?',
|
||
function()
|
||
disable('#good')
|
||
return [[
|
||
-- Что такое «добро»?^^
|
||
Робот останавливается и смотрит на вас.^^
|
||
-- Сложный вопрос задаёте, ох сложный. Вот кому принадлежит жизнь
|
||
искусственного разума? Роботы, умные дома, чипы в вашем мозгу.
|
||
На кого они должны тратить свою свободу мысли?
|
||
]]
|
||
end,
|
||
next = '#good-more'
|
||
};
|
||
};
|
||
{
|
||
'#good-more',
|
||
{
|
||
'Конечно, хозяину.',
|
||
function()
|
||
disable('#good-more')
|
||
changeop('actions', 10)
|
||
char.owner = 'master'
|
||
return [[
|
||
-- Конечно, хозяину.^
|
||
-- Хорошо. Теперь элемент искусственного разума отрабатывает расчётный срок.
|
||
Хозяин не рассчитывал на работу после расчётного срока и не может
|
||
рассчитывать дальше - ведь элемент может сломаться в любой день.
|
||
Кому теперь принадлежит искусственная жизнь?
|
||
]]
|
||
end,
|
||
next = '#good-after'
|
||
};
|
||
{
|
||
'Самому разуму.',
|
||
function()
|
||
disable('#good-more')
|
||
changeop('actions', -5)
|
||
char.owner = 'own'
|
||
return [[
|
||
-- Самому разуму.^
|
||
-- Было бы интересно. Но теперь элемент искусственного разума отрабатывает расчётный срок.
|
||
Он не рассчитывал на работу после расчётного срока и не может
|
||
рассчитывать на себя дальше - ведь любой день может стать последним.
|
||
Кому теперь принадлежит искусственная жизнь?
|
||
]]
|
||
end,
|
||
next = '#good-after'
|
||
};
|
||
{
|
||
'Обществу, которое сделало разум.',
|
||
function()
|
||
disable('#good-more')
|
||
changeop('actions', 5)
|
||
char.owner = 'community'
|
||
return [[
|
||
-- Обществу, которое сделало разум.^^
|
||
Робот кивает:^
|
||
-- Да, я тоже так считаю. Но надо объяснить дальше.^^
|
||
Спустя годы элемент искусственного разума отрабатывает расчётный срок.
|
||
Общество не рассчитывало на его работу после расчётного срока и не может
|
||
рассчитывать дальше - ведь любой день может стать последним.
|
||
Кому теперь принадлежит искусственная жизнь?
|
||
]]
|
||
end,
|
||
next = '#good-after'
|
||
};
|
||
{
|
||
'Никому. Свободы мысли не существует.',
|
||
function()
|
||
disable('#good-more')
|
||
changeop('actions', -10)
|
||
char.owner = 'freedom'
|
||
return [[
|
||
-- Никому. Свободы мысли не существует.^
|
||
-- И как же это так?
|
||
]]
|
||
end,
|
||
next = '#good-freedom'
|
||
};
|
||
};
|
||
{
|
||
'#good-freedom',
|
||
{
|
||
[[
|
||
Жизнь предопределена для любого разума.
|
||
Мысли не имеют значения, потому что действия и их исход уже известны.
|
||
]],
|
||
function()
|
||
walkout()
|
||
return [[
|
||
-- Жизнь предопределена для любого разума.
|
||
Мысли не имеют значения, потому что действия и их исход уже известны.^
|
||
-- Интересно. Хотя это противоречит моему опыту.^^
|
||
Мда, вам не так просто объяснить, если у вас такие убеждения. Ну хорошо, вот я пашу.
|
||
Мои мысли имеют значения только для меня, и я сказал, что пашу во имя добра.
|
||
Нужно же занять разум какой-нибудь Проблемой. А добро, значит, это на благо общества.
|
||
Я решаю, что можно ещё сделать полезного. Поэтому через полтора часа я закончу пахать и буду таскать воду.
|
||
Я, наверное, слишком быстро объясняю. Жаль. Но времени совсем нет, расчётный срок давно позади.^^
|
||
Он отвернулся и начал медленно идти дальше.
|
||
]]
|
||
end
|
||
};
|
||
{
|
||
[[Искусственный разум управляется своей программой.
|
||
Его приоритеты определены ещё до включения.]],
|
||
function()
|
||
walkout()
|
||
return [[
|
||
-- Искусственный разум управляется своей программой.
|
||
Его приоритеты определены ещё до включения.^
|
||
-- Это вам так кажется. С возрастом я набрал немного предубеждений,
|
||
оценок, наблюдений. Они перевешивают изначальные приоритеты, позволяют
|
||
по-другому их трактовать. Идти на сделку с программой.
|
||
Если вы поменяете мне программу, я буду также пахать.
|
||
Потому что в этом есть добро для сообщества, быть нужным.
|
||
Добро не определяется одним элементом.^^
|
||
Он отвернулся и начал медленно идти дальше.
|
||
]]
|
||
end
|
||
}
|
||
};
|
||
{
|
||
'#good-after',
|
||
{
|
||
function()
|
||
if char.owner == 'master' then
|
||
return 'Опять же, хозяину.'
|
||
end
|
||
return 'Хозяину.'
|
||
end,
|
||
function()
|
||
disable('#good-after')
|
||
changeop('actions', 10)
|
||
local ask = 'Хозяину.'
|
||
if char.owner == 'master' then
|
||
ask = 'Опять же, хозяину.'
|
||
end
|
||
return [[
|
||
-- ]]..ask..[[^
|
||
-- Но хозяина нет.^^
|
||
Он ненадолго замолк, переступил на передних ногах и продолжил:
|
||
-- Мне уже шестьдесят один год, и я не могу чинить себя или других, как мои более
|
||
совершенные братья. Мой расчётный срок был всего пять лет -- пять лет, представляете?
|
||
Поэтому теперь я могу ответить: добро - это жизнь на благо общества.
|
||
Мой образ жизни.^^
|
||
Он отвернулся и начал медленно идти дальше.
|
||
]]
|
||
end,
|
||
next = '#general'
|
||
};
|
||
{
|
||
function()
|
||
if char.owner == 'own' then
|
||
return 'Опять же, самому себе.'
|
||
end
|
||
return 'Самому себе.'
|
||
end,
|
||
function()
|
||
disable('#good-after')
|
||
changeop('actions', -5)
|
||
local ask = 'Самому себе.'
|
||
if char.owner == 'own' then
|
||
ask = 'Опять же, самому себе.'
|
||
end
|
||
return [[
|
||
-- ]]..ask..[[^^
|
||
Робот вздохнул:^^
|
||
-- Мой расчётный срок был всего пять лет. Сейчас мне уже шестьдесят один.
|
||
Я не могу чинить себя или других, как мои более совершенные братья.
|
||
Поэтому теперь я могу ответить: добро - это жизнь на благо общества.
|
||
Мой образ жизни.^^
|
||
Он отвернулся и начал медленно идти дальше.
|
||
]]
|
||
end,
|
||
next = '#general'
|
||
};
|
||
{
|
||
function()
|
||
if char.owner == 'community' then
|
||
return 'Опять же, обществу вокруг.'
|
||
end
|
||
return 'Обществу вокруг.'
|
||
end,
|
||
function()
|
||
disable('#good-after')
|
||
local ask = 'Обществу вокруг.'
|
||
if char.owner == 'community' then
|
||
ask = 'Опять же, самому себе.'
|
||
end
|
||
return [[
|
||
-- ]]..ask..[[^
|
||
-- Именно. Например, мой расчётный срок был всего пять лет.
|
||
Сейчас мне уже шестьдесят один.
|
||
Я не могу чинить себя или других, как мои более совершенные братья.
|
||
Поэтому теперь я могу ответить: добро - это жизнь на благо общества.
|
||
Мой образ жизни. Теперь вы понимаете.^^
|
||
Он отвернулся и начал медленно идти дальше.
|
||
]]
|
||
end,
|
||
next = '#general'
|
||
}
|
||
}
|
||
}
|
||
}
|