…and now it’s time to implement a little red wagon. What I have discovered is that adv3Lite implements PushTravelDir, but there’s no PullTravelDir. Pushing a wagon would make no sense, so I need PullTravelDir.
I looked in thing.t, and there’s a fat wodge of stuff for handling PushTravelDir, much of which I don’t understand – stuff like PushTravelRevealItems().
Before I email Eric and make squeaking noises, I figured I should ask here whether anybody else has implemented a PullTravel action in adv3Lite, and if so whether you’d care to share your code.
Now, this is weird. It turns out the library is set up to let you either pull or push something – because functionally, in IF terms, it makes no difference. The only difference is in what the player types, and in how the library describes the resulting action. adv3Lite defines the property matchPullOnly, which if you read the DMsg code is supposed to result in “You pull the go-cart to the south” instead of “You push the go-cart to the south.” But it isn’t working. I’ve set matchPullOnly to true in my pullable object, and that changes nothing. I still get the library message saying I pushed it.
Specifically, this is the DMsg that’s being printed:
DMsg(push travel somewhere, '{I} <<if matchPullOnly>> pull{s/ed}
<<else>> push{es/ed}<<end>> {the dobj} {1} {the iobj}. ',
via.prep)