/*************************************************************************** * 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; } }