/******************************************************
*******************************************************
**             This Must Remain Intact               **
**                                                   **
**         Description Checks and Approvals          **
**                     By Jeff                       **
**                                                   **
**        Please Inform me if you Use my Code        **
**            cyberpatrol_735@hotmail.com            **
*******************************************************
******************************************************/

First In Merc.h
--------------------------

Find the PLR_ flags

add in #DEFINE PLR_DESCRIPTION

----------------------------

In comm.c

Find

write_to_buffer(d,"\n\r",2);
        write_to_buffer(d,"[Hit Return to Continue]",0);
        d->connected = CON_NEW_CHAR;

Add SET_BIT(ch->act, PLR_DESCRIPTION );

----------------------------

If you wish for their desc to be rejected if they modify their
description, add this in act_info.c

Find do_description

Then Find 

string_append( ch, &ch->description );

And Add 

SET_BIT(ch->act, PLR_DESCRIPTION);

--------------------------------------------------------------

In act_wiz.c


Add the following

void do_dapprove( CHAR_DATA *ch, char *argument )
{
    char arg[MAX_INPUT_LENGTH];
    CHAR_DATA *victim;

    argument = one_argument( argument, arg );
    
   if ( arg[0] == '\0' )
    {
	send_to_char( "Approve who's description?\n\r", ch );
	return;
    }


    if ( ( victim = get_char_world( ch, arg ) ) == NULL )
    {
       send_to_char( "They aren't here.\n\r", ch );
       return;
    }

    if ( IS_NPC(victim) )
    {
	send_to_char( "Not on NPC's.\n\r", ch );
	return;
    }
    

	if ( IS_SET(victim->act, PLR_DESCRIPTION) )
	{
		act("You approve of $N's description.",ch,argument,victim,TO_CHAR );
		act("{GYour description has been approved, Thank you.",ch,argument,victim,TO_VICT);
		REMOVE_BIT(victim->act, PLR_DESCRIPTION );
		return;
	}
	send_to_char("They have already been approved, use the reject command to reject their description.\n\r",ch );
}

void do_check ( CHAR_DATA *ch, char *argument )
{
    char arg[MAX_INPUT_LENGTH];
    CHAR_DATA *victim;

    argument = one_argument( argument, arg );
    
    if ( arg[0] == '\0' )
    {
	send_to_char( "Check Who's Description??\n\r", ch );
	return;
    }


    if ( ( victim = get_char_world( ch, arg ) ) == NULL )
    {
       send_to_char( "They aren't here.\n\r", ch );
       return;
    }



	

if ( IS_NPC(victim) )
    {
	send_to_char( "Not on NPC's.\n\r", ch );
	return;
    }

	if (IS_SET(victim->act, PLR_DESCRIPTION ) )
	{
	
	act("$N's description is",ch,argument,victim,TO_CHAR );
	act("{B-----------------------------------`w",ch,NULL,victim,TO_CHAR);
	send_to_char( victim->description ? victim->description : "(None).\n\r", ch );
	act("{B-----------------------------------`w",ch, NULL,victim, TO_CHAR);
	act("{R$N's description has not been approved.",ch,argument,victim,TO_CHAR );
	return;
	}




	act("$N's description is",ch,argument,victim,TO_CHAR );
	send_to_char("-----------------------------------\n\r",ch);
	send_to_char( victim->description ? victim->description : "(None).\n\r", ch );
	send_to_char("-----------------------------------\n\r",ch);
	act("{G$N's description has been approved.",ch,argument,victim,TO_CHAR );
return;

}


void do_dreject( CHAR_DATA *ch, char *argument )
{
    char arg[MAX_INPUT_LENGTH];
    CHAR_DATA *victim;

    argument = one_argument( argument, arg );
    
    if ( arg[0] == '\0' )
    {
	send_to_char( "Reject who's description?\n\r", ch );
	return;
    }
    
    
    if ( ( victim = get_char_world( ch, arg ) ) == NULL )
    {
       send_to_char( "They aren't here.\n\r", ch );
       return;
    }

    if ( IS_NPC(victim) )
    {
	send_to_char( "Not on NPC's.\n\r", ch );
	return;
    }


	if (IS_SET(victim->act, PLR_DESCRIPTION) )
	{
		send_to_char("Their description still needs revising, you cannot reject it!\n\r",ch );
		return;
	}

	SET_BIT(victim->act, PLR_DESCRIPTION );
	
	act("You have revoked $N's description.",ch,argument,victim,TO_CHAR);
	act("{RYour description has been revoked, please read HELP DESCRIPTION.",ch,argument,victim,TO_VICT );
}

---------------------------------------------------

Next find in act_info.c      

IS_SET(wch->act, PLR_CRIMINAL) ? "({RCRIMINAL{x) " : "",
            IS_SET(wch->act, PLR_THIEF)  ? "({RTHIEF{x) "  : "",
	    (wch->original_name) ? wch->original_name : wch->name,
	    IS_NPC(wch) ? "" : wch->pcdata->title ,
	IS_NPC(wch) ? "" :

Yours may vary

Add   IS_SET(wch->act, PLR_DESCRIPTION) ? "{W[{rD{W] "  : "",

Modify to your color code as needed.

-------------------------------------------------------

Add to interp.h

DECLARE_DO_FUN( do_dapprove );
DECLARE_DO_FUN( do_dreject  );
DECLARE_DO_FUN( do_Check    );

--------------------------------------------------------

Finally add to interp.c

{ "approve",    do_dapprove, POS_DEAD,   IM,  LOG_NORMAL, 1, 0 },
{ "check",      do_check,   POS_DEAD,   IM,  LOG_NORMAL, 1, 0 },
{ "reject",     do_dreject, POS_DEAD,   IM,  LOG_NORMAL, 1, 0 },

Modify levels as needed.


-------------------------------------------------------------

Remember, EMAIL ME if you use this code!!!  

cyberpatrol_735@hotmail.com


Enjoy!