I'm attempting to implement an Inform-style 'test me' action, and I can't seem to figure out how to use nestedAction or nestedActorAction without causing a run-time error. Here's my code:
Code:
DefineIAction (X1)
execAction() {
trawlerItself.turnCount = 13; // this line works fine...
nestedActorAction(me, TravelVia, trawlerDeck.west); // ...but this one causes an error
nestedActorAction(me, Take, tiedRope);
"Advancing.... ";
}
;
VerbRule(X1)
'x1'
: X1Action
verbPhrase = 'advance/advancing the game'
;
I get a nil object reference in the constructor for this class in parser.t, on the line shown:
Code:
class PreResolvedProd: BasicProd
construct(obj)
{
/* if it's not a collection, we need to make it a list */
if (!obj.ofKind(Collection))
The same thing happens if I replace nestedActorAction with nestedAction (and get rid of "me, " in the parameters). I don't think the syntax for my nestedActions can be wrong, because the same syntax works in another part of the game.
To make matters more interesting, I'm not sure how to use Workbench's Watch Expressions window to troubleshoot this, since I would need to step
backward through the code in order to find out what method is trying to construct a new PreResolvedProd (with a nil object). I don't know how to do that.
There has to be a way to build a list of actions that can be generated automatically from an in-game debugging command. Maybe I'm doing it all wrong. Suggestions welcome....