/***************************************************************************
* 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;
}