r1759 - branches/nexuiz-2.0/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Jul 14 17:39:26 EDT 2006
Author: div0
Date: 2006-07-14 17:39:26 -0400 (Fri, 14 Jul 2006)
New Revision: 1759
Modified:
branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc
branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc
branches/nexuiz-2.0/data/qcsrc/server/constants.qh
branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
branches/nexuiz-2.0/data/qcsrc/server/w_common.qc
branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc
Log:
_scoreboard cvar, max shot distance
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc 2006-07-14 05:04:29 UTC (rev 1758)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc 2006-07-14 21:39:26 UTC (rev 1759)
@@ -120,7 +120,7 @@
if(imp == 19)
{
makevectors(self.v_angle);
- traceline(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 8192, FALSE, self);
+ traceline(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * MAX_SHOT_DISTANCE, FALSE, self);
if (trace_fraction < 1)
printsurfaceinfo(trace_ent, trace_endpos);
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc 2006-07-14 05:04:29 UTC (rev 1758)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc 2006-07-14 21:39:26 UTC (rev 1759)
@@ -24,7 +24,7 @@
{
local vector trueaimpoint;
- traceline_hitcorpse(self, self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 8192, MOVE_NOMONSTERS, self);
+ traceline_hitcorpse(self, self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * MAX_SHOT_DISTANCE, MOVE_NOMONSTERS, self);
trueaimpoint = trace_endpos;
// if aiming at a player and the original trace won't hit that player
@@ -114,7 +114,7 @@
makevectors(self.owner.v_angle); // set v_forward etc to the direction the player is looking
offset = '0 0 26' + v_right*3;
- traceline(self.owner.origin + offset, self.owner.origin + offset + v_forward * 8192, FALSE, self); // trace forward until you hit something, like a player or wall
+ traceline(self.owner.origin + offset, self.owner.origin + offset + v_forward * MAX_SHOT_DISTANCE, FALSE, self); // trace forward until you hit something, like a player or wall
setorigin(e, trace_endpos + v_forward*8); // move me to where the traceline ended
if(trace_plane_normal != '0 0 0')
e.angles = vectoangles(trace_plane_normal);
Modified: branches/nexuiz-2.0/data/qcsrc/server/constants.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/constants.qh 2006-07-14 05:04:29 UTC (rev 1758)
+++ branches/nexuiz-2.0/data/qcsrc/server/constants.qh 2006-07-14 21:39:26 UTC (rev 1759)
@@ -209,3 +209,4 @@
float FLAG_CARRY = 2;
float FLAG_DROPPED = 3;
+float MAX_SHOT_DISTANCE = 32768;
Modified: branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2006-07-14 05:04:29 UTC (rev 1758)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2006-07-14 21:39:26 UTC (rev 1759)
@@ -918,6 +918,10 @@
if((player_count == 1 && lms_dead_count == 1))
return WINNING_YES; // All dead... (n:n is handled by the test above)
+ dprint("player count = "); dprint(ftos(player_count));
+ dprint(", dead count = "); dprint(ftos(lms_dead_count));
+ dprint("\n");
+
// When we get here, we have at least two players who are actually LIVING,
// or one player who is still waiting for a victim to join the server. Now
// check if the top two players have equal score.
@@ -1093,7 +1097,56 @@
return WinningConditionBase_Teamplay(fraglimit);
}
+void PrintScoreboardFor(string name, string colorcode, float whichteam)
+{
+ entity head;
+ float fragtotal;
+ string s;
+ float found;
+ found = FALSE;
+ head = find(world, classname, "player");
+ while(head)
+ {
+ if(!whichteam || head.team == whichteam)
+ {
+ if(name != "")
+ if(!found)
+ ServerConsoleEcho(strcat(" ", colorcode, name, ":"), FALSE);
+ found = TRUE;
+ fragtotal = fragtotal + head.frags;
+ s = ftos(head.frags);
+ s = strcat(s, "/", ftos(head.deaths));
+ s = strcat(s, " @ ", ftos(head.ping));
+ if(clienttype(head) == CLIENTTYPE_BOT)
+ s = strcat(s, "botms");
+ else
+ s = strcat(s, "ms");
+ ServerConsoleEcho(strcat(" ", colorcode, head.netname, colorcode, " (", s, ")"), TRUE);
+ }
+ head = find(head, classname, "player");
+ }
+ if(whichteam && found)
+ ServerConsoleEcho(strcat(colorcode, " (total: ", ftos(fragtotal), ")"), FALSE);
+}
+void PrintScoreboard()
+{
+ ServerConsoleEcho("Scoreboard:", FALSE);
+ if(teams_matter)
+ {
+ PrintScoreboardFor("Red", "^1", COLOR_TEAM1);
+ PrintScoreboardFor("Blue", "^4", COLOR_TEAM2);
+ PrintScoreboardFor("Pink", "^6", COLOR_TEAM3);
+ PrintScoreboardFor("Yellow", "^3", COLOR_TEAM4);
+ }
+ else
+ {
+ PrintScoreboardFor("", "^7", 0);
+ }
+ ServerConsoleEcho(".", FALSE);
+}
+
+
/*
============
CheckRules_World
@@ -1123,6 +1176,12 @@
DumpStats();
+ if(cvar("_scoreboard"))
+ {
+ cvar_set("_scoreboard", "0");
+ PrintScoreboard();
+ }
+
timelimit = cvar("timelimit") * 60;
fraglimit = cvar("fraglimit");
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_common.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_common.qc 2006-07-14 05:04:29 UTC (rev 1758)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_common.qc 2006-07-14 21:39:26 UTC (rev 1759)
@@ -139,7 +139,7 @@
// use traceline_hitcorpse to make sure it can hit gibs and corpses too
dir = dir + randomvec() * spread;
- end = start + dir * 8192;
+ end = start + dir * MAX_SHOT_DISTANCE;
traceline_hitcorpse (self, start, end, FALSE, self);
if (tracer)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc 2006-07-14 05:04:29 UTC (rev 1758)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc 2006-07-14 21:39:26 UTC (rev 1759)
@@ -6,9 +6,9 @@
// assure that nexdamage is high enough in minstagib
if (cvar("g_minstagib"))
- FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * 8192, 1000, IT_NEX);
+ FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 1000, IT_NEX);
else
- FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * 8192, cvar("g_balance_nex_damage"), IT_NEX);
+ FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, cvar("g_balance_nex_damage"), IT_NEX);
// show as if shot started outside of gun
// muzzleflash light
More information about the nexuiz-commits
mailing list