With a few minor alterations Problem-Solving Characters can be used with 6L02, but When Hindered By rules seem to have no effect. A bit of testing reveals that the rule name passed to the rulebook is correct, but that all of the rules in the rulebook are being applied, regardless of their preambles. Nothing happens because the first “applicable” rule (to handle can’t take what’s already taken) returns success without doing anything else.
Why would this be happening? It doesn’t seem to affect other rulebooks.
And this does not occur if I create a new rulebook with the same properties as the When Hindered By rules.
Aha, I have it! But I still don’t know why this is happening.
If I create an “example” rule-based rulebook, it ignores preambles of the form “example the can’t take what’s already taken rule” but considers those of the form “example for the can’t take what’s already taken rule”. I’m guessing this is a bug.
Sounds similar to this, perhaps.
EDIT: That is, when I was messing around with the code there, I was having trouble getting lines with the matched-as preposition in the preamble to compile. Maybe that’s related to what’s happening here, if I7 has somehow changed the way it treats prepositions in rulebooks that have a basis.
I’ve found a workaround for this, but the extension still doesn’t work (the interpreter crashes when it attempts to fix the properties of the cloned objects). I’m working on that now and will upload a copy to Github when I’m done.
All problems solved. This also removes the dependency on Dynamic Objects, and it should thus be possible to use it on Z-Machine as well.