cotn25/area/
cotn25/src/
/***************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
 *  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
 *                                                                         *
 *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael          *
 *  Chastain, Michael Quan, and Mitchell Tse.                              *
 *                                                                         *
 *  In order to use any part of this Merc Diku Mud, you must comply with   *
 *  both the original Diku license in 'license.doc' as well the Merc       *
 *  license in 'license.txt'.  In particular, you may not remove either of *
 *  these copyright notices.                                               *
 *                                                                         *
 *  Much time and thought has gone into this software and you are          *
 *  benefitting.  We hope that you share your changes too.  What goes      *
 *  around, comes around.                                                  *
 ***************************************************************************/

/*********************************************
 * score screen by Xrakisis                  *
 *********************************************/

#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"




void do_score( CHAR_DATA *ch, char *argument )
{
    char buf[MAX_STRING_LENGTH];
    char buf2[MAX_STRING_LENGTH];
    char ss1[MAX_STRING_LENGTH];
    char ss2[MAX_STRING_LENGTH];
//    AFFECT_DATA *paf;
    int a_c = char_ac(ch);

    if (!IS_NPC(ch) && (IS_EXTRA(ch,EXTRA_OSWITCH) || IS_HEAD(ch,LOST_HEAD)))
	{obj_score(ch,ch->pcdata->chobj);return;}
    send_to_char( "#4    -   -  - - -#6- ---===#7     --== COTN ==--     #6===--- -#4- - -  -   -#n\n\r", ch );

    sprintf( buf,	"#WYour are #W%s #G%s%s#n.  #WYou have been playing for #G%d#W hours.#n\n\r", getCurrRanking( ch, ch->pRank ),
     ch->name,
	IS_NPC(ch) ? "" : ch->pcdata->title,
	(get_age(ch) - 17) * 2 );
    send_to_char( buf, ch );
    if (!IS_NPC(ch)) birth_date(ch, TRUE);
    if (!IS_NPC(ch) && IS_EXTRA(ch, EXTRA_PREGNANT)) birth_date(ch, FALSE);

    if ( get_trust( ch ) != ch->level )
    {
	sprintf( buf, "#WYou are trusted at level #G%d#W.#n\n\r",
	    get_trust( ch ) );
	send_to_char( buf, ch );
    }
    send_to_char( "#0==============================================================================\n\r", ch );
    sprintf( buf,"#WHIT: #G%d#W/#G%d     #WMANA: #G%d#W/#G%d    #WMOVE: #G%d#W/#G%d    #WPRIMAL: #G%d#n\n\r",
	ch->hit,  ch->max_hit,
	ch->mana, ch->max_mana,
	ch->move, ch->max_move,
	ch->practice );
    send_to_char( buf, ch );

    sprintf( buf,
	"#WITEMS: #G%d#W/#G%d#W     #WWEIGHT: #G%d#W/#G%d#n\n\r",
	ch->carry_number, can_carry_n(ch),
	ch->carry_weight, can_carry_w(ch) );
    send_to_char( buf, ch );

    send_to_char( "#0==============================================================================\n\r", ch );
    sprintf( buf,"#WSTR: #G%d     #WINT: #G%d     #WWIS: #G%d     #WDEX: #G%d     #WCON: #G%d#n\n\r",
	get_curr_str(ch),
	get_curr_int(ch),
	get_curr_wis(ch),
	get_curr_dex(ch),
	get_curr_con(ch) );
    send_to_char( buf, ch );


    if (!IS_NPC(ch) && (IS_CLASS( ch, CLASS_ANTIPALADIN)))
    {
        sprintf( buf,
        "#R[#nYou have #W%d#n out of #W%d #npoints of unholy power stored#R]\n\r",
        ch->pcdata->stats[DEMON_CURRENT],  ch->pcdata->stats[DEMON_TOTAL] );
        send_to_char( buf, ch );
    }

    if (!IS_NPC(ch) && (IS_CLASS( ch, CLASS_DEMON) || IS_CLASS(ch, CLASS_BETRAYER) || IS_CLASS(ch, CLASS_HELLS_SOLDIER) || 
    IS_CLASS(ch, CLASS_SHADOW_DRAGON) || IS_CLASS(ch, CLASS_SHADOW_FIEND)))
    {
	sprintf( buf,
	"#R[#nYou have #W%d#n out of #W%d #npoints of demonic power stored#R]\n\r",
	ch->pcdata->stats[DEMON_CURRENT],  ch->pcdata->stats[DEMON_TOTAL] );
	send_to_char( buf, ch );
    }
	if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_TANARRI) || IS_CLASS(ch, CLASS_DEVA) 
    || IS_CLASS(ch, CLASS_HELL_SPAWN) || IS_CLASS(ch, CLASS_BAATEZU) || IS_CLASS(ch, CLASS_DRAGON)
    || IS_CLASS(ch, CLASS_HUMAN) || IS_CLASS(ch, CLASS_GIANT)))
	{
	sprintf( buf, "[#WCLASS POINTS #G%d#n]\n\r", ch->pcdata->stats[TPOINTS] );
	send_to_char( buf, ch);
	}

        if (!IS_NPC(ch) && IS_CLASS(ch, CLASS_PRIEST))
        {
                sprintf(buf,
                        "#R[#nYou have #W%d #nFaith Points stored#R]#n\n\r",
                        ch->pcdata->stats[FAITH_PTS]);
                send_to_char(buf, ch);
        }
    if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_DEMON) || IS_CLASS(ch, CLASS_HELLS_SOLDIER) || IS_CLASS(ch, CLASS_BETRAYER) ||
    IS_CLASS(ch, CLASS_SHADOW_DRAGON) || IS_CLASS(ch, CLASS_SHADOW_FIEND)) && ch->generation < 13)
    {
	sprintf( buf,
	"[#WSOULS:#G%d ]\n\r",
	ch->pcdata->souls);
	stc(buf, ch);
    }
        if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_GHOUL)))
        {
                sprintf(buf,
                        "#R[#nYou have #C%d #GGhoul #nPoints stored#R]#n\n\r",
                        ch->pcdata->stats[GHOUL_PTS]);
                send_to_char(buf, ch);
        }

    if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_DROW) || IS_CLASS(ch, CLASS_BLACK_ASSASSIN)
  || IS_CLASS(ch, CLASS_STALKER) || IS_CLASS(ch, CLASS_SHADOWBORN)))
     {
	sprintf( buf, "[#WCLASS POINTS #G%d#n]\n\r",
	ch->pcdata->stats[DROW_POWER] );
	send_to_char( buf, ch );
	sprintf( buf, "[#WMAGIC RESISTANCE: #W%d #n]\n\r",
	ch->pcdata->stats[DROW_MAGIC] );
	send_to_char( buf, ch ); 
	if (weather_info.sunlight == SUN_DARK) 
	send_to_char("#R[#nYou feel strong in the night#R]\n\r", ch );}

    sprintf( buf,
	"[#WAUTOEXIT: #G%s][#WAUTOLOOT: #G%s][#WAUTOSAC: #G%s]\n\r",
	(!IS_NPC(ch) && IS_SET(ch->act, PLR_AUTOEXIT)) ? "yes" : "no",
	(!IS_NPC(ch) && IS_SET(ch->act, PLR_AUTOLOOT)) ? "yes" : "no",
	(!IS_NPC(ch) && IS_SET(ch->act, PLR_AUTOSAC) ) ? "yes" : "no" );
    send_to_char( buf, ch );
    
    if(!IS_NPC(ch))
    {
       sprintf(buf,"[#WARENA STATS#n][#WWINS: #G%d#n][#WLOSSES: #G%d#n]\n\r",
       ch->pcdata->awins, ch->pcdata->alosses );
       send_to_char( buf, ch);
    }
    if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_HEAVENS_SOLDIER) || IS_CLASS(ch, CLASS_TYPHON)
    || IS_CLASS(ch, CLASS_ANGEL) || IS_CLASS(ch, CLASS_BETRAYER) 
    || IS_CLASS(ch, CLASS_SILVER_DRAGON)))
    {
      sprintf(buf,"#R[#nAngelic Justice   : #W%d#R]\n\r",ch->pcdata->powers[ANGEL_JUSTICE]);
      stc(buf,ch);
      sprintf(buf,"#R[#nAngelic Love      : #W%d#R]\n\r",ch->pcdata->powers[ANGEL_LOVE]);
      stc(buf,ch);
      sprintf(buf,"#R[#nAngelic Harmony   : #W%d#R]\n\r",ch->pcdata->powers[ANGEL_HARMONY]);
      stc(buf,ch);
      sprintf(buf,"#R[#nAngelic Peace     : #W%d#R]\n\r",ch->pcdata->powers[ANGEL_PEACE]);
      stc(buf,ch);
   }
    if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_GAIA_WOLF) || IS_CLASS(ch, CLASS_DRUID)
    || IS_CLASS(ch, CLASS_DEVA) || IS_CLASS(ch, CLASS_NECROMANCER)
    || IS_CLASS(ch, CLASS_ELEMENTAL)))
    {
      sprintf(buf,"#R[#rFIRE#n  : #W%d#R]\n\r",ch->pcdata->powers[ELEMENTAL_FIRE]);
      stc(buf,ch);
      sprintf(buf,"#R[#GEARTH#n : #W%d#R]\n\r",ch->pcdata->powers[ELEMENTAL_EARTH]);
      stc(buf,ch);
      sprintf(buf,"#R[#7AIR#n   : #W%d#R]\n\r",ch->pcdata->powers[ELEMENTAL_AIR]);
      stc(buf,ch);
      sprintf(buf,"#R[#LWATER#n : #W%d#R]\n\r",ch->pcdata->powers[ELEMENTAL_WATER]);
      stc(buf,ch);
   }
    if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_UNDEAD_LYCAN) || IS_CLASS(ch, CLASS_HELL_SPAWN) 
    || IS_CLASS(ch, CLASS_VAMPIRIC_MIST) || IS_CLASS(ch, CLASS_VAMPIRE)))
    {
      sprintf(buf,"#R[#nYour current beast is : #W%d#R]\n\r",ch->beast);
      stc(buf,ch);

    }



