/
vortex/area/
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "merc.h"

void save_class_config  args(( void ));
void load_class_config  args(( void ));

CLASS_DATA *alie;
CLASS_DATA *apoc;
CLASS_DATA *drag;
CLASS_DATA *drow;
CLASS_DATA *jedi;
CLASS_DATA *monk;
CLASS_DATA *shad;
CLASS_DATA *vamp;
CLASS_DATA *were;

void do_class_config( CHAR_DATA *ch,char *argument )
{
 char buf[MAX_STRING_LENGTH];
 char arg1[MAX_INPUT_LENGTH];
 char arg2[MAX_INPUT_LENGTH];
 char arg3[MAX_INPUT_LENGTH];

 argument = one_argument(argument,arg1);
 argument = one_argument(argument,arg2);
 argument = one_argument(argument,arg3);

 if( arg3[0] == '\0' )
 {
  stc("#7Syntax:  classconfig <class> <field> <value>#n\n\r",ch);
  stc("-----------------------------------------------------------------------\n\r",ch);
  stc("| **** | Alie | Apoc | Drag | Drow | Jedi | Monk | Shad | Vamp | Were |\n\r",ch);
  stc("-----------------------------------------------------------------------\n\r",ch);
  sprintf(buf,"| Armo | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d |\n\r",
   alie->armo,apoc->armo,drag->armo,drow->armo,jedi->armo,monk->armo,shad->armo,vamp->armo,were->armo);
   stc(buf,ch);
  sprintf(buf,"| Atta | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d |\n\r",
   alie->atta,apoc->atta,drag->atta,drow->atta,jedi->atta,monk->atta,shad->atta,vamp->atta,were->atta);
   stc(buf,ch);
  sprintf(buf,"| Damr | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d |\n\r",
   alie->damr,apoc->damr,drag->damr,drow->damr,jedi->damr,monk->damr,shad->damr,vamp->damr,were->damr);
   stc(buf,ch);
  sprintf(buf,"| Dodg | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d |\n\r",
   alie->dodg,apoc->dodg,drag->dodg,drow->dodg,jedi->dodg,monk->dodg,shad->dodg,vamp->dodg,were->dodg);
   stc(buf,ch);
  sprintf(buf,"| Hitr | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d |\n\r",
   alie->hitr,apoc->hitr,drag->hitr,drow->hitr,jedi->hitr,monk->hitr,shad->hitr,vamp->hitr,were->hitr);
   stc(buf,ch);
  sprintf(buf,"| Parr | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d | %4d |\n\r",
   alie->parr,apoc->parr,drag->parr,drow->parr,jedi->parr,monk->parr,shad->parr,vamp->parr,were->parr);
   stc(buf,ch);
  sprintf(buf,"| Powe | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f |\n\r",
   alie->powe,apoc->powe,drag->powe,drow->powe,jedi->powe,monk->powe,shad->powe,vamp->powe,were->powe);
   stc(buf,ch);
  sprintf(buf,"| Rege | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f |\n\r",
   alie->rege,apoc->rege,drag->rege,drow->rege,jedi->rege,monk->rege,shad->rege,vamp->rege,were->rege);
   stc(buf,ch);
  sprintf(buf,"| Toug | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f | %4.2f |\n\r",
   alie->toug,apoc->toug,drag->toug,drow->toug,jedi->toug,monk->toug,shad->toug,vamp->toug,were->toug);
   stc(buf,ch);
  stc("-----------------------------------------------------------------------\n\r",ch);
  return;
 }

 if( !str_prefix(arg1,"alien") )
 {
  if( !str_prefix(arg2,"armor") )
   alie->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   alie->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   alie->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   alie->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   alie->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   alie->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   alie->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   alie->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   alie->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"apocryphic") )
 {
  if( !str_prefix(arg2,"armor") )
   apoc->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   apoc->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   apoc->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   apoc->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   apoc->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   apoc->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   apoc->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   apoc->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   apoc->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"dragon") )
 {
  if( !str_prefix(arg2,"armor") )
   drag->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   drag->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   drag->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   drag->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   drag->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   drag->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   drag->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   drag->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   drag->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"drow") )
 {
  if( !str_prefix(arg2,"armor") )
   drow->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   drow->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   drow->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   drow->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   drow->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   drow->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   drow->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   drow->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   drow->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"jedi") )
 {
  if( !str_prefix(arg2,"armor") )
   jedi->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   jedi->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   jedi->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   jedi->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   jedi->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   jedi->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   jedi->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   jedi->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   jedi->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"monk") )
 {
  if( !str_prefix(arg2,"armor") )
   monk->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   monk->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   monk->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   monk->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   monk->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   monk->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   monk->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   monk->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   monk->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"shadow") )
 {
  if( !str_prefix(arg2,"armor") )
   shad->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   shad->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   shad->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   shad->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   shad->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   shad->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   shad->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   shad->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   shad->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"vampire") )
 {
  if( !str_prefix(arg2,"armor") )
   vamp->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   vamp->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   vamp->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   vamp->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   vamp->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   vamp->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   vamp->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   vamp->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   vamp->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else if( !str_prefix(arg1,"werewolf") )
 {
  if( !str_prefix(arg2,"armor") )
   were->armo = atoi(arg3);
  else if( !str_prefix(arg2,"attack") )
   were->atta = atoi(arg3);
  else if( !str_prefix(arg2,"damroll") )
   were->damr = atoi(arg3);
  else if( !str_prefix(arg2,"dodge") )
   were->dodg = atoi(arg3);
  else if( !str_prefix(arg2,"hitroll") )
   were->hitr = atoi(arg3);
  else if( !str_prefix(arg2,"parry") )
   were->parr = atoi(arg3);
  else if( !str_prefix(arg2,"power") )
   were->powe = atof(arg3);
  else if( !str_prefix(arg2,"regen") )
   were->rege = atof(arg3);
  else if( !str_prefix(arg2,"toughness") )
   were->toug = atof(arg3);
  else
  {
   stc("Invalid field selection.\n\r",ch);
   return;
  }
  save_class_config();
  return;
 }
 else
 {
  stc("Invalid class selection.\n\r",ch);
  return;
 }
 return;
}

