]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
even more new toys stuff
authorRudolf Polzer <divverent@xonotic.org>
Mon, 5 Mar 2012 11:13:40 +0000 (12:13 +0100)
committerRudolf Polzer <divverent@xonotic.org>
Mon, 5 Mar 2012 11:13:40 +0000 (12:13 +0100)
qcsrc/server/miscfunctions.qc
qcsrc/server/mutators/mutator_nix.qc
qcsrc/server/mutators/mutators.qh

index 2abf891885ef24163ca00416339aff88fdc44820..d754352bf85cd23aee1192d629342fa7b90e1eda 100644 (file)
@@ -1091,19 +1091,26 @@ float sv_pitch_fixyaw;
 string GetGametype(); // g_world.qc
 void readlevelcvars(void)
 {
-       // first load all the mutators
-       if(cvar("g_invincible_projectiles"))
-               MUTATOR_ADD(mutator_invincibleprojectiles);
-       if(cvar("g_nix"))
-               MUTATOR_ADD(mutator_nix);
+       g_minstagib = cvar("g_minstagib");
+
+       // load ALL the mutators
        if(cvar("g_dodging"))
                MUTATOR_ADD(mutator_dodging);
-       if(cvar("g_rocket_flying"))
-               MUTATOR_ADD(mutator_rocketflying);
-       if(cvar("g_vampire"))
-               MUTATOR_ADD(mutator_vampire);
        if(cvar("g_spawn_near_teammate"))
                MUTATOR_ADD(mutator_spawn_near_teammate);
+       if(!g_minstagib)
+       {
+               if(cvar("g_invincible_projectiles"))
+                       MUTATOR_ADD(mutator_invincibleprojectiles);
+               if(cvar("g_new_toys"))
+                       MUTATOR_ADD(mutator_new_toys);
+               if(cvar("g_nix"))
+                       MUTATOR_ADD(mutator_nix);
+               if(cvar("g_rocket_flying"))
+                       MUTATOR_ADD(mutator_rocketflying);
+               if(cvar("g_vampire"))
+                       MUTATOR_ADD(mutator_vampire);
+       }
 
        // is this a mutator? is this a mode?
        if(cvar("g_sandbox"))
@@ -1149,7 +1156,6 @@ void readlevelcvars(void)
        g_grappling_hook = cvar("g_grappling_hook");
        g_jetpack = cvar("g_jetpack");
        g_midair = cvar("g_midair");
-       g_minstagib = cvar("g_minstagib");
        g_norecoil = cvar("g_norecoil");
        g_bloodloss = cvar("g_bloodloss");
        sv_maxidle = cvar("sv_maxidle");
index 914df99ccd922ee0ec75849409e8fcc2a8fe4f49..68a50a5192f6db20507387e5d059c6d3a97059a0 100644 (file)
@@ -24,6 +24,8 @@ float NIX_CanChooseWeapon(float wpn)
        {
                if(wpn == WEP_LASER && g_nix_with_laser)
                        return FALSE;
+               if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)
+                       return FALSE;
                if not(e.spawnflags & WEP_FLAG_NORMAL)
                        return FALSE;
        }
index bc3c3fbd4446a5283d841a5a24ee1c6b3893981b..4e7d9a6512bd47b8806d2f791fa5fc04cd9ab035 100644 (file)
@@ -3,12 +3,12 @@ MUTATOR_DECLARATION(gamemode_freezetag);
 MUTATOR_DECLARATION(gamemode_keepaway);
 MUTATOR_DECLARATION(gamemode_nexball);
 
+MUTATOR_DECLARATION(mutator_dodging);
 MUTATOR_DECLARATION(mutator_invincibleprojectiles);
+MUTATOR_DECLARATION(mutator_new_toys);
 MUTATOR_DECLARATION(mutator_nix);
-MUTATOR_DECLARATION(mutator_dodging);
 MUTATOR_DECLARATION(mutator_rocketflying);
-MUTATOR_DECLARATION(mutator_vampire);
-MUTATOR_DECLARATION(mutator_spawn_near_teammate);
 MUTATOR_DECLARATION(mutator_spawn_near_teammate);
+MUTATOR_DECLARATION(mutator_vampire);
 
 MUTATOR_DECLARATION(sandbox);