From 91f37181de921436ee2a073e1f90e85b8b973c9e Mon Sep 17 00:00:00 2001 From: div0 Date: Thu, 26 Mar 2009 16:26:25 +0000 Subject: [PATCH] make jetpack able to coexist with hook (only the weapon one); add it to the mutators dialog git-svn-id: svn://svn.icculus.org/nexuiz/trunk@6306 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultNexuiz.cfg | 2 +- .../menu/nexuiz/dialog_multiplayer_create_mutators.c | 4 ++++ data/qcsrc/server/miscfunctions.qc | 8 +------- data/qcsrc/server/teamplay.qc | 2 ++ data/qcsrc/server/w_hook.qc | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index 78c87393d..06102ae41 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -1416,7 +1416,7 @@ seta sbar_increment_maptime 0 "set to 1 if you prefer an increasing hud timer" seta cl_showpressedkeys 0 "Show which movement keys someone is pressing: 1 for spectating, 2 for always" set cl_showpressedkeys_position "1 0.8" "1 0 would be upper right corner, 0.5 0.5 the center" -set g_jetpack 0 "Jetpack mutator (experimental)"2 +set g_jetpack 0 "Jetpack mutator (uses the hook's button, can't coexist with the offhand hook, but only with the onhand one)" set g_jetpack_antigravity 0.8 "factor of gravity compensation of the jetpack" set g_jetpack_acceleration_side 1200 "acceleration of the jetpack in xy direction" set g_jetpack_acceleration_up 600 "acceleration of the jetpack in z direction (note: you have to factor in gravity here, if antigravity is not 1)" diff --git a/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c b/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c index 0e8676684..7ac91fc2d 100644 --- a/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c +++ b/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c @@ -90,6 +90,8 @@ string toStringNexuizMutatorsDialog(entity me) s = strcat(s, ", Weapons stay"); if(cvar("g_bloodloss") > 0) s = strcat(s, ", Bloodloss"); + if(cvar("g_jetpack")) + s = strcat(s, ", Jet pack"); if(s == "") return "None"; else @@ -180,6 +182,8 @@ void fillNexuizMutatorsDialog(entity me) me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 1.8, s); + me.TR(me); + me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "g_jetpack", "Jet pack")); me.TR(me); s = makeNexuizSlider(80, 400, 8, "sv_gravity"); s.valueDigits = 0; diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index 5147b4991..03b30aa99 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -755,9 +755,6 @@ void readplayerstartcvars() start_health = cvar("g_balance_health_start"); start_armorvalue = cvar("g_balance_armor_start"); - if(g_jetpack) - g_grappling_hook = 0; - g_weaponarena = 0; s = cvar_string("g_weaponarena"); if(s == "0") @@ -951,10 +948,7 @@ void readplayerstartcvars() } if(g_jetpack) - { - start_weapons &~= WEPBIT_HOOK; - warmup_start_weapons &~= WEPBIT_HOOK; - } + g_grappling_hook = 0; // these two can't coexist, as they use the same button if(g_weapon_stay == 2) { diff --git a/data/qcsrc/server/teamplay.qc b/data/qcsrc/server/teamplay.qc index dd74f9f46..4d6f220c6 100644 --- a/data/qcsrc/server/teamplay.qc +++ b/data/qcsrc/server/teamplay.qc @@ -432,6 +432,8 @@ void PrintWelcomeMessage(entity pl) modifications = strcat(modifications, ", Weapons stay"); if(g_bloodloss > 0) modifications = strcat(modifications, ", Bloodloss"); + if(g_jetpack) + modifications = strcat(modifications, ", Jet pack"); modifications = substring(modifications, 2, strlen(modifications) - 2); local string versionmessage; diff --git a/data/qcsrc/server/w_hook.qc b/data/qcsrc/server/w_hook.qc index 7d27bddfd..4211fdd80 100644 --- a/data/qcsrc/server/w_hook.qc +++ b/data/qcsrc/server/w_hook.qc @@ -111,7 +111,7 @@ float w_hook(float req) } else if (req == WR_THINK) { - if (self.BUTTON_ATCK || self.BUTTON_HOOK) + if (self.BUTTON_ATCK || (!g_jetpack && self.BUTTON_HOOK)) { if(!self.hook) if not(self.hook_state & HOOK_WAITING_FOR_RELEASE) @@ -177,7 +177,7 @@ float w_hook(float req) if (self.BUTTON_CROUCH) { self.hook_state &~= HOOK_PULLING; - if (self.BUTTON_ATCK || self.BUTTON_HOOK) + if (self.BUTTON_ATCK || (!g_jetpack && self.BUTTON_HOOK)) self.hook_state &~= HOOK_RELEASING; else self.hook_state |= HOOK_RELEASING; @@ -187,7 +187,7 @@ float w_hook(float req) self.hook_state |= HOOK_PULLING; self.hook_state &~= HOOK_RELEASING; - if (self.BUTTON_ATCK || self.BUTTON_HOOK) + if (self.BUTTON_ATCK || (!g_jetpack && self.BUTTON_HOOK)) { // already fired if(self.hook) -- 2.39.2