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