ncohafmuta-1.4.2/bot/
ncohafmuta-1.4.2/helpfiles/
ncohafmuta-1.4.2/lib/emailver/
ncohafmuta-1.4.2/tzinfo/Atlantic/
ncohafmuta-1.4.2/tzinfo/Brazil/
ncohafmuta-1.4.2/tzinfo/Chile/
ncohafmuta-1.4.2/tzinfo/Indian/
ncohafmuta-1.4.2/tzinfo/Mexico/
ncohafmuta-1.4.2/tzinfo/Mideast/
ncohafmuta-1.4.2/tzinfo/SystemV/
ncohafmuta-1.4.2/utils/
ncohafmuta-1.4.2/utils/code_fragments/new_config/
#if defined(HAVE_CONFIG_H)
#include "../hdrfiles/config.h"
#endif

#include "../hdrfiles/includes.h"

/*--------------------------------------------------------*/
/* Talker-related include files                           */ 
/*--------------------------------------------------------*/
#include "../hdrfiles/osdefs.h"
/*
#include "../hdrfiles/authuser.h"
#include "../hdrfiles/text.h"
*/
#include "../hdrfiles/constants.h"
#include "../hdrfiles/protos.h"


extern char mess[ARR_SIZE+25];
extern char t_mess[ARR_SIZE+25];  /* functions use t_mess as a buffer    */
extern struct command_struct sys[];


/*---------------------------------------------------------*/
/*    SOCIAL SECTION                                       */
/*---------------------------------------------------------*/
/*** List social commands ***/
void list_socs(int user)
{
int c=0;
int nl=0;

write_str(user,"+-------------------+");
write_str(user," Socials Available");
write_str(user,"+-------------------+");

nl = 0;

/* All socials have a type of NONE in the commands structure, so only
   show those */

for (c=0; sys[c].su_com != -1 ;++c) {
   if (sys[c].type==NONE) {
        sprintf(mess,"%-11.11s",sys[c].command);
        mess[0]=' ';
        if (nl== -1)
          {write_str_nr(user, "  ");
           nl=0;
          }
        write_hilite_nr(user,mess);
        ++nl;
        if (nl==5)
          {
            write_str(user," "); 
            nl= 0;
          }
       }   /* end of if */
   else continue;
  }   /* end of for */
write_str(user," ");
write_str(user," ");

}

