Re: A-Desc

From: Daniel Koepke (dkoepke@CALIFORNIA.COM)
Date: 01/29/98

> The problem with the way it is now is that there is only one A-desc.
> From the way that I've been doing things you need three. One for
> TO_CHAR, one for TO_VICT and one for TO_NOTVICT. Of course, the
> TO_VICT would be skipped if ch == vict. That way you can have proper
> A-descs for wands, scrolls and other items that can be targeted on
> others.

I think someone (Erwin?) suggested a method for having a single act()
(or work-alike) function that can handle all TO_CHAR, TO_VICT, and
TO_NOTVICT with a single message that has some extra codes to it.  So,
to use an example (I use multi-character act codes because they are
clearer, even though they aren't stock-Circle):

  gen_act("$(actor) dance@s on $(poss_vict) grave.", ...);

The gen_act() procedure would then interpret the three codes "$(actor)"
"@s" and "$(poss_vict)".  The first, "$(actor)," would be replaced
with the actor's name or, when we are sending the message to the actor,
with "you".  The "@s" is a special code that would add "s" if we are
/NOT/ sending the message to the actor at the time (are sending it to
either victim or room).  And the "$(poss_vict)" is the possessive form
of the victim's name ("Daniel's") or the word, "your," when to==vict.

So, the following three messages are generated from the above:

  to==actor: You dance on Daniel's grave.
  to==vict : Veronica dances on your grave.
  else     : Veronica dances on Daniel's grave.

There will probably be other required "@" like codes to generate proper
grammar (though the past tense, in general, is easy ["You danced",
"Veronica danced"]).


     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | |

This archive was generated by hypermail 2b30 : 12/15/00 PST