Suppressing a Message (adv3Lite)

Here’s an implementation question.

I have an NPC (a robot, essentially) that can be commanded to travel. Some of the travel connectors are doors. I’ve written a sayActorDeparting(conn) message that handles this situation by reporting how the robot negotiates the door – but then adv3Lite adds, “(first opening the door)”.

I need to suppress this message.

I’ve looked through the docs as well as I could, and searched the list of Messages, but this particular string seems never to appear anywhere among the messages, which leaves me a bit in the dark as to where this message is coming from. It’s an implicit action report, I know that much … but how would one prevent an implicit action report from printing?

Hmm … it looks as if I should be able to set gAction.reportImplicitActions = nil in order to suppress the current report. I’ll try that.

Right, hopefully that should work for you, but if you need to dig further implicit action annoucements are generated by the buildImplicitActionAnnouncement() method of the Action class. The method is actually defined in the language-dependent section of the library (english.t) in the modify Action definition. The construction of an implicit action report is too complex for the whole thing to be defined as a BMsg or DMsg, but you’ll find individual elements (e.g. ‘first’, ‘then’ and ‘trying to’) are defined using BMsg so that they can be readily changed without having to re-write the entire method.