#if defined(macintosh) #include <types.h> #else #include <sys/types.h> #endif #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "merc.h" #include "player.h" void do_updatetick( CHAR_DATA *ch, char *argument ) { char buf[MAX_STRING_LENGTH]; arena = FIGHT_OPEN; area_update ( ); weather_update ( ); char_update ( ); mobile_update ( ); obj_update ( ); quest_update ( ); tag_update ( ); /*too spammy considering mobs don't repop every time sprintf(buf,"Tickers have been reseted by %s",ch->name); do_info(ch,buf); */ return; } //By Russ Taylor of ROM void do_delete( CHAR_DATA *ch, char *argument) { char strsave[MAX_INPUT_LENGTH]; if (IS_NPC(ch)) return; if (ch->pcdata->confirm_delete) { if (argument[0] != '\0') { send_to_char("Delete status removed.\n\r",ch); ch->pcdata->confirm_delete = FALSE; return; } else { sprintf( strsave, "%s%s", PLAYER_DIR, capitalize( ch->name ) ); // wiznet("$N turns $Mself into line noise.",ch,NULL,0,0,0); stop_fighting(ch,TRUE); do_quit(ch,""); unlink(strsave); return; } } /* if (argument[0] != '\0') { send_to_char("Just type delete. No argument.\n\r",ch); return; } */ if (strcmp( crypt(argument, ch->pcdata->pwd), ch->pcdata->pwd) ) { send_to_char("Syntax: delete <password>\r\n", ch); send_to_char("This will delete your character!\r\n", ch); return; } send_to_char("Type delete again to confirm this command.\n\r",ch); send_to_char("WARNING: this command is irreversible.\n\r",ch); send_to_char("Typing delete with an argument will undo delete status.\n\r", ch); ch->pcdata->confirm_delete = TRUE; //wiznet("$N is contemplating deletion.",ch,NULL,0,0,get_trust(ch)); } void do_bonus( CHAR_DATA *ch, char *argument) { CHAR_DATA *victim; char buf [ MAX_STRING_LENGTH ]; char arg1 [ MAX_INPUT_LENGTH ]; char arg2 [ MAX_INPUT_LENGTH ]; int value; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); if ( arg1[0] == '\0' || arg2[0] == '\0' || !is_number( arg2 ) ) { send_to_char( "syntax: bonus <char> <Exp>.\n\r", ch ); return; } if (( victim = get_char_world ( ch, arg1 ) ) == NULL ) { send_to_char("That Player is not here.\n\r", ch); return; } if ( IS_NPC( victim ) ) { send_to_char( "Not on NPC's.\n\r", ch ); return; } if ( ch == victim ) { send_to_char( "You may not bonus yourself.\n\r", ch ); return; } if (IS_IMMORTAL(victim) || victim->level >= LEVEL_IMMORTAL) { send_to_char("You can't bonus immortals fool.\n\r", ch); return; } value = atoi( arg2 ); if ( value < -250000 || value > 250000 ) { send_to_char( "Value range is -250000 to 250000.\n\r", ch ); return; } if ( value == 0 ) { send_to_char( "{wThere is no point in giving 0 experience.{x\n\r", ch ); return; } sprintf( buf,"{wYou have bonused %s a whopping %d experience points.{x\n\r", victim->exp += value); send_to_char(buf, ch); if ( value > 0 ) { sprintf( buf,"{wYou have been bonused %d experience points.{x\n\r", value ); send_to_char( buf, victim ); } else { sprintf( buf,"{wYou have been penalized %d experience points.{x\n\r", value ); send_to_char( buf, victim ); } return; } void do_timers( CHAR_DATA *ch, char *argument ) { char buf[MAX_STRING_LENGTH]; if (ch->fight_timer > 0) { sprintf(buf,"Your fightimer is as: (%d).\n\r",ch->fight_timer); send_to_char(buf,ch); return; } send_to_char("You are not affected by any timers.",ch); return; } void do_findexp( CHAR_DATA *ch, char *argument ) { char arg1 [MAX_INPUT_LENGTH]; char arg2 [MAX_INPUT_LENGTH]; char buf[MAX_STRING_LENGTH]; int starthp; int targethp; int needexp; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); if ( arg1[0] == '\0' || arg2[0] == '\0' ) { send_to_char( "Syntax: findexp <starthp> <targethp>\n\r", ch ); return; } starthp = atoi( arg1 ); targethp = atoi( arg2 ); while (starthp < targethp) { starthp = starthp + 1; needexp = needexp + starthp; } sprintf(buf,"You need %d exp %d and %d.",needexp,starthp, targethp); send_to_char(buf,ch); return; }