dsI/bin/
dsI/extra/creremote/
dsI/extra/mingw/
dsI/extra/wolfpaw/
dsI/fluffos-2.7-ds2.018/
dsI/fluffos-2.7-ds2.018/ChangeLog.old/
dsI/fluffos-2.7-ds2.018/Win32/
dsI/fluffos-2.7-ds2.018/compat/
dsI/fluffos-2.7-ds2.018/compat/simuls/
dsI/fluffos-2.7-ds2.018/testsuite/
dsI/fluffos-2.7-ds2.018/testsuite/clone/
dsI/fluffos-2.7-ds2.018/testsuite/command/
dsI/fluffos-2.7-ds2.018/testsuite/data/
dsI/fluffos-2.7-ds2.018/testsuite/etc/
dsI/fluffos-2.7-ds2.018/testsuite/include/
dsI/fluffos-2.7-ds2.018/testsuite/inherit/
dsI/fluffos-2.7-ds2.018/testsuite/inherit/master/
dsI/fluffos-2.7-ds2.018/testsuite/log/
dsI/fluffos-2.7-ds2.018/testsuite/single/
dsI/fluffos-2.7-ds2.018/testsuite/single/tests/compiler/
dsI/fluffos-2.7-ds2.018/testsuite/single/tests/efuns/
dsI/fluffos-2.7-ds2.018/testsuite/single/tests/operators/
dsI/fluffos-2.7-ds2.018/testsuite/u/
dsI/fluffos-2.7-ds2.018/tmp/
dsI/lib/cfg/
dsI/lib/cmds/common/
dsI/lib/cmds/creators/include/
dsI/lib/cmds/creators/include/SCCS/
dsI/lib/daemon/services/
dsI/lib/doc/
dsI/lib/domains/Ylsrim/
dsI/lib/domains/Ylsrim/adm/
dsI/lib/domains/Ylsrim/armour/
dsI/lib/domains/Ylsrim/broken/
dsI/lib/domains/Ylsrim/fish/
dsI/lib/domains/Ylsrim/meal/
dsI/lib/domains/Ylsrim/npc/
dsI/lib/domains/Ylsrim/virtual/
dsI/lib/domains/Ylsrim/weapon/
dsI/lib/domains/default/creator/
dsI/lib/domains/default/etc/
dsI/lib/domains/default/room/
dsI/lib/lib/comp/
dsI/lib/lib/lvs/
dsI/lib/lib/user/
dsI/lib/lib/virtual/
dsI/lib/obj/
dsI/lib/obj/include/
dsI/lib/realms/
dsI/lib/save/kills/a/
dsI/lib/save/kills/b/
dsI/lib/save/kills/f/
dsI/lib/save/kills/m/
dsI/lib/save/kills/q/
dsI/lib/save/kills/r/
dsI/lib/secure/cfg/
dsI/lib/secure/cfg/classes/
dsI/lib/secure/cfg/races/SCCS/
dsI/lib/secure/cmds/creators/include/
dsI/lib/secure/cmds/players/
dsI/lib/secure/cmds/players/include/
dsI/lib/secure/daemon/include/
dsI/lib/secure/lib/
dsI/lib/secure/lib/include/
dsI/lib/secure/lib/net/
dsI/lib/secure/lib/net/include/
dsI/lib/secure/lib/std/
dsI/lib/secure/obj/
dsI/lib/secure/obj/include/
dsI/lib/secure/save/
dsI/lib/spells/
dsI/lib/verbs/admins/include/
dsI/lib/verbs/common/
dsI/lib/verbs/common/include/
dsI/lib/verbs/creators/
dsI/lib/verbs/creators/include/
dsI/lib/verbs/players/include/SCCS/
dsI/lib/verbs/rooms/
dsI/lib/verbs/rooms/include/
dsI/lib/www/
dsI/v22.2b14/
dsI/win32/
/*  /verbs/players/score.c
 *  from the Dead Soulsr2 Library
 *  Displays a list of score and related info
 *  created by Blitz@Dead Souls
 */
 
#include <lib.h>
 
inherit LIB_DAEMON;
inherit LIB_HELP;
 
mixed eventScore();
 
static void create() {
  daemon::create();
  SetNoClean(1);
  SetHelp("Syntax: score\n\n"
         "Displays information about your character.\n\n"
         "See also: status\n");
}
 
static string *FoodDegree =
({ "could eat a horse right now!", "could eat plenty more.",
   "could eat some more.", "are partially hungry.",
   "are feeling full.", "feel quite full." });
 
static string *DrunkDegree =
({ "sober", "tipsy", "drunk", "blitzed",
   "smashed out of your gord", "FUBAR" });
 
static string *DrinkDegree =
({ "parched", "extremely thirsty", "very thirsty", "thirsty",
   "somewhat thirsty", "not thirsty" });
 
mixed cmd(string unused) {
  if( creatorp(this_player()) )
    return "Creators have no score, get a life.";
  eventScore();
  return 1;
}
 
mixed eventScore() {
  string *str;
  int birth, age, x, y, z;
 
  str  = ({ "You are "+(string)this_player()->GetShort() + " (" +
          (string)this_player()->GetMoralityDescription() + ")." });
  str += ({ sprintf("You are a level %d %s%s %s.",
           (int)this_player()->GetLevel(),
           ( (int)this_player()->GetUndead() ? "undead " : ""),
           capitalize((string)this_player()->GetRace() || "nothing"),
           capitalize((string)this_player()->GetClass() || "commoner")) });
  str += ({ "Your native town is "+(string)this_player()->GetTown()+", and "
              "you are " + ((string)this_player()->GetReligion() ||
                            "agnostic") + " in faith." });
  str += ({ sprintf("You've solved %s, and have %s.",
            consolidate(sizeof((string *)this_player()->GetQuests()),
              "one quest"),
            consolidate(sizeof((string *)this_player()->GetTitles()),
              "one title") ) });
  birth = (int)this_player()->GetBirth();
  age = ( query_year(time()) - query_year(birth) );
  str += ({ sprintf("You were born on the %d%s day of %s, year %d. "
            "(%d years old)", query_date(birth), ordinal(query_date(birth)),
            query_month(birth), query_year(birth), age) });
  if( x = (int)this_player()->GetTrainingPoints() < 1 ) {
      y = (int)this_player()->GetLevel() + 1 + (x / -4);
      str += ({ "Training points await you at level " + y + "." });
  }
  else str += ({ "You have " + consolidate(
                (int)this_player()->GetTrainingPoints(),
                "one training point") + "." });
  if( (int)this_player()->GetWimpy() )
    str += ({ "You are feeling wimpy." }); else
    str += ({ "You are feeling brave." });
  if( (int)this_player()->GetPoison() > 0 )
    str += ({ "You are poisoned." });
  x = (int)this_player()->GetFood() / 17;
  if( x > sizeof(FoodDegree) - 1 ) x = (sizeof(FoodDegree) - 1);
  y = (int)this_player()->GetDrink() / 17;
  if( y > sizeof(DrinkDegree) - 1 ) y = (sizeof(DrinkDegree) - 1);
  z = (int)this_player()->GetAlcohol() / 17;
  if( z > sizeof(DrunkDegree) - 1 ) z = (sizeof(DrunkDegree) - 1);
  str += ({ "You "+FoodDegree[x] });
  str += ({ sprintf("You are %s and %s.", DrinkDegree[y], DrunkDegree[z]) });
  this_player()->eventPage(str, "info");
  return 1;
}