r4121 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Aug 12 08:32:58 EDT 2008
Author: div0
Date: 2008-08-12 08:32:53 -0400 (Tue, 12 Aug 2008)
New Revision: 4121
Modified:
trunk/data/qcsrc/server/t_teleporters.qc
Log:
race: turn off ALL telefragging
Modified: trunk/data/qcsrc/server/t_teleporters.qc
===================================================================
--- trunk/data/qcsrc/server/t_teleporters.qc 2008-08-12 12:20:43 UTC (rev 4120)
+++ trunk/data/qcsrc/server/t_teleporters.qc 2008-08-12 12:32:53 UTC (rev 4121)
@@ -1,58 +1,3 @@
-void tdeath_touch()
-{
- if (other == self.owner)
- return;
- // so teleporting shots etc can't telefrag
- if (!self.owner.takedamage)
- return;
- if (!other.takedamage)
- return;
-
- if ((self.owner.classname == "player") && (self.owner.health >= 1))
- Damage (other, self, self.owner, 10000, DEATH_TELEFRAG, other.origin, '0 0 0');
- else if (other.health < 1) // corpses gib
- Damage (other, self, self.owner, 10000, DEATH_TELEFRAG, other.origin, '0 0 0');
- else // dead bodies and monsters gib themselves instead of telefragging
- Damage (self.owner, self, self.owner, 10000, DEATH_TELEFRAG, self.owner.origin, '0 0 0');
-};
-
-void tdeath_remove()
-{
- if (self.owner)
- {
- self.owner.effects = self.owner.effects - (self.owner.effects & EF_NODRAW);
- if (self.owner.weaponentity)
- self.owner.weaponentity.flags = self.owner.weaponentity.flags - (self.owner.weaponentity.flags & FL_FLY);
- }
- remove(self);
-}
-
-// org2 is where they will return to if the teleport fails
-void spawn_tdeath(vector org, entity death_owner, vector org2)
-{
- local entity death;
-
- death = spawn();
-// death.classname = "teledeath";
- death.movetype = MOVETYPE_NONE;
- death.solid = SOLID_TRIGGER;
- death.angles = '0 0 0';
- death.dest2 = org2;
- setsize (death, death_owner.mins - '1 1 1', death_owner.maxs + '1 1 1');
- setorigin (death, org);
- death.touch = tdeath_touch;
- death.nextthink = time + 0.2;
- death.think = tdeath_remove;
- death.owner = death_owner;
-
- // hide entity to avoid "ghosts" between teleporter and destination caused by clientside interpolation
- death.owner.effects = death.owner.effects | EF_NODRAW;
- if (death.owner.weaponentity) // misuse FL_FLY to avoid EF_NODRAW on viewmodel
- death.owner.weaponentity.flags = death.owner.weaponentity.flags | FL_FLY;
-
- force_retouch = 2; // make sure even still objects get hit
-};
-
void Teleport_Touch (void)
{
entity head;
@@ -85,7 +30,7 @@
other.velocity = v_forward * vlen(other.velocity);
// Kill anyone else in the teleporter box (NO MORE TDEATH)
- if(other.takedamage)
+ if(other.takedamage && !g_race)
{
vector deathmin;
vector deathmax;
More information about the nexuiz-commits
mailing list