Promote snippet
What this command does is allow you to promote any level of player to a immortal level of your choosing,
but without all the spam that advance level has. Now I have hardly tested this command so it may have
some security issues here and there, but let me know if you have problems with it. I am also planning
on adding a demote command soon.
Use it if you want it.
/* do_promote added by Vladaar - CTA 1/31/03 */
/* http://cta-mud.org */
/* cta-mud.org Port 5050 */
void do_promote( CHAR_DATA *ch, char *argument )
{
char arg1 [MAX_INPUT_LENGTH];
char arg2 [MAX_INPUT_LENGTH];
char arg3 [MAX_INPUT_LENGTH];
CHAR_DATA *victim;
char buf [MAX_INPUT_LENGTH];
int value;
set_char_color( AT_YELLOW, ch );
if ( IS_NPC( ch ) || !IS_IMMORTAL(ch))
{
send_to_char( "You can't promote.\n\r", ch );
return;
}
argument = one_argument( argument, arg1 );
argument = one_argument( argument, arg2 );
argument = one_argument( argument, arg3 );
if ( ( victim = get_char_world( ch, arg1 ) ) == NULL )
{
send_to_char( "They aren't here.\n\r", ch );
return;
}
if ( victim == ch )
{
send_to_char( "You cannot promote yourself\n\r", ch );
return;
}
if ( victim->level >= ch->level )
{
send_to_char( "You cannot promote them.\n\r", ch );
return;
}
if (arg1[0] == '\0' || arg2[0] == '\0' )
{
send_to_char( "Syntax: Promote <player> level <value>\n\r", ch );
return;
}
if (!str_cmp(arg2, "level"))
{
if ( !is_number( arg3 ) )
{
send_to_char( "Value must be numeric.\n\r", ch );
return;
}
value = atoi( arg3 );
if ( value < 101 || value > MAX_LEVEL )
{
send_to_char( "Value must be betwen 101 and 108.\n\r", ch );
return;
}
victim->level = value;
set_char_color( AT_WHITE, victim );
send_to_char( "You suddenly feel very strange...\n\r\n\r", victim );
set_char_color( AT_LBLUE, victim );
sprintf( buf, "\n\r\n\rPlease congratulate our newest &CC&YT&RA &WStaff member %s!", victim->name);
echo_to_all( AT_WHITE, buf, ECHOTAR_ALL );
/* Cannot tell a lie, got the idea for interpret configurations from DotdII source - Vladaar*/
interpret(victim, "chan +all");
interpret(victim, "holylight");
/* shadowform is a skill I made so staff members didn't have to bother opening doors
interpret(victim, "shadowform"); - Vladaar*/
/* restore_char is a function sadiq put out awhile back that restores a victims hitpoints
restore_char(victim); - Vladaar*/
interpret(victim, "speak all");
interpret(victim, "title the New &CC&YT&RA&G Staff Member.");
interpret(victim, "save");
make_wizlist();
interpret(victim, "imm Greetings everybody!");
return;
}
return;
}