From a5a12eb49574f85513cb4511a77a2befb9c744ca Mon Sep 17 00:00:00 2001 From: div0 Date: Tue, 19 Jun 2007 18:55:13 +0000 Subject: [PATCH] jonaskoelker's handicap patch: client side cvar cl_handicap multiplies damage you receive, it's in the range from 1 to 100. Please check for abuse potential, but there shouldn't be any. Please test vampire, empathy and mirror damage! Even though this is done in PlayerDamage() _after_ all the other stuff kicks in, test anyway. Index: server/defs.qh =================================================================== --- server/defs.qh (revision 2761) +++ server/defs.qh (working copy) @@ -259,6 +259,7 @@ .float has_zoomed; .float() customizeentityforclient; +.float cvar_cl_handicap; .float cvar_cl_zoomfactor; .float cvar_cl_zoomspeed; .float cvar_cl_playerdetailreduction; Index: server/miscfunctions.qc =================================================================== --- server/miscfunctions.qc (revision 2761) +++ server/miscfunctions.qc (working copy) @@ -493,6 +493,7 @@ GetCvars_handleFloat(f, cvar_scr_centertime, "scr_centertime"); GetCvars_handleFloat(f, cvar_cl_shownames, "cl_shownames"); GetCvars_handleString(f, cvar_g_nexuizversion, "g_nexuizversion"); + GetCvars_handleFloat(f, cvar_cl_handicap, "cl_handicap"); } float fexists(string f) Index: server/cl_player.qc =================================================================== --- server/cl_player.qc (revision 2761) +++ server/cl_player.qc (working copy) @@ -218,6 +218,8 @@ { local float take, save, waves, sdelay; + damage = damage * bound(1.0, self.cvar_cl_handicap, 100.0); + te_blood (hitloc, force, damage); if (self.pain_finished < time) //Don't switch pain sequences like crazy { git-svn-id: svn://svn.icculus.org/nexuiz/trunk@2762 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_player.qc | 2 ++ data/qcsrc/server/defs.qh | 1 + data/qcsrc/server/miscfunctions.qc | 1 + 3 files changed, 4 insertions(+) diff --git a/data/qcsrc/server/cl_player.qc b/data/qcsrc/server/cl_player.qc index 2b4ff3116..74a3612c4 100644 --- a/data/qcsrc/server/cl_player.qc +++ b/data/qcsrc/server/cl_player.qc @@ -218,6 +218,8 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht { local float take, save, waves, sdelay; + damage = damage * bound(1.0, self.cvar_cl_handicap, 100.0); + te_blood (hitloc, force, damage); if (self.pain_finished < time) //Don't switch pain sequences like crazy { diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index 597e374d0..6b4444570 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -259,6 +259,7 @@ float default_weapon_alpha; .float has_zoomed; .float() customizeentityforclient; +.float cvar_cl_handicap; .float cvar_cl_zoomfactor; .float cvar_cl_zoomspeed; .float cvar_cl_playerdetailreduction; diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index 946786be3..cd49af8bf 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -493,6 +493,7 @@ void GetCvars(float f) GetCvars_handleFloat(f, cvar_scr_centertime, "scr_centertime"); GetCvars_handleFloat(f, cvar_cl_shownames, "cl_shownames"); GetCvars_handleString(f, cvar_g_nexuizversion, "g_nexuizversion"); + GetCvars_handleFloat(f, cvar_cl_handicap, "cl_handicap"); } float fexists(string f) -- 2.39.2