From a75bdb7cf0ac19a7efad834e594c26b181bbd76b Mon Sep 17 00:00:00 2001 From: div0 Date: Fri, 25 May 2007 12:18:58 +0000 Subject: [PATCH] more logging for keyhunt git-svn-id: svn://svn.icculus.org/nexuiz/branches/nexuiz-2.0@2696 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/keyhunt.qc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/data/qcsrc/server/keyhunt.qc b/data/qcsrc/server/keyhunt.qc index 3784ad9b8..62e73d960 100644 --- a/data/qcsrc/server/keyhunt.qc +++ b/data/qcsrc/server/keyhunt.qc @@ -42,6 +42,7 @@ float kh_interferemsg_time, kh_interferemsg_team; .entity kh_next, kh_prev; // linked list .float kh_droptime; .float kh_dropperteam; +.entity kh_previous_owner; string kh_sound_capture = "sound/ctf/capture.wav"; string kh_sound_destroy = "sound/ctf/return.wav"; @@ -115,7 +116,7 @@ void kh_Scores_Event(entity player, entity key, string what, float frags_player, return; if(frags_player) player.frags = player.frags + floor(0.5 + frags_player); - if(frags_owner) + if(key && key.owner && frags_owner) key.owner.frags = key.owner.frags + floor(0.5 + frags_owner); if(!cvar("sv_eventlog")) return; @@ -221,6 +222,7 @@ void kh_Key_Detach(entity key) key.damageforcescale = cvar("g_balance_keyhunt_damageforcescale"); // let key.team stay key.modelindex = kh_key_dropped; + key.kh_previous_owner = key.owner; } void kh_Key_AssignTo(entity key, entity player) @@ -589,6 +591,9 @@ void kh_LoserTeam(float teem, entity lostkey) if(attacker) { + if(lostkey.kh_previous_owner) + kh_Scores_Event(lostkey.kh_previous_owner, world, "pushed", 0, -cvar("g_balance_keyhunt_score_push")); + // don't actually GIVE him the -nn points, just log kh_Scores_Event(attacker, world, "push", cvar("g_balance_keyhunt_score_push"), 0); centerprint(attacker, "Your push is the best!\n\n\n"); bprint("The ", ColoredTeamName(teem), "^7 could not take care of the ", lostkey.netname, "^7 when ", attacker.netname, "^7 came\n"); @@ -606,6 +611,10 @@ void kh_LoserTeam(float teem, entity lostkey) if(key.owner && key.team != teem) ++keys; + if(lostkey.kh_previous_owner) + kh_Scores_Event(lostkey.kh_previous_owner, world, "destroyed", 0, -cvar("g_balance_keyhunt_score_destroyed")); + // don't actually GIVE him the -nn points, just log + DistributeEvenly_Init(cvar("g_balance_keyhunt_score_destroyed"), keys * of + players); FOR_EACH_KH_KEY(key) -- 2.39.2