/* * Immortal only actions and commands.. */ #include <sys/types.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <stdarg.h> #include <time.h> #include <ctype.h> #include <string.h> #include <unistd.h> /* unlink() */ /* include main header file */ #include "mud.h" D_MOBILE *get_char(D_MOBILE * ch, char *argument) { D_MOBILE *wch; ITERATOR *pIter; char arg[MIL]; // char buf[MSL]; pIter = AllocIterator(dmobile_list); while ((wch = (D_MOBILE *) NextInList(pIter)) != NULL) { if (wch == ch) continue; else if (str_cmp(arg,wch->name)) return wch; else return NULL; } FreeIterator(pIter); return NULL; } void cmd_debug(D_MOBILE * ch, char * argument) { char buf[MSL]; char buf2[MSL]; struct tm * datetime; datetime = localtime( ¤t_time ); strftime( buf, sizeof( buf ), "%m/%d/%Y", datetime ); strftime( buf2, sizeof( buf2 ), "%r", datetime ); stcf(ch,"Name : %s\n\r",ch->name); stcf(ch,"Hostname : %s\n\r",ch->socket->hostname); stcf(ch,"Level : %d\n\r",ch->level); stcf(ch,"Date : %s\n\r",buf); stcf(ch,"Time : %s\n\r",buf2); return; } void cmd_goto(D_MOBILE * ch, char *argument) { D_MOBILE *victim; char arg[MSL]; char *string; string = one_argument(argument, arg); if (argument == NULL) { stcf(ch,"Goto where?\n\r"); return; } victim = get_char(ch,string); if(victim == NULL) { stcf(ch,"Victim not found!\n\r"); return; } ch->coordx = victim->coordx; ch->coordy = victim->coordy; ch->coordz = victim->coordz; stcf(ch,"You leave in a swirling mist.\n\r"); stcf(victim,"%s appears in a swirling mist.\n\r",ch->name); cmd_look(ch,""); return; }