Блестящая поверхность и объяснение загадки - #4

This commit is contained in:
Alexander Yakovlev 2021-01-07 20:32:10 +07:00
parent 1736db5ff2
commit f25a6bd42a
Signed by: oreolek
GPG key ID: 1CDC4B7820C93BD3
6 changed files with 94 additions and 5 deletions

View file

@ -2,6 +2,9 @@
### История изменений
#### 1.2.8 - 7 января
Проясняем вопрос статуи
#### 1.2.7 - 5 января
Багфиксы

View file

@ -29,6 +29,7 @@
юг
осмотреть дверь
вырезать Т из щита
вырезать П из лампы
осмотреть дверь
вырезать И из щи
съесть щи

View file

@ -181,6 +181,9 @@ function mp:SetShoot(what, letter)
end)
end
if newTarget then
if (newTarget:has 'animate') then
return 'Вырезатель не может создать живое существо ('.. newTarget:noun('вн').. ') из неживого предмета ('.. what:noun('рд')..').';
end
what:remove();
put(newTarget, here());
p('Вы стреляете в '.. what:noun'вн' ..', и '..what:it('им')..' ');

View file

@ -1,5 +1,5 @@
--$Name: Полёт в Петербург$
--$Version: 1.2.7$
--$Version: 1.2.8$
--$Author:Александр Яковлев$
require "fmt"

View file

@ -81,10 +81,10 @@ obj {
scored = false;
nam = 'patina';
oncreate = function()
p 'Блестящие поверхности вокруг начинают покрываться слоем патины.'
p 'Статуя на верхней полке покрывается слоем патины.'
here().dirty = true;
end;
description = 'Слой грязно-серой патины лежит на всём вокруг вас.';
description = 'Слой зеленоватой патины грязнит бронзовую статую.';
}: dict {
['патина/рд'] = 'патины';
['патина/дт'] = 'патине';
@ -98,6 +98,12 @@ obj {
canonical = 'пластика';
nam = 'platika';
description = 'Кусок белого пластилина. Он довольно бесполезен без духового шкафа.';
}: dict {
['пластика/рд'] = 'пластики';
['пластика/дт'] = 'пластике';
['пластика/вн'] = 'пластику';
['пластика/тв'] = 'пластикой';
['пластика/пр'] = 'пластике';
}
obj {
@ -116,3 +122,31 @@ obj {
['булава/тв'] = 'булавой';
['булава/пр'] = 'булаве';
}
obj {
-"лама/жр";
nam = 'lam';
canonical = 'лама';
}: dict {
['лама/рд'] = 'ламы';
['лама/дт'] = 'ламе';
['лама/вн'] = 'ламу';
['лама/тв'] = 'ламой';
['лама/пр'] = 'ламе';
}:attr 'animate'
obj {
-"лапа/жр";
nam = 'paw';
canonical = 'лапа';
description = 'Искусственная лапка, свяленная из какой-то серой шерсти.';
oncreate = function()
pn 'Без источника света комната погружается во тьму. (Чтобы отменить последний ход, напишите ОТМЕНА.)'
end;
}: dict {
['лапа/рд'] = 'лапы';
['лапа/дт'] = 'лапе';
['лапа/вн'] = 'лапу';
['лапа/тв'] = 'лапой';
['лапа/пр'] = 'лапе';
}

View file

@ -21,6 +21,7 @@ room {
s.seen = true;
end
p 'Это маленькая комнатка, мягко подсвеченная светильниками внутри стен. В углу стоит робот-уборщик. Единственная дверь на юге закрыта ярким голубым щитом.';
p 'На одной из верхних полок стоит бронзовая статуя.';
end;
cant_go = function(s, to)
if to == 's_to' then
@ -46,7 +47,7 @@ room {
'polka',
'wall'
};
}
}:attr '~light'
obj {
-"щит/мр";
@ -152,10 +153,11 @@ obj {
pn '«ВНИМАНИЕ. ОБНАРУЖЕНА ГРЯЗЬ. НЕОБХОДИМА ИНСПЕКЦИЯ.»';
p 'Робот срывается с места и начинает генеральную уборку.';
if here():srch('patina') then
pn 'Он протирает всё вокруг, тщательно счищая слой патины.'
pn 'Он тщательно протирает статую Котошелкопряда, счищая слой патины. Наверное, это просто суеверие, но {#you} {#g/чувствуешь,чувствуете} благословление удачи.'
if not _'patina'.scored then
_'patina'.scored = true
givepoint();
_('patina'):remove();
end
end
here().dirty = false;
@ -416,3 +418,49 @@ obj {
['гнездо/тв'] = 'гнездом';
['гнездо/пр'] = 'гнездо';
}:attr 'scenery,static'
obj {
-"статуя,бронзовая статуя/жр|котошелкопряд/мр";
nam = 'statue';
canonical = 'котошелкопряд';
found_in = 'pantry';
description = function()
p [[
Бронзовая статуя Котошелкопряда.
{#You} {#g/вспоминаешь,вспоминаете} примету, что если потереть его голову между кошачьими ушами,
он подарит большую удачу.
]];
if here():srch('patina') then
p 'Статуя покрыта зеленоватым слоем патины.';
end
end;
before_Rub = 'Слишком высоко. Не достать.';
before_Touch = 'Слишком высоко. Не достать.';
}: dict {
['статуя/рд'] = 'статуи';
['статуя/дт'] = 'статуе';
['статуя/вн'] = 'статую';
['статуя/тв'] = 'статуей';
['статуя/пр'] = 'статуе';
['котошелкопряд/рд'] = 'котошелкопряда';
['котошелкопряд/дт'] = 'котошелкопряду';
['котошелкопряд/вн'] = 'котошелкопряда';
['котошелкопряд/тв'] = 'котошелкопрядом';
['котошелкопряд/пр'] = 'котошелкопряде';
}:attr 'scenery,static'
obj {
-"лампа/жр";
nam = 'lamp';
canonical = 'лампа';
found_in = 'pantry';
description = 'Светодиодная лампочка над дверью.';
before_Touch = 'Слишком высоко. Не достать.';
before_Rub = 'Слишком высоко. Не достать.';
}: dict {
['лампа/рд'] = 'лампы';
['лампа/дт'] = 'лампе';
['лампа/вн'] = 'лампу';
['лампа/тв'] = 'лампой';
['лампа/пр'] = 'лампе';
}:attr 'scenery,static,light'