]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Allow gravity zones to be triggered and toggled on or off.
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 3 May 2010 16:02:09 +0000 (19:02 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 3 May 2010 16:02:09 +0000 (19:02 +0300)
qcsrc/server/g_triggers.qc

index 1a1e41480421495cedd294a5bdba44c9c41ee057..4ca94907f10859f585197f5163612fd83b1edfa4 100644 (file)
@@ -553,8 +553,19 @@ void trigger_gravity_check_think()
        }
 }
 
+void trigger_gravity_use()
+{
+       if(self.state == TRUE)
+               self.state = FALSE;
+       if(self.state == FALSE)
+               self.state = TRUE;
+}
+
 void trigger_gravity_touch()
 {
+       if(self.state != TRUE)
+               return;
+
        EXACTTRIGGER_TOUCH;
 
        if not(self.spawnflags & 1)
@@ -586,6 +597,14 @@ void spawnfunc_trigger_gravity()
        self.touch = trigger_gravity_touch;
        if(self.noise != "")
                precache_sound(self.noise);
+
+       self.state = TRUE;
+       IFTARGETED
+       {
+               self.use = trigger_gravity_use;
+               if(self.spawnflags & 2)
+                       self.state = FALSE;
+       }
 };
 
 //=============================================================================