> 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"]).
-dak
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST