Consolidated Multiple Actions

version 1 by John Clemens

  • Home page
  • Beginning
  • Next



  • Documentation


    Section: Basic behavior

    Normally, when the player issues a command such as "take knife and fork" or "drop all", Inform prints a series of messages, one for each object, preceded by the object name. This often results of a series of default messages, which we might rather see grouped into a single message. Consolidated Multiple Actions combines the reports of such multiple actions into a single message when the actions have standard results. The default behavior requires no additional work beyond including the extension.

    Before printing any reports, the actions are tested and divided into three categories. "Standard" action results are those which succeed and print nothing when run silently, i.e., they print text only in report rules (parenthetical and bracketed output, such as "(first taking the...)" and debugging messages are ignored here). "Failed" action results are those which fail. "Noteworthy" action results are ones which either succeed but print text other than in a report rule (e.g., they use an "after" rule), or are explicitly marked as noteworthy. This can override standard and failed results. An action result can be marked as noteworthy by using the phrase:

            indicate noteworthy consolidation

    This can be used anywhere in the rulebooks for the action except the "report" rules (which are not consulted during testing).

    After the action results are determined, a single report message is printed for all of the objects which had standard results. Then the failed actions are run sequentially, with the usual reporting, followed by the noteworthy actions. By default, the object name is printed before failed action results (as in the ordinary behavior), but is omitted before noteworthy action results.

    There is one use option: "Use strict action consolidation checking" will require that nothing at all be printed (not even parenthetical messages) in order for an action result to be considered standard. Finally, when using the "actions" debugging commands, messages will be printed showing the results of the consolidation tests.