Specifically, the “so-and-so comes with you” from an accompanying NPC. I’ve been searching through the code, trying to figure out what property or method I need to tweak, but it’s like looking for a flea in a bowl of rice.
Basically, I want to replace “X comes with you” with my own message. I tried adapting the beforetravel method:
Untested, but looking at AccompanyingState in the Library Reference Manual, its superclass tree includes TravelMessageHandler, from which it inherits a variety of methods, including sayArriving and sayDeparting. Most likely you want to override some of those.
Trying to figure things out from the library code isn’t always the best idea. In this case I’d suggest consulting the TADS 3 Technical Manual, specifically the section on Accompanying Travel in the article on Creating Dynamic Characters, which I think covers what you want to do here. The example there includes the following sample code:
blurgEscortState: AccompanyingState, HermitActorState
specialDesc = "The Blurg guard is keeping his hyperlaser
trained on you. "
stateDesc = "He has his hyperlaser pointed straight at you. "
accompanyTravel(leadActor, conn) { return leadActor == gPlayerChar; }
getAccompanyingTravelState(leadActor, conn)
{ return new BlurgEscortTravelState(location, leadActor, self); }
noReponse = "Silence, feeble human! "
;
class BlurgEscortTravelState: AccompanyingInTravelState
sayDeparting(conn) { "The Blurg guard prods you onward. "; }
specialDesc = "<q>Keep moving, human scum!</q> the
Blurg guard growls. "
;
But you’ll need to consult the article for an explanation of that code if it’s not clear how to adapt it for your own use. The key step is to define a custom AccompanyingInTravelState on which you can define your own accompanying messages, and then to link it to the NPC’s AccompanyingState as in the above sample code.
There’s a further example, with a brief explanation, in the section on AccompanyingInTravelState in the TADS 3 Tour Guide. That example may be of interest in illustrating one way to have a randomly varying accompanying message.
Thanks, Eric; it works now. (And Jim, thanks to you too for trying).
I’m a bit mystified by the setup, though; I mean, it switches from AccompanyingState to an AccompanyingInTravelState and then back again for one turn? Why is this tag-teaming necessary? I’d thought that the AccompanyingState was the one-stop-shop for all my tag-along NPC needs. o_O