Change from plural to singular when particular synonym is used?

In my game I have scenery identified as “the port consoles”. I also have a synonym “console” for these port consoles, to let users X CONSOLE conveniently. However, if the user tries TAKE CONSOLE they get the response “They’re hardly portable” where the plural form of “they’re” clashes with the singular “console”.

What’s the recommended way to handle this?

I don’t know about recommended. Without a lot of mucking around, a noun’s always going to respond in one way at a time. Singular or plural. Proper-named or improper, etc. It’s easy to change something from singular to plural, or from one thing to something else, as a one off during the game. But that works beset when the change is expected to be permanent, or at least lasting longer than a move.

When I look at your example, I think ‘they’re hardly portable’ is fine, because what you presented to the player was CONSOLES, plural.

You could do something like make a single console and a plural console, and hide one in the room, but this is a level of implementation few would consider worthwhile for scenery. If the objects are important, then it might be worth it. When it’s not worth it, you can be introducing more complications for yourself that are as icky as the first one.

I do use code that allows an object to take both singular and plural pronouns at once. What do I mean? In your consoles case, I’d have made the consoles plural-named. Player types ‘GET CONSOLE’ and it says ‘THEY’RE HARDLY PORTABLE.’ Now what if the player next types ‘KICK IT’ (meaning the console). IT doesn’t match plural-named, so the command fails.

For objects like this, I set them to either singular or plural-named as works best with their printed names (consoles must obviously be plural), then use this adjective I created called ‘p-switchy’, meaning ‘plural-switchy’. Then they will respond to either IT or THEM. I have a demo over in this post

-Wade

2 Likes

The message (i.e. the can't take scenery rule reponse (A)) is responsive to the particulars of the object that is the noun.

The typical approach would be to create a separate console object that is in the same location as the consoles, as mentioned by severedhand. This is by far the easiest option. The command >TAKE CONSOLE will resolve to the console object, which is singular-named.

The console can even be made part of the consoles, but you’ll need to override a related rule if you want to get the same “hardy portable” response.

Some consoles are here. A console is part of the consoles. The consoles and the console are scenery.

The can't take component parts rule does nothing when the noun is the console.

If that doesn’t work for you, you might look into the Subcommands extension, which lets you inspect the exact command text used to refer to an object.

3 Likes

For me, I’d use an “instead” for taking the console.

Instead of taking consoles:
     say "The consoles are all bolted to the counter.";
3 Likes

This may be overkill, but i write a custom can’t take message for every untakeable object in my game. But I have an extension so I don’t have to write lots of instead rules.

2 Likes

You can also just do something like this:

The can't take scenery rule response (A) is "[The noun] [are] hardly portable."

That way the message will always be self-consistent, even if it doesn’t use the same synonym that the player did.

2 Likes

Oh wow, plenty of very good answers. I ended up with the solution suggested by @jwalrus for simplicity in this case, but I’ve learned quite a bit from the rest. Thanks!

1 Like