Testing For Rules

I am trying to test for rules so I can figure out which one I ned to turn off. I am writing test me with “rules” and it tells me testing is turned on but I dont get the name of the rule. I want to turn off the dropping rule. Is there a certain place you have to put or use test with?

I don’t quite understand what you’re saying. Could you post a transcript of what you’re trying?

I’m not sure what problem you’re having. If you use the RULES command, all of the rules that apply will be listed:

As you can see, there are several dropping rules. Rather than turn them all off for the entire game, you may find it easier and more realistic to use an Instead rule to disallow dropping only in some particular situation.

Also, the Rules tab under the Index will give you lots of information.

Would it be easier to use an instead for a specific case? Unless you are changing the drop action for the whole game.

I am on my mobile so may have to post code this evening at home. The problem I am having is with the “throwing” command. I have an instead rule written for throwing things but when it is used in game the response given is “dropped”. Since that is not what I have in the instead rule I am assuming that a standard drop rule is still being applied when “throw [something]” is entered.

I did the same thing with the waving command but here no matter what I put in understand for throwing I get dropped as a response.

The problem is that the Standard Rules define “throw” as a synonym for “drop,” which means “throw [something]” starts out being understood as dropping. You can’t define “throw [something]” as applying to a different action until you eliminate that. Which you do thus:

Understand the command "throw" as something new.

(See Section 17.3 of Writing with Inform.)

Put that in before your lines that say

Understand "throw [something]" as throwing.

(or whatever) and those lines will now work–then your rules for throwing should also work as they ought to.

Incidentally the debug command “actions” can help here–if you run it on your current code it’ll show you that when you type “Throw rock” the resulting action is dropping the rock.

That’s because the command “throw” means “drop” by default (for historical reasons, I believe). If you want to make >THROW do something different you need to define a new action. EDIT: As Matt said.

Understand the command "throw" as something new.
Throwing is an action applying to one thing. Understand "throw [something preferably held]" as throwing.
Check throwing something when the noun is not held (this is the can't throw what you don't have rule): say "You don't have [a noun] at hand." (A) instead.
Carry out throwing something (this is the standard throwing rule): silently try dropping the noun.
Report throwing something (this is the standard report throwing rule): say "[We] [throw] [the noun] to the ground." (A).
To throw is a verb.

Once you’ve included this code, you can write things like

Instead of throwing the Dust of Revelation in the presence of the invisible elephant:
    say "The dust reveals the outline of an elephant!";
    now the elephant is visible.

And now you’re ready for a belated Shufflecomp entry based on this!

Awesome, you guys have been a huge help. Thank you.

Happy birthday to the ground!!