Custom Library Messages

version 28/100614 by David Fisher

  • Home page
  • Beginning
  • Previous



  • Section 5.3 - Locale description - unindexed

    [ The following code was supplied by Emily Short ]

    The you can see more rule is listed instead of the you-can-also-see
    rule in the for printing the locale description rules.


    For printing the locale description (this is the you can see more
    rule):
        let the domain be the parameter-object;
        let the mentionable count be 0;
        repeat with item running through things:
            now the item is not marked for listing;
        repeat through the Table of Locale Priorities:
            [say "[notable-object entry] - [locale description priority
    entry].";]
            if the locale description priority entry is greater than 0,
                now the notable-object entry is marked for listing;
            increase the mentionable count by 1;
        if the mentionable count is greater than 0:
            repeat with item running through things:
                if the item is mentioned:
                    now the item is not marked for listing;
            begin the listing nondescript items activity with the domain;
            if the number of marked for listing things is 0:
                abandon the listing nondescript items activity with the domain;
            otherwise:
                if handling the listing nondescript items activity:
                    if the domain is a room:
                        if the domain is the location, say "[You] ";
                        otherwise say "In [the domain] [you] ";
                    otherwise if the domain is a supporter:
                        say "On [the domain] [you] ";
                    otherwise:
                        say "In [the domain] [you] ";
                    say "[can] [if the locale paragraph count is greater than 0]also [end if]see ";
                    let the common holder be nothing;
                    let contents form of list be true;
                    repeat with list item running through marked for listing things:
                        if the holder of the list item is not the common holder:
                            if the common holder is nothing,
                                now the common holder is the holder of the list item;
                            otherwise now contents form of list is false;
                        if the list item is mentioned, now the list item is not marked for listing;
                    filter list recursion to unmentioned things;
                    if contents form of list is true and the common holder is not nothing,
                        list the contents of the common holder, as a sentence, including contents, giving brief inventory information, tersely, not listing concealed items, listing marked items only;
                    otherwise say "[a list of marked for listing things including contents]";
                    if the domain is the location, say " here";
                    say ".[paragraph break]";
                    unfilter list recursion;
                end the listing nondescript items activity with the domain;
        continue the activity.


    Custom Library Messages ends here.