[code] Minor Identify

From: Soren P. Skou (serces@MUD.DK)
Date: 11/12/97


Here's a little spell.. Hope you can use it..

It's a minor Id, so Instead of Giving you all the information
"Affects you: DEX +2" and so on, then You can give out this spell
lower than the normal Identify (I have both, one at lvl 100 and one
at lvl 30).. It won't give amount's just tells the caster what it
might affect. In case it won't affect anything, it tells the caster
what it's worth. (In money_desc)

If you use it, please send me a mail, if you have any suggestions to
changes please let me know as well.. :)

---------- Snip ---------------
ASPELL(spell_minor_id)
{
 char *min_id[] = {
  "%sIt would bring %s if you sold it!\r\n",    /* NONE
  "your physique!\r\n",                                 /* STR */
  "your speed!\r\n",                                    /* DEX */
  "your thoughts!\r\n",                                 /* INT  */
   "your  knowledge of things!\r\n",            /* WIS */
  "your endurance!\r\n",                                /*  CON */
  "your appearance!\r\n",                               /* CHA */
  "!CLASS!\r\n",                                        /*  CLASS */
  "!LEVEL!\r\n",                                        /* LEVEL */
  "the time!\r\n",                                      /* AGE  */
  "your burden of life!\r\n",                   /* WEIGHT */
  "your vertical stance!\r\n",          /* HEIGHT */
  "your magical aura!\r\n",                     /* MANA  */
  "your physical resistance!\r\n",      /* HIT */
  "your ability to move!\r\n",          /* MOVE */
  "your wealth!\r\n",                           /* GOLD */
  "your  conscious perception!\r\n",    /* EXP */
  "your armor!\r\n",                            /* AC  */
  "the way you hit!\r\n",                       /* HITROLL */
  "the damage you give!\r\n",           /* DAMROLL */
  "your ability to withstand  paralysis!\r\n",  /* PARA */
  "your ability to withstand Rod  Attacks!\r\n",        /* ROD */
  "your ability to withstand  petrification!\r\n",      /* PETRI */
  "your ability to withstand  breath Attacks!\r\n",     /* BREATH */
  "your ability to withstand  spells!\r\n",             /* SPELL */
  "!RACES!\r\n"                                         /* RACE */
  "\n"};

 int cost = GET_OBJ_COST(obj), i, x, mes_get = 0;
 bool found = FALSE, sent = FALSE;

 if (cost == 0) cost = number(1, 1000);

 if (!obj->affected[0].modifier) {
  sprintf(buf, "%s cannot help you in any special way.\r\nBut it might
  bring %s if you sold it.\r\n", obj->short_description,
  money_desc(cost)); send_to_char(buf, ch); return;
 }

 sprintf(buf, "%s can help you in the following way:\r\n",
 obj->short_description); for (i = 0; i < MAX_OBJ_AFFECT; i++) if
 (obj->affected[i].modifier) {
  if (number(0, 20) > GET_INT(ch) && GET_LEVEL(ch) < LVL_IMMORT)
  continue;

  switch(obj->affected[i].location) {
   case APPLY_NONE:
   case APPLY_RACE:
   case APPLY_CLASS:
   case APPLY_LEVEL:
    if (!found) {
     sprintf(buf, min_id[0], buf, money_desc(cost));
     found = TRUE;
     sent = TRUE;
    }
   break;
   default:
    mes_get = obj->affected[i].location;
    x = number(0, 1);
    sprintf(buf, "%s%s%s", buf, (x ? "it might do something about
    ":"It could do something about "), min_id[mes_get]); sent = TRUE;
   break;
  }
 }


 if (!sent) {
  sprintf(buf, "It seems to you that %s cannot help you in any special
  way.\r\n", obj->short_description); send_to_char(buf, ch); return;
 }

 send_to_char(buf, ch);

}
---------- Snip ---------------

/Serces


     +------------------------------------------------------------+
     | 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