r4692 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Oct 10 02:53:05 EDT 2008
Author: div0
Date: 2008-10-10 02:53:05 -0400 (Fri, 10 Oct 2008)
New Revision: 4692
Added:
trunk/data/ctfscoring-z-lowdeposit.cfg
Modified:
trunk/data/ctfscoring-ai.cfg
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
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/g_damage.qc
trunk/data/qcsrc/server/scores_rules.qc
trunk/data/qcsrc/server/teamplay.qc
Log:
use g_ctf_personalscore* cvars if g_ctf_win_mode is 0 or 1 (caps scoring); this fixes the problems with [-z-]'s scoring system as it would be HIGHLY broken as only decider of a match (it would reward camping more than anything else)
Modified: trunk/data/ctfscoring-ai.cfg
===================================================================
--- trunk/data/ctfscoring-ai.cfg 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/ctfscoring-ai.cfg 2008-10-10 06:53:05 UTC (rev 4692)
@@ -15,3 +15,16 @@
// 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)
+
+set g_ctf_personalscore_pickup_base 0
+set g_ctf_personalscore_pickup_dropped_early 0
+set g_ctf_personalscore_pickup_dropped_late 0
+set g_ctf_personalscore_capture 20
+set g_ctf_personalscore_kill 0
+set g_ctf_personalpenalty_drop 0
+set g_ctf_personalpenalty_suicidedrop 0
+set g_ctf_personalpenalty_returned 5
+set g_ctf_personalscore_return 0
+set g_ctf_personalscore_return_rogue 10
+set g_ctf_personalscore_return_by_killer 0
+set g_ctf_personalscore_return_rogue_by_killer 10
Modified: trunk/data/ctfscoring-alien.cfg
===================================================================
--- trunk/data/ctfscoring-alien.cfg 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/ctfscoring-alien.cfg 2008-10-10 06:53:05 UTC (rev 4692)
@@ -15,3 +15,16 @@
// failed (shot into void) (pickup kill drop) 1 (1 for enemy)
// capture retry (kill drop pickup) -1 (1 for enemy)
// suicide, then retake (suicidedrop pickup) -1 (0 for enemy)
+
+set g_ctf_personalscore_pickup_base 1
+set g_ctf_personalscore_pickup_dropped_early 1
+set g_ctf_personalscore_pickup_dropped_late 1
+set g_ctf_personalscore_capture 30
+set g_ctf_personalscore_kill 1
+set g_ctf_personalpenalty_drop 2
+set g_ctf_personalpenalty_suicidedrop 2
+set g_ctf_personalpenalty_returned 0
+set g_ctf_personalscore_return 5
+set g_ctf_personalscore_return_rogue 10
+set g_ctf_personalscore_return_by_killer 6
+set g_ctf_personalscore_return_rogue_by_killer 11
Modified: trunk/data/ctfscoring-alpha.cfg
===================================================================
--- trunk/data/ctfscoring-alpha.cfg 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/ctfscoring-alpha.cfg 2008-10-10 06:53:05 UTC (rev 4692)
@@ -15,3 +15,16 @@
// 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)
+
+set g_ctf_personalscore_pickup_base 0
+set g_ctf_personalscore_pickup_dropped_early 0
+set g_ctf_personalscore_pickup_dropped_late 0
+set g_ctf_personalscore_capture 20
+set g_ctf_personalscore_kill 0
+set g_ctf_personalpenalty_drop 0
+set g_ctf_personalpenalty_suicidedrop 0
+set g_ctf_personalpenalty_returned 0
+set g_ctf_personalscore_return 5
+set g_ctf_personalscore_return_rogue 10
+set g_ctf_personalscore_return_by_killer 5
+set g_ctf_personalscore_return_rogue_by_killer 10
Modified: trunk/data/ctfscoring-nex242.cfg
===================================================================
--- trunk/data/ctfscoring-nex242.cfg 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/ctfscoring-nex242.cfg 2008-10-10 06:53:05 UTC (rev 4692)
@@ -15,3 +15,16 @@
// failed (shot into void) (pickup kill drop) 1 (1 for enemy)
// capture retry (kill drop pickup) 1 (1 for enemy)
// suicide, then retake (suicidedrop pickup) 0 (0 for enemy)
+
+set g_ctf_personalscore_pickup_base 1
+set g_ctf_personalscore_pickup_dropped_early 1
+set g_ctf_personalscore_pickup_dropped_late 1
+set g_ctf_personalscore_capture 20
+set g_ctf_personalscore_kill 1
+set g_ctf_personalpenalty_drop 0
+set g_ctf_personalpenalty_suicidedrop 1
+set g_ctf_personalpenalty_returned 0
+set g_ctf_personalscore_return 5
+set g_ctf_personalscore_return_rogue 10
+set g_ctf_personalscore_return_by_killer 5
+set g_ctf_personalscore_return_rogue_by_killer 10
Copied: trunk/data/ctfscoring-z-lowdeposit.cfg (from rev 4679, trunk/data/ctfscoring-z.cfg)
===================================================================
--- trunk/data/ctfscoring-z-lowdeposit.cfg (rev 0)
+++ trunk/data/ctfscoring-z-lowdeposit.cfg 2008-10-10 06:53:05 UTC (rev 4692)
@@ -0,0 +1,19 @@
+exec ctfscoring-ai.cfg // fall back to ai's scoring for flag scores, if g_ctf_win_mode is 2, as this system is highly broken in that mode
+
+set g_ctf_personalscore_pickup_base -1
+set g_ctf_personalscore_pickup_dropped_early 5
+set g_ctf_personalscore_pickup_dropped_late 9
+set g_ctf_personalscore_capture 26
+set g_ctf_personalscore_kill 5
+set g_ctf_personalpenalty_drop 10
+set g_ctf_personalpenalty_suicidedrop 10
+set g_ctf_personalpenalty_returned 0
+set g_ctf_personalscore_return 3
+set g_ctf_personalscore_return_rogue 10
+set g_ctf_personalscore_return_by_killer 3
+set g_ctf_personalscore_return_rogue_by_killer 10
+// succeeded capture (pickup capture) 25 (0 for enemy)
+// failed capture (pickup kill drop return) -10 (8 for enemy)
+// failed (shot into void) (pickup kill drop) -10 (5 for enemy)
+// capture retry (kill drop pickup) -1..-4 (5 for enemy)
+// suicide, then retake (suicidedrop pickup) -1..-4 (0 for enemy)
Property changes on: trunk/data/ctfscoring-z-lowdeposit.cfg
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/data/ctfscoring-z.cfg
===================================================================
--- trunk/data/ctfscoring-z.cfg 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/ctfscoring-z.cfg 2008-10-10 06:53:05 UTC (rev 4692)
@@ -1,15 +1,17 @@
-set g_ctf_flagscore_pickup_base -5
-set g_ctf_flagscore_pickup_dropped_early 1
-set g_ctf_flagscore_pickup_dropped_late 5
-set g_ctf_flagscore_capture 30
-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
-set g_ctf_flagscore_return_rogue_by_killer 10
+exec ctfscoring-ai.cfg // fall back to ai's scoring for flag scores, if g_ctf_win_mode is 2, as this system is highly broken in that mode
+
+set g_ctf_personalscore_pickup_base -5
+set g_ctf_personalscore_pickup_dropped_early 1
+set g_ctf_personalscore_pickup_dropped_late 5
+set g_ctf_personalscore_capture 30
+set g_ctf_personalscore_kill 5
+set g_ctf_personalpenalty_drop 5
+set g_ctf_personalpenalty_suicidedrop 5
+set g_ctf_personalpenalty_returned 0
+set g_ctf_personalscore_return 3
+set g_ctf_personalscore_return_rogue 10
+set g_ctf_personalscore_return_by_killer 3
+set g_ctf_personalscore_return_rogue_by_killer 10
// succeeded capture (pickup capture) 25 (0 for enemy)
// failed capture (pickup kill drop return) -10 (8 for enemy)
// failed (shot into void) (pickup kill drop) -10 (5 for enemy)
Modified: trunk/data/qcsrc/server/ctf.qc
===================================================================
--- trunk/data/qcsrc/server/ctf.qc 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/qcsrc/server/ctf.qc 2008-10-10 06:53:05 UTC (rev 4692)
@@ -11,6 +11,14 @@
#define FLAG_CARRY_POS '-15 0 7'
+float ctf_score_value(string parameter)
+{
+ if(g_ctf_win_mode != 2)
+ return cvar(strcat("g_ctf_personal", parameter));
+ else
+ return cvar(strcat("g_ctf_flag", parameter));
+}
+
void FakeTimeLimit(entity e, float t)
{
msg_entity = e;
@@ -129,9 +137,9 @@
bprint(p.netname, "^7 lost the ", e.netname, "\n");
if(penalty_receiver)
- UpdateFrags(penalty_receiver, -cvar("g_ctf_flagpenalty_suicidedrop"));
+ UpdateFrags(penalty_receiver, -ctf_score_value("penalty_suicidedrop"));
else
- UpdateFrags(p, -cvar("g_ctf_flagpenalty_drop"));
+ UpdateFrags(p, -ctf_score_value("penalty_drop"));
PlayerScore_Add(p, SP_CTF_DROPS, +1);
e.playerid = attacker.playerid;
@@ -289,7 +297,7 @@
PlayerTeamScore_Add(other, SP_CTF_CAPS, ST_CTF_CAPS, 1);
LogCTF("capture", other.flagcarried.team, other);
// give credit to the individual player
- UpdateFrags(other, cvar("g_ctf_flagscore_capture"));
+ UpdateFrags(other, ctf_score_value("score_capture"));
sound (other, CHAN_AUTO, self.noise2, VOL_BASE, ATTN_NONE);
WaypointSprite_DetachCarrier(other);
@@ -319,7 +327,7 @@
self.cnt = FLAG_CARRY;
self.angles = '0 0 0';
bprint(other.netname, "^7 got the ", self.netname, "\n");
- UpdateFrags(other, cvar("g_ctf_flagscore_pickup_base"));
+ UpdateFrags(other, ctf_score_value("score_pickup_base"));
PlayerScore_Add(other, SP_CTF_PICKUPS, 1);
LogCTF("steal", self.team, other);
sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NONE);
@@ -349,28 +357,28 @@
// 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"));
+ PlayerScore_Add(player, SP_SCORE, -ctf_score_value("penalty_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"));
+ TeamScore_AddToTeam(COLOR_TEAM2, ST_SCORE, -ctf_score_value("penalty_returned"));
else
- TeamScore_AddToTeam(COLOR_TEAM1, ST_SCORE, -cvar("g_ctf_flagpenalty_returned"));
+ TeamScore_AddToTeam(COLOR_TEAM1, ST_SCORE, -ctf_score_value("penalty_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)
- UpdateFrags(other, cvar("g_ctf_flagscore_return_by_killer"));
+ UpdateFrags(other, ctf_score_value("score_return_by_killer"));
else
- UpdateFrags(other, cvar("g_ctf_flagscore_return_rogue_by_killer"));
+ UpdateFrags(other, ctf_score_value("score_return_rogue_by_killer"));
}
else
{
if (other.team == COLOR_TEAM1 || other.team == COLOR_TEAM2)
- UpdateFrags(other, cvar("g_ctf_flagscore_return"));
+ UpdateFrags(other, ctf_score_value("score_return"));
else
- UpdateFrags(other, cvar("g_ctf_flagscore_return_rogue"));
+ UpdateFrags(other, ctf_score_value("score_return_rogue"));
}
PlayerScore_Add(other, SP_CTF_RETURNS, 1);
LogCTF("return", self.team, other);
@@ -390,8 +398,8 @@
float f;
f = bound(0, (self.pain_finished - time) / cvar("g_ctf_flag_returntime"), 1);
//print("factor is ", ftos(f), "\n");
- f = cvar("g_ctf_flagscore_pickup_dropped_late") * (1-f)
- + cvar("g_ctf_flagscore_pickup_dropped_early") * f;
+ f = ctf_score_value("score_pickup_dropped_late") * (1-f)
+ + ctf_score_value("score_pickup_dropped_early") * f;
f = floor(f + 0.5);
//print("score is ", ftos(f), "\n");
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/qcsrc/server/defs.qh 2008-10-10 06:53:05 UTC (rev 4692)
@@ -16,12 +16,15 @@
// Globals
+float ctf_score_value(string parameter);
+
float g_dm, g_domination, g_ctf, g_tdm, g_keyhunt, g_onslaught, g_assault, g_arena, g_lms, g_runematch, g_race;
float g_cloaked, g_footsteps, g_jump_grunt, g_grappling_hook, g_laserguided_missile, g_midair, g_minstagib, g_nixnex, g_nixnex_with_laser, g_norecoil, g_rocketarena, g_vampire, g_minstagib_invis_alpha;
float g_warmup_limit;
float g_warmup_allguns;
float g_warmup_allow_timeout;
float g_ctf_win_mode;
+float g_ctf_ignore_frags;
float g_race_qualifying;
float inWarmupStage;
float g_pickup_respawntime_short;
Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/qcsrc/server/g_damage.qc 2008-10-10 06:53:05 UTC (rev 4692)
@@ -93,7 +93,7 @@
}
else if(g_ctf)
{
- if(g_ctf_win_mode == 3)
+ if(g_ctf_ignore_frags)
f = 0;
}
@@ -330,10 +330,9 @@
}
if(g_ctf && targ.flagcarried)
{
- //GiveFrags(attacker, targ, cvar("g_ctf_flagscore_kill"));
- UpdateFrags(attacker, cvar("g_ctf_flagscore_kill"));
+ UpdateFrags(attacker, ctf_score_value("score_kill"));
PlayerScore_Add(attacker, SP_CTF_FCKILLS, 1);
- GiveFrags(attacker, targ, 0);
+ GiveFrags(attacker, targ, 0); // for logging
}
else
GiveFrags(attacker, targ, 1);
Modified: trunk/data/qcsrc/server/scores_rules.qc
===================================================================
--- trunk/data/qcsrc/server/scores_rules.qc 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/qcsrc/server/scores_rules.qc 2008-10-10 06:53:05 UTC (rev 4692)
@@ -66,7 +66,6 @@
sp_score = SFL_SORT_PRIO_SECONDARY;
break;
case 2: // score only
- case 3: // score only, no frags
default:
sp_score = SFL_SORT_PRIO_PRIMARY;
sp_caps = SFL_SORT_PRIO_SECONDARY; // looks better ;)
Modified: trunk/data/qcsrc/server/teamplay.qc
===================================================================
--- trunk/data/qcsrc/server/teamplay.qc 2008-10-10 05:46:11 UTC (rev 4691)
+++ trunk/data/qcsrc/server/teamplay.qc 2008-10-10 06:53:05 UTC (rev 4692)
@@ -227,7 +227,8 @@
gamemode_name = "Capture the Flag";
ActivateTeamplay();
g_ctf_win_mode = cvar("g_ctf_win_mode");
- if(g_ctf_win_mode >= 2)
+ g_ctf_ignore_frags = cvar("g_ctf_ignore_frags");
+ if(g_ctf_win_mode == 2)
fraglimit_override = cvar("g_ctf_capture_limit");
else
fraglimit_override = cvar("capturelimit_override");
More information about the nexuiz-commits
mailing list