From 4ef0130f60df244beb387b83e115301a196d2ac0 Mon Sep 17 00:00:00 2001 From: Mario Date: Tue, 11 Jun 2013 15:08:16 +1000 Subject: [PATCH] Use a bad trick to allow nades only in mutators which disallow throwing --- qcsrc/server/mutators/mutator_minstagib.qc | 1 + qcsrc/server/mutators/mutator_nades.qc | 10 ++-------- qcsrc/server/mutators/mutator_nades.qh | 1 + qcsrc/server/mutators/mutator_riflearena.qc | 1 + qcsrc/server/progs.src | 1 + 5 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 qcsrc/server/mutators/mutator_nades.qh diff --git a/qcsrc/server/mutators/mutator_minstagib.qc b/qcsrc/server/mutators/mutator_minstagib.qc index 4a26bdb5f..9b4bd7012 100644 --- a/qcsrc/server/mutators/mutator_minstagib.qc +++ b/qcsrc/server/mutators/mutator_minstagib.qc @@ -203,6 +203,7 @@ MUTATOR_HOOKFUNCTION(minstagib_SplitHealthArmor) MUTATOR_HOOKFUNCTION(minstagib_ForbidThrowing) { // weapon dropping on death handled by FilterItem + nades_CheckThrow(); return TRUE; } diff --git a/qcsrc/server/mutators/mutator_nades.qc b/qcsrc/server/mutators/mutator_nades.qc index a7c0fea51..b81451cd0 100644 --- a/qcsrc/server/mutators/mutator_nades.qc +++ b/qcsrc/server/mutators/mutator_nades.qc @@ -260,13 +260,10 @@ float CanThrowNade() return TRUE; } -MUTATOR_HOOKFUNCTION(nades_ForbidThrowing) +void nades_CheckThrow() { - if(!g_weaponarena || !g_minstagib) - return FALSE; // TODO: fix this to support all modes that disable weapon dropping - if(!CanThrowNade()) - return FALSE; + return; if(!self.nade) { @@ -288,8 +285,6 @@ MUTATOR_HOOKFUNCTION(nades_ForbidThrowing) toss_nade(self, (v_forward * 0.75 + v_up * 0.2 + v_right * 0.05) * _force, 0); } } - - return TRUE; } MUTATOR_HOOKFUNCTION(nades_VehicleEnter) @@ -375,7 +370,6 @@ MUTATOR_HOOKFUNCTION(nades_BuildMutatorsPrettyString) MUTATOR_DEFINITION(mutator_nades) { - MUTATOR_HOOK(ForbidThrowCurrentWeapon, nades_ForbidThrowing, CBC_ORDER_ANY); MUTATOR_HOOK(VehicleEnter, nades_VehicleEnter, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPreThink, nades_PlayerPreThink, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerSpawn, nades_PlayerSpawn, CBC_ORDER_ANY); diff --git a/qcsrc/server/mutators/mutator_nades.qh b/qcsrc/server/mutators/mutator_nades.qh new file mode 100644 index 000000000..9591b811e --- /dev/null +++ b/qcsrc/server/mutators/mutator_nades.qh @@ -0,0 +1 @@ +void() nades_CheckThrow; \ No newline at end of file diff --git a/qcsrc/server/mutators/mutator_riflearena.qc b/qcsrc/server/mutators/mutator_riflearena.qc index b1a65f469..520777805 100644 --- a/qcsrc/server/mutators/mutator_riflearena.qc +++ b/qcsrc/server/mutators/mutator_riflearena.qc @@ -63,6 +63,7 @@ MUTATOR_HOOKFUNCTION(ra_StartItems) MUTATOR_HOOKFUNCTION(ra_ForbidThrowCurrentWeapon) { + nades_CheckThrow(); return TRUE; } diff --git a/qcsrc/server/progs.src b/qcsrc/server/progs.src index a98580589..6894c9909 100644 --- a/qcsrc/server/progs.src +++ b/qcsrc/server/progs.src @@ -45,6 +45,7 @@ mutators/gamemode_keepaway.qh mutators/gamemode_nexball.qh mutators/gamemode_lms.qh mutators/mutator_dodging.qh +mutators/mutator_nades.qh //// tZork Turrets //// tturrets/include/turrets_early.qh -- 2.39.2