Merge pull request #74 from vvollo/fixes

Fixes
This commit is contained in:
goraph 2021-09-30 13:03:11 +03:00 committed by GitHub
commit 035e28237e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 66 additions and 23 deletions

View File

@ -253,8 +253,15 @@ obj {
end;
end;
before_Fill = function(s,w)
if not have('kerosin') then
if not w and _'kerosin':access() then
mp:check_held(_'kerosin');
elseif w then
mp:check_held(w);
end;
if not w and not have('kerosin') then
p "Тебе нечем наполнить лампу!";
elseif w and not w^'kerosin' then
return false;
else
_'lamp'.kerosin = 1;
remove ('kerosin');
@ -281,7 +288,7 @@ obj {
p "Зажигалка слишком толстая и не влазит в узкое горло керосиновой лампы.";
end
end;
before_Rub = "Ты потёрла старую лампу, но ничего не произошло, и никакого джина из неё не вылезла. Попытаться, впрочем, стоило.";
before_Rub = "Ты потёрла старую лампу, но ничего не произошло, и никакого джина из неё не вылезло. Попытаться, впрочем, стоило.";
score=false;
after_Take = function(s)
if not s.score then
@ -291,3 +298,21 @@ obj {
return false;
end;
};
VerbExtend {"#Fill",
"в {noun}/вн {noun}/вн : Fill",
"~ внутрь {noun}/рд {noun}/вн : Fill",
"~ {noun}/вн {noun}/тв : Fill",
"~ {noun}/вн в {noun}/вн : Fill reverse",
"~ {noun}/вн внутрь {noun}/рд : Fill reverse",
"~ {noun}/тв {noun}/вн : Fill reverse"
}
function mp:after_Fill(w,wh)
if wh then
mp:message 'Fill.FILL2'
else
mp:message 'Fill.FILL'
end
end
mp.msg.Fill.FILL2 = "Наполнять {#first/вн} {#second/тв} бессмысленно."

View File

@ -86,7 +86,15 @@ room {
end;
return false
end;
obj = { 'room16_wardrobe','room16_parquet','room16_bookstand','room16_pedestal','room16_slit' };
["before_PutOn,Insert"] = function(s, w, i)
if i == _'room16_witch' then
-- "положить в/на тетю что-то" вызывает "резать тетю чем-то"
mp:xaction('Cut', i, w)
else
return false
end
end;
obj = { 'room16_wardrobe','room16_parquet','room16_bookstand','room16_pedestal','room16_slit','room16_walls' };
-- obj = { 'statuetka','book','dagger','room16_wardrobe','room16_parquet','room16_bookstand','room16_pedestal','room16_slit' };
--obj = { 'room16_wardrobe','room16_parquet','room16_bookstand','room16_pedestal','room16_slit' };
}
@ -1444,7 +1452,6 @@ obj {
_'room16_wardrobe':attr 'enterable'
move(_'room16_witch',_'room16_mystical')
move(_'room16_wall',_'room16_mystical')
move(_'room16_walls',_'room16_mystical')
DaemonStart 'room16_AI'
end;
aiturn = function()
@ -1756,6 +1763,9 @@ obj {
before_Answer = function(s)
p('Разговаривать с тётей, когда она в таком состоянии, бессмысленно.')
end;
["before_Take,Remove,Enter,PutOn,Insert"] = function(s, ev, w)
p 'Ты серьёзно?'
end;
obj = {
obj {
-"глаза,глаз*";
@ -1788,7 +1798,13 @@ obj {
-"стены";
nam = 'room16_walls';
state = 0;
description = 'Стены как стены. Нельзя сказать, что какая-то стена выделяется относительно остальных. Или можно?';
description = function(s)
if _'room16_mystical'.state == 0 then
return 'Стены как стены.';
else
return 'Стены как стены. Нельзя сказать, что какая-то стена выделяется относительно остальных. Или можно?';
end
end;
}:attr 'static, scenery'
obj {

View File

@ -33,11 +33,11 @@ room {
title = "Кладовка";
transported = false,
dsc = function(s)
local v = ""
if from() ^ "room4_ostrov" and s:once() then
return "Я увидела своё отражение, стоящее в кладовке. Затем мир покачнулся, и я снова оказалась в тесной комнате."
else
return "Тесная неинтересная комната. К западу кухня, на востоке прихожая."
v = "Я увидела своё отражение, стоящее в кладовке. Затем мир покачнулся, и я снова оказалась в тесной комнате.^^"
end
return v .. "Тесная неинтересная комната. К западу кухня, на востоке прихожая."
end;
onenter = function(s)
if not s.transported then
@ -50,10 +50,10 @@ room {
end;
w_to = "room6_kitchen";
e_to = function(s)
if s:once() then
p 'Ты толкнула дверь и оказалась в прихожей. Оказывается здесь есть проход! Теперь ходить между помещениями будет куда удобней!';
end;
if _'room3_hall'.west == 0 then
p 'Ты толкнула дверь и оказалась в прихожей. Оказывается, здесь есть проход! Теперь ходить между помещениями будет куда удобней!';
_'room3_hall'.west = 1;
end;
return 'room3_hall';
end;
d_to = function(s)
@ -199,14 +199,13 @@ room {
nam = "room4_ostrov";
title = "За зеркалом";
dsc = function(s)
local v = ""
if s:once() then
-- Сообщение при первом посещении комнаты
-- {#Me/падеж} вписует ГГ в соответствие с pl.word (задаётся в init() в main3.lua)
return "Всего лишь мельком я увидела своё отражение в старинном зеркале, и меня завертело, закружило, ослепило... Проморгавшись, я поняла, что оказалась совсем в другом месте."
else
-- При последующих осмотрах/посещениях
return "Маленький остров, представляющий собой цветочную поляну, окружённую водой."
v = "Всего лишь мельком я увидела своё отражение в старинном зеркале, и меня завертело, закружило, ослепило... Проморгавшись, я поняла, что оказалась совсем в другом месте.^^"
end
return v .. "Маленький остров, представляющий собой цветочную поляну, окружённую водой."
end;
obj = {
"room4_mirror",
@ -332,7 +331,7 @@ room {
before_Touch = "Немного влажная, будто не так давно шёл дождь.";
}:attr "scenery",
obj {
-"человеческие кости|кости|человеческие останки|останки";
-"человеческие кости|кости/мн,но|человеческие останки|останки";
description = "Множество человеческих костей. Да это могильник!";
before_Take = "Фу, я не буду к этому прикасаться.";
before_Smell = "Я не буду это нюхать!";

View File

@ -45,7 +45,7 @@ room {
end;
before_Yes = "Ты хочешь ответить, но старик не услышит тебя.";
before_No = "Ты хочешь ответить, но старик не услышит тебя.";
obj = {'kitchen_main_table', 'kitchen_grass', 'kitchen_round_table', 'kitchen_basket', 'kitchen_lift', 'kitchen_door_north', 'kitchen_door_west', 'kitchen_button_up', 'kitchen_button_down', 'kitchen_old_man', 'kitchen_window', 'kitchen_forest', 'kitchen_walls', 'kitchen_ceiling', 'kitchen_pec', 'kitchen_cat'};
obj = {'kitchen_main_table', 'kitchen_grass', 'kitchen_round_table', 'kitchen_lift', 'kitchen_door_north', 'kitchen_door_west', 'kitchen_button_up', 'kitchen_button_down', 'kitchen_old_man', 'kitchen_window', 'kitchen_forest', 'kitchen_walls', 'kitchen_ceiling', 'kitchen_pec', 'kitchen_cat'};
}
room {
@ -245,7 +245,7 @@ obj {
}:attr 'static,container,openable,closed';
obj {
-"буханка чёрного хлеба,буханка|хлеб";
-"буханка чёрного хлеба,буханка|чёрный хлеб,хлеб/но";
nam = "kitchen_bread";
was_cut = false;
description = function(s)
@ -300,6 +300,9 @@ obj {
mp.score=mp.score+1;
end
return true;
else
p "Так ты бутерброд не приготовишь.";
return true;
end;
end;
before_Cut = "Кусок хлеба уже отрезан.";

View File

@ -153,13 +153,13 @@ obj {
description = "Кайзерка с маком - муляж изготовленный из папье-маше. Не очень-то и похожа на настоящую.";
before_Smell = "Пахнет краской, лаком и растворителем.";
before_Tear = function(s)
p "Ты разрываешь булочку из папье-маше и обнаруживаешь внутри предмет.";
move ('longkey',pl);
mp.score=mp.score+1;
remove(s);
s:tearApart("разрываешь");
end;
before_Attack = function(s)
p "Ты разламываешь булочку из папье-маше и обнаруживаешь внутри предмет.";
s:tearApart("разламываешь");
end;
tearApart = function(s, t)
p ("Ты " .. t .. " булочку из папье-маше и обнаруживаешь внутри " .. _'longkey':noun'вн' .. ".");
move ('longkey',pl);
mp.score=mp.score+1;
remove(s);