mirror of https://github.com/goraph/17rooms
commit
035e28237e
29
room10.lua
29
room10.lua
|
@ -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/тв} бессмысленно."
|
||||
|
|
22
room16.lua
22
room16.lua
|
@ -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 {
|
||||
|
|
21
room4.lua
21
room4.lua
|
@ -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 'Ты толкнула дверь и оказалась в прихожей. Оказывается здесь есть проход! Теперь ходить между помещениями будет куда удобней!';
|
||||
if _'room3_hall'.west == 0 then
|
||||
p 'Ты толкнула дверь и оказалась в прихожей. Оказывается, здесь есть проход! Теперь ходить между помещениями будет куда удобней!';
|
||||
_'room3_hall'.west = 1;
|
||||
end;
|
||||
_'room3_hall'.west = 1;
|
||||
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 = "Я не буду это нюхать!";
|
||||
|
|
|
@ -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 = "Кусок хлеба уже отрезан.";
|
||||
|
|
10
room7.lua
10
room7.lua
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue