1
0
Fork 0
mirror of https://github.com/goraph/17rooms.git synced 2024-06-26 05:30:43 +03:00

Спальня: Изменения и исправления

This commit is contained in:
silverwing 2021-06-15 00:08:36 +04:00
parent e351d3059b
commit ab74392a0a

View file

@ -104,9 +104,10 @@ room {
end; end;
end; end;
before_Sing = function(s) before_Sing = function(s)
if not s.awake and _'room15_tv':attr('on') then if not s.awake and _'room15_tv':has('on') then
pr 'Твой голос сливается с голосами из телевизора и оттого ужасающее пение становится еще более жутким. '; pr 'Твой голос сливается с голосами из телевизора и оттого ужасающее пение становится еще более жутким. ';
end; end;
return false;
end; end;
after_Sleep = function(s) after_Sleep = function(s)
if pl:where()^'room15_bed' then if pl:where()^'room15_bed' then
@ -350,7 +351,7 @@ obj {
title = 'В кровати'; title = 'В кровати';
dsc = 'У стены стоит большая кровать. '; dsc = 'У стены стоит большая кровать. ';
description = function(s) description = function(s)
pr 'Большая кровать, застеленная чистым бельем. '; pr 'Большая кровать, застеленная покрывалом. ';
mp:content(s); mp:content(s);
end; end;
inside_dsc = 'Ты лежишь на большой кровати. '; inside_dsc = 'Ты лежишь на большой кровати. ';
@ -376,9 +377,9 @@ obj {
end; end;
return false; return false;
end; end;
before_Smell = 'Пахнет чистым, свежевыглаженным постельным бельем. '; before_Smell = 'Пахнет тканью, деревом и пылью. ';
before_Taste = 'Ты аккуратно кусаешь угол кровати. На вкус как дерево. '; before_Taste = 'Ты аккуратно кусаешь угол кровати. На вкус как дерево. ';
before_Eat = 'Долго рассматривая кровать, ты так и не решила, с чего начать ее есть . '; before_Eat = 'Долго рассматривая кровать, ты так и не решила, с чего начать ее есть. ';
["before_Touch,Rub"] = function(s) ["before_Touch,Rub"] = function(s)
if _'room15_bedroom'.awake and not _'room15_bedroom'.complete then if _'room15_bedroom'.awake and not _'room15_bedroom'.complete then
pr 'Постель мягкая и приятная на ощупь. Так и тянет {$fmt em|спать}. '; pr 'Постель мягкая и приятная на ощупь. Так и тянет {$fmt em|спать}. ';
@ -392,45 +393,25 @@ obj {
before_Blow = 'Ты подула на кровать, но ничего не изменилось. '; before_Blow = 'Ты подула на кровать, но ничего не изменилось. ';
before_Take = 'Кровать слишком тяжелая. '; before_Take = 'Кровать слишком тяжелая. ';
obj = { obj = {
'room15_sheets' 'room15_bedspread'
}; };
}: attr('enterable,supporter,static,luminous'); }: attr('enterable,supporter,static,luminous');
obj { obj {
-"постельное белье,белье на кровати,белье|простыня"; -"покрывало";
nam = 'room15_sheets'; nam = 'room15_bedspread';
description = 'Чистая простыня лежит на кровати. '; description = 'Мягкое бархатное покрывало лежит на кровати. ';
before_Take = function(s) before_Take = 'Что ты задумала?';
if _'room15_bedroom'.awake then before_Smell = 'Пахнет тканью и пылью. ';
return 'Что ты задумала?'; before_Tear = 'Тётя Агата будет очень недовольна, если ты это сделаешь. ';
else before_Tie = 'Ты не понимаешь, для чего тебе это. ';
return 'Простыня странным образом не стягивается с кровати, выскальзывая из твоих рук. '; ["before_Taste,Eat"] = 'Ты пытаешься отгрызть уголок покрывала, но у тебя ничего не получается. Тебе остается лишь надеяться, что тетушка не заметит погрызенное покрывало. ';
end; ["before_Rub,Touch"] = 'Покрывало гладкое и мягкое. ';
end; before_Cut = 'Ты не думаешь, что это хорошая идея. ';
before_Smell = 'Пахнет чистой постелью. '; before_Attack = 'Ты со всей силы бьешь покрывало. Оно мягкое, все стерпит. ';
before_Tear = function(s)
if s.awake then
pr 'Тётя Агата будет очень недовольна, если ты это сделаешь. ';
else
pr 'У тебя не получается оторвать простыню от кровати. Странно. ';
end;
end;
before_Tie = function(s, w)
if s.awake then
pr 'Ты не понимаешь, для чего тебе это. ';
elseif w == nil then
pr 'У тебя не получается оторвать простыню от кровати. Странно. ';
else
pr 'Ты не понимаешь, как это сделать. ';
end;
end;
["before_Taste,Eat"] = 'Ты отгрызаешь уголок простыни, надеясь, что тётушка не заметит этого. Ткань приятно жуется и почти безвкусная. ';
["before_Rub,Touch"] = 'Простыня шершавая, но очень приятные на ощупь. ';
before_Cut = 'Твои руки недостаточно острые. ';
before_Attack = 'Ты со всей силы бьешь простыню. Она мягкая, все стерпит. ';
before_Blow = 'Ты дуешь на ткань. '; before_Blow = 'Ты дуешь на ткань. ';
["before_Talk,Tell,Answer,Ask,AskFor,AskTo"] = "Простыне очень интересно, правда. Продолжай. "; ["before_Talk,Tell,Answer,Ask,AskFor,AskTo"] = "Покрывалу очень интересно, правда. Продолжай. ";
before_Kiss = "Простыня никак не реагируют. "; before_Kiss = "Покрывалу, должно быть, очень приятно. Но оно никак не реагирует. ";
}:attr('concealed'); }:attr('concealed');
obj { obj {
@ -486,6 +467,14 @@ obj {
return 'Ты опасаешься разозлить паука и решаешь этого не делать. '; return 'Ты опасаешься разозлить паука и решаешь этого не делать. ';
end; end;
end; end;
life_Show = function(s, w)
print('FUG');
if _'room15_bedroom'.awake then
return 'Паучок старательно делает вид, что ему интересно. ';
else
return 'Паук недовольно шипит на ' .. w:noun('вн') .. '.';
end;
end;
before_Kiss = 'Чего?!'; before_Kiss = 'Чего?!';
before_Listen = function(s) before_Listen = function(s)
if _'room15_bedroom'.awake then if _'room15_bedroom'.awake then
@ -494,7 +483,7 @@ obj {
return 'Паук шипит, щелкает пастью и скрежещет своими лапами по полу. '; return 'Паук шипит, щелкает пастью и скрежещет своими лапами по полу. ';
end; end;
end; end;
}: attr('static'): disable(); }: attr('static,animate'): disable();
obj { obj {
-"стол,столик|столешница"; -"стол,столик|столешница";
@ -564,7 +553,14 @@ obj {
before_Take = 'Лампе и здесь хорошо. '; before_Take = 'Лампе и здесь хорошо. ';
before_Smell = 'Лампа ничем не пахнет. Странно. '; before_Smell = 'Лампа ничем не пахнет. Странно. ';
["before_Taste,Eat"] = 'Ты долго раздумываешь над вкусовыми качествами пластиковых абажуров и стеклянных ламп, и в итоге решаешь не пробовать ни то ни другое. '; ["before_Taste,Eat"] = 'Ты долго раздумываешь над вкусовыми качествами пластиковых абажуров и стеклянных ламп, и в итоге решаешь не пробовать ни то ни другое. ';
["before_Push,Pull,Turn,Rub,Touch,Attack,Tear,Tie,Cut"] = 'Да сколько можно все вокруг ломать? '; before_Touch = function(s)
if s:has('light') then
pr 'Лампа слишком горячая!';
else
pr 'Светильник теплый на ощупь. '
end;
end;
["before_Push,Pull,Turn,Rub,Attack,Tear,Tie,Cut"] = 'Да сколько можно все вокруг ломать? ';
before_Blow = 'Ты дуешь на светильник. '; before_Blow = 'Ты дуешь на светильник. ';
["before_Talk,Tell,Answer,Ask,AskFor,AskTo"] = "Ваза остается безучастной к твоим мольбам. "; ["before_Talk,Tell,Answer,Ask,AskFor,AskTo"] = "Ваза остается безучастной к твоим мольбам. ";
before_Kiss = "Может, лучше не надо?"; before_Kiss = "Может, лучше не надо?";
@ -649,52 +645,69 @@ obj {
}: attr('container,transparent,open,static'); }: attr('container,transparent,open,static');
obj { obj {
-"простыни"; -"простыня,простынь";
nam = 'room15_linen'; nam = 'room15_linen';
description = 'Несколько комплектов чистых простыней. Они кажутся достаточно прочными, чтобы выдержать твой вес. '; description = 'Чистая простыня. Она кажется достаточно прочной, чтобы выдержать твой вес. ';
before_Take = function(s) before_Take = function(s)
if _'room15_book':disabled() then if _'room15_book':disabled() then
_'room15_book':enable(); _'room15_book':enable();
pr 'Под простынями лежит книга!'; pr 'Под простынёй лежит книга!';
end; end;
return false; return false;
end; end;
tearApart = function(s)
remove('room15_linen', where('room15_linen'));
mp.score=mp.score+1
take('room15_shreds');
pr 'Ты разрываешь простыню, теперь у тебя есть обрывки ткани. ';
if _'room15_book':disabled() then
_'room15_book':enable();
pr 'Под простынёй лежит книга!';
end;
end;
before_Smell = 'Пахнет чистой постелью. '; before_Smell = 'Пахнет чистой постелью. ';
before_Tear = function(s) before_Tear = function(s)
if s.awake then if s.awake then
pr 'Тётя Агата будет очень недовольна, если ты это сделаешь. '; pr 'Тётя Агата будет очень недовольна, если ты это сделаешь. ';
else else
remove('room15_linen', where('room15_linen')); s:tearApart();
mp.score=mp.score+1
take('room15_shreds');
pr 'Ты разрываешь простыни, теперь у тебя есть обрывки ткани. ';
if _'room15_book':disabled() then
_'room15_book':enable();
pr 'Под простынями лежит книга!';
end;
end; end;
end; end;
before_Tie = function(s, w) before_Tie = function(s, w)
if s.awake then if s.awake then
pr 'Ты не понимаешь, для чего тебе это. '; pr 'Ты не понимаешь, для чего тебе это. ';
elseif w == nil or w^'room15_window' then elseif w == nil or w^'room15_window' then
pr 'Так ничего не получится. Они слишком большие. '; pr 'Так ничего не получится. Она слишком короткая и чересчур толстая. ';
elseif w^'statuetka' then
pr 'Статуэтка слишком далеко. '
else else
pr 'Ты не понимаешь, для чего тебе это. '; pr 'Ты не понимаешь, для чего тебе это. ';
end; end;
end; end;
["before_Taste,Eat"] = 'Ты отгрызаешь уголок одной из простыней, надеясь, что тётушка не заметит этого. Ткань приятно жуется и почти безвкусная. '; ["before_Taste,Eat"] = 'Ты отгрызаешь уголок простыни, надеясь, что тётушка не заметит этого. Ткань приятно жуется и почти безвкусная. ';
["before_Rub,Touch"] = 'Простыни шершавые, но очень приятные на ощупь. '; ["before_Rub,Touch"] = 'Простыня шершавая, но очень приятная на ощупь. ';
before_Cut = 'Твои руки недостаточно острые. '; before_Cut = function(s, w)
before_Attack = 'Ты со всей силы бьешь простыни. Они мягкие, все стерпят. '; if s.awake then
pr 'Тётя Агата будет очень недовольна, если ты это сделаешь. ';
else
if w == nil then
return 'Твои руки недостаточно острые. ';
elseif w^'dagger' then
s:tearApart();
else
return 'Простыня не режется. Возможно стоит резать ее чем-то другим. ';
end;
end;
end;
before_Attack = 'Ты со всей силы бьешь простыню. Она мягкая, все стерпит. ';
before_Blow = 'Ты дуешь на ткань. '; before_Blow = 'Ты дуешь на ткань. ';
["before_Talk,Tell,Answer,Ask,AskFor,AskTo"] = "Простыням очень интересно, правда. Продолжай. "; ["before_Talk,Tell,Answer,Ask,AskFor,AskTo"] = "Простыне очень интересно, правда. Продолжай. ";
before_Kiss = "Простыни никак не реагируют. "; before_Kiss = "Простыня никак не реагируют. ";
}; };
obj { obj {
-"обрывки простыней,обрывки простыни,обрывки ткани,обрывки|простыни|ткань"; -"обрывки простыни,обрывки ткани,обрывки|простыня|ткань";
nam = 'room15_shreds'; nam = 'room15_shreds';
description = 'Прочные и длинные полосы из простыней. '; description = 'Прочные и длинные полосы из простыней. ';
before_Tie = function(s, w) before_Tie = function(s, w)
@ -721,7 +734,7 @@ obj {
} }
obj { obj {
-"веревка|простыни|обрывки простыней,обрывки простыни,обрывки ткани,обрывки|ткань"; -"веревка|простыня|обрывки простыни,обрывки ткани,обрывки|ткань";
nam = 'room15_rope'; nam = 'room15_rope';
description = 'Веревка связанная из обрывков простыней. Достаточно прочная, чтобы выдержать тебя. '; description = 'Веревка связанная из обрывков простыней. Достаточно прочная, чтобы выдержать тебя. ';
before_Tie = function(s, o) before_Tie = function(s, o)
@ -808,7 +821,7 @@ obj {
pr(s:vision()); pr(s:vision());
end; end;
end; end;
after_Take = 'Он слишком тяжелый. '; ["before_Take,Pull,Push"] = 'Он слишком тяжелый. ';
after_SwitchOn = function(s) after_SwitchOn = function(s)
s:attr('luminous'); s:attr('luminous');
if s.awake then if s.awake then
@ -836,7 +849,12 @@ obj {
if _'room15_bedroom'.awake then if _'room15_bedroom'.awake then
return 'На экране идет какой-то фильм про гангстеров. '; return 'На экране идет какой-то фильм про гангстеров. ';
elseif _'room15_curtain':has('open') then elseif _'room15_curtain':has('open') then
return 'На экране с трудом различимо окно, через которое видна какая-то комната. Да там же ты! '; if pl:where()^'room15_void' then
return 'На экране с трудом различимо окно, через которое видна какая-то комната очень похожая на спальню тетушки. ';
else
return 'На экране с трудом различимо окно, через которое видна какая-то комната. Да там же ты! ';
end;
else else
return 'На экране с трудом различимо какое-то окно, закрытое шторами. '; return 'На экране с трудом различимо какое-то окно, закрытое шторами. ';
end; end;
@ -900,18 +918,20 @@ obj {
pr('Сначала придется открыть окно. '); pr('Сначала придется открыть окно. ');
end; end;
end; end;
after_LetGo = function(s, o)
if o^'statuetka' and have('statuetka') then
_'room15_bedroom'.complete = true;
pr('Держа ' .. _'statuetka':noun'вн' .. ' в одной руке, второй ты пытаешься вернуться в комнату, держась за веревку. Несколько секунд кажутся несколькими часами, но вот ты касаешься подоконника и падаешь на пол. Падение приводит тебя в чувства и ты просыпаешься. В руке ты крепко сжимаешь '.. _'statuetka':noun'вн' .. '. ');
mp:subaction('Wake');
return
end;
return false;
end;
before_Exam = function(s) before_Exam = function(s)
pr 'Там пусто. '; pr 'Там пусто. ';
mp:content(s); mp:content(s);
end; end;
after_Exit = function(s)
if have('statuetka') then
_'room15_bedroom'.complete = true;
pr('Держа ' .. _'statuetka':noun'вн' .. ' в одной руке, второй ты пытаешься вернуться в комнату, держась за веревку. Несколько секунд кажутся несколькими часами, но вот ты касаешься подоконника и падаешь на пол. Падение приводит тебя в чувства и ты просыпаешься. В руке ты крепко сжимаешь '.. _'statuetka':noun'вн' .. '. ');
mp:subaction('Wake');
end;
end;
obj = { obj = {
'statuetka'; 'statuetka';
}; };