How to stop an implicit noun in a new action?

So I’m trying to write a new action that can apply to nothing or one thing.
It works but if I attempt to use the version without a noun it picks an object and prints it’s name.
Example below.

How do I stop the (the foo)

Example Location is a room. 

Understand "discover [something]" as discovering. Discovering is an action applying to nothing or one thing.

Symbols is scenery in the example location.

A foo is a thing in the example location.

Instead of discovering the symbols:
	say "Yo"

Instead of discovering nothing:
	say "K?"

Results:

>discover
(the foo)
>discover symbols
Yo
>```

You need a different action for discovering applying to nothing. Since you’ve defined “discover” as applying to one thing, the game will always disambiguate to something for that.

So add something like this:

Understand "discover" as vague discovering. Vague discovering is an action applying to nothing.

Instead of vague discovering:
	say "K?".

Hope that helps!

*** Edit: A tip: try to limit your use of “instead”. It can cause terrible, awful problems down the line. Since you’ve created this action, you can use “carry out” to implement discovering. If you use “instead of” for all your actions, you’ll probably regret it later.

2 Likes

This can be done without a separate action, like this:

Understand "discover" as discovering.
For supplying a missing noun when discovering: instead say "K?"
7 Likes

This helped a lot thank you.

1 Like