mirror of
https://gitlab.com/Oreolek/duel.git
synced 2024-05-07 03:28:47 +03:00
Широкая тема для игры
This commit is contained in:
parent
1bfc54aab6
commit
d877bdefcf
BIN
images/bg.png
Normal file
BIN
images/bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
|
@ -1,10 +1,13 @@
|
||||||
room {
|
room {
|
||||||
nam = 'main',
|
nam = 'main',
|
||||||
|
noinv = true,
|
||||||
disp = 'Ремонтник',
|
disp = 'Ремонтник',
|
||||||
decor = '^^'..fmt.c('{start|Начать игру}')..[[^^
|
decor = '^^'..fmt.c('{start|Начать игру}')..[[^^
|
||||||
Игра использует код Петра Косых по лицензии MIT (модуль ]]..fmt.em('proxymenu)')..[[^^
|
Игра использует код Петра Косых по лицензии MIT (модуль ]]..fmt.em('proxymenu)')..[[^^
|
||||||
F2 - сохранить игру^
|
F2 - сохранить игру^
|
||||||
F3 - загрузить игру
|
F3 - загрузить игру^^
|
||||||
|
Использованные изображения:^
|
||||||
|
- Feathered от Martuchox -- subtlepatterns.com
|
||||||
]],
|
]],
|
||||||
obj = {
|
obj = {
|
||||||
obj {
|
obj {
|
||||||
|
|
47
main3.lua
47
main3.lua
|
@ -145,12 +145,20 @@ room {
|
||||||
obj {
|
obj {
|
||||||
nam = 'chos_house',
|
nam = 'chos_house',
|
||||||
disp = 'дом',
|
disp = 'дом',
|
||||||
|
take = 'Вы не знаете, как можно '..fmt.em('взять')..' двухэтажный дом.',
|
||||||
act = [[К типовому двухэтажному дому из нанотрубок со временем допечатывали несколько модулей.
|
act = [[К типовому двухэтажному дому из нанотрубок со временем допечатывали несколько модулей.
|
||||||
Часть второго этажа выглядит совсем новой — возможно, её недавно расширили.]],
|
Часть второго этажа выглядит совсем новой — возможно, её недавно расширили.]],
|
||||||
};
|
};
|
||||||
obj {
|
obj {
|
||||||
nam = 'angelina',
|
nam = 'angelina',
|
||||||
disp = 'старушка',
|
take = 'Старушке это не понравится.',
|
||||||
|
disp = function()
|
||||||
|
if not visited('cho_dlg2') then
|
||||||
|
return 'старушка'
|
||||||
|
else
|
||||||
|
return 'Ангелина'
|
||||||
|
end
|
||||||
|
end,
|
||||||
act = 'Старушка мирно посапывает, раскачиваясь в гамаке.',
|
act = 'Старушка мирно посапывает, раскачиваясь в гамаке.',
|
||||||
talk = function() return walk('cho_dlg'); end,
|
talk = function() return walk('cho_dlg'); end,
|
||||||
}
|
}
|
||||||
|
@ -508,11 +516,17 @@ dlg {
|
||||||
dlg {
|
dlg {
|
||||||
nam = 'cho_dlg',
|
nam = 'cho_dlg',
|
||||||
disp = false,
|
disp = false,
|
||||||
dsc = [[
|
dsc = function(s)
|
||||||
-- А? Что? Вы… вы ]]..engineer()..[[ из фирмы? Нет, я не сплю.^^
|
if not visited('cho_dlg2') then
|
||||||
|
return [[
|
||||||
|
-- А? Что? Вы… вы ]]..engineer()..[[ из фирмы? Нет, я не сплю.^^
|
||||||
|
|
||||||
Она встаёт и протирает глаза.
|
Она встаёт и протирает глаза.
|
||||||
]],
|
]]
|
||||||
|
end
|
||||||
|
s:reset '#разговор'
|
||||||
|
return [[-- А? Это вы? Извините, я задремала.]]
|
||||||
|
end,
|
||||||
decor = [[
|
decor = [[
|
||||||
Старушка внимательно смотрит на вас.
|
Старушка внимательно смотрит на вас.
|
||||||
]],
|
]],
|
||||||
|
@ -528,7 +542,7 @@ dlg {
|
||||||
'Ангелина. Я вызывала мастера по гарантии.',
|
'Ангелина. Я вызывала мастера по гарантии.',
|
||||||
next = '#комбайн-начало'
|
next = '#комбайн-начало'
|
||||||
}
|
}
|
||||||
},
|
};
|
||||||
{ '#комбайн-начало',
|
{ '#комбайн-начало',
|
||||||
{
|
{
|
||||||
'Что случилось?',
|
'Что случилось?',
|
||||||
|
@ -538,7 +552,25 @@ dlg {
|
||||||
fmt.em('Можно посмотреть комбайн?'),
|
fmt.em('Можно посмотреть комбайн?'),
|
||||||
function() return walk('cho_dlg2') end,
|
function() return walk('cho_dlg2') end,
|
||||||
};
|
};
|
||||||
},
|
};
|
||||||
|
{ '#разговор',
|
||||||
|
{
|
||||||
|
always = true,
|
||||||
|
'Вы не могли бы показать мне комбайн ещё раз?',
|
||||||
|
'Она приводит вас к комбайну. Машина в том же сломанном состоянии. Вы возвращаетесь.'
|
||||||
|
};
|
||||||
|
{
|
||||||
|
'Вы давно здесь живёте?',
|
||||||
|
'Она пожимает плечами:^^-- Лет тридцать. Начинали всего с одним роботом.'
|
||||||
|
};
|
||||||
|
{
|
||||||
|
fmt.em('Ничего. Доброе утро.'),
|
||||||
|
function()
|
||||||
|
pn('-- И вам того же.^^Она закрывает глаза и засыпает.')
|
||||||
|
return walk('chos_house')
|
||||||
|
end,
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,7 +660,6 @@ dlg {
|
||||||
]],
|
]],
|
||||||
obj = {{
|
obj = {{
|
||||||
onempty = function()
|
onempty = function()
|
||||||
char.quests.main = 1
|
|
||||||
char.quests.kathy = 0
|
char.quests.kathy = 0
|
||||||
p "Она отворачивается. Видимо, разговор закончен."
|
p "Она отворачивается. Видимо, разговор закончен."
|
||||||
walk('chos')
|
walk('chos')
|
||||||
|
|
|
@ -5,25 +5,23 @@ stead.proxy_prefix = ' '
|
||||||
local function proxy_wrap(nam, fwd)
|
local function proxy_wrap(nam, fwd)
|
||||||
if not fwd then fwd = nam end
|
if not fwd then fwd = nam end
|
||||||
return function(s, ...)
|
return function(s, ...)
|
||||||
|
local t
|
||||||
local o = _(s.ref)
|
local o = _(s.ref)
|
||||||
local act = s.acts or { }
|
local act = s.acts or { }
|
||||||
local act = act[nam] or nam
|
act = act[nam] or nam
|
||||||
local t
|
|
||||||
local react
|
|
||||||
|
|
||||||
local r, v = std.call(std.game, 'before_'..act, o, ...)
|
local r, v = std.call(std.game, 'before_'..act, o, ...)
|
||||||
t = std.par(std.scene_delim, t or false, r)
|
t = std.par(std.scene_delim, t or false, r)
|
||||||
if v == false then
|
if v == false then
|
||||||
return t or r, true
|
return t or r, true
|
||||||
end
|
end
|
||||||
|
|
||||||
if act == 'use' then
|
if nam == 'use' then
|
||||||
local oo = {...}
|
local oo = {...}
|
||||||
oo = oo[1]
|
oo = oo[1]
|
||||||
if oo:type 'proxy' then
|
if oo:type 'proxy' then
|
||||||
oo = _(oo.ref)
|
oo = _(oo.ref)
|
||||||
end
|
end
|
||||||
r, v = std.call(oo, 'used', o, ...)
|
r, v = std.call(oo, s.acts.used or 'used', o, ...)
|
||||||
t = std.par(std.scene_delim, t or false, r)
|
t = std.par(std.scene_delim, t or false, r)
|
||||||
if v == true then
|
if v == true then
|
||||||
oo['__nr_used'] = (oo['__nr_used'] or 0) + 1
|
oo['__nr_used'] = (oo['__nr_used'] or 0) + 1
|
||||||
|
@ -181,35 +179,37 @@ std.menu_player = std.class ({
|
||||||
v.room = 'main'
|
v.room = 'main'
|
||||||
end
|
end
|
||||||
v.invent = std.list {}
|
v.invent = std.list {}
|
||||||
return std.player.new(self, v)
|
return std.player(v)
|
||||||
end;
|
end;
|
||||||
inventory = function(s)
|
inventory = function(s)
|
||||||
return s.invent
|
return s.invent
|
||||||
end;
|
end;
|
||||||
}, std.player)
|
}, std.player)
|
||||||
|
|
||||||
|
function proxy_obj(v)
|
||||||
|
local vv = {
|
||||||
|
ref = v.ref;
|
||||||
|
use_mode = v.use_mode;
|
||||||
|
sources = v.sources;
|
||||||
|
acts = v.acts;
|
||||||
|
}
|
||||||
|
return std.proxy_obj(vv)
|
||||||
|
end
|
||||||
|
|
||||||
|
function proxy_menu(v)
|
||||||
|
local vv = {
|
||||||
|
nam = v.nam;
|
||||||
|
disp = v.disp;
|
||||||
|
use_mode = v.use_mode;
|
||||||
|
sources = v.sources;
|
||||||
|
acts = v.acts;
|
||||||
|
}
|
||||||
|
return std.proxy_menu(vv):close()
|
||||||
|
end
|
||||||
|
|
||||||
std.mod_init(function() -- declarations
|
std.mod_init(function() -- declarations
|
||||||
declare 'proxy_obj' (function(v)
|
declare 'proxy_obj' (proxy_obj)
|
||||||
local vv = {
|
declare 'proxy_menu' (proxy_menu)
|
||||||
ref = v.ref;
|
|
||||||
use_mode = v.use_mode;
|
|
||||||
sources = v.sources;
|
|
||||||
acts = v.acts;
|
|
||||||
}
|
|
||||||
return std.proxy_obj(vv)
|
|
||||||
end)
|
|
||||||
|
|
||||||
declare 'proxy_menu' (function(v)
|
|
||||||
local vv = {
|
|
||||||
nam = v.nam;
|
|
||||||
disp = v.disp;
|
|
||||||
use_mode = v.use_mode;
|
|
||||||
sources = v.sources;
|
|
||||||
acts = v.acts;
|
|
||||||
}
|
|
||||||
return std.proxy_menu(vv):close()
|
|
||||||
end)
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
std.mod_step(function()
|
std.mod_step(function()
|
||||||
|
|
20
theme.ini
Normal file
20
theme.ini
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
; $Name:Мягкая$
|
||||||
|
; $Name(ru):Мягкая$
|
||||||
|
; $Name(en):Subtle$
|
||||||
|
|
||||||
|
scr.gfx.scalable = 2
|
||||||
|
scr.w = 1024
|
||||||
|
scr.h = 576
|
||||||
|
win.y = 8
|
||||||
|
inv.y = 8
|
||||||
|
win.w = 800
|
||||||
|
win.h = 560
|
||||||
|
inv.x = 860
|
||||||
|
inv.w = 184
|
||||||
|
inv.h = 560
|
||||||
|
inv.col.fg = #555555
|
||||||
|
inv.col.link = #555555
|
||||||
|
|
||||||
|
menu.button.x = 950
|
||||||
|
menu.button.y = 540
|
||||||
|
scr.gfx.bg = images/bg.png
|
Loading…
Reference in a new issue