# Messager (of `Object`)

class `Messager`

  Defined in Messager.sc.

  Messager is responsible for automatically showing sequences of messages, including invoking the appropriate `Talker` instances to display the messages.

  In general, only one instance of Messager exists in the game, gMessager in the main.sc script.

  Messager is mostly commonly triggered automatically by the player performing an action on an object (e.g. a verb on a noun). However, sometimes you will want to invoke it directly if you have more complex logic to deal with certain situations. The principal method of interest for callers is say().

  Example usage:

      (gMessager say: noun verb condition seqeuence caller roomNumber)

## Properties

Inherited from `Object`:

Property | Description
--- | ---
name |

Defined in Messager:

Property | Description
--- | ---
caller |
disposeWhenDone |
oneOnly |
killed |
oldIconBarState |
curSequence |
lastSequence |
talker |

## Methods

`dispose`()

`cue`(param1)

  Cues the Messager, which triggers the next message in a sequence to be displayed.

`say`(noun [verb cond seq caller modnum])

`say`(noun [verb cond seq lastSeq caller modnum])

  Causes the specified message to be shown using its associated `Narrator` or `Talker`. If seq is 0, then all messages in the sequence are shown. Otherwise, only the one with the specified sequence is shown.

  Parameters: | noun (number) – The noun of the message to show. verb (number) – The verb of the message to show. cond (number) – The condition of the message to show. seq (number) – The sequence number of the message to show, or 0 to show all messages in a sequence. lastSeq (number) – The last sequence to show. caller (object) – Optional caller. modNum (number) – Optional room number of the message to show (if not specified, the current room is used).

`say`(-1 [caller])

  This version of say does the same thing as the parameterless sayNext(), but lets you specify a new caller.

`sayFormat`(talkerNumber formatString theCaller params)

  Directly invokes the `Narrator` or `Talker` with the formatted message string.

`sayNext`()

`sayNext`(theModNum noun verb cond seq)

  This displays the next message in a sequence. It should generally only be called by the framework.

`findTalker`(talkerNumber)

  This message should be overridden in subclasses to return a talker object based upon a talker number.