Errors in Standard Rules

There are some errors in The Standard Rules that should be noted. Consider this piece of code.

[code]“Test”

A persuasion rule: persuasion succeeds.

The Testing Room is A Room. Mr Monkey is a person in the testing room. The table is a supporter in the testing room. The box is a container in the testing room. The lamp is in the testing room. The lamp is fixed in place. The player carries the chest.

Test me with “put lamp on table / put lamp in box / monkey, ask me for the chest”.[/code]

First Error.

Both putting the lamp on the table and inserting the lamp into the box correctly fail the prerequisite taking due to the lamp being fixed in place.

Then inserting the lamp into the box then gives this message, as it should.

[code]>put lamp in box
(first taking the lamp)

That’s fixed in place.[/code]

But putting the lamp on the table gives two messages, like so.

[code]>put lamp on table
(first taking the lamp)

That’s fixed in place.
You need to be holding the lamp before you can put it on top of something else.[/code]

This appears to be a remnant left from the pre auto taking versions of Inform. It’s also a bit misleading since the player can’t take the lamp anyway.

Second Error.

Typing the command “monkey, ask me for the chest” gives a blank response and doesn’t transfer the chest at all when it should convert to the giving action, like so.

[code]>monkey, ask me for the chest

[/code]

Fixes.

The first error can be fixed by changing this:

Check an actor putting something on (this is the can't put what's not held rule): if the actor is carrying the noun, continue the action; if the actor is wearing the noun, continue the action; issue miscellaneous library message number 26 for the noun; silently try the actor taking the noun; if the actor is carrying the noun, continue the action; stop the action with library message putting it on action number 1 for the noun.

To this:

Check an actor putting something on (this is the can't put what's not held rule): if the actor is carrying the noun, continue the action; if the actor is wearing the noun, continue the action; issue miscellaneous library message number 26 for the noun; silently try the actor taking the noun; if the actor is carrying the noun, continue the action; stop the action.

The second error can be fixed by adding a try giving rule when the noun is the player.

These probably need to be fixed in the standard rules if they haven’t already been done so. So, could the relevant IF Gods make the relevant changes? Thanks.

Errors in the Standard Rules should be filed on the bug tracker.

Actually, my reason for posting here first was to see whether others get the same errors before filing it as a bug.

I do get those errors – but if that’s your purpose, then you ought to end your post with something to that effect, instead of an entreaty to the IF Gods. Entreaties to the IF Gods go in the bug tracker; reproducing bugs can be carried out by IF mortals, but we might fear that answering questions directed at the Gods might anger the Great Old Ones.

Every bug in the bug tracker gets reproduced/confirmed, that’s how the system works. (Most of the time it seems to be EmacsUser who does the work. Thanks EmacsUser!) If it’s not a bug then that will be made clear. If it’s not obvious whether it’s a bug or not, then discussion takes place. So just go straight to the bug tracker. Everything that could be done in this forum thread could be done there instead.

Though remember to search for similar bugs first!

I see what you’re getting at, but I was however going by what is mentioned on the inform website under “reporting bugs in inform” as what appears to be the first course of action.

But it does seem better to list it as a bug in the first place on the bug tracker.

If you’re not sure how the system is supposed to work, it is generally worth a post to ask “Is this a bug, or is it behaving as intended? (And if the latter, what’s the logic?)”

When you start by saying “Here is a bug,” you’re skipping that part. :slight_smile: