From 0e508979027d4d9dbebabdeb05464f69066ba427 Mon Sep 17 00:00:00 2001 From: div0 Date: Sun, 4 Jan 2009 15:36:43 +0000 Subject: [PATCH] hook: subtract more ammo: hook throwing = 2 cells first 2 seconds are free after that, remove 4 cells per extra second (in 0.25s intervals) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5399 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/w_hook.qc | 15 +++++++++------ data/weapons.cfg | 7 ++++--- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/data/qcsrc/server/w_hook.qc b/data/qcsrc/server/w_hook.qc index 05ab35f62..9bff8615c 100644 --- a/data/qcsrc/server/w_hook.qc +++ b/data/qcsrc/server/w_hook.qc @@ -6,8 +6,8 @@ .float dmg_duration; .float dmg_last; .float hook_refire; -.float hook_datehooked; -.float hook_datehooked_delay; +.float hook_time_hooked; +.float hook_time_ammodecrease; void W_Hook_ExplodeThink (void) { @@ -151,19 +151,19 @@ float w_hook(float req) hooked_time_max = cvar("g_balance_hook_primary_hooked_time_max"); if (hooked_time_max > 0) { - if ( time > self.hook_datehooked + hooked_time_max ) + if ( time > self.hook_time_hooked + hooked_time_max ) self.hook_state |= HOOK_REMOVING; } hooked_ammodecrease_delay = cvar("g_balance_hook_primary_hooked_ammodecrease_delay"); if (hooked_ammodecrease_delay > 0) { - if ( time > self.hook_datehooked_delay + hooked_ammodecrease_delay ) + if ( time > self.hook_time_ammodecrease ) { if ( self.ammo_cells >= 1 ) { self.ammo_cells -= 1; - self.hook_datehooked_delay = time; + self.hook_time_ammodecrease = time + hooked_ammodecrease_delay; } else { @@ -174,7 +174,10 @@ float w_hook(float req) } } else - self.hook_datehooked = self.hook_datehooked_delay = time; + { + self.hook_time_hooked = time; + self.hook_time_ammodecrease = time + cvar("g_balance_hook_primary_hooked_time_free");; + } if (self.BUTTON_CROUCH) { diff --git a/data/weapons.cfg b/data/weapons.cfg index fba4094d9..1207f4ce4 100644 --- a/data/weapons.cfg +++ b/data/weapons.cfg @@ -241,11 +241,12 @@ set g_balance_portal_health 200 // these get recharged whenever the portal is us set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used // TESTING: on-hand hook with bomb -set g_balance_hook_primary_ammo 1 // hook monkeys -set g_balance_hook_primary_refire 0 // hook monkeys +set g_balance_hook_primary_ammo 2 // hook monkeys set 0 +set g_balance_hook_primary_refire 0 // hook monkeys set 0 set g_balance_hook_primary_animtime 0.3 // good shoot anim set g_balance_hook_primary_hooked_time_max 0 // infinite -set g_balance_hook_primary_hooked_ammodecrease_delay 2.5 // no ammo used if nagative or 0 +set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free +set g_balance_hook_primary_hooked_ammodecrease_delay 0.25 // remove one cell every 0.25 seconds set g_balance_hook_secondary_damage 25 // not much set g_balance_hook_secondary_edgedamage 5 // not much set g_balance_hook_secondary_radius 500 // LOTS -- 2.39.2