With most rulebooks, a rule will continue to the next rule unless there is an explicit stop (stop the action or instead).
With the Instead rulebook, once a rule runs, the rulebook will stop checking rules, unless there is an explicit continue.
Is there a way to make another rulebook work like Instead?
Doesn’t this (from Writing with Inform section 18.10) work?
The cosmic analysis rules are a rulebook. The cosmic analysis rules have default failure.
Hmmm… Declaring foo to be default success works as desired; declaring barring it with to be default success has no effect. Any idea what the correct syntax is?
[code]“Test Rulebooks” by “Mark J. Tilford”
Fooing is an action applying to nothing. Understand “foo” as fooing.
The carry out fooing rulebook has default success.
Carry out fooing:
say “This is a foo rule.”;
Carry out fooing:
say “This is a different foo rule.”;
Place is a room.
The player holds a book. The player holds a rock.
Barring it with is an action applying to two visible objects. Understand “bar [something] with [something]” as barring it with.
[The carry out barring it with rulebook has default success.][not accepted]
Carry out barring it with has default success.
Carry out barring the book with something:
say “Barring the book!”;
Carry out barring something with the rock:
say “Barring with the rock!”;
test me with “foo / bar book with rock”.[/code]
It looks to me as though it’s specifically a problem with “with.” If you define the action as “barring it wwith” and double your w’s appropriately, then the line that you’ve commented out will compile.
(I imagine this is a bug.)
UPDATE: But even if we change it to “wwith” and use that line, it doesn’t work as intended. And in the index, the carry out barring it with rulebook is listed as having default success, just like the carry out fooing rulebook. OK, this is officially beyond me.
It compiles, but both strings still print.
Looks like two bugs to me: “with” not compiling for that assertion, and the default outcome being ignored for action rulebooks with two parameters. Could you report them both on Mantis? www.inform7.com/bugs/
I’d expect to get a compiler error if I tried to change the default outcome of a specific action processing rulebook. Sounds dangerous!