]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/campaign.qc
take3: format 903 files
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / campaign.qc
index e80769cc2783edabcca7b1952aafbb5f9b06a256..7351b01d27de1eb745e494b59f0ba125d6ba322d 100644 (file)
 // campaign cvars:
 //   _campaign_index: index of CURRENT map
 //   _campaign_name: name of the current campaign
-//   g_campaign(name)_index: index of current LAST map (saved)
+//   g_campaign(name) _index: index of current LAST map (saved)
 //   g_campaign_skill: bot skill offset
 
 float campaign_level;
 float campaign_won;
 string campaign_index_var;
-//float checkrules_equality;
+// float checkrules_equality;
 
 float CampaignBailout(string s)
 {
@@ -26,8 +26,9 @@ float CampaignBailout(string s)
        cvar_set = cvar_set_normal;
        cvar_set("g_campaign", "0");
        LOG_INFO("^4campaign initialization failed: ", s);
-       if(autocvar__campaign_testrun)
+       if (autocvar__campaign_testrun) {
                error("CAMPAIGN FAIL AHAHAHAHAHAHAHAHAH))");
+       }
        return 1;
 }
 
@@ -36,12 +37,14 @@ string cvar_string_campaignwrapper(string theCvar)
 {
        float p, q;
        p = strstrofs(cvar_campaignwrapper_list, strcat("; ", theCvar, " "), 0);
-       if(p < 0)
+       if (p < 0) {
                return cvar_defstring(theCvar);
+       }
        p += strlen(theCvar) + 3;
        q = strstrofs(cvar_campaignwrapper_list, ";", p);
-       if(q < 0)
+       if (q < 0) {
                return cvar_defstring(theCvar);
+       }
        return substring(cvar_campaignwrapper_list, p, q - p);
 }
 float cvar_campaignwrapper(string theCvar)
@@ -50,13 +53,14 @@ float cvar_campaignwrapper(string theCvar)
 }
 void cvar_set_campaignwrapper(string theCvar, string theValue)
 {
-       if(cvar_string_campaignwrapper(theCvar) == theValue)
+       if (cvar_string_campaignwrapper(theCvar) == theValue) {
                return;
+       }
        string s;
        s = cvar_campaignwrapper_list;
        cvar_campaignwrapper_list = strzone(strcat("; ", theCvar, " ", theValue, s));
        strunzone(s);
-       //print(cvar_campaignwrapper_list, "\n");
+       // print(cvar_campaignwrapper_list, "\n");
 }
 
 float Campaign_Invalid()
@@ -64,11 +68,13 @@ float Campaign_Invalid()
        string thismapname, wantedmapname;
        thismapname = GetMapname();
        wantedmapname = campaign_gametype[0];
-       if(MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname))
+       if (MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname)) {
                return CampaignBailout("wrong game type!");
+       }
        wantedmapname = campaign_mapname[0];
-       if(wantedmapname != thismapname)
+       if (wantedmapname != thismapname) {
                return CampaignBailout(strcat("wrong map: ", wantedmapname, " != ", thismapname));
+       }
        return 0;
 }
 
@@ -81,14 +87,12 @@ void CampaignPreInit()
        campaign_index_var = strzone(strcat("g_campaign", campaign_name, "_index"));
        CampaignFile_Load(campaign_level, 2);
 
