r2587 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri May 18 06:12:51 EDT 2007
Author: div0
Date: 2007-05-18 06:12:51 -0400 (Fri, 18 May 2007)
New Revision: 2587
Modified:
trunk/data/qcsrc/server/g_damage.qc
trunk/data/qcsrc/server/keyhunt.qc
Log:
fix keyhunt friendly fire exploit
Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc 2007-05-18 09:27:01 UTC (rev 2586)
+++ trunk/data/qcsrc/server/g_damage.qc 2007-05-18 10:12:51 UTC (rev 2587)
@@ -28,8 +28,7 @@
}
else if(cvar("g_keyhunt"))
{
- if(f > 0)
- f = kh_HandleFrags(attacker, targ, f);
+ f = kh_HandleFrags(attacker, targ, f);
}
else if(cvar("g_lms"))
{
Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc 2007-05-18 09:27:01 UTC (rev 2586)
+++ trunk/data/qcsrc/server/keyhunt.qc 2007-05-18 10:12:51 UTC (rev 2587)
@@ -781,13 +781,25 @@
float kh_HandleFrags(entity attacker, entity targ, float f)
{
- if(f <= 0)
- return f;
if(attacker == targ)
return f;
if(targ.kh_next)
- kh_Scores_Event(attacker, targ.kh_next, "carrierfrag", cvar("g_balance_keyhunt_score_carrierfrag")-1, 0);
+ {
+ if(attacker.team == targ.team)
+ {
+ entity k;
+ float nk;
+ nk = 0;
+ for(k = targ.kh_next; k != world; k = k.kh_next)
+ ++nk;
+ kh_Scores_Event(attacker, targ.kh_next, "carrierfrag", -nk * cvar("g_balance_keyhunt_score_collect"), 0);
+ }
+ else
+ {
+ kh_Scores_Event(attacker, targ.kh_next, "carrierfrag", cvar("g_balance_keyhunt_score_carrierfrag")-1, 0);
+ }
+ }
return f;
}
More information about the nexuiz-commits
mailing list