case CON_GET_NEW_CLASS:
argument = one_argument(argument, arg);
if (is_number(arg))
{
i = atoi(arg);
c = 0;
/*if( i == 0 )
c = 0; // saiyan*/
if( i == 0 )
c = 1; // human
if( i == 1 )
c = 2; // halfbreed
if( i == 2 )
c = 3; // namek
if( i == 3 )
c = 5; // icer
if( i == 4 )
c = 6; // bio
if( i == 5 )
c = 7; // kaio
if( i == 6 )
c = 8; // demon
if( i == 7 )
c = 27; // majin
if( i == 8 )
c = 31; // mutant
/*
* Take this out SHADDAI
*/
for ( iClass = 0; iClass < MAX_PC_CLASS-2; iClass++ )
void do_showrace( CHAR_DATA *ch, char *argument )
{
char arg1[MAX_INPUT_LENGTH];
char buf[MAX_STRING_LENGTH];
struct race_type *race;
int ra, i, ct;
set_pager_color( AT_PLAIN, ch );
argument = one_argument( argument, arg1 );
if ( arg1[0] == '\0' )
{
send_to_char( "Syntax: showrace \n\r", ch );
/* Show the races code addition by Blackmane */
/* fixed printout by Miki */
ct = 0;
for ( i = 0;i < MAX_RACE;i++)
{
++ct;
pager_printf(ch, "%2d> %-16s", i, race_table[i]->race_name);
if ( ct % 4 == 0 )
send_to_pager("\n\r", ch );
}
send_to_pager("\n\r", ch );
return ;
}
if ( is_number(arg1) && (ra = atoi(arg1)) >= 0 && ra < MAX_RACE )
race = race_table[ra];
else
{
race = NULL;
for ( ra = 0; ra < MAX_RACE && race_table[ra]; ra++ )
if ( !str_cmp(race_table[ra]->race_name, arg1) )
{
race = race_table[ra];
break;
}
}
if ( !race )
{
send_to_char( "No such race.\n\r", ch );
return ;
}
sprintf( buf, "RACE: %s\n\r", race->race_name);
send_to_char( buf, ch);
ct = 0;
sprintf( buf, "Disallowed Classes: ");
send_to_char( buf, ch);
for (i = 0;i < MAX_CLASS;i++)
{
if ( IS_SET(race->class_restriction, 1 << i) )
{
ct++;
sprintf(buf, "%s ", class_table[i]->who_name);
send_to_char( buf, ch);
if ( ct % 6 == 0)
send_to_char("\n\r", ch);
}
}
if ( (ct % 6 != 0) || (ct == 0))
send_to_char("\n\r", ch);
ct = 0;
sprintf( buf, "Allowed Classes: ");
send_to_char( buf, ch);
for (i = 0;i < MAX_CLASS;i++)
{
if ( !IS_SET(race->class_restriction, 1 << i) )
{
ct++;
sprintf(buf, "%s ", class_table[i]->who_name);
send_to_char( buf, ch);
if ( ct % 6 == 0)
send_to_char("\n\r", ch);
}
}
if ( (ct % 6 != 0) || (ct == 0))
send_to_char("\n\r", ch);
sprintf( buf, "Str Plus: %-3d\tDex Plus: %-3d\tWis Plus: 0\tInt Plus: %-3d\t\n\r",
race->str_plus, race->dex_plus, race->int_plus);
send_to_char( buf, ch);
sprintf( buf, "Con Plus: %-3d\tCha Plus: 0\tLck Plus: %-3d\n\r",
race->con_plus, race->lck_plus);
send_to_char( buf, ch);
sprintf( buf, "Hit Pts: %-3d\tMana: %-3d\tAlign: %-4d\tAC: %-d\n\r",
race->hit, race->mana, race->alignment, race->ac_plus);
send_to_char( buf, ch);
sprintf( buf, "Min Align: %d\tMax Align: %-d\t\tXP Mult: %-d%%\n\r",
race->minalign, race->maxalign, race->exp_multiplier);
send_to_char( buf, ch);
sprintf( buf, "Height: %3d in.\t\tWeight: %4d lbs.\tHungerMod: %d\tThirstMod: %d\n\r",
race->height, race->weight, race->hunger_mod, race->thirst_mod);
send_to_char( buf, ch);
send_to_char( "Affected by: ", ch);
send_to_char( affect_bit_name( &race->affected ), ch);
send_to_char( "\n\r", ch);
send_to_char( "Resistant to: ", ch);
send_to_char( flag_string(race->resist, ris_flags), ch);
send_to_char( "\n\r", ch);
send_to_char( "Susceptible to: ", ch);
send_to_char( flag_string(race->suscept, ris_flags), ch);
send_to_char( "\n\r", ch);
sprintf(buf, "Saves: (P/D) %d (W) %d (P/P) %d (B) %d (S/S) %d\n\r",
race->saving_poison_death,
race->saving_wand,
race->saving_para_petri,
race->saving_breath,
race->saving_spell_staff);
send_to_char( buf, ch);
send_to_char( "Innate Attacks: ", ch);
send_to_char( ext_flag_string(&race->attacks, attack_flags), ch);
send_to_char( "\n\r", ch);
send_to_char( "Innate Defenses: ", ch);
send_to_char( ext_flag_string(&race->defenses, defense_flags), ch);
send_to_char( "\n\r", ch);
}
/*
* quest point set - TRI
* syntax is: qpset char give/take amount
*/
i = atoi(arg);
c = 0;
/*if( i == 0 )
c = 0; // saiyan*/
if( i == 0 )
c = 1; // human
if( i == 1 )
c = 2; // halfbreed
if( i == 2 )
c = 3; // namek
if( i == 3 )
c = 4; // Android
if( i == 4 )
c = 5; // Icer
if( i == 5 )
c = 6; // Bio-Android
if( i == 6 )
c = 7; // Kaio
if( i == 7 )
c = 8; // Demon
if( i == 8 )
c = 11; // Majin
if( i == 9 )
c = 12; // Mutant
/*
* Take this out SHADDAI
*/
for ( iClass = 0; iClass < MAX_PC_CLASS-2; iClass++ )
send_to_desc_color( "\n\r&WWhat is your sex &Y(&CM&Y/&PF&Y/&WN&Y)&W? &D", d );
d->connected = CON_GET_NEW_SEX;
break;
case CON_GET_NEW_SEX:
switch ( argument[0] )
{
case 'm': case 'M': ch->sex = SEX_MALE; break;
case 'f': case 'F': ch->sex = SEX_FEMALE; break;
case 'n': case 'N': ch->sex = SEX_NEUTRAL; break;
default:
send_to_desc_color( "&RThat's not a sex.\n\r&RWhat IS your sex? &D", d );
return;
}
send_to_desc_color( "&RSaiyans are currently a quest/rp race help saiyans for more details\n\r&D",d);
send_to_desc_color( "&r==============================================================================&D",d);
sprintf( buf, "\n\r&OChoose the number of your race&Y: &D" );
send_to_desc_color( buf, d );
d->connected = CON_GET_NEW_CLASS;
break;
case CON_GET_NEW_CLASS:
argument = one_argument(argument, arg);
if (is_number(arg))
{
i = atoi(arg);
c = 0;
/*if( i == 0 )
c = 0; // saiyan*/
if( i == 0 )
c = 1; // human
if( i == 1 )
c = 2; // halfbreed
if( i == 2 )
c = 3; // namek
if( i == 3 )
c = 4; // Android
if( i == 4 )
c = 5; // Icer
if( i == 5 )
c = 6; // Bio-Android
if( i == 6 )
c = 7; // Kaio
if( i == 7 )
c = 8; // Demon
if( i == 8 )
c = 11; // Majin
if( i == 9 )
c = 12; // Mutant
/*for ( iClass = 0; iClass < MAX_PC_CLASS; iClass++ )*/
//for ( iClass = 0; iClass < 9; iClass++ )
for ( iClass = 1; iClass < 32; iClass++ )
{
// Edited by Karn - dbsdevelop.com
if( iClass > 8 && iClass < 27 )
continue;
if ( class_table[iClass]->who_name &&
class_table[iClass]->who_name[0] != '\0' )
{
//if ( i == iClass )
if( c == iClass )
{
ch->class = iClass;
ch->race = iClass;
break;
}
}
}
}
else
{
//char letters[11] = "abcdefghij";
// char letters[14] = "abcdefghijklmno";
for (i=0;i<14;i++)
{
if (arg[0] == letters[i] )
{
int c = i;
/*if( i == 0 )
c = 0; // saiyan*/
if( i == 0 )
c = 1; // human
if( i == 1 )
c = 2; // halfbreed
if( i == 2 )
c = 3; // namek
if( i == 3 )
c = 4; // Android
if( i == 4 )
c = 5; // Icer
if( i == 5 )
c = 6; // Bio-Android
if( i == 6 )
c = 7; // Kaio
if( i == 7 )
c = 8; // Demon
if( i == 8 )
c = 11; // Majin
if( i == 9 )
c = 12; // Mutant
if(!str_cmp(class_table[c]->who_name,"android") )
sprintf(buf, "android");
else
sprintf(buf, "%s", class_table[c]->who_name);
do_help(ch, buf);
return;
}
}
if( iClass > 8 && iClass < 27 )
continue;
c = 12; // Mutant
if(c == 0){
//code here to tell player the input was invalid
return;
}
ch->class = c;
ch->race = c;
}
if(!str_cmp(class_table[c]->who_name,"android") )
sprintf(buf, "android");
else
sprintf(buf, "%s", class_table[c]->who_name);
strcpy(buf, class_table[c]->who_name);
if( iClass == 4 )
{
i++;
continue;
if( iClass > 8 && iClass < 27 )
if( iClass > 10 && iClass < 27 )