-       if(campaign_entries < 1)
-       {
+       if (campaign_entries < 1) {
                CampaignBailout("unknown map");
                return;
        }
 
-       if(autocvar_sv_cheats)
-       {
+       if (autocvar_sv_cheats) {
                MapInfo_SwitchGameType(MapInfo_Type_FromString(campaign_gametype[0]));
                CampaignFile_Unload();
                CampaignBailout("JOLLY CHEATS AHAHAHAHAHAHAH))");
@@ -97,8 +101,9 @@ void CampaignPreInit()
 
        baseskill = autocvar_g_campaign_skill;
        baseskill = baseskill + campaign_botskill[0];
-       if(baseskill < 0)
+       if (baseskill < 0) {
                baseskill = 0;
+       }
 
        cvar_set("sv_public", "0");
        cvar_set("pausable", "1");
@@ -119,8 +124,9 @@ void CampaignPreInit()
        // with the menu a little still...)
        cvar_set_normal("sv_gravity", ftos(autocvar_sv_gravity));
 
-       if(Campaign_Invalid())
+       if (Campaign_Invalid()) {
                return;
+       }
 
        title = campaign_shortdesc[0];
        title = strzone(strcat("Level ", ftos(campaign_level + 1), ": ", title));
@@ -131,17 +137,15 @@ void CampaignPreInit()
 void CampaignPostInit()
 {
        // now some sanity checks
-       if(Campaign_Invalid())
+       if (Campaign_Invalid()) {
                return;
-       if(autocvar__campaign_testrun)
-       {
+       }
+       if (autocvar__campaign_testrun) {
                cvar_set("fraglimit", "0");
                cvar_set("timelimit", "0.01");
                cvar_set_normal("fraglimit", "0");
                cvar_set_normal("timelimit", "0.01");
-       }
-       else
-       {
+       } else {
                cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
                cvar_set("timelimit", ftos(campaign_timelimit[0]));
                cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0]));
@@ -162,29 +166,27 @@ void CampaignSaveCvar(string cvarname, float value)
 
        fh = fopen("campaign.cfg", FILE_READ);
        contents = "";
-       if(fh >= 0)
-       {
-               while((l = fgets(fh)))
-               {
+       if (fh >= 0) {
+               while ((l = fgets(fh))) {
                        len = tokenize_console(l);
-                       if(len != 3)
+                       if (len != 3) {
                                continue;
-                       if(argv(0) != "set")
+                       }
+                       if (argv(0) != "set") {
                                continue;
-                       if(argv(1) == cvarname)
+                       }
+                       if (argv(1) == cvarname) {
                                continue;
+                       }
                        contents = strcat(contents, "set ", argv(1), " ", argv(2), "\n");
                }
                fclose(fh);
        }
        contents = strcat(contents, "set ", cvarname,  " ", ftos(value), "\n");
        fh = fopen("campaign.cfg", FILE_WRITE);
-       if(fh >= 0)
-       {
+       if (fh >= 0) {
                fputs(fh, contents);
-       }
-       else
-       {
+       } else {
                error("Cannot write to campaign file");
        }
 }
@@ -196,59 +198,45 @@ void CampaignPreIntermission()
        string savevar;
 
        FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it), {
-               if(it.winning)
+               if (it.winning) {
                        won += 1;
-               else
+               } else {
                        lost += 1;
+               }
        });
 
-       if(autocvar__campaign_testrun)
-       {
+       if (autocvar__campaign_testrun) {
                campaign_won = 1;
                bprint("Campaign test run, advancing level.\n");
-       }
-       else if(won == 1 && lost == 0 && checkrules_equality == 0)
-       {
-               if(autocvar_timelimit != 0 && autocvar_fraglimit != 0 && time > autocvar_timelimit * 60) // checks if the timelimit has expired.
-               {
+       } else if (won == 1 && lost == 0 && checkrules_equality == 0) {
+               if (autocvar_timelimit != 0 && autocvar_fraglimit != 0 && time > autocvar_timelimit * 60) { // checks if the timelimit has expired.
                        campaign_won = 0;
                        bprint("Time's up! The current level has been LOST.\n");
                        // sound!
-               }
-               else
-               {
+               } else {
                        campaign_won = 1;
                        bprint("The current level has been WON.\n");
                        // sound!
                }
-       }
-       else if(autocvar_timelimit != 0 && time > autocvar_timelimit * 60)
-       {
+       } else if (autocvar_timelimit != 0 && time > autocvar_timelimit * 60) {
                campaign_won = 0;
                bprint("Time's up! The current level has been LOST.\n");
                // sound!
-       }
-       else
-       {
+       } else {
                campaign_won = 0;
                bprint("The current level has been LOST.\n");
                // sound!
        }
 
-       if(campaign_won && cheatcount_total == 0 && !autocvar__campaign_testrun)
-       {
-               if(campaign_level == cvar_normal(campaign_index_var))
-               {
-                       if(campaign_entries < 2)
-                       {
+       if (campaign_won && cheatcount_total == 0 && !autocvar__campaign_testrun) {
+               if (campaign_level == cvar_normal(campaign_index_var)) {
+                       if (campaign_entries < 2) {
                                // I have won
                                savevar = strcat("g_campaign", campaign_name, "_won");
                                CampaignSaveCvar(savevar, 1);
                                // advance level (for menu to show it right)
                                CampaignSaveCvar(campaign_index_var, campaign_level + 1);
-                       }
-                       else
-                       {
+                       } else {
                                // advance level
                                CampaignSaveCvar(campaign_index_var, campaign_level + 1);
                        }
@@ -260,8 +248,7 @@ void CampaignPostIntermission()
 {
        // NOTE: campaign_won is 0 or 1, that is, points to the next level
 
-       if(campaign_won && campaign_entries < 2)
-       {
+       if (campaign_won && campaign_entries < 2) {
                // last map won!
                LOG_DEBUG("^2test run: campaign looks GOOD");
                localcmd("togglemenu 1\n");
@@ -278,17 +265,17 @@ void CampaignPostIntermission()
 }
 
 
-
 void CampaignLevelWarp(float n)
 {
-       if(n < 0)
+       if (n < 0) {
                n = campaign_level + 1;
+       }
        CampaignFile_Unload();
        CampaignFile_Load(n, 1);
-       if(campaign_entries)
+       if (campaign_entries) {
                CampaignSetup(0);
-       else
+       } else {
                error("Sorry, cheater. You are NOT WELCOME.");
+       }
        CampaignFile_Unload();
 }
-