r4563 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Sep 30 14:31:39 EDT 2008
Author: div0
Date: 2008-09-30 14:31:39 -0400 (Tue, 30 Sep 2008)
New Revision: 4563
Added:
trunk/data/ctfscoring-ai.cfg
Modified:
trunk/data/ctfscoring-alien.cfg
trunk/data/ctfscoring-alpha.cfg
trunk/data/ctfscoring-nex242.cfg
trunk/data/ctfscoring-z.cfg
trunk/data/qcsrc/server/ctf.qc
Log:
g_ctf_flagpenalty_returned for ai's scoring system
Added: trunk/data/ctfscoring-ai.cfg
===================================================================
--- trunk/data/ctfscoring-ai.cfg (rev 0)
+++ trunk/data/ctfscoring-ai.cfg 2008-09-30 18:31:39 UTC (rev 4563)
@@ -0,0 +1,17 @@
+set g_ctf_flagscore_pickup_base 0
+set g_ctf_flagscore_pickup_dropped_early 0
+set g_ctf_flagscore_pickup_dropped_late 0
+set g_ctf_flagscore_capture 20
+set g_ctf_flagscore_kill 0
+set g_ctf_flagpenalty_drop 0
+set g_ctf_flagpenalty_suicidedrop 0
+set g_ctf_flagpenalty_returned 5
+set g_ctf_flagscore_return 0
+set g_ctf_flagscore_return_rogue 10
+set g_ctf_flagscore_return_by_killer 0
+set g_ctf_flagscore_return_rogue_by_killer 10
+// succeeded capture (pickup capture) 20 (0 for enemy)
+// failed capture (pickup kill drop return) -5 (0 for enemy)
+// failed (shot into void) (pickup kill drop) 0 (0 for enemy)
+// capture retry (kill drop pickup) 0 (0 for enemy)
+// suicide, then retake (suicidedrop pickup) 0 (0 for enemy)
Modified: trunk/data/ctfscoring-alien.cfg
===================================================================
--- trunk/data/ctfscoring-alien.cfg 2008-09-30 17:38:00 UTC (rev 4562)
+++ trunk/data/ctfscoring-alien.cfg 2008-09-30 18:31:39 UTC (rev 4563)
@@ -5,6 +5,7 @@
set g_ctf_flagscore_kill 1
set g_ctf_flagpenalty_drop 2
set g_ctf_flagpenalty_suicidedrop 2
+set g_ctf_flagpenalty_returned 0
set g_ctf_flagscore_return 5
set g_ctf_flagscore_return_rogue 10
set g_ctf_flagscore_return_by_killer 6
Modified: trunk/data/ctfscoring-alpha.cfg
===================================================================
--- trunk/data/ctfscoring-alpha.cfg 2008-09-30 17:38:00 UTC (rev 4562)
+++ trunk/data/ctfscoring-alpha.cfg 2008-09-30 18:31:39 UTC (rev 4563)
@@ -5,6 +5,7 @@
set g_ctf_flagscore_kill 0
set g_ctf_flagpenalty_drop 0
set g_ctf_flagpenalty_suicidedrop 0
+set g_ctf_flagpenalty_returned 0
set g_ctf_flagscore_return 5
set g_ctf_flagscore_return_rogue 10
set g_ctf_flagscore_return_by_killer 5
Modified: trunk/data/ctfscoring-nex242.cfg
===================================================================
--- trunk/data/ctfscoring-nex242.cfg 2008-09-30 17:38:00 UTC (rev 4562)
+++ trunk/data/ctfscoring-nex242.cfg 2008-09-30 18:31:39 UTC (rev 4563)
@@ -5,6 +5,7 @@
set g_ctf_flagscore_kill 1
set g_ctf_flagpenalty_drop 0
set g_ctf_flagpenalty_suicidedrop 1
+set g_ctf_flagpenalty_returned 0
set g_ctf_flagscore_return 5
set g_ctf_flagscore_return_rogue 10
set g_ctf_flagscore_return_by_killer 5
Modified: trunk/data/ctfscoring-z.cfg
===================================================================
--- trunk/data/ctfscoring-z.cfg 2008-09-30 17:38:00 UTC (rev 4562)
+++ trunk/data/ctfscoring-z.cfg 2008-09-30 18:31:39 UTC (rev 4563)
@@ -5,6 +5,7 @@
set g_ctf_flagscore_kill 5
set g_ctf_flagpenalty_drop 5
set g_ctf_flagpenalty_suicidedrop 5
+set g_ctf_flagpenalty_returned 0
set g_ctf_flagscore_return 3
set g_ctf_flagscore_return_rogue 10
set g_ctf_flagscore_return_by_killer 3
Modified: trunk/data/qcsrc/server/ctf.qc
===================================================================
--- trunk/data/qcsrc/server/ctf.qc 2008-09-30 17:38:00 UTC (rev 4562)
+++ trunk/data/qcsrc/server/ctf.qc 2008-09-30 18:31:39 UTC (rev 4563)
@@ -342,6 +342,19 @@
{
// return flag
bprint(other.netname, "^7 returned the ", self.netname, "\n");
+
+ // punish the player who last had it
+ FOR_EACH_PLAYER(player)
+ if(player.playerid == self.playerid)
+ PlayerScore_Add(player, SP_SCORE, -cvar("g_ctf_flagpenalty_returned"));
+
+ // punish the team who was last carrying it
+ if(self.team == COLOR_TEAM1)
+ TeamScore_AddToTeam(COLOR_TEAM2, ST_SCORE, -cvar("g_ctf_flagpenalty_returned"));
+ else
+ TeamScore_AddToTeam(COLOR_TEAM1, ST_SCORE, -cvar("g_ctf_flagpenalty_returned"));
+
+ // reward the player who returned it
if(other.playerid == self.playerid) // is this the guy who killed the FC last?
{
if (other.team == COLOR_TEAM1 || other.team == COLOR_TEAM2)
More information about the nexuiz-commits
mailing list