Overly elaborate looking

I’m using part of Aaron Reed’s Small Kindnesses extension.

The action ‘overly elaborate looking’ is meant to redirect attempts to look at the room itself to execute a LOOK. e.g. if the room is called white sand bar, and player types ‘x sand’, they’ll get the room description. The trouble is, if there’s also an object called ‘sand’ in the room, overly elaborate looking will always choose the room itself over the object, because of the way it’s written.

It see it’s written the way it is to try to keep the location out of scope except in the case of overly elaborate looking. The problem with just placing the room in scope in general is that it can then be targeted by the vast majority of actions the player might try, which is yuck.

I want to get a version of overly elabroate loooking (OEL) that makes it possible to examine the room BUT favours anything else in the room over the room itself, in terms of matching words. And this version should also NOT place the room in scope for any action other than overly elaborate looking.

I wonder if someone can work this out? Here’s the Aaron Reed version of OEL:

Summary
"Overly elaborate looking 1"

primary lab is a room. Description of lab is "This is a Jerry Lewis-style lab.".

a lab coat is in lab. Description of coat is "A shabby coat."

Understand "look at/around/in/into the/a/an/some/-- [room]" or "look [room]" or "x [room]" or "examine [room]" or "search [room]" as overly elaborate looking. Overly elaborate looking is an action applying to one thing. 

After deciding the scope of the player when overly elaborate looking (this is the Small Kindnesses place the room in scope while looking rule):
	place the location in scope, but not its contents;

Carry out overly elaborate looking (this is the Small Kindnesses overly elaborate looking rule):
	instead try looking;

Test me with "x lab".

Here’s a hack I made which just places the location in scope all the time, but deprioritises it a bit. Which isn’t good enough for my taste. I want the location mostly out of scope.

Summary
"Overly elaborate looking 2"

primary lab is a room. Description of lab is "This is a Jerry Lewis-style lab.".

a lab coat is in lab. Description of coat is "A shabby coat."
	
Before deciding the scope of the player (this is the Small Kindnesses place the room in scope while looking rule):
	place the location in scope;

Does the player mean doing anything to the location:
	it is unlikely;

Test me with "x lab".

-Wade

I’m not sure this covers everything that you mean, but perhaps:

"Overly Elaborate"

Primary Lab is a room. Description of lab is "This is a Jerry Lewis-style lab.".

A lab coat is in lab. Description of coat is "A shabby coat."

After deciding the scope of the player while examining (this is the place the room in scope while looking rule): [limits applicability to when parsing examining action]
    place the location in scope, but not its contents. [everything else should already be in scope if applicable]

Does the player mean doing anything to the location: [still prioritizes examination of things vs rooms]
    it is unlikely.

Instead of examining a room:
    try looking instead.

Test me with "x lab / look / x primary lab / look lab / look at primary / take lab / drop lab / actions / smash lab". [take/drop/attack don't even check room]
1 Like

Thanks otis, this looks pretty good! I’m now away from my project for a week so I can’t test yet, but will reply when I have.

-Wade

Yeah, this code essentially does the trick. Thanks.

-Wade