Grouped Messages As Dialogue

version 1 by Ron Newcomb

  • Home page
  • Beginning
  • Previous
  • Next



  • section 10 - Pre-empting all built-in actions' Report rules - written by David Fisher

    First report someone trying closing:
        if LibMsg <report npc closing> is observed, stop the action.
    First report closing rule:
        if LibMsg <report player closing> is observed, stop the action.

    First report someone taking: if LibMsg <report npc taking> is observed, stop the action.
    First report taking: if LibMsg <report player taking> is observed, stop the action.

    The first report someone trying consulting:
    if LibMsg <block npc consulting> is observed, stop the action;
    First report consulting it about rule:
    if LibMsg <block player consulting> is observed, stop the action;

    First report someone trying dropping:
    if LibMsg <report npc dropping> is observed, stop the action;
    First report dropping rule:
    if LibMsg <report player dropping> is observed, stop the action;

    First report someone trying eating:
    if LibMsg <report npc eating> is observed, stop the action;
    First report eating rule:
    if LibMsg <report player eating> is observed, stop the action;

    First report someone trying entering:
    if LibMsg <report npc entering> is observed, stop the action;
    First report entering rule:
    if LibMsg <report player entering> is observed begin;
    abide by the describe contents entered into rule;
            stop the action;
        end if;
        
    This is the custom report exiting rule:
    if the actor is the player begin;
         if LibMsg <report player exiting> is observed, stop the action; [ no need to call the "describe room emerged into rule" - comes next in the ruleboook ]
    otherwise;
         if LibMsg <report npc exiting> is observed, stop the action;
    end if;

    [ Inform 7 separates getting "out of" (a non-supporter) and
    getting "off" (a supporter); these are grouped together in
    this extension. ]

    The custom report exiting rule is listed instead of the standard report exiting rule in the report exiting rules.

    The custom report exiting rule is listed instead of the standard report getting off rule in the report getting off rules.

    First report someone trying giving:
    if LibMsg <report npc giving> is observed, stop the action.
    First report giving it to rule:
    if LibMsg <report player giving> is observed, stop the action.

    First report someone trying inserting:
    if LibMsg <report npc inserting> is observed, stop the action.
    First report inserting it into rule:
    if LibMsg <report player inserting> is observed, stop the action.

    First report someone trying locking:
    if LibMsg <report npc locking> is observed, stop the action.
    First report locking it with rule:
    if LibMsg <report player locking> is observed, stop the action.

    First report someone trying opening:
    if LibMsg <report npc opening> is observed, stop the action.
    First report opening rule:
    if LibMsg <report player opening> is observed, stop the action.

    [ there are two "report opening" rules, and this one needs
    to happen before the one above ]
    First report opening rule:
    abide by the reveal any newly visible interior rule.

    First report someone trying pulling:
    if LibMsg <report npc pulling> is observed, stop the action.
    First report pulling rule:
    if LibMsg <report player pulling> is observed, stop the action.

    First report someone trying pushing:
    if LibMsg <report npc pushing> is observed, stop the action.
    First report pushing rule:
    if LibMsg <report player pushing> is observed, stop the action.

    First report someone trying putting:
    if LibMsg <report npc putting on> is observed, stop the action.
    First report putting it on rule:
    if LibMsg <report player putting on> is observed, stop the action.

    [There are no "report removing" rules in Inform 7 any more ]

    Rule for default errors when the message of the game error is LibMsg <report npc removing>: say "Removed."
    Rule for default errors when the message of the game error is LibMsg <report player removing>: say "Removed."

    First report someone trying removing:
    if LibMsg <report npc removing> is observed, stop the action.
    First report removing it from rule:
    if LibMsg <report player removing> is observed, stop the action.

    First report someone trying squeezing:
    if LibMsg <report npc squeezing> is observed, stop the action.
    First report squeezing rule:
    if LibMsg <report player squeezing> is observed, stop the action.

    First report someone trying switching on:
    if LibMsg <report npc switching on> is observed, stop the action.
    First report switching on rule:
    if LibMsg <report player switching on> is observed, stop the action.

    First report someone trying switching off:
    if LibMsg <report npc switching off> is observed, stop the action.
    First report switching off rule:
    if LibMsg <report player switching off> is observed, stop the action.

    First report someone trying taking off:
    if LibMsg <report npc taking off> is observed, stop the action.
    First report taking off rule:
    if LibMsg <report player taking off> is observed, stop the action.


    [ there are two "report taking" rules, and this one needs
    to happen before the one above ]
    First report taking rule:
    abide by the don't report successful implicit takes rule.

    First report someone trying turning:
    if LibMsg <report npc turning> is observed, stop the action.
    First report turning rule:
    if LibMsg <report player turning> is observed, stop the action.

    First report someone trying unlocking:
    if LibMsg <report npc unlocking> is observed, stop the action.
    First report unlocking it with rule:
    if LibMsg <report player unlocking> is observed, stop the action.

    First report someone trying waiting:
    if LibMsg <report npc waiting> is observed, stop the action.
    First report waiting rule:
    if LibMsg <report player waiting> is observed, stop the action.

    First report someone trying waving some thing:
    if LibMsg <report npc waving things> is observed, stop the action.
    First report waving rule:
    if LibMsg <report player waving things> is observed, stop the action.

    First report someone trying wearing:
    if LibMsg <report npc wearing> is observed, stop the action.
    First report wearing rule:
    if LibMsg <report player wearing> is observed, stop the action.

    First report someone trying touching:
    if the noun is the actor and LibMsg <report npc touching self> is observed, stop the action;
    if the noun is a person or the noun is the player and LibMsg <report npc touching other people> is observed, stop the action;
    if LibMsg <report npc touching things> is observed, stop the action.

    First report touching rule:
    if the noun is the player and LibMsg <report player touching self> is observed, stop the action;
    if the noun is a person and LibMsg <report player touching other people> is observed, stop the action;
    if LibMsg <report player touching things> is observed, stop the action;

    First report someone trying examining:
    if LibMsg <report npc examining> is observed, stop the action.

    This is the fake report npc looking rule:
    do nothing.

    First report someone trying looking:
    if LibMsg <report npc looking> is observed, stop the action.

    First report someone trying looking under:
    if LibMsg <report npc looking under> is observed, stop the action.

    First report someone trying searching:
    if LibMsg <report npc searching> is observed, stop the action.

    First report someone trying taking inventory:
    if LibMsg <report npc taking inventory> is observed, stop the action.

    This is the fake examine directions rule:
    say "You see nothing unexpected in that direction."

    The new examine directions rule is listed instead of the examine directions rule in the carry out examining rules.

    Carry out examining (this is the new examine directions rule):
        now the main object is the noun;
        if the noun is a direction and LibMsg <examine direction> is observed, stop the action.