From 396ef44865d757debb0e7fdaed0825e0e5a46c8e Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Mon, 2 Jan 2012 17:10:12 +0200 Subject: [PATCH] Grabber alt fire will also stun players, making it difficult for them to walk for a few seconds. Helps a bit with voring --- data/balanceVT.cfg | 2 ++ data/qcsrc/server/cl_physics.qc | 2 ++ data/qcsrc/server/defs.qh | 2 ++ data/qcsrc/server/w_grabber.qc | 1 + docs/Release notes.txt | 2 ++ 5 files changed, 9 insertions(+) diff --git a/data/balanceVT.cfg b/data/balanceVT.cfg index 29784c89..bdcf77a8 100644 --- a/data/balanceVT.cfg +++ b/data/balanceVT.cfg @@ -183,6 +183,8 @@ set g_balance_grabber_secondary_refire 1.1 set g_balance_grabber_secondary_animtime 1 // good melee anim set g_balance_grabber_secondary_damage 10 set g_balance_grabber_secondary_armordamage 50 +set g_balance_grabber_secondary_stun_maxtime 3 +set g_balance_grabber_secondary_stun_rate 0.65 set g_balance_grabber_secondary_force 250 set g_balance_grabber_secondary_radius 130 set g_balance_grabber_secondary_recoil 5 diff --git a/data/qcsrc/server/cl_physics.qc b/data/qcsrc/server/cl_physics.qc index 7f25bb20..d0331959 100644 --- a/data/qcsrc/server/cl_physics.qc +++ b/data/qcsrc/server/cl_physics.qc @@ -517,6 +517,8 @@ void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float acce wishspeed *= 1 - (self.swallow_progress_prey * cvar("g_balance_vore_swallow_speed_cutspd_prey")); if(self.swallow_progress_pred) // cut speed based on swallow progress for preds wishspeed *= 1 - (self.swallow_progress_pred * cvar("g_balance_vore_swallow_speed_cutspd_pred")); + if(self.grabber_stunned > time && random() <= cvar("g_balance_grabber_secondary_stun_rate")) // randomly cut speed while the player is stunned + wishspeed = 0; } if(cvar("sv_gameplayfix_q2airaccelerate")) diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index a401f697..9862d2c2 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -625,6 +625,8 @@ float client_cefc_accumulatortime; .float old_clip_load; .float clip_size; +.float grabber_stunned; + #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX diff --git a/data/qcsrc/server/w_grabber.qc b/data/qcsrc/server/w_grabber.qc index 50beef71..dee920e4 100644 --- a/data/qcsrc/server/w_grabber.qc +++ b/data/qcsrc/server/w_grabber.qc @@ -46,6 +46,7 @@ void W_Grabber_Attack2() { Damage(trace_ent, self, self, cvar("g_balance_grabber_secondary_damage"), WEP_GRABBER | HITTYPE_SECONDARY, trace_endpos, cvar("g_balance_grabber_secondary_force") * w_shotdir); trace_ent.armorvalue = bound(0, trace_ent.armorvalue - cvar("g_balance_grabber_secondary_armordamage"), cvar("g_balance_armor_limit")); + trace_ent.grabber_stunned = time + cvar("g_balance_grabber_secondary_stun_maxtime") * random(); pointparticles(particleeffectnum("grabber_impact2"), trace_endpos, '0 0 0', 1); if(trace_ent.classname == "player") diff --git a/docs/Release notes.txt b/docs/Release notes.txt index 5e839cad..37bc1dc9 100644 --- a/docs/Release notes.txt +++ b/docs/Release notes.txt @@ -280,6 +280,8 @@ Features: - Picking up health items no longer increases your health immediately. Health is now eaten and digested like players, and increase stomach load while carried. Players inside the stomach will also be able to see the food inside. Health items can also be thrown up at their existing consumption and eaten by other players, as unpleasant as the thought might sound to some :) +- Grabber alt fire barely deals any damage now. However, it will heavily decrease the victim's armor, and also stun them (making it difficult to walk for a few seconds). + - Helper system. A voice will talk in the background when the player is in a dangerous situation (similar to the suit in Half Life, which warns you when you're low on health). - Bootable subsystems. The crosshair, HUD, and helper voice will take 2 seconds to startup when the player spawns. Also, if armor (now considered charge) is below 5, you will not have enough energy to run your subsystems, and must wait for your armor to recharge. -- 2.39.2