in TADS 3, easily? Something that works everywhere, but can also differentiate according to circumstances, such as sitting, location, and that kind of thing? I’m pretty sure it’s been done before, but a quick websearch didn’t find anything.
modify Room
{
defaultLook( dirn )
{
if ( dirn is in (downDirection) )
"You're looking down.";
else
defaultReport( ¬hingRemarkable, dirn );
}
}
based on the soucre code. But as far as I can tell, this never hooks the defaultLook used by the extension. And if I try to define defaultLook(dirn) as a global function, I just get this error.
The symbol “defaultLook” is already defined, so you cannot use it as the name
of a function here. This symbol is already being used as the name of an object
or property elsewhere in your program. Change the name to a unique symbol.
The default behaviour seems to be to say “you see nothing unusual/remarkable about dirwall/dir” depending on if you are in an OutdoorRoom or a Room. So it seems you already have those defaults
Yes, it’s just I want to hook the default for look down; let’s say “You’re looking down.” Everything else should still remain the default. Eventually I want to change it depending on the player character, such as “You’re so nearsighted you bend over to look at the <floor/ground/whatever>.” And I possibly allow the player to choose between protagonists, or switch during the game. So, yeah; I have something complex in mind, but I want the basics first.