From: Sren Peter Skou <tigerdyr@internet.dk>
Subject: Spell/Skill Listing

/* Put all of this into act.informative.c */
char *howgood(int percent)
{
  static char buf[256];

  if (percent == 0)
    strcpy(buf, " (not learned)");
  else if (percent <= 10)
    strcpy(buf, " (awful)");
  else if (percent <= 20)
    strcpy(buf, " (bad)");
  else if (percent <= 40)
    strcpy(buf, " (poor)");
  else if (percent <= 55)
    strcpy(buf, " (average)");
  else if (percent <= 70)
    strcpy(buf, " (fair)");
  else if (percent <= 80)
    strcpy(buf, " (good)");
  else if (percent <= 85)
    strcpy(buf, " (very good)");
  else
    strcpy(buf, " (superb)");

  return (buf);
}

ACMD(do_spells)
{
 extern char *spells[];
 extern struct spell_info_type spell_info[];
 int i;

 strcpy(buf, "You know of the following Spells:\r\n");
 strcpy(buf2, buf);

 for (i = 1; i < MAX_SPELLS+1; i++)
 {
  if (GET_LEVEL(ch) >= spell_info[i].min_level[(int) GET_CLASS(ch)])
  {
   if (GET_SKILL(ch, i) > 0)
   {
    sprintf(buf, "%-20s %s\r\n", spells[i], howgood(GET_SKILL(ch, i)));
    strcat(buf2, buf);
   }
  }
 }
 page_string(ch->desc, buf2, 1);
}

ACMD(do_skills)
{
 extern char *spells[];
 extern struct spell_info_type spell_info[];
 int i;

 strcpy(buf, "You know of the following Skills:\r\n");
 strcpy(buf2, buf);

 for (i = MAX_SPELLS +1; i < MAX_SKILLS+1; i++)
 {
  if (GET_LEVEL(ch) >= spell_info[i].min_level[(int) GET_CLASS(ch)])
  {
   if (GET_SKILL(ch, i) > 0)
   {
    sprintf(buf, "%-20s %s\r\n", spells[i], howgood(GET_SKILL(ch, i)));
    strcat(buf2, buf);
   }
  }
 }
 page_string(ch->desc, buf2, 1);
}


After this you just have to put
ACMD(do_spells) and ACMD(do_skills) into interpreter.c and define some
kind of levels for the poor commands (*grin*)

Thanks to whoever it was (I only know the Mudname Ariella)

If you have any problems, please write to serces@mud.dk or
tigerdyr@internet.dk.

/T-Rex is tired again.
