mirror of
https://gitlab.com/Oreolek/duel.git
synced 2024-05-18 17:08:36 +03:00
Новое начало игры
This commit is contained in:
parent
1ee62545c9
commit
efe02534d1
190
intro.lua
190
intro.lua
|
@ -1,8 +1,10 @@
|
|||
room {
|
||||
nam = 'main',
|
||||
disp = false,
|
||||
disp = 'Ремонтник',
|
||||
decor = '^^'..fmt.c('{start|Начать игру}')..[[^^
|
||||
Игра использует код Петра Косых по лицензии MIT (модуль ]]..fmt.em('proxymenu)')..[[
|
||||
Игра использует код Петра Косых по лицензии MIT (модуль ]]..fmt.em('proxymenu)')..[[^^
|
||||
F2 - сохранить игру^
|
||||
F3 - загрузить игру
|
||||
]],
|
||||
obj = {
|
||||
obj {
|
||||
|
@ -14,26 +16,31 @@ room {
|
|||
|
||||
dlg {
|
||||
nam = 'intro',
|
||||
disp = false,
|
||||
disp = 'Ремонтник',
|
||||
dsc = [[
|
||||
От автобусной остановки до дома Чо было полтора километра.
|
||||
По пути вы осматривали окрестности: высокая гора, бесконечные пашни
|
||||
и маленькое село вокруг единственной колонки с водой.^^
|
||||
Скоростная магистраль сменилась автодорогой, с которой вы съехали на просёлочный тракт.
|
||||
Через несколько километров от дороги осталась только линия на карте навигатора:
|
||||
это было больше похоже на русские горки.^^
|
||||
|
||||
Семья Чо отгородилась от села широкой полосой деревьев.
|
||||
Их пашня не отличалась от остальных: такое же чёрное поле с рядами
|
||||
роботов, которые молча копались в земле. Перед полем стоял
|
||||
невысокий красновато-чёрный дом с двумя окнами.^^
|
||||
Жестиана стояла далеко от цивилизации, но — вызов есть вызов.
|
||||
Вам надо было найти Анжелину Чо, починить всё что у неё по гарантии и быстро вернуться.
|
||||
Если бы не эти ямы, это могла быть приятная поездка за город.^^
|
||||
|
||||
На стук в дверь открыла низенькая черноволосая девушка.^^
|
||||
После одного очень заметного «ух» навигатор вдруг дрогнул и отключился.
|
||||
Вы попробовали вести прямо, но потеряли направление в однообразных полях и лесках.
|
||||
На счастье, на краю одного из лесков вы заметили металлический блеск.
|
||||
|
||||
-- А, так вы тот инженер из города? Проходите, мы сейчас всё покажем.
|
||||
Я же правильно говорю, вы же инженер?
|
||||
Это был робот неизвестной модели, по виду — социальный.
|
||||
У него не хватало левой руки, а глаза были закрыты за солнцезащитными очками.
|
||||
Он говорил скрипуче, с сильным акцентом; вам было трудно его понять без переводчика.
|
||||
|
||||
-- З-с-ждравствуйте. По моему протоколу я долж-з-сен уточнить, какое обращ-сение вам
|
||||
подходит наилуц-с-шим образом. Что вы предпоц-читаете?
|
||||
]],
|
||||
obj = {
|
||||
{
|
||||
{
|
||||
'Инженер (она)',
|
||||
'Инженер-ремонтник (она)',
|
||||
function()
|
||||
char.gender = "she";
|
||||
char.plural = false;
|
||||
|
@ -42,7 +49,7 @@ dlg {
|
|||
end
|
||||
},
|
||||
{
|
||||
'Инженер (он)',
|
||||
'Инженер-ремонтник (он)',
|
||||
function()
|
||||
char.gender = "he";
|
||||
char.plural = false;
|
||||
|
@ -51,7 +58,7 @@ dlg {
|
|||
end
|
||||
},
|
||||
{
|
||||
'Инженер (оно)',
|
||||
'Инженер-ремонтник (оно)',
|
||||
function()
|
||||
char.gender = "it";
|
||||
char.plural = false;
|
||||
|
@ -60,7 +67,7 @@ dlg {
|
|||
end
|
||||
},
|
||||
{
|
||||
'Инженер (они)',
|
||||
'Инженер-ремонтник (они)',
|
||||
function()
|
||||
char.gender = "they";
|
||||
char.plural = false;
|
||||
|
@ -69,7 +76,7 @@ dlg {
|
|||
end
|
||||
},
|
||||
{
|
||||
'Инженеры (они)',
|
||||
'Инженеры-ремонтники (они)',
|
||||
function()
|
||||
char.gender = "they";
|
||||
char.plural = true;
|
||||
|
@ -98,136 +105,33 @@ dlg {
|
|||
disp = false,
|
||||
dsc = function()
|
||||
return [[
|
||||
-- А, это хорошо что ]]..engineer()..[[.
|
||||
Мы уже думали, что наша гарантия всё.
|
||||
Это же такие старые роботы, всё время в поле.^^
|
||||
|
||||
Она вышла из дома и пригласила вас за собой.
|
||||
Вы шли вдоль поля; металлические рабочие не обращали на вас внимания.^^
|
||||
|
||||
-- Вы знаете, у нас же нет других машин.
|
||||
Когда-то хотели купить что-нибудь для дома, но тут эта война с Луной…
|
||||
Вы были на войне?
|
||||
-- Добро пож-з-саловать в Ж-жестиану, ]]..official()..[[.
|
||||
Вам требуец-тся помоц-щь?
|
||||
]]
|
||||
end,
|
||||
obj = {
|
||||
{
|
||||
{
|
||||
function()
|
||||
return [[Цех РБ-65, с первого до последнего дня. Чинил]]..endings()..[[ ремонтных ботов.]]
|
||||
end,
|
||||
function()
|
||||
char.war = "earth";
|
||||
p '-- Доблесть рабочих, конечно.';
|
||||
walk('start3');
|
||||
return true;
|
||||
end
|
||||
}, -- + к симпатизирующим Земле
|
||||
function() return 'Где '..pronoun_1()..'?'; end,
|
||||
'-- Добро поз-саловать в Зжсестиану. Деревня Малогхо раийона, население дефхятнадтцат\' человек.'
|
||||
};
|
||||
{
|
||||
'Да, но Луна проиграла.',
|
||||
function() return 'Как проехать до Жестианы? '..plural('У меня', 'У нас')..' в машине навигатор отключился.'; end,
|
||||
function()
|
||||
char.war = "moon";
|
||||
p "-- Ой, вы из этих… Извините."
|
||||
walk('start3');
|
||||
return true;
|
||||
end
|
||||
},
|
||||
-- + к симпатизирующим Луне
|
||||
},
|
||||
},
|
||||
walk('exit_west');
|
||||
return [[-- Давайте я показжу. Пожалуйцта, встан'те сюда.^^
|
||||
Вы выходите из машины и встаёте рядом с роботом. Он показывает на солнце.
|
||||
-- Там восток. Жестиана на юге.^^
|
||||
После этого он поворачивается и фыркает:^
|
||||
-- Обнаружен технологический объект.^
|
||||
Вы оборачиваетесь и видите, как робот залезает в вашу машину и заводит её:^
|
||||
-- Технологический объект реквизирован. Во славу добра.^
|
||||
-- Эй!^^
|
||||
Вы бежите, стараясь догнать машину, но робот уже уезжает, идеально обходя все кочки и ухабы.^^
|
||||
Вам остаётся только следовать пешком. На юг.
|
||||
]]
|
||||
end,
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
dlg {
|
||||
nam = 'start3',
|
||||
disp = false,
|
||||
dsc = [[
|
||||
(курсивом) Сюда, пожалуйста.^^
|
||||
|
||||
Она провела вас в большой сарай, где пылился высокий автоматический сельхозкомбайн.
|
||||
|
||||
-- Вот и наш больной. Мы прогрели его весной, а он и не едет.
|
||||
Вы же ]]..engineer()..[[, вы сможете его починить?
|
||||
А то мы потеряем урожай.
|
||||
]],
|
||||
decor = [[
|
||||
Старушка Чо внимательно смотрит на вас.
|
||||
В её глазах вы читаете, что от починки этого комбайна зависит несколько жизней.
|
||||
]],
|
||||
obj = {{
|
||||
onempty = function()
|
||||
walk('start4')
|
||||
end,
|
||||
{
|
||||
'Зачем вы заводили комбайн весной?',
|
||||
'-- Он замёрз! После зимы у мужа обычная машина не заводится, не то что роботы.'
|
||||
},
|
||||
{
|
||||
'У вас же столько роботов. Неужели вы не справитесь без комбайна?',
|
||||
[[-- Всего семеро, и они обычно упаковывают и складывают.
|
||||
Если они будут ещё и косить, мы не управимся до осени.
|
||||
Урожай сгниёт под дождями.]]
|
||||
},
|
||||
{
|
||||
'Да, '..pronoun_1()..' -- '..engineer()..[[.
|
||||
Но я могу только определить проблему, у вас же нет мастерской или инструментов.]],
|
||||
'-- Вы знаете, я могу попросить соседей. У Павла в подвале во время войны была мастерская.'
|
||||
},
|
||||
{
|
||||
'Давно он у вас?',
|
||||
[[-- Ну, лет двадцать уже, наверное.
|
||||
То есть, я хотела сказать, девятнадцать.
|
||||
Гарантия же ещё действует, правда?]]
|
||||
}
|
||||
}}
|
||||
}
|
||||
dlg {
|
||||
nam = 'start4',
|
||||
disp = false,
|
||||
dsc = function()
|
||||
return [[
|
||||
Комбайн оказался ещё довоенным.
|
||||
Вы копались не меньше часа, пока не нашли износившийся программаторный блок.^^
|
||||
|
||||
-- Ну что же, надо чинить. Случай гарантийный, всё за счёт фирмы. Но придётся забрать в город, в мастерскую.^^
|
||||
|
||||
-- А нельзя прямо здесь? У нас же урожай скоро!^^
|
||||
|
||||
-- Нет, это…^^
|
||||
|
||||
-- Послушайте. У меня сестра работает в Берёзовке, я знаю что нужно.
|
||||
Вас устроит… десять тысяч?^^
|
||||
|
||||
-- В смысле?^^
|
||||
|
||||
-- Подождите, не отказывайтесь. Десять новых кусков. Золотом. И вы почините это здесь.^^
|
||||
|
||||
Вы задумались. На десять кусков можно было бы купить новый комбайн - конечно, не такой мощный, но если продать золото на Луну… Был один хитрый выход.^^
|
||||
|
||||
-- Давайте так: ]]..pronoun_1()..[[ здесь на три дня. Если за эти три дня что-то получится… Но после урожая -- сразу в мастерскую, нужен основательный ремонт. У кого, вы говорили, здесь мастерская?^^
|
||||
|
||||
-- Спасибо! -- она улыбнулась. -- Я скажу внучке, чтобы вас проводила. Сейчас.^^
|
||||
|
||||
Вы вернулись к дому. Старушка исчезла за дверью, а затем быстро вернулась с чумазой девушкой лет семнадцати.
|
||||
|
||||
-- Это Катя, она вас проводит. Катя, до Павла и обратно, хорошо?^^
|
||||
|
||||
Девушка хотела что-то возразить, но передумала, опустила голову и тихо ответила:^^
|
||||
|
||||
-- Хорошо, бабушка.
|
||||
]]
|
||||
end,
|
||||
decor = [[
|
||||
Вы стояли и смотрели на Катю. А Катя смотрела на вас.^^
|
||||
|
||||
Между вами - тишина.
|
||||
]],
|
||||
obj = {{
|
||||
onempty = function()
|
||||
char.quests.main = 1
|
||||
char.quests.kathy = 0
|
||||
p "Она отворачивается. Видимо, разговор закончен."
|
||||
walk('chos')
|
||||
end,
|
||||
{'Привет.', 'Привет.'}
|
||||
}}
|
||||
}
|
||||
|
||||
|
|
99
main3.lua
99
main3.lua
|
@ -2,6 +2,7 @@
|
|||
--$Version:1.0
|
||||
require "fmt"
|
||||
require "proxymenu"
|
||||
require "noinv"
|
||||
declare "isdebug" (true)
|
||||
|
||||
if isdebug then
|
||||
|
@ -499,3 +500,101 @@ dlg {
|
|||
Он одет в кожаную куртку, а на шее он носит длинный розовый плащ, который свисает до колен.
|
||||
]]
|
||||
}
|
||||
|
||||
-- Диалог с Анжелиной Чо
|
||||
dlg {
|
||||
nam = 'start3',
|
||||
disp = false,
|
||||
dsc = [[
|
||||
(курсивом) Сюда, пожалуйста.^^
|
||||
|
||||
Она провела вас в большой сарай, где пылился высокий автоматический сельхозкомбайн.
|
||||
|
||||
-- Вот и наш больной. Мы прогрели его весной, а он и не едет.
|
||||
Вы же ]]..engineer()..[[, вы сможете его починить?
|
||||
А то мы потеряем урожай.
|
||||
]],
|
||||
decor = [[
|
||||
Старушка Чо внимательно смотрит на вас.
|
||||
В её глазах вы читаете, что от починки этого комбайна зависит несколько жизней.
|
||||
]],
|
||||
obj = {{
|
||||
onempty = function()
|
||||
walk('start4')
|
||||
end,
|
||||
{
|
||||
'Зачем вы заводили комбайн весной?',
|
||||
'-- Он замёрз! После зимы у мужа обычная машина не заводится, не то что роботы.'
|
||||
},
|
||||
{
|
||||
'У вас же столько роботов. Неужели вы не справитесь без комбайна?',
|
||||
[[-- Всего семеро, и они обычно упаковывают и складывают.
|
||||
Если они будут ещё и косить, мы не управимся до осени.
|
||||
Урожай сгниёт под дождями.]]
|
||||
},
|
||||
{
|
||||
'Да, '..pronoun_1()..' -- '..engineer()..[[.
|
||||
Но я могу только определить проблему, у вас же нет мастерской или инструментов.]],
|
||||
'-- Вы знаете, я могу попросить соседей. У Павла в подвале во время войны была мастерская.'
|
||||
},
|
||||
{
|
||||
'Давно он у вас?',
|
||||
[[-- Ну, лет двадцать уже, наверное.
|
||||
То есть, я хотела сказать, девятнадцать.
|
||||
Гарантия же ещё действует, правда?]]
|
||||
}
|
||||
}}
|
||||
}
|
||||
|
||||
-- Починка комбайна
|
||||
dlg {
|
||||
nam = 'start4',
|
||||
disp = false,
|
||||
dsc = function()
|
||||
return [[
|
||||
Комбайн оказался ещё довоенным.
|
||||
Вы копались не меньше часа, пока не нашли износившийся программаторный блок.^^
|
||||
|
||||
-- Ну что же, надо чинить. Случай гарантийный, всё за счёт фирмы. Но придётся забрать в город, в мастерскую.^^
|
||||
|
||||
-- А нельзя прямо здесь? У нас же урожай скоро!^^
|
||||
|
||||
-- Нет, это…^^
|
||||
|
||||
-- Послушайте. У меня сестра работает в Берёзовке, я знаю что нужно.
|
||||
Вас устроит… десять тысяч?^^
|
||||
|
||||
-- В смысле?^^
|
||||
|
||||
-- Подождите, не отказывайтесь. Десять новых кусков. Золотом. И вы почините это здесь.^^
|
||||
|
||||
Вы задумались. На десять кусков можно было бы купить новый комбайн - конечно, не такой мощный, но если продать золото на Луну… Был один хитрый выход.^^
|
||||
|
||||
-- Давайте так: ]]..pronoun_1()..[[ здесь на три дня. Если за эти три дня что-то получится… Но после урожая -- сразу в мастерскую, нужен основательный ремонт. У кого, вы говорили, здесь мастерская?^^
|
||||
|
||||
-- Спасибо! -- она улыбнулась. -- Я скажу внучке, чтобы вас проводила. Сейчас.^^
|
||||
|
||||
Вы вернулись к дому. Старушка исчезла за дверью, а затем быстро вернулась с чумазой девушкой лет семнадцати.
|
||||
|
||||
-- Это Катя, она вас проводит. Катя, до Павла и обратно, хорошо?^^
|
||||
|
||||
Девушка хотела что-то возразить, но передумала, опустила голову и тихо ответила:^^
|
||||
|
||||
-- Хорошо, бабушка.
|
||||
]]
|
||||
end,
|
||||
decor = [[
|
||||
Вы стояли и смотрели на Катю. А Катя смотрела на вас.^^
|
||||
|
||||
Между вами - тишина.
|
||||
]],
|
||||
obj = {{
|
||||
onempty = function()
|
||||
char.quests.main = 1
|
||||
char.quests.kathy = 0
|
||||
p "Она отворачивается. Видимо, разговор закончен."
|
||||
walk('chos')
|
||||
end,
|
||||
{'Привет.', 'Привет.'}
|
||||
}}
|
||||
}
|
||||
|
|
26
tools.lua
26
tools.lua
|
@ -3,24 +3,24 @@ init = function ()
|
|||
std.dlg.noinv = true
|
||||
game.player = std.menu_player {}
|
||||
char.quests = {}
|
||||
take(menu {
|
||||
place(menu {
|
||||
nam = "Карта",
|
||||
menu = function()
|
||||
walk('map')
|
||||
end
|
||||
})
|
||||
take(menu {
|
||||
}, me())
|
||||
place(menu {
|
||||
nam = "Квесты",
|
||||
menu = function()
|
||||
walk('quests')
|
||||
end
|
||||
})
|
||||
take(menu {
|
||||
nam = "Инвентарь",
|
||||
}, me())
|
||||
place(menu {
|
||||
nam = "Телефон",
|
||||
menu = function()
|
||||
walk('inventory')
|
||||
end
|
||||
})
|
||||
}, me())
|
||||
char.act = nil
|
||||
place( proxy_menu {
|
||||
disp = 'ОСМОТРЕТЬ';
|
||||
|
@ -116,3 +116,15 @@ rndalt = function(yes, no)
|
|||
end
|
||||
return no
|
||||
end
|
||||
official = function()
|
||||
if char.gender == 'she' then
|
||||
return 'уважаемая'
|
||||
end
|
||||
if char.gender == 'he' then
|
||||
return 'уважаемый'
|
||||
end
|
||||
if char.gender == 'it' then
|
||||
return 'уважаемое'
|
||||
end
|
||||
return 'уважаемые'
|
||||
end
|
||||
|
|
24
ui.lua
24
ui.lua
|
@ -51,9 +51,17 @@ dlg {
|
|||
cond = function()
|
||||
return char.act == nil
|
||||
end,
|
||||
'Нет активных квестов',
|
||||
'Пройдите чуть подальше по сюжету и возвращайтесь.'
|
||||
},
|
||||
'Найти Анжелину Чо',
|
||||
'Вы приехали по гарантийному вызову. Вам надо найти Анжелину Чо, починить всё что у неё есть по гарантии и вернуться.'
|
||||
};
|
||||
{
|
||||
always = true,
|
||||
cond = function()
|
||||
return char.act == nil
|
||||
end,
|
||||
'Вернуть автомобиль',
|
||||
'Неизвестный робот посчитал ваш автомобиль за бесхозную технику. Скорее всего, он где-то в этой деревне.'
|
||||
};
|
||||
{
|
||||
always = true,
|
||||
cond = function()
|
||||
|
@ -63,7 +71,7 @@ dlg {
|
|||
[[Мужчина в Клубе Памяти интересуется роботами на северной ферме.
|
||||
Их хозяин умер, и теперь ценные работники не подчиняются никому.
|
||||
Он хочет, чтобы вы настроили роботов на его голос.]]
|
||||
},
|
||||
};
|
||||
{
|
||||
always = true,
|
||||
cond = function()
|
||||
|
@ -71,21 +79,21 @@ dlg {
|
|||
end,
|
||||
'Найти дом Павла',
|
||||
'Вы должны найти дом Павла при помощи своего проводника и попросить у него доступ в мастерскую.'
|
||||
},
|
||||
};
|
||||
{
|
||||
always = true,
|
||||
'Назад',
|
||||
function() walkout() end,
|
||||
},
|
||||
};
|
||||
}}
|
||||
}
|
||||
|
||||
room {
|
||||
nam = 'inventory',
|
||||
disp = "Инвентарь",
|
||||
disp = "Телефон",
|
||||
hideinv = true,
|
||||
decor = function()
|
||||
local dsc = 'Пока что ваши карманы пусты.'
|
||||
local dsc = 'Здесь будут все телефоны и заметки, которые вы запишете в телефон.'
|
||||
return dsc..'^^{back|Назад}'
|
||||
end,
|
||||
obj = {'back'}
|
||||
|
|
Loading…
Reference in a new issue