int defaultexpire; // Days for other levels to expire
int maxitems; // Maximum amount of items a player can carry
long refreshperiod; // Period for refreshing players
-long configflags; // Holds the bit representation of some boolean values
+long rolloverperiod; // Period for rolling over forest fights
+long configflags; // Holds the binary representation of some boolean values
+long maxforestfights; // Maximum amount of forest fights to roll over
+long numrolloverfights; // Number of forest fights to roll over
// Remote server stuff. This is used for the outgoing connection gameserv needs to make
// to a real ircd.
char *remoteserver; // Server to connect to
-char *remoteport; // Port to connect to on remoteserver
+char *localhost; // Hostname of the local address to bind to
+int remoteport; // Port to connect to on remoteserver
char *remotepass; // Password for the server link
char *storeitemdata; // File to store the items available in the store
delete [] c_ForestTopic;
if (remoteserver)
delete [] remoteserver;
- if (remoteport)
- delete [] remoteport;
+ if (localhost)
+ delete [] localhost;
if (remotepass)
delete [] remotepass;
if (playerdata)
{
char *buf, *directive, *value;
- #define numdirectives 34
+ #define numdirectives 39
unload_config_file();
directives[31].desc = "TAVERNITEMDATA - File in which to store the items that are available in the tavern";
directives[32].desc = "MAXITEMS - Maximum number of items a player can carry";
directives[33].desc = "STOREITEMDATA - File in which to store the items that are available in the store";
+ directives[34].desc = "LOCALHOST - Local hostname or IP to bind to when connecting to the remote server";
+ directives[35].desc = "ROLLOVERFORESTFIGHTS - True/False as to wether or not to roll over forest fights "\
+ "into the next day";
+ directives[36].desc = "MAXFORESTFIGHTS - Maximum amount of forest fights to roll over";
+ directives[37].desc = "ROLLOVERPERIOD - Period (in seconds) to rollover forest fights";
+ directives[38].desc = "NUMROLLOVERFIGHTS - Number of forest fights to roll over";
configflags = 0;
else if (stricmp(directive, "REMOTEPORT") == 0)
{
value = strtok(NULL, " ");
- remoteport = new char[strlen(value) + 1];
- strcpy(remoteport, value);
+ remoteport = stringtoint(value);
directives[7].done = true;
}
else if (stricmp(directive, "REMOTEPASS") == 0)
strcpy(storeitemdata, value);
directives[33].done = true;
}
+ else if (stricmp(directive, "LOCALHOST") == 0)
+ {
+ value = strtok(NULL, "");
+ localhost = new char[strlen(value) + 1];
+ strcpy(localhost, value);
+ directives[34].done = true;
+ }
+ else if (stricmp(directive, "ROLLOVERFORESTFIGHTS") == 0)
+ {
+ value = strtok(NULL, " ");
+ if (stricmp(value, "TRUE") == 0)
+ {
+ setRolloverForestFights();
+ }
+ else
+ {
+ directives[36].done = true;
+ directives[37].done = true;
+ directives[38].done = true;
+ }
+ directives[35].done = true;
+ }
+ else if (stricmp(directive, "MAXFORESTFIGHTS") == 0)
+ {
+ value = strtok(NULL, "");
+ maxforestfights = stringtoint(value);
+ directives[36].done = true;
+ }
+ else if (stricmp(directive, "ROLLOVERPERIOD") == 0)
+ {
+ value = strtok(NULL, "");
+ rolloverperiod = stringtoint(value);
+ directives[37].done = true;
+ }
+ else if (stricmp(directive, "NUMROLLOVERFIGHTS") == 0)
+ {
+ value = strtok(NULL, "");
+ numrolloverfights = stringtoint(value);
+ directives[38].done = true;
+ }
else if (stricmp(directive, "WELCOMEMSG") == 0)
{
// This directive is optional