]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/config.cpp
Added everything necessary to save overtop of the old dragon when someone beats the...
[irc/gameservirc.git] / gameserv / config.cpp
index 5e8b69c0078f28a05253b0a9cea793fd11afa7af..c9f72304184b1d8f25cd3a39e41043044da28135 100644 (file)
@@ -23,6 +23,9 @@ char *c_ForestTopic;          // Forest Channel Topic
 char *adminpass;               // Administrator password
 char *welcomemsg;              // Welcome Message
 char *ignoreserverslist;       // Servernames to ignore
+char *nsname;                  // NickServ's name
+char *nspass;                  // GameServ's NickServ Password
+
 int welcomedelay;              // Welcome Message Delay
 int updateperiod;              // Seconds until another player database update
 int forestfights;              // Forest fights per day
@@ -42,7 +45,8 @@ char *remoteport;             // Port to connect to on remoteserver
 char *remotepass;              // Password for the server link
 
 char *playerdata;              // File to store player data in
-char *monsterdata;             // File to load monster data from
+char *dragondata;              // File to store current dragon data in
+char *masterdata;              // File to store the master data in
 char *newsdata;                        // File to store news data in
 char *pidfile;                 // Process ID file
 
@@ -72,8 +76,10 @@ void unload_config_file()
        delete [] remotepass;
     if (playerdata)
        delete [] playerdata;
-    if (monsterdata)
-       delete [] monsterdata;
+    if (dragondata)
+       delete [] dragondata;
+    if (masterdata)
+       delete [] masterdata;
     if (adminpass)
        delete [] adminpass;
     if (welcomemsg)
@@ -84,6 +90,10 @@ void unload_config_file()
        delete [] ignoreserverslist;
     if (newsdata)
        delete [] newsdata;
+    if (nsname)
+       delete [] nsname;
+    if (nspass)
+       delete [] nspass;
 
     configflags = 0;
 }
@@ -92,7 +102,7 @@ int load_config_file(char *config)
 {
     char *buf, *directive, *value;
 
-    #define numdirectives 26
+    #define numdirectives 30
 
     unload_config_file();
 
@@ -113,7 +123,8 @@ int load_config_file(char *config)
      directives[7].desc = "REMOTEPORT - Port on the remote server to connect to";
      directives[8].desc = "REMOTEPASS - Password on the remote server";
      directives[9].desc = "PLAYERDATA - File to store the player saves in";
-    directives[10].desc = "MONSTERDATA - File to load the monsters from";
+    directives[10].desc = "SAVEDNOTICE - True/False as to wether or not to tell the forest "\
+                               "channel that the player database has been saved";
     directives[11].desc = "ADMINPASS - Password to identify as an admin with";
     directives[12].desc = "WELCOMEDELAY - Delay (in seconds) to wait before welcoming new users to the network";
     directives[13].desc = "FORESTFIGHTS - Number of forest fights players get every day";
@@ -140,10 +151,13 @@ int load_config_file(char *config)
     directives[24].desc = "DEFAULTEXPIRE - Amount of days until a "\
                        "level 2 and above player's account is "\
                        "deleted due to inactivity";
-    directives[25].desc = "SAVEDNOTICE - True/False as to "\
-                       "whether or not the c_Forest channel "\
-                       "will be notified every time the player "\
-                       "data is saved";
+    directives[25].desc = "USENICKSERV - True/False as to wether or not "\
+                       "GameServ should identify with NickServ";
+    directives[26].desc = "NSNAME - Your network's NickServ nickname";
+    directives[27].desc = "NSPASS - GameServ's NickServ Password";
+    directives[28].desc = "DRAGONDATA - File to store the current "\
+                       "dragon's stats in";
+    directives[29].desc = "MASTERDATA - File to store the level master stats in";
 
     configflags = 0;
 
@@ -253,11 +267,11 @@ int load_config_file(char *config)
            strcpy(playerdata, value);
            directives[9].done = true;
        }
-       else if (stricmp(directive, "MONSTERDATA") == 0)
+       else if (stricmp(directive, "SAVEDNOTICE") == 0)
        {
            value = strtok(NULL, "");
-           monsterdata = new char[strlen(value) + 1];
-           strcpy(monsterdata, value);
+           if (stricmp(value, "TRUE") == 0)
+               setSavedNotice();
            directives[10].done = true;
        }
        else if (stricmp(directive, "ADMINPASS") == 0)
@@ -349,6 +363,44 @@ int load_config_file(char *config)
            defaultexpire = stringtoint(value);
            directives[24].done = true;
        }
+       else if (stricmp(directive, "USENICKSERV") == 0)
+       {
+           value = strtok(NULL, " ");
+           if (stricmp(value, "TRUE") == 0)
+           {
+               setUseNickServ();
+           }
+
+           directives[25].done = true;
+       }
+       else if (stricmp(directive, "NSNAME") == 0)
+       {
+           value = strtok(NULL, "");
+           nsname = new char[strlen(value) + 1];
+           strcpy(nsname, value);
+           directives[26].done = true;
+       }
+       else if (stricmp(directive, "NSPASS") == 0)
+       {
+           value = strtok(NULL, "");
+           nspass = new char[strlen(value) + 1];
+           strcpy(nspass, value);
+           directives[27].done = true;
+       }
+       else if (stricmp(directive, "DRAGONDATA") == 0)
+       {
+           value = strtok(NULL, "");
+           dragondata = new char[strlen(value) + 1];
+           strcpy(dragondata, value);
+           directives[28].done = true;
+       }
+       else if (stricmp(directive, "MASTERDATA") == 0)
+       {
+           value = strtok(NULL, "");
+           masterdata = new char[strlen(value) + 1];
+           strcpy(masterdata, value);
+           directives[29].done = true;
+       }
        else if (stricmp(directive, "WELCOMEMSG") == 0)
        {
            // This directive is optional
@@ -374,14 +426,6 @@ int load_config_file(char *config)
            ignoreserverslist = new char[strlen(value) + 1];
            strcpy(ignoreserverslist, value);
        }
-       else if (stricmp(directive, "SAVEDNOTICE") == 0)
-       {
-           value = strtok(NULL, " ");
-           if (stricmp(value, "TRUE") == 0)
-               setSavedNotice();
-
-           directives[25].done = true;
-       }
        else
        {
            #ifdef DEBUGMODE