mirror of
https://gitlab.com/Oreolek/duel.git
synced 2024-07-02 14:55:15 +03:00
368 lines
14 KiB
Lua
368 lines
14 KiB
Lua
-- + можно выкупить программатор в обмен на ___ у роботов
|
||
|
||
room {
|
||
nam = 'chos',
|
||
disp = 'Богатый дом',
|
||
way = {'intersection'},
|
||
decor = [[
|
||
Вы стояли перед большим {chos_house|напечатанным домом.}
|
||
Отсюда начиналась большая пашня, по которой ходили фермерские роботы.^^
|
||
|
||
Возле дома в удобном гамаке спала {angelina|старушка.}
|
||
]],
|
||
obj = {
|
||
obj {
|
||
nam = 'chos_house',
|
||
disp = 'дом',
|
||
take = function()
|
||
pn('Вы не знаете, как можно '..fmt.em('взять')..' двухэтажный дом.')
|
||
return false
|
||
end,
|
||
act = [[К типовому двухэтажному дому из нанотрубок со временем допечатывали несколько модулей.
|
||
Часть второго этажа выглядела совсем новой — возможно, её недавно расширили.]],
|
||
};
|
||
obj {
|
||
nam = 'angelina',
|
||
take = function()
|
||
pn('Старушке это не понравится.')
|
||
return false
|
||
end,
|
||
disp = function()
|
||
if not visited('cho_dlg2') then
|
||
return 'старушка'
|
||
else
|
||
return 'Ангелина'
|
||
end
|
||
end,
|
||
act = 'Старушка мирно посапывала, раскачиваясь в гамаке.',
|
||
talk = function() return walk('cho_dlg'); end,
|
||
}
|
||
}
|
||
}
|
||
-- Диалог с Анжелиной Чо
|
||
dlg {
|
||
nam = 'cho_dlg',
|
||
disp = false,
|
||
dsc = function(s)
|
||
if not visited('cho_dlg2') then
|
||
return [[
|
||
-- А? Что? Вы… вы ]]..engineer()..[[ из фирмы? Нет, я не сплю.^^
|
||
|
||
Она встаёт и протирает глаза.
|
||
]]
|
||
end
|
||
s:reset '#разговор'
|
||
return [[-- А? Это вы? Извините, я задремала.]]
|
||
end,
|
||
decor = [[
|
||
Старушка внимательно смотрит на вас.
|
||
]],
|
||
obj = {
|
||
{
|
||
{
|
||
function() return 'Откуда вы поняли, что '..pronoun_1()..' — '..engineer() end,
|
||
'Я же вас и вызывала. У нас комбайн сломан. Вы чините зерноуборочные комбайны?'
|
||
};
|
||
{
|
||
always = true,
|
||
fmt.em('Как вас зовут?'),
|
||
'Ангелина. Я вызывала мастера по гарантии.',
|
||
next = '#комбайн-начало'
|
||
}
|
||
};
|
||
{ '#комбайн-начало',
|
||
{
|
||
'Что случилось?',
|
||
'-- Мы прогрели его весной, а он и не едет. Вы же '..engineer()..', вы сможете его починить?'
|
||
};
|
||
{
|
||
fmt.em('Можно посмотреть комбайн?'),
|
||
function() return walk('cho_dlg2') end,
|
||
};
|
||
};
|
||
{ '#разговор',
|
||
{
|
||
always = true,
|
||
'Вы не могли бы показать мне комбайн ещё раз?',
|
||
function()
|
||
if have('programmator') then
|
||
walk('combine')
|
||
return [[Она привела вас к зерноуборочному комбайну, и вы начали работать.]]
|
||
else
|
||
return 'Она привела вас к комбайну. Машина в том же сломанном состоянии. Вам пришлось вернуться ни с чем.'
|
||
end
|
||
end,
|
||
};
|
||
{
|
||
'Вы давно здесь живёте?',
|
||
'Она пожимает плечами:^^-- Лет тридцать. Начинали всего с одним роботом.'
|
||
};
|
||
{
|
||
fmt.em('Ничего. Доброе утро.'),
|
||
function()
|
||
walk('chos_house')
|
||
return '-- И вам того же.^^Она закрыла глаза и задремала.'
|
||
end,
|
||
};
|
||
}
|
||
}
|
||
}
|
||
|
||
dlg {
|
||
nam = 'cho_dlg2',
|
||
disp = false,
|
||
dsc = [[-- Да-да, конечно.^^
|
||
Она провела вас в большой сарай, где пылился высокий автоматический зерноуборочный комбайн.
|
||
|
||
-- Вот и наш больной. Только вы, пожалуйста, можете его починить побыстрее, а то у нас урожай уже скоро.
|
||
]],
|
||
decor = [[
|
||
Старушка Чо внимательно смотрела на вас.
|
||
В её глазах вы видели, что от починки этого сельхозкомбайна зависело несколько жизней.
|
||
]],
|
||
obj = {
|
||
{
|
||
onempty = function()
|
||
walk('start4')
|
||
end,
|
||
{
|
||
'Что точно случилось?',
|
||
'-- Мы его заводим, а он замёрз! После зимы у мужа обычная машина не заводится, не то что роботы.'
|
||
},
|
||
{
|
||
'У вас же столько роботов. Неужели вы не справитесь без комбайна?',
|
||
[[-- Всего семеро, и они обычно упаковывают и складывают.
|
||
Если они будут ещё и косить, мы не управимся до осени.
|
||
Урожай сгниёт под дождями.]]
|
||
},
|
||
{
|
||
'Да, '..pronoun_1()..' -- '..engineer()..[[.
|
||
Но я могу только определить проблему, у вас же нет мастерской или инструментов.]],
|
||
'-- Вы знаете, я могу попросить соседей. У Павла в подвале во время войны была мастерская.'
|
||
},
|
||
{
|
||
'Давно он у вас?',
|
||
[[-- Ну, лет двадцать уже, наверное.
|
||
Никогда не ломался. Но у меня на него пожизненная гарантия.]]
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
-- Починка комбайна
|
||
dlg {
|
||
nam = 'start4',
|
||
disp = false,
|
||
dsc = function()
|
||
char.quests.chos = 1
|
||
return [[
|
||
Комбайн оказался ещё довоенным.
|
||
Вы копались не меньше часа, пока не нашли износившийся программаторный блок.^^
|
||
|
||
-- Ну что же, надо чинить. Случай гарантийный, всё за счёт фирмы. Но придётся забрать в город, в мастерскую. Программатор сломался.^
|
||
-- Програ-что?^
|
||
-- Ну, это очень старая плата передвижения. Раньше везде стояла, но сейчас её надо заказывать.^
|
||
-- Ходули, что ли? А может, у нас поищем? Здесь много у кого есть техника.^
|
||
-- Нет, надо заказывать. Не волнуйтесь, через месяц придёт.^
|
||
-- Слушайте, но нам же нельзя ждать целый месяц, урожай за порогом. Хотите, я заплачу?
|
||
-- Давайте так: ]]..pronoun_1()..[[ здесь ещё ]]..plural('задерживаюсь', 'задерживаемся')..[[. Возможно, здесь, на месте, что-то получится. Но после урожая -- сразу в мастерскую на техосмотр.^
|
||
-- Спасибо. -- она улыбнулась. -- Попробуйте спросить Пашу? У него много техники, он поможет.
|
||
]]
|
||
end,
|
||
decor = [[
|
||
Вы вернулись к дому. Стоит ли спросить что-то ещё?
|
||
]],
|
||
obj = {{
|
||
onempty = function()
|
||
char.quests.kathy = 0
|
||
-- place('kathy', here())
|
||
-- lifeon('kathy')
|
||
p "Видимо, разговор закончен."
|
||
lifeon('call-unknown')
|
||
walk('chos')
|
||
end,
|
||
{'Где живёт этот Павел?', [[Это такой зелёный домик, вы его
|
||
не пропустите. Как позвоните в домофон, Паша вас пустит. Он — добрый друг нашей семьи.]]}
|
||
}}
|
||
}
|
||
obj {
|
||
nam = 'kathy',
|
||
disp = 'Катя',
|
||
dsc = "Рядом с вами стояла {Катя}.",
|
||
talk = function()
|
||
return walk('kathy_dlg')
|
||
end,
|
||
life = function(self)
|
||
if player_moved() then
|
||
place('kathy', here())
|
||
end
|
||
local reactions = {
|
||
'Катя зевнула.';
|
||
'Катя стучала серым кроссовком.';
|
||
'Катя смотрела на что-то в небе.';
|
||
}
|
||
if rnd(10) > 4 then -- вероятность реакции 40%
|
||
p(rndstr(reactions))
|
||
return
|
||
end
|
||
end,
|
||
take = function()
|
||
pn 'Плохая идея.'
|
||
return false
|
||
end,
|
||
act = 'Чумазая китаянка со спутанными волосами.'
|
||
}
|
||
dlg {
|
||
nam = 'kathy_dlg';
|
||
decor = [[
|
||
Вы стояли и смотрели на Катю. А Катя смотрела на вас.
|
||
]];
|
||
obj = {{
|
||
onempty = function()
|
||
return "Она отворачивается. Видимо, разговор закончен."
|
||
end,
|
||
{
|
||
'#привет',
|
||
'Привет.',
|
||
function()
|
||
disable '#привет'
|
||
return 'Привет.'
|
||
end
|
||
};
|
||
{
|
||
'Покажешь дорогу до этого Павла?',
|
||
function()
|
||
walk 'pavels'
|
||
return 'Ну пошли.'
|
||
end,
|
||
};
|
||
{
|
||
'Ты можешь подождать где-нибудь? Кое-какие дела.',
|
||
function()
|
||
lifeoff 'kathy'
|
||
return '-- Ну хорошо. Я буду у себя дома, если что.'
|
||
end,
|
||
};
|
||
{
|
||
always = true,
|
||
function()
|
||
return pronoun_1()..' '..plural('хочу', 'хотим')..' кое-что посмотреть. Можешь подождать здесь?'
|
||
end,
|
||
function()
|
||
lifeoff('kathy')
|
||
place('kathy', 'chos_house')
|
||
return "Хорошо. Но я лучше вернусь домой, бабушка будет волноваться."
|
||
end
|
||
}
|
||
}}
|
||
}
|
||
obj {
|
||
nam = 'call-unknown',
|
||
disp = false,
|
||
timer = 0,
|
||
life = function(s)
|
||
s.timer = s.timer + 1
|
||
char.call = 'unknown'
|
||
if s.timer < 8 then
|
||
pn 'У вас звонит телефон.' -- не могу сделать ссылкой
|
||
end
|
||
if s.timer == 8 then
|
||
char.call = nil
|
||
lifeoff(s)
|
||
end
|
||
end,
|
||
}
|
||
local backtocho = function()
|
||
walk('chos')
|
||
return 'Бросили трубку.'
|
||
end
|
||
dlg {
|
||
nam = 'caller-unknown',
|
||
decor = function()
|
||
return [[В трубке говорил незнакомый девичий голос.^^
|
||
-- Ты не]]..wrong_gendered('должен', 'должна')..[[чинить этот комбайн. Погибнут люди.]]
|
||
end,
|
||
obj = {{
|
||
{
|
||
'Иди ты к чорту.',backtocho
|
||
};
|
||
{
|
||
'Ну хорошо.',backtocho
|
||
};
|
||
{
|
||
'А мне-то что?',function()
|
||
changeop('reputation', -10)
|
||
return backtocho()
|
||
end
|
||
};
|
||
{
|
||
'Да это же просто комбайн.',backtocho
|
||
};
|
||
}}
|
||
}
|
||
|
||
dlg {
|
||
nam = 'combine',
|
||
-- Здесь я хотел вставить интерактив но не придумал ни-че-го
|
||
dsc = [[
|
||
Ремонт двигался прекрасно; техника была достойной, несмотря на возраст
|
||
и то, что почти год стояла в сарае. Вы подготовились
|
||
вывезти машину на поездку вокруг сарая.^^
|
||
|
||
И тут начались выстрелы.
|
||
После войны вы моментально реагировали на громкий хлопок и металлический «бзынь» в сантиметре от руки.
|
||
Вы спрятались в кабине, но вам не было видно, что происходит на входе в сарай.^^
|
||
|
||
-- Я говорила вам не чинить этот комбайн!
|
||
|
||
С другой стороны, надо было только считать выстрелы.
|
||
]],
|
||
shots = 4,
|
||
update = function(s)
|
||
s.shots = s.shots - 1
|
||
if s.shots == 3 then
|
||
s.decor = 'Три.'
|
||
end
|
||
if s.shots == 2 then
|
||
s.decor = 'Два.'
|
||
end
|
||
if s.shots == 1 then
|
||
s.decor = 'Один.'
|
||
end
|
||
end,
|
||
decor = 'Четыре.',
|
||
obj = {
|
||
{
|
||
{
|
||
'Кто ты?',
|
||
function()
|
||
here().update(here())
|
||
return '-- Ха! [паф] Так я тебе и сказала.'
|
||
end
|
||
};
|
||
{
|
||
'Чего ты хочешь?',
|
||
function()
|
||
here().update(here())
|
||
return [[-- Никаких урожаев. [бзынь!] Бросить эту дыру. Собрать вещи и уехать отсюда.]]
|
||
end,
|
||
next = '#second'
|
||
};
|
||
{
|
||
'Какое тебе дело до древних сельхозкомбайнов?',
|
||
function()
|
||
here().update(here())
|
||
return [[-- Нет комбайна [бзынь!] нет урожая. Можно будет бросить эту дыру. Уехать отсюда.]]
|
||
end,
|
||
next = '#second'
|
||
}
|
||
};
|
||
{
|
||
'#second',
|
||
{
|
||
'?'
|
||
}
|
||
}
|
||
}
|
||
}
|