Initial commit
This commit is contained in:
commit
31dbdec22b
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "instead-modules"]
|
||||
path = instead-modules
|
||||
url = git@bitbucket.org:oreolek/instead-modules.git
|
111
init.lua
Normal file
111
init.lua
Normal file
|
@ -0,0 +1,111 @@
|
|||
require 'para'
|
||||
require 'dash'
|
||||
require 'quotes'
|
||||
require 'instead-modules/translate'
|
||||
require 'instead-modules/emphasis'
|
||||
require 'instead-modules/rndstr'
|
||||
require 'proxymenu'
|
||||
require "kbd"
|
||||
require "hideinv"
|
||||
|
||||
game.forcedsc = true;
|
||||
|
||||
-- grabbing the Escape key
|
||||
function init()
|
||||
hook_keys('escape');
|
||||
end
|
||||
|
||||
pl._time = nil;
|
||||
|
||||
game.kbd = function(s, down, key)
|
||||
p [[А тут мы поймали Escape и переходим на выбор уровня. Но пока что выбора уровня нет.
|
||||
И сейвов не будет, будет prefs. А рестарт игры по кнопке в инвентаре.
|
||||
|
||||
Кстати, почему dsc у сцены не вызывается сразу?]];
|
||||
end
|
||||
|
||||
-- get rid of idiotic combinations in the verb menu
|
||||
stead.proxy_fill_objs = function(s, w, act, use_mode, used_act, useit_act)
|
||||
local ii,i,o
|
||||
local rc = false
|
||||
for i,o,ii in opairs(w) do
|
||||
o = stead.ref(o);
|
||||
if isObject(o) and not isDisabled(o) and o ~= s and not isPhrase(o) and o[act] ~= false
|
||||
and not o.proxy_type and not isStatus(o) then
|
||||
|
||||
s.obj:add(stead.obj_proxy(o, act, use_mode, used_act, useit_act));
|
||||
if not isRoom(o) then
|
||||
stead.proxy_fill_objs(s, o.obj, act, use_mode, used_act, useit_act);
|
||||
end
|
||||
rc = true
|
||||
end
|
||||
end
|
||||
return rc
|
||||
end
|
||||
|
||||
-- inventory object with no double click
|
||||
pocketobj = function(object)
|
||||
local v = { };
|
||||
v.action_type = true;
|
||||
v.nam = object.nam;
|
||||
v.tak = object.tak;
|
||||
v.dsc = object.dsc;
|
||||
v.gen = function() end;
|
||||
v.inv = object.inv;
|
||||
return menu(v);
|
||||
end
|
||||
|
||||
restart_call = pocketobj {
|
||||
nam = txtb(_('Заново')),
|
||||
inv = function()
|
||||
stead.restart()
|
||||
end,
|
||||
}
|
||||
place(restart_call, me());
|
||||
|
||||
clock = stat {
|
||||
nam = 'часы',
|
||||
disp = function()
|
||||
if pl._time ~= nil then
|
||||
p(pl._time);
|
||||
pn(_('секунд'));
|
||||
end
|
||||
end,
|
||||
}
|
||||
place(clock, me());
|
||||
|
||||
-- меню глаголов
|
||||
game.talk = _('Я не уверен, что расслышал ответ.');
|
||||
game.examine = _('Не могу выразиться точнее.');
|
||||
game.pickup = _('Я трачу несколько минут на поиск удобного способа взять это с собой. Не выходит.');
|
||||
game.hit = _('Вряд ли выдержит даже одного удара.');
|
||||
game.smell = _('Нет запаха.');
|
||||
game.lick = _('Нет вкуса.');
|
||||
game.touch = _('Нет реакции.');
|
||||
game.push = _('Не двигается.');
|
||||
game.pull = _('Не поддаётся.');
|
||||
talk = obj_menu(_('ГОВОРИТЬ'), 'talk', true, true)
|
||||
examine = obj_menu(_('ОСМОТРЕТЬ'), 'act', true, true)
|
||||
pickup = obj_menu(_('ВЗЯТЬ'), 'pickup', true);
|
||||
hit = obj_menu(_('УДАРИТЬ'), 'hit', true);
|
||||
smell = obj_menu(_('ОБНЮХАТЬ'), 'smell', true);
|
||||
lick = obj_menu(_('ЛИЗНУТЬ'), 'lick', true);
|
||||
touch = obj_menu(_('ТРОНУТЬ'), 'touch', true);
|
||||
push = obj_menu(_('ТОЛКНУТЬ'), 'push', true);
|
||||
pull = obj_menu(_('ТЯНУТЬ'), 'pull', true);
|
||||
place(examine, me())
|
||||
place(smell, me())
|
||||
place(lick, me())
|
||||
place(touch, me())
|
||||
place(pickup, me())
|
||||
place(talk, me())
|
||||
place(hit, me())
|
||||
place(push, me())
|
||||
place(pull, me())
|
||||
self = obj {
|
||||
nam = _('себя'),
|
||||
dsc = '',
|
||||
act = _('Прекрасен и здоров.'),
|
||||
take = _('Уже сделано.'),
|
||||
hit = _('Я не мазохист.'),
|
||||
}
|
1
instead-modules
Submodule
1
instead-modules
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit dd734a1f8c735590d029839607f45a665102a7e6
|
67
main.lua
Normal file
67
main.lua
Normal file
|
@ -0,0 +1,67 @@
|
|||
-- $Name: 20 секунд$
|
||||
-- $Name(en): 20 seconds$
|
||||
|
||||
instead_version "1.8.0"
|
||||
require 'init'
|
||||
|
||||
main = room{
|
||||
nam = 'Выбор уровня',
|
||||
dsc = function()
|
||||
walk('room1');
|
||||
end,
|
||||
exit = function()
|
||||
pl._time = 20;
|
||||
lifeon('room1');
|
||||
return _([[У вас 20 секунд на то, чтобы спасти Землю.]]);
|
||||
end
|
||||
};
|
||||
|
||||
gameover = room {
|
||||
nam = _('Игра окончена'),
|
||||
hideinv = true,
|
||||
enter = function()
|
||||
pl._time = nil
|
||||
end,
|
||||
dsc = _('Вы проиграли.')
|
||||
}
|
||||
|
||||
room1 = room {
|
||||
nam = _('Пляж на речке Грязная'),
|
||||
dsc = _([[Светит жаркое солнце. Вы находитесь на солнечном пляже.]]),
|
||||
obj = {
|
||||
'sand','alien', 'self'
|
||||
},
|
||||
life = function()
|
||||
stead.rndseed(os.time(os.date("*t")))
|
||||
pl._time = pl._time - 1;
|
||||
end
|
||||
}
|
||||
|
||||
alien = obj {
|
||||
nam = 'инопланетянин',
|
||||
dsc = _('В кустах притаился {инопланетянин.}'),
|
||||
act = _('Серый гуманоид с двумя парами глаз и длинным хоботом вместо рта.'),
|
||||
talk = rndstr({
|
||||
_('Он издаёт серию чпоков.'),
|
||||
_('Гуманоид не замечает вас.'),
|
||||
_('Инопланетянин мяукает.'),
|
||||
_('Инопланетянин молчит.'),
|
||||
_('Вы не знаете, что ему сказать.'),
|
||||
}),
|
||||
hit = function()
|
||||
gameover.dsc = _('Инопланетянин уничтожает вас взглядом.');
|
||||
lifeoff('room1');
|
||||
walk('gameover');
|
||||
end,
|
||||
}
|
||||
|
||||
sand = obj {
|
||||
nam = 'песок',
|
||||
dsc = [[Вокруг вас чистейший {песок.}]],
|
||||
act = 'Жёлтый песок образцового пляжа. По качеству стоит всего на три четверти ниже песков пустыни Сахары.',
|
||||
talk = false,
|
||||
hit = false,
|
||||
pull = false,
|
||||
push = false,
|
||||
pickup = 'Я смотрю на банку с вареньем. Оно, конечно, вкусное, да у меня ложки нет. Не хочу есть пальцами.'
|
||||
}
|
Loading…
Reference in a new issue