void init_class( void )
{
 if( alie == NULL )
  alie = alloc_perm(sizeof(*alie));
 if( apoc == NULL )
  apoc = alloc_perm(sizeof(*apoc));
 if( drag == NULL )       
  drag = alloc_perm(sizeof(*drag)); 
 if( drow == NULL )       
  drow = alloc_perm(sizeof(*drow)); 
 if( jedi == NULL )       
  jedi = alloc_perm(sizeof(*jedi)); 
 if( monk == NULL )       
  monk = alloc_perm(sizeof(*monk)); 
 if( shad == NULL )       
  shad = alloc_perm(sizeof(*shad)); 
 if( vamp == NULL )       
  vamp = alloc_perm(sizeof(*vamp)); 
 if( were == NULL )       
  were = alloc_perm(sizeof(*were));

 /* Alien     */
 alie->armo = 0;
 alie->atta = 0;
 alie->damr = 0;
 alie->dodg = 0;
 alie->hitr = 0;
 alie->parr = 0;
 alie->powe = 1;
 alie->rege = 1;
 alie->toug = 1;

 /* Apocryphic*/
 apoc->armo = 0;
 apoc->atta = 0;
 apoc->damr = 0;
 apoc->dodg = 0;
 apoc->hitr = 0;
 apoc->parr = 0;
 apoc->powe = 1;
 apoc->rege = 1;
 apoc->toug = 1;

 /* Dragon    */
 drag->armo = 0;
 drag->atta = 0;
 drag->damr = 0;
 drag->dodg = 0;
 drag->hitr = 0;
 drag->parr = 0;
 drag->powe = 1;
 drag->rege = 1;
 drag->toug = 1;

 /* Drow      */
 drow->armo = 0;
 drow->atta = 0;
 drow->damr = 0;
 drow->dodg = 0;
 drow->hitr = 0;
 drow->parr = 0;
 drow->powe = 1;
 drow->rege = 1;
 drow->toug = 1;

 /* Jedi      */
 jedi->armo = 0;
 jedi->atta = 0;
 jedi->damr = 0;
 jedi->dodg = 0;
 jedi->hitr = 0;
 jedi->parr = 0;
 jedi->powe = 1;
 jedi->rege = 1;
 jedi->toug = 1;

 /* Monk      */
 monk->armo = 0;
 monk->atta = 0;
 monk->damr = 0;
 monk->dodg = 0;
 monk->hitr = 0;
 monk->parr = 0;
 monk->powe = 1;
 monk->rege = 1;
 monk->toug = 1;

 /* Shadow    */
 shad->armo = 0;
 shad->atta = 0;
 shad->damr = 0;
 shad->dodg = 0;
 shad->hitr = 0;
 shad->parr = 0;
 shad->powe = 1;
 shad->rege = 1;
 shad->toug = 1;

 /* Vampire   */
 vamp->armo = 0;
 vamp->atta = 0;
 vamp->damr = 0;
 vamp->dodg = 0;
 vamp->hitr = 0;
 vamp->parr = 0;
 vamp->powe = 1;
 vamp->rege = 1;
 vamp->toug = 1;

 /* Werewolf  */
 were->armo = 0;
 were->atta = 0;
 were->damr = 0;
 were->dodg = 0;
 were->hitr = 0;
 were->parr = 0;
 were->powe = 1;
 were->rege = 1;
 were->toug = 1;

 load_class_config();
 return;
}

