/*************************************************************************** * 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. :) * ***************************************************************************/ // For.. Configuration.. To be... vague. #include <sys/types.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include "merc.h" void save_config args(( void )); void load_config args(( void )); void initialise_config() { if (config_info == NULL) config_info = alloc_perm( sizeof(*config_info) ); config_info->bonus = 0; load_config(); } void load_config() { FILE *fp; if ((fp = fopen("config.sys","r")) == NULL) { bug("Creating config.sys",0); save_config(); return; } fread_to_eol( fp ); fread_word(fp); config_info->bonus = fread_number( fp ); fclose( fp ); } void save_config() { FILE *fp; if ((fp = fopen("config.sys","w")) == NULL) { bug("Error saving to config.sys",0); return; } fprintf( fp, "Config.sys - Mob Power\n"); fprintf( fp, "Bonus %d",config_info->bonus ); fclose( fp ); } void do_configuration( CHAR_DATA *ch, char *argument ) { char arg[MIL]; char buf[MSL]; int value; argument = one_argument( argument, arg ); if ( IS_NPC(ch) ) return; if ( arg[0] == '\0' ) { stc("Syntax: configuration <number>\n\r",ch); stc("Where <number> is between 0 and 40,\n\r",ch); stc("The higher the number, the better the mobs parry|dodge.\n\r",ch); sprintf(buf,"Currently set at: %d",config_info->bonus); stc(buf,ch); return; } if ( !is_number(arg) ) { stc("You have to enter a number, goddamnit!\n\r",ch); return; } value = atoi(arg); if ( value < 0 || value > 40 ) { stc("Enter a value between 0 and 40.\n\r",ch); return; } config_info->bonus = value; sprintf(buf, "Ok, mob's parry|dodge chance increased by %d.\n\r",value); stc(buf,ch); save_config(); return; }