1
0
Fork 0
mirror of https://gitlab.com/Oreolek/duel.git synced 2024-04-24 21:29:42 +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 'первый робот'
end,
act = function(s)
if not isduel then
return [[Низкий хромированный фермер, древняя четырёхногая модель.
Он медленно неуклюже передвигал передние ноги, когда переходил к следующей грядке.]]
else
return s.talk()
end
return [[
Низкий хромированный фермер, древняя четырёхногая модель.
Он медленно неуклюже передвигал передние ноги, когда переходил к следующей грядке.
]]
end,
talk = function()
walk('robofarmer-dlg')
@ -42,15 +40,11 @@ room {
return 'второй робот'
end,
act = function(s)
if not isduel then
return [[
Он был похож по строению на робота-дворецкого, но у него не хватало верхней части лица,
а вместо левой ноги стоял импровизированный протез из строительного нанопластика.
Его глаза были очень маленькими для широкого лица; скорее всего, их вставили из какой-нибудь детской куклы.
]]
else
return s.talk()
end
return [[
Он был похож по строению на робота-дворецкого, но у него не хватало верхней части лица,
а вместо левой ноги стоял импровизированный протез из строительного нанопластика.
Его глаза были очень маленькими для широкого лица; скорее всего, их вставили из какой-нибудь детской куклы.
]]
end,
talk = function()
walk('robobutler-dlg')
@ -203,7 +197,7 @@ dlg {
function()
return "У "..plural('меня', 'нас')..' есть механизм для него.'
end,
function()
function()
return [[-- У ]]..plural('меня', 'нас')..[[ есть механизм для него.^
-- Предъявите механизм для того, чтобы я произвёл оценку полезности.
]]

View file

@ -35,11 +35,7 @@ room {
end
end,
act = function(s)
if not isduel then
return 'Старушка мирно посапывала, раскачиваясь в гамаке.'
else
return s.talk()
end
return 'Старушка мирно посапывала, раскачиваясь в гамаке.'
end,
talk = function() return walk('cho_dlg'); end,
}
@ -189,7 +185,7 @@ dlg {
-- Ну, ремонт идёт за счёт пожизненной гарантии. Но есть одна просьба… хотя нет, забудьте.^^
Она пожала плечами:^^
-- Как скажете.
]],
next = '#разговор'
@ -432,7 +428,7 @@ dlg {
И тут начались выстрелы.
После войны вы моментально реагировали на громкий хлопок и металлический «бзынь» в сантиметре от руки.
Вы спрятались в кабине, но вам не было видно, что происходит на входе в сарай.^^
-- Я говорила вам не чинить этот комбайн!^^
Хотя вам и не надо было смотреть, только лишь считать выстрелы.

View file

@ -20,13 +20,12 @@ room {
nam = 'call';
disp = 'домофон';
act = function(s)
if not isduel then
return 'Домофон был включён, хозяин — дома. Достаточно было только поговорить с ним.'
else
return s.talk()
end
return 'Домофон был включён, хозяин — дома. Достаточно было только поговорить с ним.'
end;
talk = function()
if _('pavels-call').obj:empty() then
return 'Вам нечего сказать.'
end
return walk('pavels-call')
end;
take = function()
@ -47,7 +46,7 @@ room {
return false
end,
act = function()
char.saw_suit = true
char.saw_suit = true
local out = [[
Боевой механизированный костюм высотой 2,7 метров, марка РГ-22.
Рассчитан на одного пилота.
@ -81,13 +80,7 @@ dlg {
nam = 'pavels-call',
disp = 'Разговор с домофоном',
decor = [[Камера домофона смотрела на вас бесстрастным блеском.]],
enter = function(self)
if empty(self) then
return 'Вам нечего сказать.'
else
return [[-- Кто там? — спросил неприветливый мужской низкий голос.]]
end
end,
enter = [[-- Кто там? — спросил неприветливый мужской низкий голос.]],
obj = {
{
{
@ -100,7 +93,7 @@ dlg {
Домофон отключился. Видимо, нет.
]]
end
end
};
{
'#yours',
@ -475,7 +468,7 @@ dlg {
{
'#detail',
{
cond = function()
cond = function()
return (char.saw_suit == true)
end,
[[
@ -508,7 +501,7 @@ dlg {
{
'#general',
{
cond = function()
cond = function()
return (char.saw_suit == true and char.asked_suit ~= true)
end,
'У вас во дворе стоит РГ-22 с тремя независимыми программаторами этого типа. Вы на нём за хлебом ходите?',

View file

@ -4,27 +4,8 @@
require "fmt"
require "noinv"
declare "isdebug" (false)
declare "isduel" (false)
if not isduel then
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
require "proxymenu"
if isdebug then
require "dbg"
@ -76,7 +57,7 @@ room {
decor = [[
Вы стояли на окраине Жестианы.
Прямая автодорога шла на север.
Здесь от неё на запад отходил небольшой заезд из булыжника.
]]
}

View file

@ -59,55 +59,53 @@ init = function ()
end
}, me())
char.act = nil
if not isduel then
place( proxy_menu {
disp = function()
if stead.table.maxn(here().obj) > 0 then
return 'ОСМОТРЕТЬ';
end
return false
end;
acts = { inv = 'act' };
sources = { scene = true, inv = false }; -- осмотр инвентаря вынесен отдельно
}, me())
place( proxy_menu {
disp = function()
if stead.table.maxn(here().obj) > 0 then
return 'ОСМОТРЕТЬ';
end
return false
end;
acts = { inv = 'act' };
sources = { scene = true, inv = false }; -- осмотр инвентаря вынесен отдельно
}, me())
--[[
place( proxy_menu {
place( proxy_menu {
disp = 'ВЗЯТЬ';
acts = { inv = 'take' };
sources = { scene = true, inv = false };
}, me())
place( proxy_menu {
place( proxy_menu {
disp = 'ВЫБРОСИТЬ';
acts = { inv = 'drop' };
sources = { scene = false, inv = true };
}, me())
place( proxy_menu {
place( proxy_menu {
disp = 'ОТКРЫТЬ';
acts = { inv = 'open' };
sources = { scene = false, inv = true };
}, me())
place( proxy_menu {
place( proxy_menu {
disp = 'ЗАКРЫТЬ';
acts = { inv = 'close' };
sources = { scene = false, inv = true };
}, me())
]]
place( proxy_menu {
disp = function()
if stead.table.maxn( here().obj ) > 0 then
return 'ГОВОРИТЬ С';
end
return false
end;
acts = { inv = 'talk' };
sources = { scene = true, inv = false };
}, me())
end
place( proxy_menu {
disp = function()
if stead.table.maxn( here().obj ) > 0 then
return 'ГОВОРИТЬ С';
end
return false
end;
acts = { inv = 'talk' };
sources = { scene = true, inv = false };
}, me())
end
game.after_take = function(s, w)
take(w)
end
game.after_drop = function(s, w)
drop(w)
end
@ -218,7 +216,7 @@ changeop = function(name, delta)
rawset(char, name, fairadd(rawget(char, name), delta))
end
fairadd = function(value, add)
return math.floor(value + (100-value)*(add/100))
return math.floor(value + (100-value)*(add/100))
end
listinv = function()
local out = ''