void load_herb_table( ) { FILE *fp; if( ( fp = fopen( HERB_FILE, "r" ) ) != NULL ) { top_herb = 0; for( ;; ) { char letter; const char *word; letter = fread_letter( fp ); if( letter == '*' ) { fread_to_eol( fp ); continue; } if( letter != '#' ) { bug( "Load_herb_table: # not found.", 0 ); break; } word = fread_word( fp ); if( !str_cmp( word, "HERB" ) ) { if( top_herb >= MAX_HERB ) { bug( "load_herb_table: more herbs than MAX_HERB %d", MAX_HERB ); fclose( fp ); return; } herb_table[top_herb++] = fread_skill( fp, FALSE ); if( herb_table[top_herb - 1]->slot == 0 ) herb_table[top_herb - 1]->slot = top_herb - 1; continue; } else if( !str_cmp( word, "END" ) ) break; else { bug( "Load_herb_table: bad section.", 0 ); continue; } } fclose( fp ); } else { bug( "Cannot open herbs.dat", 0 ); exit( 0 ); } }
void load_skill_table( ) { FILE *fp; if( ( fp = fopen( SKILL_FILE, "r" ) ) != NULL ) { top_sn = 0; for( ;; ) { char letter; const char *word; letter = fread_letter( fp ); if( letter == '*' ) { fread_to_eol( fp ); continue; } if( letter != '#' ) { bug( "Load_skill_table: # not found.", 0 ); break; } word = fread_word( fp ); if( !str_cmp( word, "SKILL" ) ) { if( top_sn >= MAX_SKILL ) { bug( "load_skill_table: more skills than MAX_SKILL %d", MAX_SKILL ); fclose( fp ); return; } skill_table[top_sn++] = fread_skill( fp, FALSE ); continue; } else if( !str_cmp( word, "END" ) ) break; else { bug( "Load_skill_table: bad section.", 0 ); continue; } } fclose( fp ); } else { bug( "Cannot open skills.dat", 0 ); exit( 0 ); } }
void fread_weapon( MUD_FILE *fp ) { fread_skill( fp ,"WEAPON" ); }
/* * Legge una sezione di HERB * (FF) rifare un fread_herb appena creata la struttura per le erbe-ingredienti-reagenti */ void fread_herb( MUD_FILE *fp ) { fread_skill( fp, "HERB" ); }