]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/config.cpp
Updated the change log for the numrolloverfights directive
[irc/gameservirc.git] / gameserv / config.cpp
index 893ff68c207d9359105a28ddae2495f972352e1b..1f23d394807a82153d3f475b0ff4b55bf0cc8665 100644 (file)
@@ -37,12 +37,16 @@ int level1expire;           // Days for level 1 players to expire
 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
@@ -74,8 +78,8 @@ void unload_config_file()
     delete [] c_ForestTopic;
   if (remoteserver)
     delete [] remoteserver;
-  if (remoteport)
-    delete [] remoteport;
+  if (localhost)
+    delete [] localhost;
   if (remotepass)
     delete [] remotepass;
   if (playerdata)
@@ -112,7 +116,7 @@ int load_config_file(char *config)
 {
     char *buf, *directive, *value;
 
-    #define numdirectives 34
+    #define numdirectives 39
 
     unload_config_file();
 
@@ -172,6 +176,12 @@ int load_config_file(char *config)
     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;
 
@@ -263,8 +273,7 @@ int load_config_file(char *config)
        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)
@@ -442,6 +451,46 @@ int load_config_file(char *config)
            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