From 95ca3218e547e9d421bb1048e50139c9b7525cc0 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Mon, 5 Mar 2012 12:13:40 +0100 Subject: [PATCH] even more new toys stuff --- qcsrc/server/miscfunctions.qc | 26 ++++++++++++++++---------- qcsrc/server/mutators/mutator_nix.qc | 2 ++ qcsrc/server/mutators/mutators.qh | 6 +++--- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 2abf89188..d754352bf 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -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"); diff --git a/qcsrc/server/mutators/mutator_nix.qc b/qcsrc/server/mutators/mutator_nix.qc index 914df99cc..68a50a519 100644 --- a/qcsrc/server/mutators/mutator_nix.qc +++ b/qcsrc/server/mutators/mutator_nix.qc @@ -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; } diff --git a/qcsrc/server/mutators/mutators.qh b/qcsrc/server/mutators/mutators.qh index bc3c3fbd4..4e7d9a651 100644 --- a/qcsrc/server/mutators/mutators.qh +++ b/qcsrc/server/mutators/mutators.qh @@ -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); -- 2.39.2