So we have all the pieces here if some ambitious person wants to update Aaron’s Remembering extension:
Chapter - New Can't See That Report
[
Remembering last seen locations
From Aaron Reed's remembering
Replaces 'You can't see any such thing' for a seen but out-of-scope
noun with a message acknowledging that the parser recognizes the
object.
]
Every thing has an object called the remembered location.
The remembered location of a thing is usually nothing.
Last when play begins (this is the Remembering update remembered positions for first turn rule):
follow the Remembering update remembered positions of things rule.
Every turn (this is the Remembering update remembered positions of things rule):
unless in darkness:
repeat with item running through things that are enclosed by the location:
if remembered location of item is not holder of item:
if item is visible:
now the remembered location of item is the holder of item.
To decide whether (item - an object) acts plural:
if the item is plural-named or the item is ambiguously plural:
yes;
no.
To say was-were of (N - an object):
if the story tense is future tense:
say "will have been";
otherwise if N acts plural:
say "were";
otherwise:
say "was".
To say at the (place - an object):
carry out the saying the location name activity with place.
saying the location name of something is an activity on objects.
For saying the location name of a room (called place) (this is the Remembering saying room name rule): say "at '[the place]'" (A).
For saying the location name of the location (this is the Remembering saying current location name rule): say "right here" (A).
For saying the location name of a person (called subject) (this is the Remembering saying person name rule): say "in the possession of [the subject]" (A).
For saying the location name of a person who is the player (this is the Remembering saying player name rule): say "in your possession" (A).
For saying the location name of a container (called the holder) (this is the Remembering saying container name rule): say "in [the holder]" (A).
For saying the location name of a supporter (called the holder) (this is the Remembering saying supporter name rule): say "on [the holder]" (A).
[
my mods to remembering
]
A room has some text called casual_name.
The Remembering saying room name rule response (A) is "[the casual_name of the place]".
[
Deciding scope and Reporting
Courtesy of @otistdog https://intfiction.org/t/remembering-mysteries/49840/15?u=wmodes
]
[An alternative to scope testing via direct object tree inspection]
To decide whether (X - thing) has line of sight to (Y - thing):
if the common ancestor of X with Y is nothing, decide no;
if Y is enclosed by a closed opaque container that does not enclose X, decide no;
if X is enclosed by a closed opaque container that does not enclose Y, decide no;
decide yes.
To decide whether (X - thing) does not have line of sight to (Y - thing):
if X has line of sight to Y:
decide no;
otherwise:
decide yes.
Definition: a thing is unavailable if it is seen and the player does not have line of sight to it.
After deciding the scope of the player:
repeat with X running through unavailable things:
place X in scope.
[Uses before rules to intervene ahead of visibility checks]
Before doing something when the noun is unavailable:
[say "[The noun] [are] nowhere to be seen." instead.]
say "You look around, but don't see [the noun]. Last you remember, [they] [was-were of noun] [at the remembered location of noun].[line break]" instead.
Before doing something when the second noun is unavailable:
[say "[The second noun] [are] nowhere to be seen." instead.]
say "You look around, but don't see [the second noun]. Last you remember, [they] [was-were of noun] [at the remembered location of noun].[line break]" instead.
It could be improved. For instance, a check to make sure casual_name is defined could/should be added if you use it.
It works for me:
> drop train penny
Dropped.
> x coin
The train rolled over your penny and turned it into a flattened oval.
> x grandpa
You can’t see any such thing.
> x bucket
You can’t see any such thing.
> d
Grassy Clearing
This is a pleasant clearing carpeted with stubbly grass under a sycamore tree.
You see your grandpa and the big bucket here.
> x grandpa
Grandpa is, well, Grandpa.
> x bucket
There’s a big bucket that Honey and Grandpa have been putting their berries into, about half full now.
> give coin to grandpa
You look around, but don’t see the flattened train penny… Last you remember, it was lost in the brambles.
> d
Blackberry Tangle
There are paths through the brambles, a maze with tantalizing fruit.
> say hello to grandpa
You look around, but don’t see Grandpa. Last you remember, he was at the grassy clearing.
> x bucket
You look around, but don’t see the big bucket. Last you remember, it was at the grassy clearing
> i
You are carrying your pail.
> x pail
This is a purple pail with a yellow handle.
> x me
What’s to say? You are eight and a half, and you are going into 4th grade in the fall.
Thanks for all the help and great discussion.