/* Removed Gold from score, due to the fact we dont use it on godwars anymore. --Eterared */
    sprintf( buf,
	"#WEXP: #G %2.0f   ",
	ch->exp );
    send_to_char( buf, ch );

    if (!IS_NPC(ch) && (IS_CLASS( ch, CLASS_DEMON) || IS_SET(ch->special,SPC_CHAMPION)))
    {
	sprintf( buf,
	"#WDEMON POINTS: #G%d#W/#G%d#n\n\r",
	ch->pcdata->stats[DEMON_CURRENT],  ch->pcdata->stats[DEMON_TOTAL] );
	send_to_char( buf, ch );
    } 
 

    if (!IS_NPC(ch) && IS_CLASS(ch, CLASS_DROW)) {
	sprintf( buf, "#WDROW POINTS: #G%d#n\n\r",
	ch->pcdata->stats[DROW_POWER] );
	send_to_char( buf, ch );
	sprintf( buf, "#WMAGIC RESISTANCE: #G%d#n\n\r",
	ch->pcdata->stats[DROW_MAGIC] );
	send_to_char( buf, ch ); }
/*
    sprintf( buf,
	"#WAUTOEXIT: #G%s#W     AUTOLOOT: #G%s#W     AUTOSAC: #G%s#n\n\r",
	(!IS_NPC(ch) && IS_SET(ch->act, PLR_AUTOEXIT)) ? "yes" : "no",
	(!IS_NPC(ch) && IS_SET(ch->act, PLR_AUTOLOOT)) ? "yes" : "no",
	(!IS_NPC(ch) && IS_SET(ch->act, PLR_AUTOSAC) ) ? "yes" : "no" );
    send_to_char( buf, ch );
  */  
    sprintf( buf, "#WWIMPY: #G%d#n    ", ch->wimpy );

