2017-03-23 18:34:26 +02:00
-- + можно выкупить программатор в обмен на ___ у роботов
2017-03-07 16:01:56 +02:00
room {
nam = ' chos ' ,
disp = ' Богатый дом ' ,
way = { ' intersection ' } ,
decor = [ [
2017-03-20 12:15:15 +02:00
В ы с т о я л и п е р е д б о л ь ш и м { chos_house | н а п е ч а т а н н ы м д о м о м . }
О т с ю д а н а ч и н а л а с ь б о л ь ш а я п а ш н я , п о к о т о р о й х о д и л и ф е р м е р с к и е р о б о т ы . ^^
2017-03-07 16:01:56 +02:00
2017-03-20 12:15:15 +02:00
В о з л е д о м а в у д о б н о м г а м а к е с п а л а { angelina | с т а р у ш к а . }
2017-03-07 16:01:56 +02:00
] ] ,
obj = {
obj {
nam = ' chos_house ' ,
disp = ' дом ' ,
take = function ( )
pn ( ' Вы не знаете, как можно ' .. fmt.em ( ' взять ' ) .. ' двухэтажный дом. ' )
return false
end ,
act = [ [ К т и п о в о м у д в у х э т а ж н о м у д о м у и з н а н о т р у б о к с о в р е м е н е м д о п е ч а т ы в а л и н е с к о л ь к о м о д у л е й .
2017-03-25 07:32:14 +02:00
Ч а с т ь в т о р о г о э т а ж а в ы г л я д е л а с о в с е м н о в о й — в о з м о ж н о , е ё н е д а в н о р а с ш и р и л и . ] ] ,
2017-03-07 16:01:56 +02:00
} ;
obj {
nam = ' angelina ' ,
take = function ( )
pn ( ' Старушке это не понравится. ' )
return false
end ,
disp = function ( )
if not visited ( ' cho_dlg2 ' ) then
return ' старушка '
else
return ' Ангелина '
end
end ,
2017-03-26 12:24:40 +03:00
act = ' Старушка мирно посапывала, раскачиваясь в гамаке. ' ,
2017-03-07 16:01:56 +02:00
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 ,
2017-03-27 21:08:44 +03:00
' Я же вас и вызывала. У нас комбайн сломан. Вы чините зерноуборочные комбайны? '
2017-03-07 16:01:56 +02:00
} ;
{
always = true ,
fmt.em ( ' Как вас зовут? ' ) ,
' Ангелина. Я вызывала мастера по гарантии. ' ,
next = ' #комбайн-начало '
}
} ;
{ ' #комбайн-начало ' ,
{
' Что случилось? ' ,
' -- Мы прогрели е г о весной, а он и не едет. Вы же ' .. engineer ( ) .. ' , вы сможете е г о починить? '
} ;
{
fmt.em ( ' Можно посмотреть комбайн? ' ) ,
function ( ) return walk ( ' cho_dlg2 ' ) end ,
} ;
} ;
{ ' #разговор ' ,
2017-03-29 13:20:37 +03:00
{
' #сдать ' ,
cond = function ( )
return char.quests . cho == 4
end ,
' Комбайн работает… ' ,
function ( )
disable ( ' #сдать ' )
return [ [ -- Комбайн работает. Всё в норме, но надо будет пригнать на проверку к зиме.^
-- Спасибо! Я что-то вам должна?^
-- Н у , ремонт идёт за счёт пожизненной гарантии, только вот…]]
end ,
next = ' #починил '
} ;
2017-03-07 16:01:56 +02:00
{
always = true ,
' Вы не могли бы показать мне комбайн ещё раз? ' ,
2017-03-26 12:24:40 +03:00
function ( )
if have ( ' programmator ' ) then
walk ( ' combine ' )
2017-03-27 21:08:44 +03:00
return [[Она привела вас к зерноуборочному комбайну, и вы начали работать.]]
2017-03-26 12:24:40 +03:00
else
return ' Она привела вас к комбайну. Машина в том же сломанном состоянии. Вам пришлось вернуться ни с чем. '
end
end ,
2017-03-07 16:01:56 +02:00
} ;
{
' Вы давно здесь живёте? ' ,
' Она пожимает плечами:^^-- Лет тридцать. Начинали всего с одним роботом. '
} ;
{
fmt.em ( ' Ничего. Доброе утро. ' ) ,
function ( )
2017-03-25 07:04:31 +02:00
walk ( ' chos_house ' )
2017-03-26 12:24:40 +03:00
return ' -- И вам того же.^^Она закрыла глаза и задремала. '
2017-03-07 16:01:56 +02:00
end ,
} ;
2017-03-29 13:20:37 +03:00
} ;
{
' #починил ' ,
{
cond = function ( )
return char.took_kathy == true
end ,
' …ваша внучка просится к нам на стажировку. Хочет стать инженером. ' ,
[ [ А х , в ы , н а в е р н о е , о м о е й п р а в н у ч к е . В ы п р а в д а в о з ь м ё т е е ё н а р а б о т у ? С з а р п л а т о й ?
-- Н у , у меня есть несколько вариантов--
-- Катя! Собирайся, ты едешь в город!
Н у ч т о ж , п о р т и т ь т е х н и к у о н а у м е е т . З н а ч и т , н а у ч и м ч и н и т ь .
] ] ,
next = ' #разговор '
} ;
{
' …отправьте внучку в городскую школу. Такая умная девочка должна хорошо себя показать. ' ,
[ [ -- А х , мы, наверное, о моей правнучке. Н о у неё хорошая робоучительница, ещё моего сына учила.
-- Городскую. Школу. С реальными учениками.
-- Я подумаю.
] ] ,
next = ' #разговор '
} ;
{
' …нет, забудьте. ' ,
' Она пожала плечами: -- Как скажете. ' ,
next = ' #разговор '
}
2017-03-07 16:01:56 +02:00
}
}
}
dlg {
nam = ' cho_dlg2 ' ,
disp = false ,
dsc = [ [ -- Да-да, конечно.^^
2017-03-27 21:08:44 +03:00
О н а п р о в е л а в а с в б о л ь ш о й с а р а й , г д е п ы л и л с я в ы с о к и й а в т о м а т и ч е с к и й з е р н о у б о р о ч н ы й к о м б а й н .
2017-03-07 16:01:56 +02:00
-- Вот и наш больной. Только вы, пожалуйста, можете е г о починить побыстрее, а то у нас урожай уже скоро.
] ] ,
decor = [ [
С т а р у ш к а Ч о в н и м а т е л ь н о с м о т р е л а н а в а с .
2017-03-27 21:08:44 +03:00
В е ё г л а з а х в ы в и д е л и , ч т о о т п о ч и н к и э т о г о с е л ь х о з к о м б а й н а з а в и с е л о н е с к о л ь к о ж и з н е й .
2017-03-07 16:01:56 +02:00
] ] ,
obj = {
{
onempty = function ( )
walk ( ' start4 ' )
end ,
{
' Что точно случилось? ' ,
' -- Мы е г о заводим, а он замёрз! После зимы у мужа обычная машина не заводится, не то что роботы. '
} ,
{
' У вас же столько роботов. Неужели вы не справитесь без комбайна?' ,
[ [ -- В с е г о семеро, и они обычно упаковывают и складывают.
Е с л и о н и б у д у т е щ ё и к о с и т ь , м ы н е у п р а в и м с я д о о с е н и .
У р о ж а й с г н и ё т п о д д о ж д я м и . ] ]
} ,
{
' Да, ' .. pronoun_1 ( ) .. ' -- ' .. engineer ( ) .. [ [ .
Н о я м о г у т о л ь к о о п р е д е л и т ь п р о б л е м у , у в а с ж е н е т м а с т е р с к о й и л и и н с т р у м е н т о в . ] ] ,
' -- Вы знаете, я могу попросить соседей. У Павла в подвале во время войны была мастерская. '
} ,
{
' Давно он у вас? ' ,
[ [ -- Н у , лет двадцать уже, наверное.
2017-03-25 12:40:19 +02:00
Н и к о г д а н е л о м а л с я . Н о у м е н я н а н е г о п о ж и з н е н н а я г а р а н т и я . ] ]
2017-03-07 16:01:56 +02:00
}
}
}
}
-- Починка комбайна
dlg {
nam = ' start4 ' ,
disp = false ,
2017-03-26 12:24:40 +03:00
dsc = function ( )
2017-03-09 14:04:05 +02:00
char.quests . chos = 1
2017-03-07 16:01:56 +02:00
return [ [
К о м б а й н о к а з а л с я е щ ё д о в о е н н ы м .
В ы к о п а л и с ь н е м е н ь ш е ч а с а , п о к а н е н а ш л и и з н о с и в ш и й с я п р о г р а м м а т о р н ы й б л о к . ^^
2017-03-23 18:34:26 +02:00
-- Н у что же, надо чинить. Случай гарантийный, всё за счёт фирмы. Н о придётся забрать в город, в мастерскую. Программатор сломался.^
-- Програ-что?^
-- Н у , это очень старая плата передвижения. Раньше везде стояла, но сейчас её надо заказывать.^
-- Ходули, что ли? А может, у нас поищем? Здесь много у кого есть техника.^
-- Нет, надо заказывать. Н е волнуйтесь, через месяц придёт.^
-- Слушайте, но нам же нельзя ждать целый месяц, урожай за порогом. Хотите, я заплачу?
-- Давайте так: ]]..pronoun_1()..[[ здесь ещё ]]..plural('задерживаюсь', 'задерживаемся')..[[. Возможно, здесь, на месте, что-то получится. Н о после урожая -- сразу в мастерскую на техосмотр.^
2017-03-25 10:11:57 +02:00
-- Спасибо. -- она улыбнулась. -- Попробуйте спросить Пашу? У него много техники, он поможет.
2017-03-07 16:01:56 +02:00
] ]
end ,
decor = [ [
2017-03-19 11:27:49 +02:00
В ы в е р н у л и с ь к д о м у . С т о и т л и с п р о с и т ь ч т о - т о е щ ё ?
2017-03-07 16:01:56 +02:00
] ] ,
obj = { {
onempty = function ( )
char.quests . kathy = 0
2017-03-19 11:27:49 +02:00
-- place('kathy', here())
-- lifeon('kathy')
2017-03-25 15:33:42 +02:00
p " Видимо, разговор закончен. "
2017-03-25 09:56:33 +02:00
lifeon ( ' call-unknown ' )
2017-03-07 16:01:56 +02:00
walk ( ' chos ' )
end ,
2017-03-22 19:33:38 +02:00
{ ' Где живёт этот Павел? ' , [ [ Э т о т а к о й з е л ё н ы й д о м и к , в ы е г о
2017-03-19 11:27:49 +02:00
н е п р о п у с т и т е . К а к п о з в о н и т е в д о м о ф о н , П а ш а в а с п у с т и т . О н — д о б р ы й д р у г н а ш е й с е м ь и . ] ] }
2017-03-07 16:01:56 +02:00
} }
}
2017-03-09 14:04:05 +02:00
obj {
nam = ' kathy ' ,
disp = ' Катя ' ,
2017-03-17 14:21:18 +02:00
dsc = " Рядом с вами стояла {Катя}. " ,
2017-03-09 14:04:05 +02:00
talk = function ( )
return walk ( ' kathy_dlg ' )
end ,
2017-03-12 12:34:23 +02:00
life = function ( self )
if player_moved ( ) then
place ( ' kathy ' , here ( ) )
end
2017-03-17 14:21:18 +02:00
local reactions = {
' Катя зевнула. ' ;
' Катя стучала серым кроссовком. ' ;
' Катя смотрела на что-то в небе. ' ;
}
if rnd ( 10 ) > 4 then -- вероятность реакции 40%
p ( rndstr ( reactions ) )
2017-03-12 12:34:23 +02:00
return
end
end ,
2017-03-09 14:04:05 +02:00
take = function ( )
pn ' Плохая идея. '
return false
end ,
act = ' Чумазая китаянка с о спутанными волосами. '
}
dlg {
nam = ' kathy_dlg ' ;
decor = [ [
В ы с т о я л и и с м о т р е л и н а К а т ю . А К а т я с м о т р е л а н а в а с .
] ] ;
obj = { {
onempty = function ( )
return " Она отворачивается. Видимо, разговор закончен. "
end ,
2017-03-17 11:21:26 +02:00
{
' #привет ' ,
' Привет. ' ,
function ( )
disable ' #привет '
return ' Привет. '
end
} ;
{
' Покажешь дорогу до этого Павла? ' ,
function ( )
walk ' pavels '
return ' Н у пошли.'
end ,
} ;
2017-03-17 14:21:18 +02:00
{
' Ты можешь подождать где-нибудь? К о е -какие дела. ' ,
function ( )
lifeoff ' kathy '
return ' -- Н у хорошо. Я буду у себя дома, если что. '
end ,
} ;
2017-03-13 08:42:56 +02:00
{
always = true ,
function ( )
return pronoun_1 ( ) .. ' ' .. plural ( ' хочу ' , ' хотим ' ) .. ' кое-что посмотреть. Можешь подождать здесь? '
end ,
function ( )
lifeoff ( ' kathy ' )
place ( ' kathy ' , ' chos_house ' )
return " Хорошо. Н о я лучше вернусь домой, бабушка будет волноваться. "
end
}
2017-03-09 14:04:05 +02:00
} }
}
2017-03-25 07:32:14 +02:00
obj {
2017-03-25 09:56:33 +02:00
nam = ' call-unknown ' ,
2017-03-25 07:32:14 +02:00
disp = false ,
2017-03-25 09:56:33 +02:00
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 ,
2017-03-25 07:32:14 +02:00
}
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
} ;
} }
}
2017-03-26 12:24:40 +03:00
dlg {
nam = ' combine ' ,
2017-03-27 21:08:44 +03:00
-- Здесь я хотел вставить интерактив но не придумал ни-че-г о
2017-03-27 07:35:05 +03:00
dsc = [ [
2017-03-26 12:24:40 +03:00
Р е м о н т д в и г а л с я п р е к р а с н о ; т е х н и к а б ы л а д о с т о й н о й , н е с м о т р я н а в о з р а с т
2017-03-27 21:08:44 +03:00
и т о , ч т о п о ч т и г о д с т о я л а в с а р а е . В ы п о д г о т о в и л и с ь
в ы в е з т и м а ш и н у н а п о е з д к у в о к р у г с а р а я . ^^
И т у т н а ч а л и с ь в ы с т р е л ы .
2017-03-29 12:20:39 +03:00
П о с л е в о й н ы в ы м о м е н т а л ь н о р е а г и р о в а л и н а г р о м к и й х л о п о к и м е т а л л и ч е с к и й « б з ы н ь » в с а н т и м е т р е о т р у к и .
2017-03-27 21:08:44 +03:00
В ы с п р я т а л и с ь в к а б и н е , н о в а м н е б ы л о в и д н о , ч т о п р о и с х о д и т н а в х о д е в с а р а й . ^^
-- Я говорила вам не чинить этот комбайн!
2017-03-29 12:20:39 +03:00
С д р у г о й с т о р о н ы , н а д о б ы л о т о л ь к о с ч и т а т ь в ы с т р е л ы .
2017-03-27 07:35:05 +03:00
] ] ,
2017-03-29 12:20:39 +03:00
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 = {
2017-03-26 12:24:40 +03:00
{
2017-03-29 12:20:39 +03:00
{
' Кто ты? ' ,
function ( )
here ( ) . update ( here ( ) )
return ' -- Х а ! [паф] Так я тебе и сказала. '
end
} ;
{
' Чего ты хочешь? ' ,
function ( )
here ( ) . update ( here ( ) )
2017-03-29 13:20:37 +03:00
walk ( ' combine2 ' )
2017-03-29 12:20:39 +03:00
return [[-- Никаких урожаев. [бзынь!] Бросить эту дыру. Собрать вещи и уехать отсюда.]]
end ,
next = ' #second '
} ;
{
' Какое тебе дело до древних сельхозкомбайнов? ' ,
function ( )
here ( ) . update ( here ( ) )
2017-03-29 13:20:37 +03:00
walk ( ' combine2 ' )
2017-03-29 12:20:39 +03:00
return [[-- Нет комбайна [бзынь!] нет урожая. Можно будет бросить эту дыру. Уехать отсюда.]]
end ,
}
2017-03-26 12:24:40 +03:00
} ;
2017-03-29 13:20:37 +03:00
}
}
dlg {
nam = ' combine2 ' ,
-- Здесь я хотел вставить интерактив но не придумал ни-че-г о
dsc = [ [
В ы р е з к о в ы п р ы г и в а е т е и з к а б и н ы и п р я ч е т е с ь з а м а ш и н о й .
В д в е р я х с т о и т д е в о ч к а , н а в и д л е т п я т н а д ц а т и , к и т а я н к а .
В р у к а х д р о ж и т п н е в м а т и ч е с к и й п и с т о л е т .
] ] ,
obj = { {
2017-03-27 07:35:05 +03:00
{
2017-03-29 13:20:37 +03:00
' Это ты испортила схемы машины? ' ,
' Нет! И опять залью её чаем! '
} ;
{
cond = function ( )
return char.actions > 40
end ,
' {}[Оригинальность > 60%] Хочешь, я возьму тебя с собой в город? Большой город. Сейчас. ' ,
' '
} ;
{
cond = function ( )
return char.actions <= 40
end ,
' [Оригинальность > 60%] Хочешь, я возьму тебя с собой в город? Большой город. Сейчас. ' ,
function ( )
char.quests . chos = 4
take ( ' gun ' )
char.took_kathy = true
walk ( ' chos ' ) ;
return [ [ -- Вы… вы серьёзно?^
О н а в с х л и п н у л а . ^
-- Если ты не против, я хочу попасть в город невредимым.^^
В ы в ы ш л и и з - з а к о м б а й н а и н а п р а в и л и с ь к н е й . ^^
-- Н о что же скажет-^
-- Я разберусь. А теперь дай сюда эту штуку и иди собирай вещи.^
-- Я пойду с вами! Буду везде ходить и помогать, с о всеми вас познакомлю.^
-- Нет уж. Когда я поеду из города, я дам тебе знать, хорошо? Как тебя зовут?^
-- Катя.^^
Д е в о ч к а т у т ж е ю р к н у л а н а р у ж у . ^
В ы п о к р у т и л и в р у к а х о р у ж и е , з а к р ы л и п о д а ч у г а з а .
О п а с н ы е и г р у ш к и . К а к о н а з д е с ь ж и в ё т , е с л и п о ш л а н а т а к о й к о ш м а р ? ] ]
end
} ;
{
' <Выйти и выбить оружие.> ' ,
function ( )
char.quests . chos = 4
take ( ' gun ' )
char.took_kathy = false
return [ [
В в а с д а в н о н е с т р е л я л и . В ы у ж е з а б ы л и , к а к о в о э т о .
Э т о б о л ь н о . О ч е н ь б о л ь н о , н о в ы з н а л и , ч т о н е с м е р т е л ь н о .
В ы п о д о ш л и к д е в о ч к е и в ы р в а л и п и с т о л е т и з е ё р у к .
] ]
end ,
next = ' #end '
} ;
} ;
{
' #end ' ,
2017-03-29 12:20:39 +03:00
{
2017-03-29 13:20:37 +03:00
' Я не скажу твоей бабушке, а ты перестанешь ломать технику. ' ,
function ( )
walk ( ' chos ' ) ;
return [ [ Д е в о ч к а к и в н у л а и б ы с т р о и с ч е з л а в д в е р я х .
В ы п о к р у т и л и в р у к а х о р у ж и е , з а к р ы л и п о д а ч у г а з а . О п а с н а я и г р у ш к а .
] ]
end ,
} ;
{
' Вырастешь - сама уедешь. Урожай здесь ни при чём. ' ,
function ( )
walk ( ' chos ' ) ;
return [ [ Д е в о ч к а к и в н у л а и б ы с т р о и с ч е з л а в д в е р я х .
В ы п о к р у т и л и в р у к а х о р у ж и е , з а к р ы л и п о д а ч у г а з а . О п а с н а я и г р у ш к а .
] ]
end ,
} ;
{
' Может, ты должна быть здесь. Помогать семье, учиться жизни, творить добро. ' ,
function ( )
walk ( ' chos ' ) ;
return [ [ Д е в о ч к а к и в н у л а и б ы с т р о и с ч е з л а в д в е р я х .
В ы п о к р у т и л и в р у к а х о р у ж и е , з а к р ы л и п о д а ч у г а з а . О п а с н а я и г р у ш к а .
] ]
end ,
} ;
2017-03-27 07:35:05 +03:00
}
2017-03-29 12:20:39 +03:00
}
2017-03-26 12:24:40 +03:00
}
2017-03-29 13:20:37 +03:00
obj {
nam = ' gun ' ,
disp = ' пистолет ' ,
mech = true ,
inv = ' Пневматический автоматический пистолет с настройкой газовой струи. '
}