/*** Function for all socials based on type ***/
void socials(int user, char *inpstr, int type)
{
int u;
int in_room=0;
char name[SAYNAME_LEN+10],nametemp[100];
char other_user[ARR_SIZE];

if (ustr[user].gagcomm) {
   write_str(user,NO_COMM);
   return;
   }

if (!strlen(inpstr)) {
       switch(type) {
	case 1: emote(user,"hugs everyone.\0");  break;
	case 2: emote(user,"laughs!\0");  break;
	case 3: emote(user,"pokes everyone.\0");  break;
	case 4: emote(user,"tickles everyone!\0");  break;
	case 5: emote(user,"blows everyone a big kiss!\0");  break;
	case 6: emote(user,"thwaps everyone in the room!\0");  break;
	case 7: emote(user,"bops everyone in the room!\0");  break;
	case 8: emote(user,"tackles everyone in a tackle-frenzy!\0"); break;
	case 9: emote(user,"smirks at everyone.\0");  break;
	case 10: emote(user,"licks everyone in sight! Dog imitation!\0"); break;
	case 11: emote(user,"smiles brightly at everyone\0");  break;
        case 12: emote(user,"chuckles insanely at everyone\0"); break;
        case 13: emote(user,"coughs up a lung in everyone's general direction\0"); break;
        case 14: emote(user,"dances with everyone in the room!\0"); break;
        case 15: emote(user,"DOH's!\0"); break;
        case 16: emote(user,"turns to everyone in the room and says \"Hey baby\"\0"); break;
        case 17: emote(user,"gooses everyone in the room..pervert!\0"); break;
        case 18: emote(user,"grabs everyone and SCREAMS!\0"); break;
        case 19: emote(user,"growls at everyone\0"); break;
        case 20: emote(user,"hisses at everyone like a snake, hisssssss\0"); break;
        case 21: emote(user,"turns to everyone and says \"Yo mama sleeps with my dog!\"\0"); break;
        case 22: emote(user,"kicks everyone in the room!\0"); break;
        case 23: emote(user,"laughs out loud!\0"); break;
        case 24: emote(user,"shakes their head(s) at everyone\0"); break;
        case 25: emote(user,"shoves everyone to the ground!\0"); break;
        case 26: emote(user,"slaps everyone in the room!\0"); break;
        case 27: emote(user,"whines to everyone..big baby.\0"); break;
        case 28: emote(user,"winks at everyone in the room.\0"); break;
        case 29: emote(user,"WOOHOO's!\0"); break;
        case 30: emote(user,"starts flinging chicken at everyone!\0"); break;
        case 31: emote(user,"puts everyone in a headlock and gives them a noogie\0"); break;
        case 32: emote(user,"runs around the room giving atomic wedgies!\0"); break;
       }  /* end of switch */
   }

/* One case for every social..check if victim is in room, then check
   is victim is user, if not, emote to the room..if victim is not in the
   room, semote the action */

else {
	sscanf(inpstr,"%s ",other_user);
	strtolower(other_user);
	if ((u=get_user_num(other_user,user)) == -1 ) {
		not_signed_on(user,other_user);
		return;
            }
            if (ustr[user].area==ustr[u].area) in_room=1;

	if (!ustr[u].vis) {
	strcpy(nametemp,INVIS_ACTION_LABEL);
	nametemp[0]=tolower((int)nametemp[0]);
	strcpy(name,nametemp);
	}
	else {
	strcpy(name,ustr[u].say_name);
	}

       switch(type) {
           case 1: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"hugs theirself.");
                   else
   		    sprintf(t_mess,"hugs %s warmly",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," hugs you warmly");
		   semote(user,other_user);
		   }
		   break;
           case 2: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"laughs at themselves.");
                   else
   		    sprintf(t_mess,"laughs at %s.",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," laughs!");
		   semote(user,other_user);
		   }
		   break;
           case 3: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"pokes themselves.");
                   else
   		    sprintf(t_mess,"pokes %s in some choice spots",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," pokes you.");
		   semote(user,other_user);
		   }
		   break;
           case 4: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"tickles themselves for some strange reason");
                   else
   		    sprintf(t_mess,"tickle-attacks %s!",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," tickles you!");
		   semote(user,other_user);
		   }
		   break;
           case 5: if (in_room) {
                   if (user==u) {
                     write_str(user,"You cant kiss yourself!");
                     }
                   else {
  		    sprintf(t_mess,"kisses %s!",name);
		    emote(user,t_mess);
                    }
		   }
		   else {
		   strcat(other_user," kisses you!");
		   semote(user,other_user);
		   }
		   break;
           case 6: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"thwaps theirself just for the hell of it!");
                   else
   		    sprintf(t_mess,"thwaps %s into the ground!",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," thwaps you!");
		   semote(user,other_user);
		   }
		   break;
           case 7: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"bops theirself on the head!");
                   else
   		    sprintf(t_mess,"bops %s on the head!",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," bops you on the head!");
		   semote(user,other_user);
		   }
		   break;
           case 8: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"tried to tackle themselves! Call the men in white.");
                   else
   		    sprintf(t_mess,"tackles %s to the ground!",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," tackles you to the ground!");
		   semote(user,other_user);
		   }
		   break;
           case 9: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"tried to smirk at themselves! Call the men in white.");
                   else
   		    sprintf(t_mess,"smirks at %s",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," smirks at you");
		   semote(user,other_user);
		   }
		   break;
           case 10: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"sticks their tongue out and tries to lick themselves! Oooooook.");
                   else
   		    sprintf(t_mess,"licks %s on the cheek! Ewwww!",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," licks you on the cheek!");
		   semote(user,other_user);
		   }
		   break;
           case 11: if (in_room) {
                   if (user==u) 
                    strcpy(t_mess,"tried to smile at themselves! Oooooook.");
                   else
   		    sprintf(t_mess,"smiles innocently at %s",name);

		   emote(user,t_mess);
		   }
		   else {
		   strcat(other_user," smiles innocently");
		   semote(user,other_user);
		   }
		   break;
           case 12: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"chuckles to themself.");
                   else   
                    sprintf(t_mess,"chuckles at %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," chuckles at ya");
                   semote(user,other_user);
                   }
                   break;
           case 13: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"coughs on themself.");        
                   else
                    sprintf(t_mess,"coughs on %s, how disgusting",name);       

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," coughs in your direction");   
                   semote(user,other_user);
                   }
                   break;
           case 14: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"dances around by themself.");        
                   else
                    sprintf(t_mess,"dances around the room with %s",name);       

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," grabs your hand and dances with you");
                   semote(user,other_user);
                   }
                   break;
           case 15: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"doh's to themself.");        
                   else
                    sprintf(t_mess,"looks at %s and doh's",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," doh's!");
                   semote(user,other_user);
                   }
                   break;
           case 16: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"flirts with themself. Makes ya wonder.");
                   else
                    sprintf(t_mess,"turns to %s and says \"Hey baby\"",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," turns to you and says \"Hey baby\"");
                   semote(user,other_user);
                   }
                   break;
           case 17: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"gooses themself. Yeah.. ok. Weirdo!");
                   else
                    sprintf(t_mess,"gooses %s!",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," gooses ya!");
                   semote(user,other_user);
                   }
                   break;
           case 18: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"grabs themself like Michael Jackson!");
                   else
                    sprintf(t_mess,"grabs %s and SCREAMS!",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," grabs you and screams!");     
                   semote(user,other_user);
                   }
                   break;
           case 19: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"growls at themself.");
                   else
                    sprintf(t_mess,"growls at %s..kinky!",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," growls at you");
                   semote(user,other_user);
                   }
                   break;
           case 20: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"hisses at themself.");
                   else
                    sprintf(t_mess,"hisses at %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," hisses at you");
                   semote(user,other_user);
                   }
                   break;
           case 21: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"insults themself. Yep, must be bored.");
                   else
                    sprintf(t_mess,"looks at %s and says \"Yo mama sleeps with my dog!\"",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," looks at you and says \"Yo mama sleeps with my dog!\"");
                   semote(user,other_user);
                   }
                   break;
           case 22: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"kicks themself.");
                   else
                    sprintf(t_mess,"kicks %s! OUCH!",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," kicks you! OUCH!");
                   semote(user,other_user);
                   }
                   break;
           case 23: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"laughs out loud at themself!");    
                   else
                    sprintf(t_mess,"laughs out loud at %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," laughs out loud at you!");
                   semote(user,other_user);
                   }
                   break;
           case 24: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"shakes their head(s) at themself.");    
                   else
                    sprintf(t_mess,"shakes their head(s) at %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," shakes their head(s) at you");
                   semote(user,other_user);
                   }
                   break;
           case 25: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"shoves themself to the ground. Idiot.");    
                   else
                    sprintf(t_mess,"shoves %s to the ground!",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," shoves you to the ground!");
                   semote(user,other_user);
                   }
                   break;
           case 26: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"slaps themself.");    
                   else
                    sprintf(t_mess,"slaps %s! *SMACK*",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," slaps you!");
                   semote(user,other_user);
                   }
                   break;
           case 27: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"whines to themself.");    
                   else
                    sprintf(t_mess,"whines to %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," whines to you");
                   semote(user,other_user);
                   }
                   break;
           case 28: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"winks at themself.");    
                   else
                    sprintf(t_mess,"winks at %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," winks at you");
                   semote(user,other_user);
                   }
                   break;
           case 29: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"WOOHOO's to themself.");    
                   else
                    sprintf(t_mess,"WOOHOO's at %s",name);

                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," WOOHOO's at you");
                   semote(user,other_user);
                   }
                   break;
           case 30: if (in_room) {
                   if (user==u)
                    strcpy(t_mess,"examines a piece of chicken then hits themselves in the face with it repeatedly.");
                   else  
                    sprintf(t_mess,"flings a piece of chicken at %s!",name);
                    
                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," flings a piece of chicken at you!");
                   semote(user,other_user);
                   }
                   break;
           case 31: if (in_room) {
                   if (user==u)
                     strcpy(t_mess,"puts themselves in a headlock and tries to perform a self-noogie. What's this person on?");
                   else
                     sprintf(t_mess,"puts %s in a headlock and gives them a noogie!",name);
                   
                   emote(user,t_mess);
                   }
                   else {
                   strcat(other_user," gives you a noogie!");
                   semote(user,other_user);
                   }
                   break;
           case 32: if (in_room) {
                   if (user==u)
                     strcpy(t_mess,"twists around, grabs some underwear, and pulls them straight up..going head over heals in the process!");
                   else
                     sprintf(t_mess,"runs behind %s and pulls their underwear up over their head. Atomic wedgie!",name);
                   
                   emote(user,t_mess);
                   my_echo(user,"Now doesn't that feel goooooood?\0");
                   }
                   else {
                   strcat(other_user," pulls your underwear up over your head for a patented atmoic wedgie! Now doesn't that feel goooooood?");
                   semote(user,other_user);
                   }   
                   break;
           default: return;  break;
       }  /* end of switch */
   }  /* end of else */

}