if ( !IS_NPC(ch) && IS_EXTRA(ch, EXTRA_DONE) )
	strcat(buf,"#WVIRGIN = #GNO#n\n\r"); 
    else strcat(buf,"");
    send_to_char( buf, ch );



    if ( !IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK]   > 10 )
	send_to_char( "#GDRUNK#n\n\r     ",   ch );
    if ( !IS_NPC(ch) && ch->pcdata->condition[COND_THIRST] ==  0 )
	send_to_char( "#GTHIRSTY#n\n\r     ", ch );
    if ( !IS_NPC(ch) && ch->pcdata->condition[COND_FULL]   ==  0 )
	send_to_char( "#GHUNGRY#n\n\r     ",  ch );
/*
    if ( !IS_NPC(ch) && ch->pcdata->stage[0] >= 100 )
	send_to_char( "#lYou are feeling extremely horny.#n\n\r",  ch );
    else if ( !IS_NPC(ch) && ch->pcdata->stage[0] >= 50 )
	send_to_char( "#lYou are feeling pretty randy.#n\n\r",  ch );
    else if ( !IS_NPC(ch) && ch->pcdata->stage[0] >= 1 )
	send_to_char( "#lYou are feeling rather kinky.#n\n\r",  ch );
*/

    if ( !IS_NPC(ch) && ch->pcdata->stage[1] > 0 && ch->position == POS_STANDING )
    {
	send_to_char( "#GSEXUAL INTERCOURSE#n\n\r",  ch );
/*
	if (!IS_NPC(ch) && (ch->pcdata->stage[2] + 25) >= ch->pcdata->stage[1])
	    send_to_char( "#lYou are on the verge of having an orgasm.#n\n\r",  ch );
*/
}

    
/*
    else switch ( ch->position )
    {
    case POS_DEAD:     
	send_to_char( "#rYou are DEAD!!#n\n\r",		ch );
	break;
    case POS_MORTAL:
	send_to_char( "#rYou are MORTALLY WOUNDED.#n\n\r",	ch );
	break;
    case POS_INCAP:
	send_to_char( "#rYou are incapacitated.#n\n\r",	ch );
	break;
    case POS_STUNNED:
	send_to_char( "#rYou are stunned.#n\n\r",		ch );
	break;
    case POS_SLEEPING:
	send_to_char( "#lYou are sleeping.#n\n\r",		ch );
	break;
    case POS_RESTING:
	send_to_char( "#lYou are resting.#n\n\r",		ch );
	break;
    case POS_MEDITATING:
	send_to_char( "#lYou are meditating.#n\n\r",	ch );
	break;
    case POS_SITTING:
	send_to_char( "#lYou are sitting.#n\n\r",		ch );
	break;
    case POS_STANDING:
	send_to_char( "#lYou are standing.#n\n\r",		ch );
	break;
    case POS_FIGHTING:
	send_to_char( "#lYou are fighting.#n\n\r",		ch );
	break;
    }
*/
    if ( ch->level >= 0 )
    {
	sprintf( buf, "#WAC: #G%d#n\n\r", a_c );
	send_to_char( buf, ch );
    }

    send_to_char( "#WARMOR:", ch );
         if ( a_c >=  101 ) send_to_char( "#Wnaked!#n\n\r", ch );
