]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator_random_gravity.qc
Fix whitespace for #include
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_random_gravity.qc
index 6653312d9b618ed7776b3d6d11517175e776716b..f70ee4ba32c9d01d312a81a81e67ebfc9c34f5e2 100644 (file)
@@ -1,32 +1,27 @@
+// Random Gravity
+//
+// Mutator by Mario
+// Inspired by Player 2
+
 float gravity_delay;
-float old_gravity;
+
 MUTATOR_HOOKFUNCTION(gravity_StartFrame)
 {
-       if(gameover)
-       {
-               if(autocvar_sv_gravity != old_gravity)
-               {
-                       cvar_set("sv_gravity", ftos(old_gravity));
-                       old_gravity = autocvar_sv_gravity; // update now so it can be changed during match end
-               }
-               
-               return FALSE;
-       }
-               
-       if(time < gravity_delay) return FALSE;
-       if(time < game_starttime) return FALSE;
-       if(round_handler_IsActive() && !round_handler_IsRoundStarted()) return FALSE;
-       
-    if(random() >= autocvar_g_random_gravity_negative_chance) 
+       if(gameover || !cvar("g_random_gravity")) return false;
+       if(time < gravity_delay) return false;
+       if(time < game_starttime) return false;
+       if(round_handler_IsActive() && !round_handler_IsRoundStarted()) return false;
+
+    if(random() >= autocvar_g_random_gravity_negative_chance)
         cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() - random() * -autocvar_g_random_gravity_negative, autocvar_g_random_gravity_max)));
     else
         cvar_set("sv_gravity", ftos(bound(autocvar_g_random_gravity_min, random() * autocvar_g_random_gravity_positive, autocvar_g_random_gravity_max)));
-       
+
        gravity_delay = time + autocvar_g_random_gravity_delay;
-       
+
        dprint("Gravity is now: ", ftos(autocvar_sv_gravity), "\n");
-       
-       return FALSE;
+
+       return false;
 }
 
 MUTATOR_HOOKFUNCTION(gravity_BuildMutatorsString)
@@ -46,16 +41,11 @@ MUTATOR_DEFINITION(mutator_random_gravity)
        MUTATOR_HOOK(SV_StartFrame, gravity_StartFrame, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsString, gravity_BuildMutatorsString, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsPrettyString, gravity_BuildMutatorsPrettyString, CBC_ORDER_ANY);
-       
+
        MUTATOR_ONADD
        {
-               old_gravity = autocvar_sv_gravity;
-       }
-       
-       MUTATOR_ONREMOVE
-       {
-               cvar_set("sv_gravity", ftos(old_gravity));
+               cvar_settemp("sv_gravity", cvar_string("sv_gravity")); // settemp current gravity so it's restored on match end
        }
 
-       return FALSE;
+       return false;
 }