/
bin/95/
docs/DM/
docs/creatures/
docs/objects/
docs/rooms/
docs/utils/
help/
log/
objmon/ddesc/
player/
post/
rooms/
util/
util/fing/
util/italk/
util/lev-reset/
util/lib/
util/list/
util/msg/
util/tdel/
util/vote/
util/wtfix/
Chris Busch

The following code must be added to act_comm.c in the MERC distribution.  I
encourage people to try to incorperate this code into their mud even if it
is not a MERC. 

#error

/*Add into file about line 604*/
/*cbusch was here*/
void chatperform(CHAR_DATA *ch,CHAR_DATA *victim,char* msg)
{ /*ch here should be a NPC, but its checked below*/
  char* reply;
  if( !IS_NPC(ch) || (victim!=NULL && IS_NPC(victim)) ) 
    return;  /*ignores ch who are PCs and victims who are NPCs*/
  reply=dochat(ch->name,msg, victim ? victim->name : "you" );
  if(reply) {
    switch(reply[0]) {
    case '\0': /* null msg*/ 
      break;
    case '"' : /*do say*/
      do_say(ch,reply+1);
      break;
    case ':' : /*do emote*/
      do_emote(ch,reply+1);
      break;
    case '!' : /*execute command thru interpreter*/
      interpret(ch, reply+1 );
      break;
    default : /* is a say or tell*/
      if(victim == NULL )         do_say(ch,reply);
      else { /* do a tell  (this is always the case here)*/
	act("$N tells you '$t'.",victim,reply,ch,TO_CHAR); 
	/*^^^^^^^^^^misnomer sends to victim*/
	victim->reply=ch;
      }
    }
  }
}

  
/*about line 637*/
/*cbusch was here*/
void chatperformtoroom( char *txt, CHAR_DATA *ch) 
{ /*ch here is the PC saying the phrase*/

  CHAR_DATA *vch;
  if( IS_NPC(ch)) return; /*we dont want NPCs trigger'ing events*/

  for ( vch = ch->in_room->people; vch != NULL; vch = vch->next_in_room )
    if ( IS_NPC( vch ) && !( vch->pIndexData->progtypes & SPEECH_PROG ) 
	&& IS_AWAKE(vch) )
      chatperform(vch,ch,txt);
  return;

}



/*add the chatperform line to do_tell function*/
void do_tell( CHAR_DATA *ch, char *argument )
{
  .........code removed........
    /*cbusch 8/21/95 about line 716*/
    chatperform(victim,ch,argument);
    /*cbusch end*/
    return;
}

/*add the chatperfrom line to do_reply function*/
void do_reply( CHAR_DATA *ch, char *argument )
{
    .........code removed.........
    /*cbusch 8/21/95 about line 756*/
    chatperform(victim,ch,argument); 
    /*cbusch end*/
    return;
}


/*add the chatperformtoroom line to do_emote function*/
void do_emote( CHAR_DATA *ch, char *argument )
{
  ....code deleted....
    /*cbusch was here*/
    chatperformtoroom(argument,ch);
    /*end cbusch was here*/
    return;
}