r2061 - branches/nexuiz-2.0/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Thu Dec 21 10:31:08 EST 2006
Author: div0
Date: 2006-12-21 10:31:08 -0500 (Thu, 21 Dec 2006)
New Revision: 2061
Modified:
branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc
branches/nexuiz-2.0/data/qcsrc/server/ctf.qc
branches/nexuiz-2.0/data/qcsrc/server/defs.qh
Log:
no more flag fallthrough
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc 2006-12-21 09:44:39 UTC (rev 2060)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc 2006-12-21 15:31:08 UTC (rev 2061)
@@ -287,9 +287,11 @@
WriteEntity(MSG_ONE, self);
}
- if (cvar("g_runematch"))
- DropAllRunes(self);
+ DropAllRunes(self);
+ if(self.flagcarried)
+ DropFlag(self.flagcarried);
+
DistributeFragsAmongTeam(self, self.team, 1);
if(self.frags <= 0 && self.frags > -666 && cvar("g_lms") && self.killcount != -666)
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc 2006-12-21 09:44:39 UTC (rev 2060)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc 2006-12-21 15:31:08 UTC (rev 2061)
@@ -203,9 +203,6 @@
}
}
-void DropAllRunes(entity pl);
-
-
void PlayerDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
{
local float take, save;
@@ -297,6 +294,8 @@
// print an obituary message
Obituary (attacker, self, deathtype);
DropAllRunes(self);
+ if(self.flagcarried)
+ DropFlag(self.flagcarried);
// make the corpse upright (not tilted)
self.angles_x = 0;
self.angles_z = 0;
Modified: branches/nexuiz-2.0/data/qcsrc/server/ctf.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/ctf.qc 2006-12-21 09:44:39 UTC (rev 2060)
+++ branches/nexuiz-2.0/data/qcsrc/server/ctf.qc 2006-12-21 15:31:08 UTC (rev 2061)
@@ -92,6 +92,7 @@
return;
}
bprint(strcat(p.netname, "^7 lost the ", e.netname, "\n"));
+ LogCTF("dropped", p.team, p.flagcarried);
setattachment(e, world, "");
@@ -103,10 +104,15 @@
e.solid = SOLID_TRIGGER;
e.movetype = MOVETYPE_TOSS;
// setsize(e, '-16 -16 0', '16 16 74');
- setorigin(e, p.origin - '0 0 24');
+ setorigin(e, p.origin - '0 0 24' + '0 0 37');
e.cnt = FLAG_DROPPED;
e.velocity = '0 0 300';
e.pain_finished = time + cvar("g_ctf_flag_returntime");//30;
+
+ trace_startsolid = FALSE;
+ tracebox(e.origin, e.mins, e.maxs, e.origin, TRUE, e);
+ if(trace_startsolid)
+ dprint("FLAG FALLTHROUGH will happen SOON\n");
};
void AnimateFlag()
@@ -135,6 +141,12 @@
if (self.cnt == FLAG_DROPPED)
{
+ // flag fallthrough? FIXME remove this if bug is really fixed now
+ if(self.origin_z < -32768)
+ {
+ dprint("FLAG FALLTHROUGH just happened\n");
+ self.pain_finished = 0;
+ }
setattachment(self, world, "");
if (time > self.pain_finished)
{
@@ -149,8 +161,8 @@
e = self.owner;
if (e.classname != "player" || (e.deadflag) || (e.flagcarried != self))
{
+ dprint("CANNOT HAPPEN - player dead and STILL had a flag!\n");
DropFlag(self);
- LogCTF("dropped", self.team, e);
return;
}
};
Modified: branches/nexuiz-2.0/data/qcsrc/server/defs.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/defs.qh 2006-12-21 09:44:39 UTC (rev 2060)
+++ branches/nexuiz-2.0/data/qcsrc/server/defs.qh 2006-12-21 15:31:08 UTC (rev 2061)
@@ -277,6 +277,8 @@
float startitem_failed;
+void DropFlag(entity flag);
+void DropAllRunes(entity pl);
typedef .float floatfield;
More information about the nexuiz-commits
mailing list