1
0
Fork 0
mirror of https://gitlab.com/Oreolek/duel.git synced 2024-07-02 14:55:15 +03:00

Фикс домофона и дуэльных условий

This commit is contained in:
Alexander Yakovlev 2017-04-07 22:40:35 +07:00
parent 91cda2e8c9
commit c5aff74d7b
5 changed files with 51 additions and 89 deletions

View file

@ -21,12 +21,10 @@ room {
return 'первый робот' return 'первый робот'
end, end,
act = function(s) act = function(s)
if not isduel then return [[
return [[Низкий хромированный фермер, древняя четырёхногая модель. Низкий хромированный фермер, древняя четырёхногая модель.
Он медленно неуклюже передвигал передние ноги, когда переходил к следующей грядке.]] Он медленно неуклюже передвигал передние ноги, когда переходил к следующей грядке.
else ]]
return s.talk()
end
end, end,
talk = function() talk = function()
walk('robofarmer-dlg') walk('robofarmer-dlg')
@ -42,15 +40,11 @@ room {
return 'второй робот' return 'второй робот'
end, end,
act = function(s) act = function(s)
if not isduel then return [[
return [[ Он был похож по строению на робота-дворецкого, но у него не хватало верхней части лица,
Он был похож по строению на робота-дворецкого, но у него не хватало верхней части лица, а вместо левой ноги стоял импровизированный протез из строительного нанопластика.
а вместо левой ноги стоял импровизированный протез из строительного нанопластика. Его глаза были очень маленькими для широкого лица; скорее всего, их вставили из какой-нибудь детской куклы.
Его глаза были очень маленькими для широкого лица; скорее всего, их вставили из какой-нибудь детской куклы. ]]
]]
else
return s.talk()
end
end, end,
talk = function() talk = function()
walk('robobutler-dlg') walk('robobutler-dlg')

View file

@ -35,11 +35,7 @@ room {
end end
end, end,
act = function(s) act = function(s)
if not isduel then return 'Старушка мирно посапывала, раскачиваясь в гамаке.'
return 'Старушка мирно посапывала, раскачиваясь в гамаке.'
else
return s.talk()
end
end, end,
talk = function() return walk('cho_dlg'); end, talk = function() return walk('cho_dlg'); end,
} }

View file

@ -20,13 +20,12 @@ room {
nam = 'call'; nam = 'call';
disp = 'домофон'; disp = 'домофон';
act = function(s) act = function(s)
if not isduel then return 'Домофон был включён, хозяин — дома. Достаточно было только поговорить с ним.'
return 'Домофон был включён, хозяин — дома. Достаточно было только поговорить с ним.'
else
return s.talk()
end
end; end;
talk = function() talk = function()
if _('pavels-call').obj:empty() then
return 'Вам нечего сказать.'
end
return walk('pavels-call') return walk('pavels-call')
end; end;
take = function() take = function()
@ -81,13 +80,7 @@ dlg {
nam = 'pavels-call', nam = 'pavels-call',
disp = 'Разговор с домофоном', disp = 'Разговор с домофоном',
decor = [[Камера домофона смотрела на вас бесстрастным блеском.]], decor = [[Камера домофона смотрела на вас бесстрастным блеском.]],
enter = function(self) enter = [[-- Кто там? — спросил неприветливый мужской низкий голос.]],
if empty(self) then
return 'Вам нечего сказать.'
else
return [[-- Кто там? — спросил неприветливый мужской низкий голос.]]
end
end,
obj = { obj = {
{ {
{ {
@ -100,7 +93,7 @@ dlg {
Домофон отключился. Видимо, нет. Домофон отключился. Видимо, нет.
]] ]]
end end
}; };
{ {
'#yours', '#yours',

View file

@ -4,27 +4,8 @@
require "fmt" require "fmt"
require "noinv" require "noinv"
declare "isdebug" (false) declare "isdebug" (false)
declare "isduel" (false)
if not isduel then require "proxymenu"
require "proxymenu"
else
std.menu_player = std.class ({
__menu_player_type = true;
new = function(self, v)
if type(v) ~= 'table' then
std.err ("Wrong argument to std.menu_player: "..std.tostr(v), 2)
end
if not v.room then
v.room = 'main'
end
v.invent = std.list {}
return std.player(v)
end;
inventory = function(s)
return s.invent
end;
}, std.player)
end
if isdebug then if isdebug then
require "dbg" require "dbg"

View file

@ -59,17 +59,16 @@ init = function ()
end end
}, me()) }, me())
char.act = nil char.act = nil
if not isduel then place( proxy_menu {
place( proxy_menu { disp = function()
disp = function() if stead.table.maxn(here().obj) > 0 then
if stead.table.maxn(here().obj) > 0 then return 'ОСМОТРЕТЬ';
return 'ОСМОТРЕТЬ'; end
end return false
return false end;
end; acts = { inv = 'act' };
acts = { inv = 'act' }; sources = { scene = true, inv = false }; -- осмотр инвентаря вынесен отдельно
sources = { scene = true, inv = false }; -- осмотр инвентаря вынесен отдельно }, me())
}, me())
--[[ --[[
place( proxy_menu { place( proxy_menu {
disp = 'ВЗЯТЬ'; disp = 'ВЗЯТЬ';
@ -92,17 +91,16 @@ init = function ()
sources = { scene = false, inv = true }; sources = { scene = false, inv = true };
}, me()) }, me())
]] ]]
place( proxy_menu { place( proxy_menu {
disp = function() disp = function()
if stead.table.maxn( here().obj ) > 0 then if stead.table.maxn( here().obj ) > 0 then
return 'ГОВОРИТЬ С'; return 'ГОВОРИТЬ С';
end end
return false return false
end; end;
acts = { inv = 'talk' }; acts = { inv = 'talk' };
sources = { scene = true, inv = false }; sources = { scene = true, inv = false };
}, me()) }, me())
end
end end
game.after_take = function(s, w) game.after_take = function(s, w)
take(w) take(w)