Hmmm…struggling with this one. Strange behavior happens when truncating ‘put something in something’! This is the minimal code fragment I can reproduce with :
"WierdBug" by Ade
The Garden is a room.
The ring is worn by the player.
The potato is carried by the player.
The tree is in Garden. It is a container.
Instead of inserting something into the tree:
if the noun is the ring:
say "Yes.";
now the ring is in the tree;
otherwise:
say "No.".
Results in the following behavior :
WierdBug
An Interactive Fiction by Ade
Release 1 / Serial number 210720 / Inform 7 build 6M62 (I6/v6.33 lib 6/12N) SD
Garden
You can see a tree (empty) here.
>put ring
What do you want to put the ring in?
>tree
compass (579167)
the north
the northeast
the northwest
the south
the southeast
the southwest
the east
the west
the up
the down
the inside
the outside
(darkness object) (579199)
(Inform Parser) (579231)
(Inform Library) (579263)
(property_numberspace_forcer) (579295)
(ValuePropertyHolder_43) (579359)
(ValuePropertyHolder_47) (579391)
Garden (580415)
yourself
a ring (being worn)
a potato
a tree
>
That’s wierd. But then
put ring in tree
Yes.
Where it gets EVEN wierder. If I change the code slightly so the tree is a bucket :
"WierdBug" by Ade
The Garden is a room.
The ring is worn by the player.
The potato is carried by the player.
The bucket is in Garden. It is a container.
Instead of inserting something into the bucket:
if the noun is the ring:
say "Yes.";
now the ring is in the bucket;
otherwise:
say "No.".
Everything is suddenly fine.
WierdBug
An Interactive Fiction by Ade
Release 1 / Serial number 210720 / Inform 7 build 6M62 (I6/v6.33 lib 6/12N) SDGarden
You can see a bucket (empty) here.put ring
What do you want to put the ring in?bucket
Yes.
Is this a known thing? Is it something I’m doing. Can anyone else reproduce this? Been trying to figure this out for ages!
If I turn Rules and actions on, it’s not super helpful. It just pops up with
[Rule “declare everything initially unmentioned rule” applies.] - but I have no idea why!
Thanks in advance.
Ade.