The way i would do it is like this.
First this modifies tables.c mud.h act_wiz.c and comm.c so make sure you back them up before modifing them
im pretty sure this will work
bool load_class_file( char *fname )
find case 'G':
add this under it
KEY ( "Gender" , fread_number( fp ));
void write_class_file( int cl )
fprintf( fpout, "Gender %d\n", class->gender );
fprintf( fpout, "Guild %d\n", class->guild );
void do_setclass( CHAR_DATA *ch, char *argument )
add gender to the arg1 ='\0' argument
if ( !str_cmp(arg2,"gender"
if ( !str_cmp (agrument, 'm')
else if (!str_cmp(argument,'f')
send_to_char ( "Options for class gender are male or female\n\r",ch);
send_to_char (" Class Gender set",ch);
you will need to add something in showclass too so that your imms will know which gender the class is for...
ok in comm.c
void nanny( DESCRIPTOR_DATA *d, char *argument )
there should be atleast one lines that read somethig like this
for ( iClass = 0; iClass < MAX_PC_CLASS; iClass++ )
it might be MAX_CLASS compare to MAX_PC_CLASS
right under that place this
if (class_table[iClass]->gender == ch->gender)
make clean and recompile and it should work, u will need to go through all your classes and set thier gender otherwise you wont be able to chose a class in char creation.....