void save_class_config( void )
{
 FILE *fp;
  
 if( (fp = fopen(CLASS_FILE,"w")) == NULL)
 { 
  log_string("Can not open CLASS_FILE for writing.");
  return;
 }

 /* Alien           */
 fprintf(fp,"Alie\n");
 fprintf(fp,"Armo %d\n",alie->armo);
 fprintf(fp,"Atta %d\n",alie->atta);
 fprintf(fp,"Damr %d\n",alie->damr);
 fprintf(fp,"Dodg %d\n",alie->dodg);
 fprintf(fp,"Hitr %d\n",alie->hitr);
 fprintf(fp,"Parr %d\n",alie->parr);
 fprintf(fp,"Powe %3.2f~\n",alie->powe);
 fprintf(fp,"Rege %3.2f~\n",alie->rege);
 fprintf(fp,"Toug %3.2f~\n",alie->toug);
 fprintf(fp,"End\n");

 /* Apocryphic      */
 fprintf(fp,"Apoc\n");
 fprintf(fp,"Armo %d\n",apoc->armo); 
 fprintf(fp,"Atta %d\n",apoc->atta);
 fprintf(fp,"Damr %d\n",apoc->damr);
 fprintf(fp,"Dodg %d\n",apoc->dodg);
 fprintf(fp,"Hitr %d\n",apoc->hitr);
 fprintf(fp,"Parr %d\n",apoc->parr);
 fprintf(fp,"Powe %3.2f~\n",apoc->powe);
 fprintf(fp,"Rege %3.2f~\n",apoc->rege);
 fprintf(fp,"Toug %3.2f~\n",apoc->toug);
 fprintf(fp,"End\n");

 /* Dragon          */
 fprintf(fp,"Drag\n");
 fprintf(fp,"Armo %d\n",drag->armo); 
 fprintf(fp,"Atta %d\n",drag->atta);
 fprintf(fp,"Damr %d\n",drag->damr);
 fprintf(fp,"Dodg %d\n",drag->dodg);
 fprintf(fp,"Hitr %d\n",drag->hitr);
 fprintf(fp,"Parr %d\n",drag->parr);
 fprintf(fp,"Powe %3.2f~\n",drag->powe);
 fprintf(fp,"Rege %3.2f~\n",drag->rege);
 fprintf(fp,"Toug %3.2f~\n",drag->toug);
 fprintf(fp,"End\n");

 /* Drow            */
 fprintf(fp,"Drow\n");
 fprintf(fp,"Armo %d\n",drow->armo); 
 fprintf(fp,"Atta %d\n",drow->atta);
 fprintf(fp,"Damr %d\n",drow->damr);
 fprintf(fp,"Dodg %d\n",drow->dodg);
 fprintf(fp,"Hitr %d\n",drow->hitr);
 fprintf(fp,"Parr %d\n",drow->parr);
 fprintf(fp,"Powe %3.2f~\n",drow->powe);
 fprintf(fp,"Rege %3.2f~\n",drow->rege);
 fprintf(fp,"Toug %3.2f~\n",drow->toug);
 fprintf(fp,"End\n");

 /* Jedi            */
 fprintf(fp,"Jedi\n");
 fprintf(fp,"Armo %d\n",jedi->armo); 
 fprintf(fp,"Atta %d\n",jedi->atta);
 fprintf(fp,"Damr %d\n",jedi->damr);
 fprintf(fp,"Dodg %d\n",jedi->dodg);
 fprintf(fp,"Hitr %d\n",jedi->hitr);
 fprintf(fp,"Parr %d\n",jedi->parr);
 fprintf(fp,"Powe %3.2f~\n",jedi->powe);
 fprintf(fp,"Rege %3.2f~\n",jedi->rege);
 fprintf(fp,"Toug %3.2f~\n",jedi->toug);
 fprintf(fp,"End\n");

 /* Monk            */
 fprintf(fp,"Monk\n");
 fprintf(fp,"Armo %d\n",monk->armo);
 fprintf(fp,"Atta %d\n",monk->atta);
 fprintf(fp,"Damr %d\n",monk->damr);
 fprintf(fp,"Dodg %d\n",monk->dodg);
 fprintf(fp,"Hitr %d\n",monk->hitr);
 fprintf(fp,"Parr %d\n",monk->parr);
 fprintf(fp,"Powe %3.2f~\n",monk->powe);
 fprintf(fp,"Rege %3.2f~\n",monk->rege);
 fprintf(fp,"Toug %3.2f~\n",monk->toug);
 fprintf(fp,"End\n");

 /* Shadow          */
 fprintf(fp,"Shad\n");
 fprintf(fp,"Armo %d\n",shad->armo);
 fprintf(fp,"Atta %d\n",shad->atta);
 fprintf(fp,"Damr %d\n",shad->damr);
 fprintf(fp,"Dodg %d\n",shad->dodg);
 fprintf(fp,"Hitr %d\n",shad->hitr);
 fprintf(fp,"Parr %d\n",shad->parr);
 fprintf(fp,"Powe %3.2f~\n",shad->powe);
 fprintf(fp,"Rege %3.2f~\n",shad->rege);
 fprintf(fp,"Toug %3.2f~\n",shad->toug);
 fprintf(fp,"End\n");

 /* Vampire         */
 fprintf(fp,"Vamp\n");
 fprintf(fp,"Armo %d\n",vamp->armo);
 fprintf(fp,"Atta %d\n",vamp->atta);
 fprintf(fp,"Damr %d\n",vamp->damr);
 fprintf(fp,"Dodg %d\n",vamp->dodg);
 fprintf(fp,"Hitr %d\n",vamp->hitr);
 fprintf(fp,"Parr %d\n",vamp->parr);
 fprintf(fp,"Powe %3.2f~\n",vamp->powe);
 fprintf(fp,"Rege %3.2f~\n",vamp->rege);
 fprintf(fp,"Toug %3.2f~\n",vamp->toug);
 fprintf(fp,"End\n");

 /* Werewolf        */
 fprintf(fp,"Were\n");
 fprintf(fp,"Armo %d\n",were->armo);
 fprintf(fp,"Atta %d\n",were->atta);
 fprintf(fp,"Damr %d\n",were->damr);
 fprintf(fp,"Dodg %d\n",were->dodg);
 fprintf(fp,"Hitr %d\n",were->hitr);
 fprintf(fp,"Parr %d\n",were->parr);
 fprintf(fp,"Powe %3.2f~\n",were->powe);
 fprintf(fp,"Rege %3.2f~\n",were->rege);
 fprintf(fp,"Toug %3.2f~\n",were->toug);
 fprintf(fp,"End\n");

 fprintf(fp,"EOF\n");
 log_string("Class data successfully saved.");
 fclose(fp);
 return;
}

