If there is already a known way to do this in Adv3Lite, then I apologize, and would really love to know.
However, I was having a bit of trouble trying to get a series of verbs to agree with the same subject.
For example, here are example strings to print:
"{I} {hold} onto the ledge, drop{s/?ed},
and land{s/ed} on the floor below.";
"{He actor} {hold} onto the ledge, drop{s/?ed},
and land{s/ed} on the floor below.";
Despite my best efforts, I always got this result:
I hold onto the ledge, drops, and lands on the floor below.
(OLD CODE! See my updated code on the reply below!)
So I added the following custom dummy to my code:
// When the actor has multiple verbs per sentence,
// we can use this to keep the expansion on track.
actorActionContinuer_: Thing {
dummyName = ''
name = ''
theName = ''
// Not sure why this would be necessary,
// but I'm trying to follow the pattern
// set by dummy_ in Adv3Lite:
noteName(src) {
name = src;
theName = 'the ' + src;
}
person = (gActor == nil ? 3 : gActor.person)
plural = (gActor == nil ? nil : gActor.plural)
}
Now, if I do the following:
local aac = actorActionContinuer_;
gMessageParams(aac);
"{I} {hold} onto the ledge,{the subj aac}
drop{s/?ed},{the subj aac}
and land{s/ed} on the floor below.";
I finally get this result:
I hold onto the ledge, drop, and land on the floor below.
I feel like I re-invented the wheel, and probably missed something in the Adv3Lite docs, but this is how I solved it, in case anyone else was having the same problem.
Again, if anyone knows how this is supposed to be done, please let me know!