//    else if ( a_c >=   80 ) send_to_char( "#Wbarely clothed.#n\n\r",   ch );
//    else if ( a_c >=   60 ) send_to_char( "#Wwearing clothes.#n\n\r",  ch );
//    else if ( a_c >=   40 ) send_to_char( "#Wslightly armored.#n\n\r", ch );
//    else if ( a_c >=   20 ) send_to_char( "#Wsomewhat armored.#n\n\r", ch );
//    else if ( a_c >=    0 ) send_to_char( "#Warmored.#n\n\r",          ch );
    else if ( a_c >=  -250 ) send_to_char( "#WSKINS.#n\n\r",     ch );
    else if ( a_c >= -2000 ) send_to_char( "#WLEATHER.#n\n\r", ch );
    else if ( a_c >= -2500 ) send_to_char( "#WCHAINMAIL.#n\n\r",  ch );
    else if ( a_c >= -5000 ) send_to_char( "#WBANDMAIL.#n\n\r", ch );
    else if ( a_c >= -7490 ) send_to_char( "#WPARTIAL PLATE#n\n\r", ch );
    else                    send_to_char( "#WFULL PLATINUM#n\n\r",ch );
    sprintf( buf, "#WHIT: #G%d#W     #WDAM: #G%d#W     #WDAMCAP: #G%d#n\n\r ",
char_hitroll(ch), char_damroll(ch), ch->damcap[0] );
    send_to_char( buf, ch );

    sprintf(buf,"#R[#nYou are currently on Tier #R%d#R]#n\n\r",ch->tier);
    stc(buf,ch);
    sprintf(buf,"#R[#nYou have #Y%d #nTier Kills for this tier#R]#n\n\r",ch->tks);
    stc(buf,ch);    
    sprintf(buf,"#R[#nResistance #R%d#R]#n\n\r",ch->pResist);
    stc(buf,ch);
    sprintf(buf,"#R[#nLegend #R%d#R]#n\n\r",ch->pcdata->legend);
    stc(buf,ch);
    if (IS_CLASS(ch, CLASS_ANTIPALADIN)){
    sprintf(buf,"#R[#nPotentia #R%d#R]#n\n\r",ch->pPotentia);
    stc(buf,ch);}


        if(!IS_NPC(ch) && IS_CLASS(ch,CLASS_SHINOBI)){
                sprintf(buf, "#R[#nChakra:              #W%d#R]\n\r", ch->chakra);
                stc(buf,ch);
        }
    if (!IS_NPC(ch) && (IS_CLASS(ch, CLASS_HYDRA) || IS_CLASS(ch, CLASS_TYPHON)
    || IS_CLASS(ch, CLASS_NAZGUL) || IS_CLASS(ch, CLASS_BAATEZU))){
        sprintf( buf, "#lHeads: #W%d#l.#n\n\r",  ch->pcdata->powers[HYDRA_HEADS]);
        send_to_char( buf, ch );
}

    if ( !IS_NPC(ch) && IS_CLASS(ch,CLASS_VAMPIRE) )
    {
	sprintf( buf, "#lBlood: #W%d#l.#n\n\r", ch->pcdata->condition[COND_THIRST] );
	send_to_char( buf, ch );

	sprintf( buf, "#lBeast: #W%d#l.#n  ", ch->beast );
	send_to_char( buf, ch );
	if      (ch->beast <  0 ) send_to_char("You are a cheat!\n\r",ch);
	else if (ch->beast == 0 ) send_to_char("You have attained Golconda!\n\r",ch);
	else if (ch->beast <= 5 ) send_to_char("You have almost reached Golconda!\n\r",ch);
	else if (ch->beast <= 10) send_to_char("You are nearing Golconda!\n\r",ch);
	else if (ch->beast <= 15) send_to_char("You have great control over your beast.\n\r",ch);
	else if (ch->beast <= 20) send_to_char("Your beast has little influence over your actions.\n\r",ch);
	else if (ch->beast <= 30) send_to_char("You are in control of your beast.\n\r",ch);
	else if (ch->beast <= 40) send_to_char("You are able to hold back the beast.\n\r",ch);
	else if (ch->beast <= 60) send_to_char("You are constantly struggling for control of your beast.\n\r",ch);
	else if (ch->beast <= 75) send_to_char("Your beast has great control over your actions.\n\r",ch);
	else if (ch->beast <= 90) send_to_char("The power of the beast overwhelms you.\n\r",ch);
	else if (ch->beast <= 99) send_to_char("You have almost lost your battle with the beast!\n\r",ch);
	else                      send_to_char("The beast has taken over!\n\r",ch);

    }
    else if (ch->level >= 0)
	send_to_char( "\n\r", ch );

    if ( ch->level >= 0 )
    {
	sprintf( buf, "#WALIGNMENT: #G%d#n     ", ch->alignment );
	send_to_char( buf, ch );
    }

    send_to_char( "", ch );
         if ( ch->alignment >  900 ) send_to_char( "#GANGELIC\n\r", ch );
    else if ( ch->alignment >  700 ) send_to_char( "#GSAINTLY\n\r", ch );
    else if ( ch->alignment >  350 ) send_to_char( "#GSAINTLY\n\r",    ch );
    else if ( ch->alignment >  100 ) send_to_char( "#GKIND\n\r",    ch );
    else if ( ch->alignment > -100 ) send_to_char( "#GNEUTRAL.\n\r", ch );
    else if ( ch->alignment > -350 ) send_to_char( "#GDEMENTED.\n\r",    ch );
    else if ( ch->alignment > -700 ) send_to_char( "#GSADISTIC.\n\r",    ch );
    else if ( ch->alignment > -900 ) send_to_char( "#GSADOMASICIST\n\r", ch );
    else                             send_to_char( "#GDEMONIC.\n\r", ch );
  
    if ( !IS_NPC(ch) && ch->level >= 0 )
    {
	sprintf( buf, "\n\r#WSTATUS: #G%d#n", ch->pStatus );
	send_to_char( buf, ch );
    }

    if (!IS_NPC(ch)) send_to_char( "     #WLEVEL: ", ch );

         if (!IS_NPC(ch) && ch->level == 1 ) send_to_char( "#GMORTAL\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 2 ) send_to_char( "#GMORTAL\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 7 ) send_to_char( "#GBUILDER\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 8 ) send_to_char( "#GQUESTMAKER\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 9 ) send_to_char( "#GENFORCER\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 10) send_to_char( "#GJUDGE\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 11) send_to_char( "#GHIGHJUDGE\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 12) send_to_char( "#GIMPLEMENTOR\n\r", ch);
    else if (!IS_NPC(ch) && ch->level == 13) send_to_char( "#GTHE OWNER\n\r", ch);
    else if (!IS_NPC(ch) && ch->race <= 0 ) send_to_char( "#GAVATAR\n\r", ch);
    else if (!IS_NPC(ch) && ch->race <= 5 ) send_to_char( "#GIMMORTAL\n\r", ch);
    else if (!IS_NPC(ch) && ch->race <= 9 ) send_to_char( "#GGODLING\n\r", ch);
    else if (!IS_NPC(ch) && ch->race <= 14) send_to_char( "#GDEMIGOD\n\r", ch);
    else if (!IS_NPC(ch) && ch->race <= 19) send_to_char( "#GLESSER-GOD\n\r", ch);
    else if (!IS_NPC(ch) && ch->race <= 24) send_to_char( "#GGREATER-GOD\n\r", ch);
    else if (!IS_NPC(ch) && ch->race >= 25) send_to_char( "#GSUPREME-GOD\n\r", ch);
    else if (!IS_NPC(ch)) send_to_char( "#GBUGGED!\n\r", ch);

	if(IS_CLASS(ch, CLASS_ZOMBIE)){
		switch(ch->pcdata->powers[ZOM_LEVEL]){
			case 1:
				stc("#R[#nYou are currently a #0Skeleton#R]#n\n\r",ch);
				break;
			case 2:
				stc("#R[#nYou are currently a #0Wretch#R]#n\n\r",ch);
				break;
			case 3:
				stc("#R[#nYou are currently a #0Zombie#R]#n\n\r",ch);
				break;
			case 4:
				stc("#R[#nYou are currently a #0Minion#R]#n\n\r",ch);
				break;
			case 5:
				stc("#R[#nYou are currently a #0Undead#R]#n\n\r",ch);
				break;
			case 6:
				stc("#R[#nYou are currently a #0Forsaken#R]#n\n\r",ch);
				break;
			case 7:
				stc("#R[#nYou are currently a #0Wight#R]#n\n\r",ch);
				break;
		}
		sprintf(buf, "#R[#nYou have #g%d#n Flesh Points#R]#n\n\r",ch->pcdata->powers[ZOM_FLESH]);
		stc(buf,ch);
		if(ch->pcdata->powers[ZOM_LEVEL] >= 6)
		{sprintf(buf, "#R[#nYou have #r%d#n Corpse Points stored#R]#n\n\r",ch->pcdata->powers[ZOM_ASSIM]);
		stc(buf,ch);}
	}


    if ( !IS_NPC(ch) )
    {
	if      (ch->pkill  == 0) sprintf(ss1,"#Wno#n players");
	else if (ch->pkill  == 1) sprintf(ss1,"#W%d#n player",ch->pkill);
	else                      sprintf(ss1,"#W%d#n players",ch->pkill);
	if      (ch->pdeath == 0) sprintf(ss2,"#Wno#n players");
	else if (ch->pdeath == 1) sprintf(ss2,"#W%d#n player",ch->pdeath);
	else                      sprintf(ss2,"#W%d#n players",ch->pdeath);
	sprintf( buf, "#G[#WKILLS: %s#G] [#WDEATHS %s#G]#n\n\r", ss1, ss2 );
	send_to_char( buf, ch );
	sprintf(buf,"#G[#WLAST TWO DECAPS: %s, %s#G]\n\r",ch->pcdata->last_decap[0], ch->pcdata->last_decap[1]);
	stc(buf,ch);
	if      (ch->mkill  == 0) sprintf(ss1,"#Wno#n mobs");
	else if (ch->mkill  == 1) sprintf(ss1,"#W%d#n mob",ch->mkill);
	else                      sprintf(ss1,"#W%d#n mobs",ch->mkill);
	if      (ch->mdeath == 0) sprintf(ss2,"#Wno#n mobs");
	else if (ch->mdeath == 1) sprintf(ss2,"#W%d#n mob",ch->mdeath);
	else                      sprintf(ss2,"#W%d#n mobs",ch->mdeath);
	sprintf( buf, "#G[#WKILLED %s#g] [#WDEATHS %s#G]\n\r", ss1, ss2 );
	send_to_char( buf, ch );

    }


    if ( !IS_NPC(ch) && ch->pcdata->quest > 0)
    {
	if (ch->pcdata->quest == 1)
	    sprintf( buf, "#WQUEST POINTS: #G1#n\n\r" );
	else
	    sprintf( buf, "#WQUEST POINTS: #G%d#n\n\r", ch->pcdata->quest );
	send_to_char( buf, ch );
    }
/*
    if (IS_AFFECTED(ch,AFF_HIDE)) send_to_char( "#lYou are keeping yourself hidden from those around you.#n\n\r", ch );
*/
    if ( !IS_NPC(ch) )
    {
	if ( IS_CLASS(ch,CLASS_WEREWOLF) && ch->pcdata->powers[WPOWER_SILVER] > 0)
	{
	    sprintf(buf,"#WSILVER TOLERANCE: #G%d#n\n\r",ch->pcdata->powers[WPOWER_SILVER]);
	    send_to_char( buf, ch );
	}
	if ( IS_CLASS(ch,CLASS_VAMPIRE) && ch->pcdata->stats[UNI_RAGE] > 0)
	{
	    sprintf(buf,"#WBEAST: +#G%d #WHIT/DAM##n\n\r",ch->pcdata->stats[UNI_RAGE]);
	    send_to_char( buf, ch );
	}
	else if ( IS_SET(ch->special,SPC_WOLFMAN) && ch->pcdata->stats[UNI_RAGE] > 0)
	{
	    sprintf(buf,"#WRAGE: +#G%d #WHIT/DAM#n\n\r",ch->pcdata->stats[UNI_RAGE]);
	    send_to_char( buf, ch );
	}
	else if ( IS_CLASS( ch, CLASS_DEMON) && ch->pcdata->stats[DEMON_POWER] > 0)
	{
	    sprintf(buf,"#WDEMON ARMOUR: +#G%d#W HIT/DAM#n\n\r",
		((ch->pcdata->stats[DEMON_POWER]) * ch->pcdata->stats[DEMON_POWER]));
	    send_to_char( buf, ch );
	}
	else if ( IS_SET(ch->special,SPC_CHAMPION) && ch->pcdata->stats[DEMON_POWER] > 0)
	{
	    sprintf(buf,"#WDEMON ARMOUR: +#G%d#W HIT/DAM#n\n\r",
		((ch->pcdata->stats[DEMON_POWER]) * ch->pcdata->stats[DEMON_POWER]));
	    send_to_char( buf, ch );
	}

      sprintf(buf,"[#WPKSCORE: #G%d]#n",needed(ch));
	send_to_char(buf,ch);	
        sprintf(buf,"[#WMIGHTRATE #G%d#n]\n\r", getMight(ch));
        send_to_char(buf,ch);

        if ( !IS_CLASS(ch, CLASS_WEREWOLF) && !IS_CLASS(ch, CLASS_VAMPIRE) && !IS_CLASS(ch, 
        CLASS_UNDEAD_LYCAN) && !IS_CLASS(ch, CLASS_STALKER) && ch->rage > 0)
	{
	   sprintf(buf,"#R[#nYou are in a mad frenzy, adding #W%d#n Hitroll and Damroll#R]\n\r",ch->rage);
	   stc(buf, ch);
	}

	else if ((IS_CLASS(ch, CLASS_DEMON) || IS_CLASS(ch, CLASS_HELLS_SOLDIER) || IS_CLASS(ch, CLASS_BETRAYER)
    || IS_CLASS(ch, CLASS_SHADOW_FIEND) || IS_CLASS(ch, CLASS_SHADOW_DRAGON)) && ch->pcdata->stats[DEMON_POWER] > 0)
	{
	    sprintf(buf,"#R[#nYou are wearing demonic armour:  Affects Hitroll and Damroll by #W+%d#R]\n\r",
		((ch->pcdata->stats[DEMON_POWER]) *ch->pcdata->stats[DEMON_POWER]));
	    send_to_char( buf, ch );
	}
      else if ((IS_CLASS(ch, CLASS_DROW) || IS_CLASS(ch, CLASS_BLACK_ASSASSIN)
      || IS_CLASS(ch, CLASS_STALKER) || IS_CLASS(ch, CLASS_SHADOWBORN)) && ch->pcdata->stats[DEMON_POWER] > 0)
        {
            sprintf(buf,"#R[#nYou are wearing drow armour:  Affects Hitroll and Damroll by #W+%d#R]\n\r",
                ((ch->pcdata->stats[DEMON_POWER]) *ch->pcdata->stats[DEMON_POWER]));  
            send_to_char( buf, ch );
        }
	
    if ( !IS_NPC(ch) )
    {
	if ((IS_CLASS(ch,CLASS_WEREWOLF) || IS_CLASS(ch, CLASS_UNDEAD_LYCAN)
    || IS_CLASS(ch, CLASS_GAIA_WOLF) || IS_CLASS(ch, CLASS_STALKER)) && ch->siltol > 0)
	{
	    sprintf(buf,"#R[#nYou have attained #W%d #npoints of silver tolerance#R]\n\r",ch->siltol);
	    send_to_char( buf, ch );
	}
	if ( (IS_CLASS(ch,CLASS_VAMPIRE) || IS_CLASS(ch, CLASS_UNDEAD_LYCAN)) && ch->rage > 0)
	{
	    sprintf(buf,"#R[#nThe beast is in control of your actions:  Affects Hitroll and Damroll by #W+%d#R]\n\r",ch->rage);
	    send_to_char( buf, ch );
	}
	if (( IS_CLASS(ch, CLASS_WEREWOLF) || IS_CLASS(ch, CLASS_STALKER)) && IS_SET(ch->special,SPC_WOLFMAN) && ch->rage > 0)
	{
	    sprintf(buf,"#R[#nYou are raging:  Affects Hitroll and Damroll by #W+%d#R]\n\r",ch->rage);
	    send_to_char( buf, ch );
	}


	if (ch->fight_timer > 0) {
	sprintf(buf,"#R[#nYou have #W%d#n rounds left on your fight timer#R]#n\n\r", ch->fight_timer);
	send_to_char(buf,ch);
	}
	if (ch->pcdata->lasthittimer > 0) {
	sprintf(buf,"#R[#nYou have #W%d#n rounds on your LASTHITTIMER.#R]#n\n\r",ch->pcdata->lasthittimer);
	send_to_char(buf,ch);
	}
    if (ch->pcdata->mean_paradox_counter > 0) {
      sprintf(buf,"#R[#nYou have #W%d#n point(s) on your paradox counter#R]#n\n\r", ch->pcdata->mean_paradox_counter);
      send_to_char(buf,ch);
    }	

    send_to_char( "#4    -   -  - - -#6-     --== COTN ==--      -#4- - -  -   -#n\n\r", ch );

/*
    if ( ch->affected != NULL )
    {
	send_to_char( "#lYou are affected by:#n\n\r", ch );
	for ( paf = ch->affected; paf != NULL; paf = paf->next )
	{
	    sprintf( buf, "#lSpell: '#W%s#l'", skill_table[paf->type].name );
	    send_to_char( buf, ch );

	    if ( ch->level >= 0 )
	    {
		sprintf( buf,
		    " #lmodifies #W%s#l by #W%d#l for #W%d#l hours with bits #W%s#l.#n\n\r",
		    affect_loc_name( paf->location ),
		    paf->modifier,
		    paf->duration,
		    affect_bit_name( paf->bitvector ) );
		send_to_char( buf, ch );
	    }

	}

    }
*/
}
    return;
}
}