void load_class_config( void )
{
	FILE *fp;
	char *word;
	bool done = FALSE;
	bool sub = FALSE;
	CLASS_DATA *class;
	char buf[MAX_STRING_LENGTH];

 	if( (fp = fopen(CLASS_FILE,"r")) == NULL)
 	{
  		log_string("Can not open CLASS_FILE for reading.");
  		return;
 	}
	word = fread_word(fp);
	while( !done )
	{
		if( !str_cmp( word, "Alie"))
			class = alie;
		else if( !str_cmp( word, "Apoc"))
			class = apoc;
		else if( !str_cmp( word, "Drag"))
			class = drag;
		else if( !str_cmp( word, "Drow"))
			class = drow;
		else if( !str_cmp( word, "Jedi"))
			class = jedi;
		else if( !str_cmp( word, "Monk"))
			class = monk;
		else if( !str_cmp( word, "Shad"))
			class = shad;
		else if( !str_cmp( word, "Vamp"))
			class = vamp;
		else if( !str_cmp( word, "Were"))
			class = were;
		else
		{
			sprintf(buf,"Unkown class %s in load_class_config",word);
			log_string(buf);
			fclose(fp);
			return;
		}
		while( !sub )
		{
			word = fread_word(fp);
			if( !str_cmp( word, "Armo"))
				class->armo = fread_number(fp);
			else if( !str_cmp( word, "Atta"))
				class->atta = fread_number(fp);
			else if( !str_cmp( word, "Damr"))
				class->damr = fread_number(fp);
			else if( !str_cmp( word, "Dodg"))
				class->dodg = fread_number(fp);		
			else if( !str_cmp( word, "Hitr"))
				class->hitr = fread_number(fp);
			else if( !str_cmp( word, "Parr"))
				class->parr = fread_number(fp);
			else if( !str_cmp( word, "Powe"))
                                class->powe = atof(fread_string(fp));
			else if( !str_cmp( word, "Rege"))
                                class->rege = atof(fread_string(fp));
			else if( !str_cmp( word, "Toug"))
                                class->toug = atof(fread_string(fp));
			else if( !str_cmp( word, "End"))
				sub = TRUE;
			else
			{
				sprintf(buf,"Unkown field %s, aborting.",word);
                                log_string(buf);
				fclose(fp);
				return;
			}
		}
		sub = FALSE;
		/* get the next word */
		word = fread_word(fp);
		if( !str_cmp(word, "EOF"))
			done = TRUE;
	}
	fclose(fp);
	return;
}