/*
 *	Name:		delevel/relevel
 *	Creator:	Thri
 *	Orginal Idea:	KaVir of Godwars fame
 *	Description:	Being an old Godwars admin, i loved the
 *			delevel and relevel commands, which allowed an immortal
 *			to 're' level themselfs back up to their immortal level, or
 *			'de' level themselfs back down to mortal level for purposes
 *			of testing. Anywho, this is a romized version of the commands.
 *			Please note: My mud only had 20 mortal levels, so you'll need to
 *			change it, since im too lazy to make it MAX_LEVEL - 10 ;)
 *
 *	Sentax:	relevel
 *	Sentax:	delevel <level>
 *
 *	Security:	The security issue involves the relevel command. Since it uses
 *			the immortals actual name as a check, if an immortal deletes, a
 *			player can easily create a new charater with the same name of that
 *			immortal, and relevel themselfs to immortal status and cause issues.
 *			Possible fix: Change the delete command to exclude immortals
 *
 *	Implemntation: This is relitivly easy, just stick the two commands into say, act_wiz.c
 *			then put the relevel/delevel into interp.c. Relevel needs to have a mininum
 *			level of 1. (So you CAN relevel at any time, making it any higher will make
 *			the command sorta useless ;) delevel can be put at any immortal level you want
 *			to give access to.
 *			Also you need to update relevel to include the names of the immortals who can
 *			relevel/delevel.
 *
 *	Credit:	I dont need nor want any credit, as the idea was not orginaly mine. Just enjoy
 *			it ;) Just leave the commented code in, and i'll be happy.
 */


Stick these somewhere in interp.c


    {"delevel",               do_delevel,         POS_DEAD,           L8, LOG_NORMAL, 1},
    {"relevel",	         do_relevel,	        POS_DEAD,           1,  LOG_ALWAYS, 1},

and stick these in act_wiz.c or something.

/* Command	do_relevel
   Ingame	relevel
   Class	none
   Race	none
   Religion	none
   Level	1
   Creator:	Thri
   Description:
	Relevel is an Immortal utility to relevel themselfs back to their orginal
	immortal status. Restoring Level, Trust, security and various stats.
	Security: If an immortal deletes, it is possible for a malicious player
	to create a new charater with the name of an immortal and take over the mud.
*/
void do_relevel (CHAR_DATA * ch, char *argument)
{
   char buf[MAX_INPUT_LENGTH];

   // Max levels
   if (    !str_cmp(ch->name,"Thri")
	||  !str_cmp(ch->name,"Thri"))
   {
	ch->level = MAX_LEVEL;
	ch->trust = MAX_LEVEL;
	ch->pcdata->security = 9;
	sprintf(buf, "%s has been restored to max level.\n\r", ch->name);
	send_to_char(buf, ch);
	return;
   }

   else
   {
	send_to_char("Huh?\n\r", ch);
	return;
   }
	return;
}

void do_delevel (CHAR_DATA * ch, char *argument)
{
   char buf[MAX_INPUT_LENGTH];
   char arg1[MAX_STRING_LENGTH];
   int level;

   argument = one_argument (argument, arg1);

    if (arg1[0] == '\0' || !is_number (arg1))
    {
        send_to_char ("Syntax: delevel <level>.\n\r", ch);
        return;
    }

    if ((level = atoi (arg1)) < 1 || level > 20)
    {
        sprintf (buf, "Level must be 1 to %d.\n\r", 20);
        send_to_char (buf, ch);
        return;
    }

   ch->level = level;
   ch->trust = level;
   ch->pcdata->security = 0;
   sprintf(buf, "%s has been restored to level %d.\n\r", ch->name, level);
   send_to_char(buf, ch);
   send_to_char("Your security has been removed.\n\r", ch);

   return;
}