Multi-purpose act()'s

From: Doppleganger Software (doppsoft@TZC.COM)
Date: 02/02/98


After the talk of the lack of action_descriptions for the various types
(character, victim, room, etc) I have made the perform_act more
versitile....versitile enough to handle mult-target acts.  It requires a
few changes:

in comm.c

add ", bool to_char" to the paramater for peform_act, you will need to
change comm.h as well.

In all perform_act calls, add a false to ALL calls, except the one to
TO_CHAR in void act() which will be a true.

In perform_act, add the following case:

     case 'z':
       if (!to_char)
         i = "s";
        break;

in utils.h, change the define of PERS to be this:

#define PERS(ch, vict)   (CAN_SEE(vict, ch) ? ((ch == vict) ? "you" :
GET_NAME(vict)) : "someone")

Now, say you wanted the the following outputs:

You hit Torg with a terrible stroke.   (to char)
Talos hits Torg with a terrible stroke.  (to not vict)
Talos hits you with a terrible stroke.   (to vict)

This is how you do it:

$n hit$z $N with a terrible stroke.

$z will only display an s if the act goes to anyone but the character.

"One hundred years from now, none of this will matter because you and I
will be dead -- unless the Grim Reaper has switched his record-keeping to
a Windows 95-based system, in which case we all might live forever. "
-- Associated Press


     +------------------------------------------------------------+
     | 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