/*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * In order to use any part of this Merc Diku Mud, you must comply with * * both the original Diku license in 'license.doc' as well the Merc * * license in 'license.txt'. In particular, you may not remove either of * * these copyright notices. * * * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ /*************************************************************************** * God Wars Mud originally written by KaVir aka Richard Woolcock. * * Changes done to the code done by Sage aka Walter Howard, this mud is * * for the public, however if you run this code it means you agree * * to the license.low, license.gw, and license.merc have fun. :) * ***************************************************************************/ #if defined(macintosh) #include <types.h> #else #include <sys/types.h> #endif #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "merc.h" /*offer(sacrifice)*/ /* void do_offer(CHAR_DATA *ch, char *argument ) { char arg[MAX_INPUT_LENGTH]; CHAR_DATA *victim; char buf[MAX_STRING_LENGTH]; one_argument( argument,arg); if (IS_NPC(ch)) return; if ( arg[0] == '\0' ) { send_to_char( "Who do you wish to sacrifice?\n\r", ch ); return; } if ((victim = get_char_room( ch, arg)) == NULL) { send_to_char("They arent here.\n\r",ch); return; } if (IS_NPC(victim)) { send_to_char("You cant sacrifice them!\n\r",ch); return; } if (!str_cmp(victim->name, "SirMog")) return; if (ch->level < 3 || victim->level < 3) { send_to_char("Only avatars may sacrifice each other.\n\r",ch); return; } if (victim->position > POS_INCAP) { send_to_char("You can only sacrifice mortally wounded players.\n\r",ch); return; } if (is_safe(ch,victim) == TRUE) return; WAIT_STATE(ch,8); sprintf(buf,"%s places his hand on %s's head.",ch->name,victim->name); act(buf,ch,NULL,NULL,TO_ROOM); sprintf(buf,"You place your hand on %s's head.",victim->name); send_to_char(buf,ch); sprintf(buf,"A divine spirit snatches %s from the planet.",victim->name); act(buf,ch,NULL,NULL,TO_ROOM); send_to_char(buf,ch); sprintf(buf,"%s has been sacrificed to God by %s.",victim->name,ch->name); if (IS_CLASS(ch,CLASS_VAMPIRE)) { sprintf(buf,"%s has been sacrificed to Caine by %s.",victim->name,ch->name); send_to_char("You have been gifted power by Caine.\n\r",ch); } if (IS_CLASS(ch,CLASS_WEREWOLF)) { sprintf(buf,"%s has been sacrificed to Gaia by %s.",victim->name,ch->name); send_to_char("You have been gifted power by Gaia.\n\r",ch); } if (IS_CLASS(ch,CLASS_DEMON)) { sprintf(buf,"%s has been sacrificed to Satan by %s.",victim->name,ch->name); send_to_char("You have been gifted power by Satan\n\r",ch); } if (IS_CLASS(ch, CLASS_DROW)) { sprintf(buf,"%s has been sacirificed to Lloth by %s.",victim->name,ch->name); send_to_char("You have been gifted power by Lloth.\n\r", ch ); } do_info(ch,buf); if (( ch->race - victim->race > 10 && ch->race > 0) || (victim->race == 0 && ch->race > 0) ) { ch->paradox[0] += ch->race; ch->paradox[1] += ch->race; ch->paradox[2] += PARADOX_TICK; do_paradox(ch,"self"); if (IS_CLASS(victim, CLASS_VAMPIRE)) do_mortalvamp(victim,""); else if (IS_SET(victim->special, SPC_WOLFMAN)) do_unwerewolf(victim,""); if (IS_CLASS(victim, CLASS_MAGE) && IS_AFFECTED(victim, AFF_POLYMORPH)) do_unpolymorph(victim,""); if (IS_CLASS(victim, CLASS_DROW) && IS_POLYAFF(victim, POLY_SPIDERFORM)) do_spiderform(victim,""); do_beastlike(ch,""); victim->level = 2; victim->trust = 0; raw_kill(victim); WAIT_STATE(victim, 10); return; } ch->hit = ch->max_hit; ch->mana= ch->max_mana; ch->move= ch->max_move; if (victim->race > 0) { if (IS_CLASS(ch, CLASS_DEMON)) ch->pcdata->souls ++; ch->practice += 10; victim->race -= 1; } raw_kill(victim); WAIT_STATE(victim,20); return; } */ void do_oldlevel( CHAR_DATA *ch, char *argument ) { char arg [MAX_INPUT_LENGTH]; char skill [20]; char stance [20]; float chgen = 0; float chgenexp = 0; int percent = 0; int nextgen = 0; int expneeded = 0; one_argument( argument, arg ); ROOM_INDEX_DATA *room; if (IS_NPC(ch)) return; if (arg[0] == '\0') { stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); sprintf(skill, "#0You are currently generation #W%d#n\n\r", ch->generation); send_to_char( skill, ch ); chgen = ch->generation; chgenexp = ch->genexp; if (ch->generation == 6) expneeded = 13000000.00; else if(ch->generation == 5) expneeded = 150000000.00; else if(ch->generation == 4) expneeded = 400000000.00; else if(ch->generation == 3) expneeded = 900000000.00; else if(ch->generation == 2) expneeded = 1800000000.00; percent = (chgenexp / expneeded)*100.00; nextgen = (ch->generation - 1); if (ch->generation > 1 && ch->level > 2) { sprintf(skill,"#0You are #R%d#W%% #0on your way to generation #R%d.#n\n\r",percent,nextgen); stc(skill,ch); } stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); if ( ch->stance[12] == 1 ) sprintf(stance, " Viper" ); else if ( ch->stance[12] == 2 ) sprintf(stance, " Crane" ); else if ( ch->stance[12] == 3 ) sprintf(stance, " Crab" ); else if ( ch->stance[12] == 4 ) sprintf(stance, " Mongoose" ); else if ( ch->stance[12] == 5 ) sprintf(stance, " Pitbull" ); else if ( ch->stance[12] == 6 ) sprintf(stance, " Hawk" ); else if ( ch->stance[12] == 7 ) sprintf(stance, " Badger" ); else if ( ch->stance[12] == 8 ) sprintf(stance, " Cougar" ); else if ( ch->stance[12] == 9 ) sprintf(stance, " Wolverine" ); else if ( ch->stance[12] == 10 ) sprintf(stance, " Grizzly" ); else if ( ch->stance[12] == 11 ) sprintf(stance, " Wolf" ); else if ( ch->stance[12] == 13 ) sprintf( stance, " SS1"); else if ( ch->stance[12] == 14 ) sprintf( stance, " SS2"); else if ( ch->stance[12] == 15 ) sprintf( stance, " SS3"); else if ( ch->stance[12] == 16 ) sprintf( stance, " SS4"); else if ( ch->stance[12] == 17 ) sprintf( stance, " SS5"); else if ( ch->stance[12] == -1 ) sprintf(stance, " None" ); else sprintf(stance, " None" ); sprintf(skill, "#0Autostance#n: #R%s #n\n\r",stance); send_to_char(skill, ch); if (IS_SET(ch->act, PLR_RIGHTHAND)) send_to_char("#wYou favor your right arm in combat.#n\n\r",ch); else if(IS_SET(ch->act, PLR_LEFTHAND)) send_to_char("#wYou favor your left arm in combat.#n\n\r",ch); else send_to_char("#wYou fight well with both your arms.#n\n\r",ch); stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); if ( IS_CLASS(ch, CLASS_DEMON) ) send_to_char("You are a demon!\n\r", ch); if (IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) send_to_char("You are an undead knight!\n\r",ch); if ( IS_CLASS(ch, CLASS_WEREWOLF) ) send_to_char("You are a werewolf!\n\r", ch); if ( IS_CLASS(ch, CLASS_VAMPIRE) ) send_to_char("You are a vampire!\n\r", ch); if ( IS_CLASS(ch, CLASS_DROW) ) send_to_char("You are a drow!\n\r", ch); if (IS_CLASS(ch, CLASS_DRACONIAN)) send_to_char("You are a Draconian!!\n\r",ch); if (IS_CLASS(ch, CLASS_WIZARD)) send_to_char("You are a War Wizard!\n\r",ch); if (IS_CLASS(ch, CLASS_WRAITH)) send_to_char("You are a wraith!!\n\r",ch); if (IS_CLASS(ch, CLASS_ELEMENTAL)) send_to_char("You are an Elemental!!\n\r",ch); if (IS_CLASS(ch, CLASS_PALADIN)) send_to_char("You are a Paladin!!\n\r",ch); if (IS_CLASS(ch, CLASS_ASSASSIN)) send_to_char("You are an Assassin!!\n\r",ch); if (IS_CLASS(ch, CLASS_ANGEL)) send_to_char("You are an angel!\n\r", ch); if (IS_CLASS(ch, CLASS_TANARRI)) send_to_char("You are a warrior of The Bloodwars.\n\r",ch); if (IS_CLASS(ch, CLASS_UNDEAD_LYCAN)) send_to_char("You are an undead lycan!\n\r", ch); if (IS_CLASS(ch, CLASS_HELLS_SOLDIER)) send_to_char("You are a HELLS SOLDIER!\n\r", ch); if (IS_CLASS(ch, CLASS_UNDEAD_ASSASSIN)) send_to_char("You are an Undead Assassin.\n\r", ch); if (IS_CLASS(ch, CLASS_BLADE_MASTER)) send_to_char("You are a Blade Master.\n\r", ch); if ( IS_CLASS(ch, CLASS_DRAGON) ) send_to_char(" You are a dragon! \n\r", ch); if (IS_CLASS(ch, CLASS_TANARRI)) { if (ch->pcdata->rank == TANARRI_FODDER) send_to_char("You are nothing but fodder for the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_FIGHTER) send_to_char("You are a fighter in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_ELITE) send_to_char("You are an elite warrior in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_CAPTAIN) send_to_char("You are a captain in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_WARLORD) send_to_char("You are a warlord in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_BALOR) send_to_char("You are a Tanar'ri Balor.\n\r",ch); } if (IS_CLASS(ch, CLASS_VAMPIRE) ) { if (ch->pcdata->rank == AGE_TRUEBLOOD) send_to_char("You are a TrueBlood!\n\r",ch); else if (ch->pcdata->rank == AGE_LA_MAGRA) send_to_char("You are a La Magra!\n\r",ch); else if (ch->pcdata->rank == AGE_METHUSELAH) send_to_char("You are a Methuselah!\n\r",ch); else if (ch->pcdata->rank == AGE_ELDER) send_to_char("You are an Elder!\n\r",ch); else if (ch->pcdata->rank == AGE_ANCILLA) send_to_char("You are an Ancilla!\n\r",ch); else if (ch->pcdata->rank == AGE_NEONATE) send_to_char("You are a Neonate!\n\r", ch); else send_to_char("You are a Childe!\n\r", ch); } room = get_room_index( ch->home ); sprintf(skill, "#0Recall Room#R : #Y%s#n\n\r", room->name); send_to_char( skill, ch ); stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); stc("#wTo view weapons, use the argument weapons ('#Rlevel weapons#w')#n\n\r",ch); stc("#wTo view stances, use the argument stances ('#Blevel stances#w')#n\n\r",ch); stc("#wTo view spells, use the argument spells ('#Plevel spells#w')#n\n\r",ch); stc("#wTo view using old style dystopia method ('#Woldlevel#w')#n",ch); } else if (!str_cmp(arg,"weapons")) { stc(" ,/| #G(__ #0/|#l /(_)\\ #0|\\ #G__)#g |\\\n\r",ch); stc(" ,/ \\ #G, _#R`#G-\\ #0/' `\\#b \\#R`#b,#R'#b/ #0/' `\\ #G/-#R`#G__ >,#g / `\\\n\r",ch); stc(" / \\_#G/ / #7^^^ #0/' / | `\\#l_/\\^/\\#l_#0/' | \\ `\\ #7^^^#G \\ \\#g_/ `\\\n\r",ch); stc(" / | #G|| #0O | \\#b/' #0V#b `\\#0/ | O #G|| #g| \\\n\r",ch); stc("| | | /#G|| #0O |#l,-,| ,_;_, |,-,#0| O #G||#g\\ | | |\n\r",ch); stc("| | \\ | #G\\\\ #0oO#l \\ \\\\ '\\ I /` // / #0Oo #G// #g| / | |\n\r",ch); stc("| \\ /\\| #G| #Y) #0oO#l \\ \\#0`#b\\ \\ / /#0'#l/ / #0Oo #Y( #G| #g|/\\ / |\n\r",ch); stc("| \\ | ` #G/#Y/ #0O /^#l\\ \\#0,#b\\ | /#0,#l/ /#0^#l\\ #0O #Y\\#G\\ #g' | / |\n\r",ch); stc("| /'\\| #G( #Y| #0__________#0O /#0__#l/ /#0__#b| I |#0__#l\\ \\#0__#0\\ O#0__________ #Y| #G) #g|/`\\ |\n\r",ch); stc(" \\ | ` #G\\\\ #0| #0\\| #7''' ''' ``` ``` #0|/ #0| #Y/#G/ #g' | /\n\r",ch); stc(" \\| #r( #G|| #0| #rW#Reapon #rL#Revels #0| #Y( #G| #r) #g|/\n\r",ch); sprintf(skill," #G\\ #G\\\\_// #0|Slice: #7%-4d #0Stab: #7%-4d #0Whip: #7%-4d #0Pierce: #7%-4d#0| #G\\\\_// #g/\n\r",ch->wpn[1],ch->wpn[2],ch->wpn[4],ch->wpn[11]); stc(skill,ch); sprintf(skill," #G` `v' #0|Crush: #7%-4d #0Claw: #7%-4d #0Slash: #7%-4d #0Pound: #7%-4d#0| #G'v' #g'\n\r",ch->wpn[8],ch->wpn[5],ch->wpn[3],ch->wpn[7]); stc(skill,ch); sprintf(skill," #G` `v' #0|Blast: #7%-4d #0Grep: #7%-4d #0Suck: #7%-4d #0Bite: #7%-4d #0| #G'v' #g'\n\r",ch->wpn[6],ch->wpn[9],ch->wpn[12],ch->wpn[10]); stc(skill,ch); sprintf(skill," #0| Unarm: #7%-4d #0|\n\r",ch->wpn[0]); stc(skill,ch); stc(" #0|_______________________________________________#0|#n\n\r",ch); } else if (!str_cmp(arg,"magic") || !str_cmp(arg,"spells")) { stc(" #y_________________________________\n\r",ch); stc("#y/ _\\ \\\n\r",ch); stc("#y\\ (_/_____________________________/\n\r",ch); if (IS_ITEMAFF(ch, ITEMA_AFFENTROPY)) sprintf(skill," #y\\ #0*#rR#Red Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[1] + 20); else sprintf(skill," #y\\ #0*#rR#Red Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[1]); stc(skill,ch); if (IS_ITEMAFF(ch, ITEMA_AFFENTROPY)) sprintf(skill," #y\\ #0*#bB#Blue Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[2] + 20); else sprintf(skill," #y\\ #0*#bB#Blue Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[2]); stc(skill,ch); if (IS_ITEMAFF(ch, ITEMA_AFFENTROPY)) sprintf(skill," #y\\ #0*#gG#Green Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[3] + 20); else sprintf(skill," #y\\ #0*#gG#Green Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[3]); stc(skill,ch); if (IS_ITEMAFF(ch, ITEMA_AFFENTROPY)) sprintf(skill," #y__\\ #0*#pP#Purple Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[0] + 20); else sprintf(skill," #y__\\ #0*#pP#Purple Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[0]); stc(skill,ch); if (IS_ITEMAFF(ch, ITEMA_AFFENTROPY)) sprintf(skill," #y/ )_\\ #0*#yY#Yellow Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[4] + 20); else sprintf(skill," #y/ )_\\ #0*#yY#Yellow Magic #0[#R%-3d#0]#y\\\n\r",ch->spl[4]); stc(skill,ch); stc(" #y\\___/______________________________/#n\n\r",ch); } else if (!str_cmp(arg,"stances")) { stc("#r _.--.\n\r",ch); stc(" #r.' ,--.`.\n\r",ch); stc(" #r,' ,' `|\n\r",ch); stc(" #r,' ,' '\n\r",ch); stc(" #r,' '\n\r",ch); stc(" #r,' '\n\r",ch); stc(" #r_,- ,'\n\r",ch); stc(" #r_,' | ____,-------.\n\r",ch); stc(" #r_,' `. _,---' ___,----. `.\n\r",ch); stc(" #r_,' #R_,---.#r ,-' ,-' `.|\n\r",ch); stc(" #r_,' #R_,-' _ `.#r ,' #R__#r ,' |'\n\r",ch); stc(" #r,' .--. #R_,-'__,--' `. `.#r ,'#R_,-' `.#r ,' ,'\n\r",ch); stc(" #r,' , ' `. #R,'_,-' `. .,'-'-. `.\n\r",ch); stc(" #r ,', ' #R,',' `. `-. `. `.\n\r",ch); stc(" #r,',' #0,''`)#r`.#R ,`. `. `.`-.`.\n\r",ch); stc(" #r,,' #0(( ' #r`.#R ,' _,-=-. `\\ `\\ #0|`.\\\n\r",ch); stc(" #r' ( #0`` #r`.#R ,' ,'-,' `. `) `)` #0))\n\r",ch); stc(" #r( ` #r` #R.' ,'#y-,#R' | #Y,#R; ; #0''\n\r",ch); stc(" #r`#R #R`: |---| `. ,'\n\r",ch); stc(" #R: |---| '. :\n\r",ch); stc(" #R: `.--`. '. :\n\r",ch); stc(" #R` ` ` ',`__)\n\r",ch); stc("#0X#r==============================#0[#rS#Rtance #rL#Revels#0]#r==============================#0X\n\r",ch); sprintf(skill,"#r|#0 Viper #7%-4d #0Crane #7%-4d #0Crab #7%-4d #0Mongoose #7%-4d #0Pitbull #7%-4d#r |\n\r",ch->stance[1],ch->stance[2],ch->stance[3],ch->stance[4],ch->stance[5]); stc(skill,ch); sprintf(skill,"#r|#0 Hawk #7%-4d #0Badger #7%-4d #0Cougar #7%-4d #0Grizzly #7%-4d #0Wolverine #7%-4d#r |\n\r",ch->stance[6],ch->stance[7],ch->stance[8],ch->stance[10],ch->stance[9]); stc(skill,ch); stc("#0X#r==============================#0[#rS#Ruper #rS#Rtances#0]#r==============================#0X#n\n\r",ch); sprintf(skill,"#r|#0 SS1 #7%-4d #0SS2 #7%-4d #0SS3 #7%-4d #0SS4 #7%-4d #0SS5 #7%-4d#r |#n\n\r",ch->stance[13],ch->stance[14],ch->stance[15],ch->stance[16],ch->stance[17]); stc(skill,ch); stc("#r| |\n\r",ch); stc("#r| #7To gain super stances, you must max all your current stances. #r|\n\r",ch); stc("#r| #7After this, use 'setstance' to beging editing your superstance. #r|\n\r",ch); stc("#0X#r==============================#0[#r+#R-#r+#R-#r+#R-#r+#R-#r+#R-#r+#R-#r+#0]#r==============================#0X#n\n\r",ch); } else { do_level(ch,""); } return; } void do_level(CHAR_DATA * ch, char *argument) { char arg[MAX_INPUT_LENGTH]; char skill[20]; char buf[MAX_STRING_LENGTH]; char stance [20]; float chgen = 0; float chgenexp = 0; int percent = 0; int nextgen = 0; int expneeded = 0; one_argument( argument, arg ); ROOM_INDEX_DATA *room; one_argument(argument, arg); if (IS_NPC(ch)) return; // sprintf(buf, " %s\n\r\n\r", get_dystopia_banner("Weapon Levels", // 72)); // send_to_char(buf, ch); stc("#0X#r==============================#0[#rW#Reapon #rL#Revels#0]#r==============================#0X#n\n\r",ch); sprintf( buf, "#r|#0Unarmed #R[#0%d#R] #n", ch->wpn[0]); send_to_char( buf, ch ); sprintf( buf, "#0Knife: #R[#0%d#R] #n#n", ch->wpn[6]); send_to_char( buf, ch ); sprintf( buf, "#0Spear: #R[#0%d#R] #n", ch->wpn[2]); send_to_char( buf, ch ); sprintf( buf, "#0Shortsword: #R[#0%d#R]\n\r#n", ch->wpn[11]); send_to_char( buf, ch ); sprintf( buf, "#r|#0Whip: #R[#0%d#R] ", ch->wpn[4]); send_to_char( buf, ch ); sprintf( buf, "#0Broadsword: #R[#0%d#R]#n ", ch->wpn[3]); send_to_char( buf, ch ); sprintf( buf, "#0Longsword: #R[#0%d#R]#n ", ch->wpn[1]); send_to_char( buf, ch ); sprintf( buf, "#0Dagger: #R[#0%d#R]#n\n\r", ch->wpn[18]); send_to_char( buf, ch ); sprintf( buf, "#r|#0Bastard Sword: #R[#0%d#R]#n ", ch->wpn[12]); send_to_char( buf, ch ); sprintf( buf, "#0Axe: #R[#0%d#R]#n ", ch->wpn[9]); send_to_char( buf, ch ); sprintf( buf, "#0Mace: #R[#0%d#R]#n ", ch->wpn[8]); send_to_char( buf, ch ); sprintf( buf, "#0Sickle: #R[#0%d#R]#n \n\r", ch->wpn[17]); send_to_char( buf, ch ); sprintf( buf, "#r|#0Staff: #R[#0%d#R]#n ", ch->wpn[5]); send_to_char( buf, ch ); sprintf( buf, "#0Warhammer: #R[#0%d#R]#n ", ch->wpn[7]); send_to_char( buf, ch ); sprintf( buf, "#0Flail: #R[#0%d#R]#n\n\r", ch->wpn[13]); send_to_char( buf, ch ); sprintf( buf, "#r|#0Morningstar: #R[#0%d#R]#n ", ch->wpn[14]); send_to_char( buf, ch ); sprintf( buf, "#0Polearm: #R[#0%d#R]#n ", ch->wpn[15]); send_to_char( buf, ch ); sprintf( buf, "#0Club: #R[#0%d#R]#n\n\r", ch->wpn[16]); send_to_char( buf, ch ); sprintf( buf, "#r|#0Two-Handed Longsword: #R[#0%d#R]#n\n\r", ch->wpn[10]); send_to_char( buf, ch ); stc("#0X#r==============================#0[#rS#Rtance #rL#Revels#0]#r==============================#0X\n\r",ch); sprintf(skill,"#r|#0 Viper #7%-4d #0Crane #7%-4d #0Crab #7%-4d #0Mongoose #7%-4d #0PitBull #7%-4d#r |\n\r",ch->stance[1],ch->stance[2],ch->stance[3],ch->stance[4],ch->stance[5]); stc(skill,ch); sprintf(skill,"#r|#0 Hawk #7%-4d #0Badger #7%-4d #0Cougar #7%-4d #0Grizzly #7%-4d #0Wolverine #7%-4d#r|\n\r",ch->stance[6],ch->stance[7],ch->stance[8],ch->stance[10],ch->stance[9]); stc(skill,ch); stc("#0X#r==============================#0[#rS#Ruper #rS#Rtances#0]#r==============================#0X#n\n\r",ch); sprintf(skill,"#r|#0 SS1 #7%-4d #0SS2 #7%-4d #0SS3 #7%-4d #0SS4 #7%-4d #0SS5 #7%-4d#r |#n\n\r",ch->stance[13],ch->stance[14],ch->stance[15],ch->stance[16],ch->stance[17]); stc(skill,ch); stc("#r| |\n\r",ch); stc("#r| #7To gain super stances, you must max all your current stances. #r|\n\r",ch); stc("#r| #7After this, use 'setstance' to beging editing your superstance. #r|\n\r",ch); stc("#0X#r==============================#0[#rS#Rpell #rL#Revels#0]#r===============================#0X#n\n\r",ch); sprintf(skill, "#r| #pPurple#n #C: %-4d", ch->spl[0]); send_to_char(skill, ch); sprintf(skill, " #lBlue#n #C: %-4d", ch->spl[2]); send_to_char(skill, ch); sprintf(skill, " #rRed#n #C: %-4d", ch->spl[1]); send_to_char(skill, ch); sprintf(skill, " #gGreen#n #C: %-4d", ch->spl[3]); send_to_char(skill, ch); sprintf(skill, " #yYellow#n #C: %-4d #r|#n\n\r", ch->spl[4]); send_to_char(skill, ch); stc("#0X#r==============================#0[#r+#R-#r+#R-#r+#R-#r+#R-#r+#R-#r+#R-#r+#0]#r==============================#0X#n\n\r",ch); stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); sprintf(skill, "#0You are currently generation #W%d#n\n\r", ch->generation); send_to_char( skill, ch ); chgen = ch->generation; chgenexp = ch->genexp; if (ch->generation == 6) expneeded = 13000000.00; else if(ch->generation == 5) expneeded = 150000000.00; else if(ch->generation == 4) expneeded = 400000000.00; else if(ch->generation == 3) expneeded = 900000000.00; else if(ch->generation == 2) expneeded = 1800000000.00; percent = (chgenexp / expneeded)*100.00; nextgen = (ch->generation - 1); if (ch->generation > 1 && ch->level > 2) { sprintf(skill,"#0You are #R%d#W%% #0on your way to generation #R%d.#n\n\r",percent,nextgen); stc(skill,ch); } stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); if ( ch->stance[12] == 1 ) sprintf(stance, " Viper" ); else if ( ch->stance[12] == 2 ) sprintf(stance, " Crane" ); else if ( ch->stance[12] == 3 ) sprintf(stance, " Crab" ); else if ( ch->stance[12] == 4 ) sprintf(stance, " Mongoose" ); else if ( ch->stance[12] == 5 ) sprintf(stance, " Pitbull" ); else if ( ch->stance[12] == 6 ) sprintf(stance, " Hawk" ); else if ( ch->stance[12] == 7 ) sprintf(stance, " Badger" ); else if ( ch->stance[12] == 8 ) sprintf(stance, " Cougar" ); else if ( ch->stance[12] == 9 ) sprintf(stance, " Wolverine" ); else if ( ch->stance[12] == 10 ) sprintf(stance, " Grizzly" ); else if ( ch->stance[12] == 11 ) sprintf(stance, " Wolf" ); else if ( ch->stance[12] == 13 ) sprintf( stance, " SS1"); else if ( ch->stance[12] == 14 ) sprintf( stance, " SS2"); else if ( ch->stance[12] == 15 ) sprintf( stance, " SS3"); else if ( ch->stance[12] == 16 ) sprintf( stance, " SS4"); else if ( ch->stance[12] == 17 ) sprintf( stance, " SS5"); else if ( ch->stance[12] == -1 ) sprintf(stance, " None" ); else sprintf(stance, " None" ); sprintf(skill, "#0Autostance#n: #R%s #n\n\r",stance); send_to_char(skill, ch); if (IS_SET(ch->act, PLR_RIGHTHAND)) send_to_char("#wYou favor your right arm in combat.#n\n\r",ch); else if(IS_SET(ch->act, PLR_LEFTHAND)) send_to_char("#wYou favor your left arm in combat.#n\n\r",ch); else send_to_char("#wYou fight well with both your arms.#n\n\r",ch); stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); if ( IS_CLASS(ch, CLASS_DEMON) ) send_to_char("You are a demon!\n\r", ch); if (IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) send_to_char("You are an undead knight!\n\r",ch); if ( IS_CLASS(ch, CLASS_WEREWOLF) ) send_to_char("You are a werewolf!\n\r", ch); if ( IS_CLASS(ch, CLASS_VAMPIRE) ) send_to_char("You are a vampire!\n\r", ch); if ( IS_CLASS(ch, CLASS_DROW) ) send_to_char("You are a drow!\n\r", ch); if (IS_CLASS(ch, CLASS_DRACONIAN)) send_to_char("You are a Draconian!!\n\r",ch); if (IS_CLASS(ch, CLASS_WIZARD)) send_to_char("You are a War Wizard!\n\r",ch); if (IS_CLASS(ch, CLASS_WRAITH)) send_to_char("You are a wraith!!\n\r",ch); if (IS_CLASS(ch, CLASS_ELEMENTAL)) send_to_char("You are an Elemental!!\n\r",ch); if (IS_CLASS(ch, CLASS_PALADIN)) send_to_char("You are a Paladin!!\n\r",ch); if (IS_CLASS(ch, CLASS_ASSASSIN)) send_to_char("You are an Assassin!!\n\r",ch); if (IS_CLASS(ch, CLASS_ANGEL)) send_to_char("You are an angel!\n\r", ch); if (IS_CLASS(ch, CLASS_BETRAYER)) send_to_char("You are a Betrayer!\n\r", ch); if (IS_CLASS(ch, CLASS_TANARRI)) send_to_char("You are a warrior of The Bloodwars.\n\r",ch); if (IS_CLASS(ch, CLASS_UNDEAD_LYCAN)) send_to_char("You are an undead lycan!\n\r", ch); if (IS_CLASS(ch, CLASS_HELLS_SOLDIER)) send_to_char("You are a HELLS SOLDIER!\n\r", ch); if (IS_CLASS(ch, CLASS_UNDEAD_ASSASSIN)) send_to_char("You are an Undead Assassin.\n\r", ch); if (IS_CLASS(ch, CLASS_BLADE_MASTER)) send_to_char("You are a Blade Master.\n\r", ch); if ( IS_CLASS(ch, CLASS_DRAGON) ) send_to_char(" You are a dragon! \n\r", ch); if (IS_CLASS(ch, CLASS_TANARRI)) { if (ch->pcdata->rank == TANARRI_FODDER) send_to_char("You are nothing but fodder for the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_FIGHTER) send_to_char("You are a fighter in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_ELITE) send_to_char("You are an elite warrior in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_CAPTAIN) send_to_char("You are a captain in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_WARLORD) send_to_char("You are a warlord in the great war.\n\r",ch); if (ch->pcdata->rank == TANARRI_BALOR) send_to_char("You are a Tanar'ri Balor.\n\r",ch); } if (IS_CLASS(ch, CLASS_VAMPIRE) ) { if (ch->pcdata->rank == AGE_TRUEBLOOD) send_to_char("You are a TrueBlood!\n\r",ch); else if (ch->pcdata->rank == AGE_LA_MAGRA) send_to_char("You are a La Magra!\n\r",ch); else if (ch->pcdata->rank == AGE_METHUSELAH) send_to_char("You are a Methuselah!\n\r",ch); else if (ch->pcdata->rank == AGE_ELDER) send_to_char("You are an Elder!\n\r",ch); else if (ch->pcdata->rank == AGE_ANCILLA) send_to_char("You are an Ancilla!\n\r",ch); else if (ch->pcdata->rank == AGE_NEONATE) send_to_char("You are a Neonate!\n\r", ch); else send_to_char("You are a Childe!\n\r", ch); } room = get_room_index( ch->home ); sprintf(skill, "#0Recall Room#R : #Y%s#n\n\r", room->name); send_to_char( skill, ch ); stc("#0x#r----#R=====#r----#R=====#r----#R=====#r----#0x#n\n\r",ch); return; } /* * Class Power setting commands for Werewolves and Vampires * -Tijer */ void do_giftset( CHAR_DATA *ch, char *argument ) { CHAR_DATA *victim; char arg1[MAX_INPUT_LENGTH]; char arg2[MAX_INPUT_LENGTH]; char arg3[MAX_INPUT_LENGTH]; sh_int gift = 0; sh_int value = 0; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); argument = one_argument( argument, arg3 ); if ( IS_NPC( ch ) ) { send_to_char("Huh?\n\r",ch); return; } if ( arg1[0] == '\0' || arg2[0] == '\0' || arg3[0] == '\0' ) { send_to_char( "Syntax : setgift [victim] [gift/all] [level]\n\r\n\r",ch); send_to_char( " Gift being one of:\n\r", ch ); send_to_char( " homid lupus metis\n\r", ch ); send_to_char( " ragabash theurge galliard philodox ahroun\n\r", ch ); send_to_char( " furies gnawers children fianna get\n\r", ch ); send_to_char( " walkers talons lords striders fangs\n\r", ch ); send_to_char( " stargazers wendigos uktena\n\r", ch ); return; } if ( ( victim = get_char_world( ch, arg1 ) ) == NULL ) { send_to_char( "They aren't here.\n\r", ch ); return; } if ( IS_NPC(victim ) ) { send_to_char( "Not on NPC's.\n\r", ch ); return; } if ( !IS_CLASS(victim, CLASS_WEREWOLF)) { send_to_char( "Only on Werewolves, and Abomination!\n\r", ch ); return; } if ( !str_cmp( arg2, "all" ) ) { value = is_number( arg3 ) ? atoi( arg3 ) : -1; if ( value < 0 || value > 5 ) { send_to_char( "Range is 0 - 5.\n\r", ch ); return; } for ( gift = 0 ; gift <= MAX_GIFTS ; gift++ ) victim->gifts[gift] = value; send_to_char("Done.\n\r", ch ); return; } else if ( !str_cmp( arg2, "homid" ) ) gift = HOMID; else if ( !str_cmp( arg2, "metis" ) ) gift = METIS; else if ( !str_cmp( arg2, "lupus" ) ) gift = LUPUS; else if ( !str_cmp( arg2, "ahroun" ) ) gift = AHROUN; else if ( !str_cmp( arg2, "theurge" ) ) gift = THEURGE; else if ( !str_cmp( arg2, "philodox" ) )gift = PHILODOX; else if ( !str_cmp( arg2, "galliard" ) )gift = GALLIARD; else if ( !str_cmp( arg2, "ragabash" ) )gift = RAGABASH; else if ( !str_cmp( arg2, "furies" ) ) gift = BLACKFURIES; else if ( !str_cmp( arg2, "gnawers" )) gift = BONEGNAWERS; else if ( !str_cmp( arg2, "children" ) )gift = CHILDREN; else if ( !str_cmp( arg2, "fianna" ) ) gift = FIANNA; else if ( !str_cmp( arg2, "get" ) ) gift = GETOFFENRIS; else if ( !str_cmp( arg2, "walkers" ) )gift = GLASSWALKERS; else if ( !str_cmp( arg2, "talons" ) ) gift = REDTALONS; else if ( !str_cmp( arg2, "lords" ) ) gift = SHADOWLORDS; else if ( !str_cmp( arg2, "striders" ) )gift = SILENTSTRIDERS; else if ( !str_cmp( arg2, "fangs" ) ) gift = SILVERFANGS; else if ( !str_cmp( arg2, "stargazers" ) ) gift = STARGAZERS; else if ( !str_cmp( arg2, "uktena" ) ) gift = UKTENA; else if ( !str_cmp( arg2, "wendigos" ) ) gift = WENDIGO; else { do_giftset( ch, "" ); return; } if ( value < 0 || value > 5 ) { send_to_char( "Range is 0 - 5.\n\r", ch ); return; } victim->gifts[gift] = value; send_to_char("Done.\n\r", ch ); return; }