Custom Library Messages

version 28/100614 by David Fisher

  • Home page
  • Beginning
  • Previous
  • Next



  • Section 3.7 - "Say word" rules

    To say (the_case - letter case) 'you':
    set the current object to the player / "'you'";
    if lm_p3 and lm_sing and libmsg_3ps_changed is 0, say the_case 'he';
    otherwise find the_case & curr_obj_person & curr_obj_number
    in the table of 'you' forms.

    To say (the_case - letter case) 'your':
    set the current object to the player / "'your'";
    if lm_p3 and lm_sing, say the_case 'his';
    otherwise find the_case & curr_obj_person & curr_obj_number
    in the table of 'your' forms.

    To say (the_case - letter case) 'you're':
    say the_case 'you';
    if lm_past, say " [are]"; [ will become "you were", etc ]
    otherwise find curr_obj_person & curr_obj_number
    in the table of 'you're' endings.

    To say (the_case - letter case) 'you've' auxiliary:
    say the_case 'you';
    find curr_obj_person & curr_obj_number
    in the table of 'you've' endings.

    To say (the_case - letter case) 'yourself':
    set the current object to the player / "'yourself'";
    if lm_p3 and lm_sing, find the_case & curr_obj_gender & curr_obj_number
    in the table of 'himself' forms;
    otherwise find the_case & curr_obj_person & curr_obj_number
    in the table of 'yourself' forms.

    To say (the_case - letter case) 'himself':
    set the current object to main object / "'himself'";
    find the_case & curr_obj_gender & curr_obj_number
    in the table of 'himself' forms.

    [ "you" as the direct object (always lower case), eg. "He saw you" ]

    To say you dobj:
    set the current object to the player / "you dobj";
    if lm_p3 and lm_sing and libmsg_3ps_changed is 0, say "[him]";
    otherwise find curr_obj_person & curr_obj_number
    in the table of 'you' dobj forms.

    To say you|yourself:
    if curr_subject is the player, [ if the player is doing the action ]
    say "[yourself]";
    otherwise say you dobj.

    To say (the_case - letter case) 'he':
    find the_case & curr_obj_gender & curr_obj_number
    in the table of 'he' forms.

    To say (the_case - letter case) 'his':
    find the_case & curr_obj_gender & curr_obj_number
    in the table of 'his' forms.

    To say (the_case - letter case) 'him':
    find the_case & curr_obj_gender & curr_obj_number
    in the table of 'him' forms.

    To find (the_case - letter case) verb in (t_present - table-name) / (t_past - table-name):
    if lm_present, find the_case & curr_obj_person & curr_obj_number
    in t_present;
    otherwise find the_case & curr_obj_person & curr_obj_number
    in t_past.

    To find (the_case - letter case) negative in (t_present - table-name) / (t_past - table-name):
    if lm_present, find negative the_case & curr_obj_person & curr_obj_number
    in t_present;
    otherwise find negative the_case & curr_obj_person & curr_obj_number
    in t_past.

    To say (the_case - letter case) 'did' for (obj_ - object):
    set the current object to obj_ / "'did'";
    find the_case & curr_obj_person & curr_obj_number
    in the table of 'did' forms.

    To say (the_case - letter case) 'didn't' for (obj_ - object):
    set the current object to obj_ / "'didn't'";
    find negative the_case & curr_obj_person & curr_obj_number
    in the table of 'did' forms.

    To say (the_case - letter case) 'do' for (obj_ - object):
    set the current object to obj_ / "'do'";
    find the_case verb in the table of 'do' forms /
    the table of 'did' forms.

    To say (the_case - letter case) 'don't' for (obj_ - object):
    set the current object to obj_ / "'don't'";
    find the_case negative in the table of 'do' forms /
    the table of 'did' forms.

    To say (the_case - letter case) 'are' for (obj_ - object):
    set the current object to obj_ / "'are'";
    find the_case verb in the table of 'are' forms /
    the table of 'were' forms.

    To say (the_case - letter case) 'aren't' for (obj_ - object):
    set the current object to obj_ / "'aren't'";
    find the_case negative in the table of 'are' forms /
    the table of 'were' forms.

    To say (the_case - letter case) 'have' for (obj_ - object):
    set the current object to obj_ / "'have'";
    find the_case verb in the table of 'have' forms /
    the table of 'had' forms.

    To say (the_case - letter case) 'haven't' for (obj_ - object):
    set the current object to obj_ / "'haven't'";
    find the_case negative in the table of 'have' forms /
    the table of 'had' forms.

    To say (the_case - letter case) 'can':
    find the_case verb in the table of 'can' forms /
    the table of 'could' forms.

    To say (the_case - letter case) 'can't':
    find the_case negative in the table of 'can' forms /
    the table of 'could' forms.

    To say (the_case - letter case) 'have' auxiliary for (obj_ - object):
    set the current object to obj_ / "'have' aux";
    find the_case & curr_obj_person & curr_obj_number
    in the table of 'have' forms.

    To say (the_case - letter case) 'haven't' auxiliary for (obj_ - object):
    set the current object to obj_ / "'haven't' aux";
    find negative the_case & curr_obj_person & curr_obj_number
    in the table of 'have' forms.

    To say You: say upper-case 'you'; change curr_subject to the player.
    To say Your: say upper-case 'your'.
    To say You're: say upper-case 'you're'.
    To say You've+: say upper-case 'you've' auxiliary.
    To say Yourself: say upper-case 'yourself'.
    To say He: say upper-case 'he'; change curr_subject to curr_obj.
    To say His: say upper-case 'his'.
    To say Him: say upper-case 'him'.
    To say Himself: say upper-case 'himself'.

    To say you: say lower-case 'you'; change curr_subject to the player.
    To say your: say lower-case 'your'.
    To say you're: say lower-case 'you're'.
    To say you've+: say lower-case 'you've' auxiliary.
    To say yourself: say lower-case 'yourself'.
    [ To say you dobj: defined above ]
    [ To say you|yourself: defined above ]
    To say he: say lower-case 'he'; change curr_subject to curr_obj.
    To say his: say lower-case 'his'.
    To say him: say lower-case 'him'.
    To say himself: say lower-case 'himself'.

    [ 'do', 'are' and 'have' assume the player is the subject; if some other
    thing is the subject, use 'do|does' / 'is|are' / 'has|have' instead ]

    To say Are: say upper-case 'are' for the player; change curr_subject to the player.
    To say Aren't: say upper-case 'aren't' for the player; change curr_subject to the player.
    To say Did: say upper-case 'did' for the player; change curr_subject to the player.
    To say Didn't: say upper-case 'didn't' for the player; change curr_subject to the player.
    To say Do: say upper-case 'do' for the player; change curr_subject to the player.
    To say Don't: say upper-case 'don't' for the player; change curr_subject to the player.
    To say Have: say upper-case 'have' for the player; change curr_subject to the player.
    To say Haven't: say upper-case 'haven't' for the player; change curr_subject to the player.
    To say Have+: say upper-case 'have' auxiliary for the player; change curr_subject to the player.
    To say Haven't+: say upper-case 'haven't' auxiliary for the player; change curr_subject to the player.

    To say are: say lower-case 'are' for the player.
    To say aren't: say lower-case 'aren't' for the player.
    To say did: say lower-case 'did' for the player.
    To say didn't: say lower-case 'didn't' for the player.
    To say do: say lower-case 'do' for the player.
    To say don't: say lower-case 'don't' for the player.
    To say have: say lower-case 'have' for the player.
    To say haven't: say lower-case 'haven't' for the player.
    To say have+: say lower-case 'have' auxiliary for the player.
    To say haven't+: say lower-case 'haven't' auxiliary for the player.

    To say Can: say upper-case 'can'.
    To say Can't: say upper-case 'can't'.
    To say can: say lower-case 'can'.
    To say can't: say lower-case 'can't'.

    To say It's: say "[/r]"; follow the upper-case 'it's' rule.
    To say it's: say "[/r]"; follow the lower-case 'it's' rule.
    To say There's: say "[/r]"; follow the upper-case 'there's' rule.
    To say there's: say "[/r]"; follow the lower-case 'there's' rule.
    To say comes|came: say "[/r]"; follow the lower-case 'comes' rule.

    [ here/there, for contexts like "A dog is here" or "A dog was there" ]
    To say here: say "[if lm_past]t[end if]here".

    This is the upper-case 'it's' rule:
    say "It[if lm_present][apostrophe]s[otherwise] was".
    This is the lower-case 'it's' rule:
    say "it[if lm_present][apostrophe]s[otherwise] was".
    This is the upper-case 'there's' rule:
    say "[if lm_present]There's[otherwise]There was".
    This is the lower-case 'there's' rule:
    say "[if lm_present]there's[otherwise]there was".
    This is the lower-case 'comes' rule:
    say "[if lm_present]comes[otherwise]came".

    To say Is|Are: say upper-case 'are' for curr_obj; change curr_subject to curr_obj.
    To say Has|Have: say upper-case 'have' for curr_obj; change curr_subject to curr_obj.
    To say Does|Do: say upper-case 'do' for curr_obj; change curr_subject to curr_obj.
    To say Isn't|Aren't: say upper-case 'aren't' for curr_obj; change curr_subject to curr_obj.
    To say Hasn't|Haven't: say upper-case 'haven't' for curr_obj; change curr_subject to curr_obj.
    To say Doesn't|Don't: say upper-case 'don't' for curr_obj; change curr_subject to curr_obj.

    To say is|are: say lower-case 'are' for curr_obj.
    To say has|have: say lower-case 'have' for curr_obj.
    To say does|do: say lower-case 'do' for curr_obj.
    To say isn't|aren't: say lower-case 'aren't' for curr_obj.
    To say hasn't|haven't: say lower-case 'haven't' for curr_obj.
    To say doesn't|don't: say lower-case 'don't' for curr_obj.

    To say Is|Was:
    if lm_present, find upper-case & third person & singular in the table of 'are' forms;
    otherwise find upper-case & third person & singular in the table of 'were' forms.
    To say Isn't|Wasn't:
    if lm_present, find negative upper-case & third person & singular in the table of 'are' forms;
    otherwise find negative upper-case & third person & singular in the table of 'were' forms.
    To say is|was:
    if lm_present, find lower-case & third person & singular in the table of 'are' forms;
    otherwise find lower-case & third person & singular in the table of 'were' forms.
    To say isn't|wasn't:
    if lm_present, find negative lower-case & third person & singular in the table of 'are' forms;
    otherwise find negative lower-case & third person & singular in the table of 'were' forms.

    To print (word1_ - text) for singular or (word2_ - text) for plural:
    if curr_obj is the player, say "[if lm_p3 and lm_sing][word1_][otherwise][word2_]";
    otherwise say "[if curr_obj acts plural][word2_][otherwise][word1_]".

    To say It|They:
    print "It" for singular or "They" for plural; change curr_subject to curr_obj.
    To say It|Those:
    print "It" for singular or "Those" for plural; change curr_subject to curr_obj.
    To say That|Those:
    print "That" for singular or "Those" for plural; change curr_subject to curr_obj.
    To say That|They:
    print "That" for singular or "They" for plural; change curr_subject to curr_obj.
    To say That's|They're:
    print "That's" for singular or "They're" for plural; change curr_subject to curr_obj.

    [ for the following group of "say" rules, assume main object is being referred to ]

    To say it|they:
    set the current object to main object / "it|they";
    print "it" for singular or "they" for plural.
    To say it|them:
    set the current object to main object / "it|them";
    print "it" for singular or "them" for plural.
    To say it|those:
    set the current object to main object / "it|those";
    print "it" for singular or "those" for plural.
    To say that|those:
    set the current object to main object / "that|those";
    print "that" for singular or "those" for plural.

    To say is|are for (n_ - a number):
    if n_ is 1, say "is";
    otherwise say "are".

    To say off|out of:
    if curr_obj is a supporter, say "off";
    otherwise say "out of".
    To say onto|into:
    if curr_obj is a supporter, say "onto";
    otherwise say "into".
    To say on|in:
    if curr_obj is a supporter, say "on";
    otherwise say "in".
    To say On|In:
    if curr_obj is a supporter, say "On";
    otherwise say "In".