[Code] MetaPhysician

From: Cris Jacobin (jacobin@BELLATLANTIC.NET)
Date: 11/05/97


   This was whipped up, to give our few 30/30 mortals an option other than just
going immortal.  Might have to adjust the prices for your mud.  Don't want
using the meta to be cheaper than leveling itself ;)

-jac
ButterMud - telnet://betterbox.net:4000

____

SPECIAL(meta_physician)
{
   /* Special Procedure  - meta_physician                */
   /* Player Characters can train their stats or gain    */
   /* health/mana via a MetaPhysician.  Written by       */
   /* Muerte of ButterMud - telnet://betterbox.net:4000  */

 char meta_type[256]= {"     "}; /* Array for meta type  name   */
 long meta_gold = 0;             /* Cash Cost of Meta Procedure */
 long meta_exp  = 0;             /* Exp cost of Meta Procedure  */

 /* Parse command parm and set meta cost accordingly */

  if (CMD_IS("meta")) {
     argument = one_argument(argument, meta_type);

      if (strcmp(meta_type,"health")==0) {
        meta_gold = 400000;
        meta_exp  = 350000;}

      if (strcmp(meta_type, "mana")==0) {
        meta_gold = 400000;
        meta_exp  = 350000;}

      if (strcmp(meta_type, "str")==0) {
        meta_gold = 750000;
        meta_exp  = 1000000;}

      if (strcmp(meta_type, "int")==0) {
        meta_gold = 750000;
        meta_exp  = 1000000;}

      if (strcmp(meta_type, "wis")==0) {
        meta_gold = 750000;
        meta_exp  = 1000000;}

      if (strcmp(meta_type, "dex")==0) {
        meta_gold = 750000;
        meta_exp  = 1000000;}

      if (strcmp(meta_type, "con")==0) {
        meta_gold = 750000;
        meta_exp  = 1000000;}

      if (strcmp(meta_type, "cha")==0) {
        meta_gold = 750000;
        meta_exp  = 1000000;}


      /* Gold and Exp validity check */

      if (meta_gold > 300000) {

      if ((GET_GOLD(ch) < meta_gold)) {
          send_to_char("You don't have enough gold!\r\n", ch);
          return (TRUE);}

      if ((GET_EXP(ch) < meta_exp)) {
          send_to_char("You haven't the experience!\r\n", ch);
          return (TRUE);}

      /* Extract Cash and experience */

       GET_GOLD(ch) -= meta_gold;
       GET_EXP(ch) -= meta_exp;
       send_to_char("The MetaPhysician accepts your payment and begins the
procedure...\r\n",ch);

      /* Boost Stats */

      if (strcmp(meta_type,"health")==0) {
      GET_MAX_HIT(ch) += number(0, 5);
      send_to_char("Your vitality increases!\r\n",ch);
      return 1;}

      if (strcmp(meta_type,"mana")==0) {
      GET_MAX_MANA(ch) += number(0, 5);
      send_to_char("You feel a surge in magical power!\r\n",ch);
      return 1;}

      if (strcmp(meta_type,"str")==0)
       if (GET_STR(ch) <= 17) {
        GET_STR(ch) += 1;
        send_to_char("You feel a sudden surge in your strength.\r\n",ch);
        return 1;} else
        send_to_char("You are as naturally strong as you can be.\r\n",ch);

      if (strcmp(meta_type,"int")==0)
       if (GET_INT(ch) < 18) {
        GET_INT(ch) += 1;
        send_to_char("You feel an increase in your understanding.\r\n",ch);
        return 1;} else
        send_to_char("Sorry, you can understand no more.\r\n",ch);

      if (strcmp(meta_type,"wis")==0)
       if (GET_WIS(ch) < 18) {
        GET_WIS(ch) += 1;
        send_to_char("You suddenly feel more wise.\r\n",ch);
        return 1;} else
        send_to_char("Sorry, we cannot make you any more wise.\r\n",ch);

      if (strcmp(meta_type,"dex")==0)
       if (GET_DEX(ch) < 18) {
        GET_DEX(ch) += 1;
        send_to_char("You feel suddenly more agile!\r\n",ch);
        return 1;} else
        send_to_char("Sorry, but you are allready as agile as can be.\r\n",ch);

      if (strcmp(meta_type,"con")==0)
       if (GET_CON(ch) < 18) {
        GET_CON(ch) += 1;
        send_to_char("You feel suddenly more sturdy.\r\n",ch);
        return 1;} else
        send_to_char("Sorry, you are as hardy an individual as can be.\r\n",ch);

      if (strcmp(meta_type,"cha")==0)
       if (GET_CHA(ch) < 18) {
        GET_CHA(ch) += 1;
        send_to_char("You social engineering skills increase!\r\n",ch);
        return 1;} else
        send_to_char("Sorry, your charisma stuns me allready.\r\n",ch);}

     /* If it gets this far, show them the menu */

      send_to_char("Select an operation from the following...\r\n",ch);
      send_to_char("_____________________________ \r\n",ch);
      send_to_char("Meta Operation    Exp    Gold \r\n",ch);
      send_to_char("_____________________________ \r\n",ch);
      send_to_char("health            350k   400k \r\n",ch);
      send_to_char("mana              350k   400k \r\n",ch);
      send_to_char("------ \r\n",ch);
      send_to_char("str               1mil   750k \r\n",ch);
      send_to_char("int               1mil   750k \r\n",ch);
      send_to_char("wis               1mil   750k \r\n",ch);
      send_to_char("dex               1mil   750k \r\n",ch);
      send_to_char("con               1mil   750k \r\n",ch);
      send_to_char("cha               1mil   750k \r\n",ch);
      return 1; }
      return 0;}


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