/*********************************************************** * Meta store procedure. By Rafiq "JurniMan" Premji * * Implementor - After Armageddon MUD - jurniman.com 6666 * * This procedure needs to go into your spec_procs.c file. * * Also, my MUD uses platinum coins, which are worth * * 10,000 gold coins. You will either need to get rid of * * the platinum coins, or add the GET_PLAT(ch) into your * * utils.h, and in your do_score, do_stat, do_set, etc... * * Also, please give due credit if you use this function * * in your MUD. * ***********************************************************/ /* * FTP Maintainer's Note: This bears a striking resemblance to the * meta_proc.txt file uploaded by jacobin@bellatlantic.net of * ButterMud - Telnet://betterbox.net:4000. In particular you * will note that some of the 'send_to_char' messages are the * same. That's quite unlikely, so credit him also. Thanks. * * -George Greer (greerga@circlemud.org) */ SPECIAL(meta_store) { int meta_type = 0; long meta_plat = 0; long meta_exp = 0; long meta_gold = 0; if (CMD_IS("meta")) { meta_type = atoi(argument); switch(meta_type) { case 1: case 2: case 3: meta_plat = 500; meta_exp = 1000000; break; case 4: case 5: case 6: case 7: case 8: case 9: meta_plat = 1000; meta_exp = 3000000; break; case 10: meta_gold = 10000; break; case 11: meta_gold = 50000; break; case 12: meta_gold = 100000; break; case 13: meta_plat = 1; break; case 14: meta_plat = 5; break; case 15: meta_plat = 10; break; } /* Gold and Exp validity check */ if ((GET_PLAT(ch) < meta_plat)) { send_to_char("The Metaphysician says, \'You don't have enough platinum, now fuck off!!\'\r\n", ch); return (TRUE); } if ((GET_EXP(ch) < meta_exp)) { send_to_char("The Metaphysician says, \'You don't have enough experience, now fuck off!!\'\r\n", ch); return (TRUE); } if ((GET_GOLD(ch) < meta_gold)) { send_to_char("The Metaphysician says, \'You don't have enough money, now fuck off!!\'\r\n", ch); return (TRUE); } /* Boost Stats */ switch(meta_type) { case 1: GET_MAX_HIT(ch) += number(20, 40); GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("Your maximum hitpoints increase!\r\n",ch); return 1; break; case 2: GET_MAX_MANA(ch) += number(30, 50); GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You your mana raise!\r\n",ch); return 1; break; case 3: GET_MAX_MOVE(ch) += number(20, 40); GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You feel more endurance ability!\r\n",ch); return 1; break; case 4: if (GET_STR(ch) < 25) { GET_STR(ch) += 1; GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You feel stronger!\r\n",ch); return 1; } else { send_to_char("You are as naturally strong as you can be.\r\n",ch); return 1; } break; case 5: if (GET_INT(ch) < 25) { GET_INT(ch) += 1; GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You feel smarter!\r\n",ch); return 1; } else { send_to_char("Sorry, you can understand no more.\r\n",ch); return 1; } break; case 6: if (GET_WIS(ch) < 25) { GET_WIS(ch) += 1; GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You feel wiser!\r\n",ch); return 1; } else { send_to_char("Sorry, but I cannot make you any more wise.\r\n",ch); return 1; } break; case 7: if (GET_DEX(ch) < 25) { GET_DEX(ch) += 1; GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You feel faster!\r\n",ch); return 1; } else { send_to_char("Sorry, but you are already as agile as can be.\r\n",ch); return 1; } break; case 8: if (GET_CON(ch) < 25) { GET_CON(ch) += 1; GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; 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); return 1; } break; case 9: if (GET_CHA(ch) < 25) { GET_CHA(ch) += 1; GET_PLAT(ch) -= meta_plat; GET_EXP(ch) -= meta_exp; send_to_char("You social engineering skills increase!\r\n",ch); return 1; } else { send_to_char("Sorry, your charisma stuns me already.\r\n",ch); return 1; } break; case 10: GET_GOLD(ch) -= 10000; GET_PLAT(ch) += 1; send_to_char("You receive 1 platinum coin for 10,000 gold.\r\n",ch); return 1; break; case 11: GET_GOLD(ch) -= 50000; GET_PLAT(ch) += 5; send_to_char("You receive 5 platinum coins for 50,000 gold.\r\n",ch); return 1; break; case 12: GET_GOLD(ch) -= 100000; GET_PLAT(ch) += 10; send_to_char("You receive 10 platinum coins for 100,000 gold.\r\n",ch); return 1; break; case 13: GET_GOLD(ch) += 10000; GET_PLAT(ch) -= 1; send_to_char("You receive 10,000 gold for 1 platinum coin.\r\n",ch); return 1; break; case 14: GET_GOLD(ch) += 50000; GET_PLAT(ch) -= 5; send_to_char("You receive 50,000 gold for 5 platinum coins.\r\n",ch); return 1; break; case 15: GET_GOLD(ch) += 100000; GET_PLAT(ch) -= 10; send_to_char("You receive 100,000 gold for 10 platinum coins.\r\n",ch); return 1; break; } send_to_char("_________________________________________ \r\n",ch); send_to_char("# Stat Raised: Exp: Platinum: \r\n",ch); send_to_char("_________________________________________ \r\n",ch); send_to_char("1 health 1,000,000 500 \r\n",ch); send_to_char("2 mana 1,000,000 500 \r\n",ch); send_to_char("3 movement 1,000,000 500 \r\n",ch); send_to_char(" ------ \r\n",ch); send_to_char("4 str (max: 25) 3,000,000 1,000 \r\n",ch); send_to_char("5 int (max: 25) 3,000,000 1,000 \r\n",ch); send_to_char("6 wis (max: 25) 3,000,000 1,000 \r\n",ch); send_to_char("7 dex (max: 25) 3,000,000 1,000 \r\n",ch); send_to_char("8 con (max: 25) 3,000,000 1,000 \r\n",ch); send_to_char("9 cha (max: 25) 3,000,000 1,000 \r\n",ch); send_to_char("_________________________________________ \r\n",ch); send_to_char("Currency Exchange: \r\n",ch); send_to_char("_________________________________________ \r\n",ch); send_to_char("10 1 Platinum for 10,000 Gold \r\n",ch); send_to_char("11 5 Platinum for 50,000 Gold \r\n",ch); send_to_char("12 10 Platinum for 100,000 Gold \r\n",ch); send_to_char("13 10,000 Gold for 1 Platinum \r\n",ch); send_to_char("14 50,000 Gold for 5 Platinum \r\n",ch); send_to_char("15 100,000 Gold for 10 Platinum \r\n",ch); return 1; } return 0; }