[Code] Knowledge spell

From: claywar (claywar@RJSONLINE.NET)
Date: 10/11/97

  Well, I haven't contributed to the list in a long time, so in the spirit
of manual spells, here is knowledge.

  /* This is a real freaky spell I just thought of.  What its intended
   * effect is is to randomly give the knowledge of a spell (1%) at a
   * random penalty.  Note: These penalties should be extreme, oh and
   * if the random selected spell is already know it will set it to 1%
   * so its really not your average 100 time casted spell.

  #define NUM_PENALTIES 5

  int skill = 0;
  char to_char[255];

  skill = number(1, NUM_SPELLS);    /* Assuming NUM_SPELLS is defined as
                                     * the number of working spells */

  /* No way out of the penalty, but the reward is great enough. */
  switch (number(0, NUM_PENALTIES-1)) {
    case 0:
      GET_EXP(ch) /= 2;
    case 1:
      GET_MAX_HIT(ch) /= 2;
    case 2:
      if (GET_LEVEL(ch) > 1)
    case 3:
      GET_HIT(ch) = 1;
      GET_MANA(ch) = 1;
      GET_MOVE(ch) = 1;
    case 4:
      if (GET_STR(ch) > 10)
        GET_STR(ch) = 10;

  /* Now this is the killer, do a check against magic theory skill
   * just to make sure they know what they're doing.
   * Magic Theory is just a do-nothing skill for which many spells
   * can utilize for basic magic adeptness.

  if (number(1, 101) > GET_SKILL(ch, SKILL_MAGIC_THEORY)) {
    send_to_char("Your feeble mind failed to gain any new knowledge.", ch);

  /* Now just set the randomly selected skill to 1 and make the
   * player even happier.

  GET_SKILL(ch, skill) = 1;

  sprintf(to_char, "You feel weaker, but stronger in the knowledge of %s.\r\n", spells[skill]);
  send_to_char(to_char, ch);
  act("$n keels over in an aura of pure knowledge.", FALSE,ch,0,0,TO_ROOM);


Faras@Morgaelin       :: mud.dwango.com 3000
claywar@rjsonline.net :: <no home for the rp proposal currently>


The RP FAQ is way out of the works at the moment, and I would appreciate
any submissions to it, ideas, arguments, etc.

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |

This archive was generated by hypermail 2b30 : 12/08/00 PST