Limited Implicit Actions

version 2 by Eric Eve

  • Home page
  • Beginning
  • Next



  • Documentation


    Chapter: The Basics

    Section: What Limited Implicit Actions Is For

    Limited Implicit Actions is a cut-down version of the Implicit Actions extension that may prove useful in either or both of the following circumstances:

    (a) We're writing a Z-Code game that's running short of space, and we want something less resource-hungry than the full Implicit Actions extension.

    (b) We want some implicit actions, but we also want to use Emily Short's Locksmith extension.

    If neither of these conditions hold, then we may well do better to use the full Implicit Actions extension.

    Note that some of the functionality of Limited Implicit Actions is now provided by the Standard Rules as from Inform release 6E59. Limited Implicit Actions does, however, handle a few more cases than the Standard Rules, as well as providing an extensible framework for simple implicit actions and slightly better reporting of implicit actions that fail.

    Limited Implicit Actions uses less resources than the full Implicit Actions extensions because:

    (a) It makes no use of indexed texts or the Text Capture extension.
    (b) It does not supply implicit actions for doors and locks (though these can be added if required, see below).
    (c) It does not attempt to group implcit action announcements, e.g. "(first taking the brass key, then unlocking the oak door with the brass key, then opening the brass door)".

    What Limited Implicit Actions (LIA) does do is:

    (a) Perform an implicit take if needed for PUT X IN Y or PUT X ON Y.
    (b) Perform an implicit open if needed for SEARCH X, PUT X IN Y (when Y is a closed container) or TAKE X (when X is in a closed transparent container).
    (c) Perform impliciit exiting if the player tries to go somewhere while on an enterable supporter or in an enterable container.


    Addtionally, LIA tries to guess whether the implicit action will succeed or fail, and announce it accordingly, e.g. "(first taking the ball)" for a success and "(first trying to take the ball)" for a failure. These guesses are likely to be right most of the time so long as our game doesn't do anything out of the ordinary. The guesses will be wrong, however, when, for example, we use an Instead or Before rule to prevent an action that would otherwise have succeeded. This limitation is one of the prices we have to pay for using Limited Implicit Actions instead of the full Implicit Actions extensions, but it may be a limitation worth living with.