]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'refs/remotes/origin/mirceakitsune/nex_reticle'
authorRudolf Polzer <divverent@alientrap.org>
Fri, 2 Jul 2010 08:19:20 +0000 (10:19 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Fri, 2 Jul 2010 08:19:20 +0000 (10:19 +0200)
defaultXonotic.cfg
models/weapons/h_campingrifle.iqm
models/weapons/h_electro.iqm
qcsrc/server/g_world.qc

index 45aa842cda5a0ce0d9661cb01a275c00b3887b5c..944ae9e703181d1850d457362b472cb8bfe0e69a 100644 (file)
@@ -550,6 +550,7 @@ set sv_dodging_wall_distance_threshold 10 "the maximum distance from a wall that
 set sv_dodging_sound 1 "if 1 dodging makes a sound. if 0 dodging is silent"
 
 set leadlimit 0
+set leadlimit_and_fraglimit 0 "if set, leadlimit is ANDed with fraglimit (otherwise ORed)"
 
 // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
 seta timelimit_override -1     "Time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
index 2d4e970c728829e2e43fd7da94f1831ce39c8c12..c7da48ea127db22dcb59cb45e120a2d07961be88 100644 (file)
Binary files a/models/weapons/h_campingrifle.iqm and b/models/weapons/h_campingrifle.iqm differ
index ef0c7e261258c8dfd064bd0eb7ae94b316187683..8ae8898d5a43a78b8be68fe75b45fba37c176c08 100644 (file)
Binary files a/models/weapons/h_electro.iqm and b/models/weapons/h_electro.iqm differ
index f873ea7c6b00331ed188b2bf1bf3f030f165fc4f..90a1e744f923a1701da7d93c1eef474c4ad5d199 100644 (file)
@@ -1740,6 +1740,8 @@ void ShuffleMaplist()
 float leaderfrags;
 float WinningCondition_Scores(float limit, float leadlimit)
 {
+       float limitreached;
+
        // TODO make everything use THIS winning condition (except LMS)
        WinningConditionHelper();
 
@@ -1784,13 +1786,22 @@ float WinningCondition_Scores(float limit, float leadlimit)
                }
        }
 
+       limitreached = FALSE;
+       if(limit)
+               if(WinningConditionHelper_topscore >= limit)
+                       limitreached = TRUE;
+       if(leadlimit)
+       {
+               float leadlimitreached;
+               leadlimitreached = (WinningConditionHelper_topscore - WinningConditionHelper_secondscore >= leadlimit);
+               if(cvar("leadlimit_and_fraglimit"))
+                       limitreached = (limitreached && leadlimitreached);
+               else
+                       limitreached = (limitreached || leadlimitreached);
+       }
+
        return GetWinningCode(
-               WinningConditionHelper_topscore &&
-               (
-                       (limit && (WinningConditionHelper_topscore >= limit))
-                       ||
-                       (leadlimit && (WinningConditionHelper_topscore - WinningConditionHelper_secondscore >= leadlimit))
-               ),
+               WinningConditionHelper_topscore && limitreached,
                WinningConditionHelper_equality
        );
 }