cotn/notes/
cotn/src/
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <stdlib.h>
#include <limits.h>
#include <malloc.h>
#include <fcntl.h>
#include <stdarg.h>
#include "merc.h"


void do_nuke( CHAR_DATA *ch, char *argument)
{
 char strsave[MAX_INPUT_LENGTH];
 CHAR_DATA *victim;
 char arg[MAX_INPUT_LENGTH];
 char buf[MAX_STRING_LENGTH];

 one_argument(argument,arg);
 
        if (str_cmp(ch->pcdata->switchname, "Xrakisis")) {
        sprintf( buf, "ONLY FOR XRAK!'", ch->name);
         return;
        }

 if(arg[0] == '\0') 
 {
 send_to_char("Syntax: nuke <unlucky bastard>\n\r",ch);
 return;
 }
 if((victim = get_char_world(ch,arg)) == NULL)
 {
   send_to_char("Sorry! They have to be logged in.\n\r", ch);
   return;
 }

if(IS_NPC(victim))
{
 send_to_char("Sorry! Players only!\n\r",ch);
 return;
}

 if(IS_IMMORTAL(victim))
 {
  send_to_char("Nice try.. Gonna have to find a different way to do that.",ch);
  return;
 }

sprintf(strsave,"%s%s",PLAYER_DIR, capitalize(victim->name));
stop_fighting(victim,TRUE);
sprintf(buf, "OUCH! %s just nuked %s!", ch->pcdata->switchname,victim->pcdata->switchname);
do_info(ch, buf);
do_quit(victim,	"");

unlink(strsave);

return;
}

void do_selfdelete(CHAR_DATA *ch, char *argument)
{
    char arg1[MAX_INPUT_LENGTH];
    char arg2[MAX_INPUT_LENGTH];
    char *pArg;
    char *p;
    char cEnd;
    char buf[MAX_STRING_LENGTH];
    char strsave[MAX_INPUT_LENGTH];   

    if ( IS_NPC(ch) )
        return;

    pArg = arg1;
    while ( isspace(*argument) )
        argument++;
    cEnd = ' ';
    if ( *argument == '\'' || *argument == '"' )
        cEnd = *argument++;

    while ( *argument != '\0' )
    {
        if ( *argument == cEnd )
        {
            argument++;
            break;
        }
        *pArg++ = *argument++;
    }
    *pArg = '\0';

    pArg = arg2;
    while ( isspace(*argument) )
        argument++;

    cEnd = ' ';
    if ( *argument == '\'' || *argument == '"' )
        cEnd = *argument++;

    while ( *argument != '\0' )
    {
        if ( *argument == cEnd )
        {
            argument++;
            break;
        }
        *pArg++ = *argument++;
    }
    *pArg = '\0';

    if ( arg1[0] == '\0' )
    {
        send_to_char( "Syntax: selfdelete <password>.\n\r", ch );
        return;
    }
    if(IS_IMMORTAL(ch)) {
    send_to_char("Boo, go get rid of yourself some other way.",ch);
    return;
    }
    
    if ( strcmp( arg1, ch->pcdata->pwd ) &&
         strcmp( crypt( arg1, ch->pcdata->pwd ), ch->pcdata->pwd ))
    {
        WAIT_STATE( ch, 40 );
        send_to_char( "Wrong password.  Wait 10 seconds.\n\r", ch );
        return;
    }
    sprintf(strsave, "%s%s",PLAYER_DIR,capitalize(ch->pcdata->switchname));
    stop_fighting(ch,TRUE);
    sprintf(buf, "%s just deleted himself!", ch->pcdata->switchname);
    do_info(ch,buf);
    do_quit(ch,"");
    unlink(strsave);
}