r95 - trunk/basezym/progsqc

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Dec 31 14:53:53 EST 2007


Author: KadaverJack
Date: 2007-12-31 14:53:53 -0500 (Mon, 31 Dec 2007)
New Revision: 95

Modified:
   trunk/basezym/progsqc/actor.qc
   trunk/basezym/progsqc/defs.qc
   trunk/basezym/progsqc/mapentities.qc
   trunk/basezym/progsqc/player.qc
Log:
fixed disappearing legs after player is teleported


Modified: trunk/basezym/progsqc/actor.qc
===================================================================
--- trunk/basezym/progsqc/actor.qc	2007-12-31 19:49:12 UTC (rev 94)
+++ trunk/basezym/progsqc/actor.qc	2007-12-31 19:53:53 UTC (rev 95)
@@ -54,30 +54,38 @@
 
 void() actor_part_torso_think =
 {
+	self.nextthink = time;
+	self.effects = self.owner.effects;
 	if (self.owner.actorpart_torso != self)
 		remove(self);
 };
 
 void() actor_part_head_think =
 {
+	self.nextthink = time;
+	self.effects = self.owner.effects;
 	if (self.owner.actorpart_head != self)
 		remove(self);
 };
 
 void() actor_part_weapon_think =
 {
+	self.nextthink = time;
 	if (self.owner.actorpart_weapon != self)
 		remove(self);
 };
 
 void() actor_part_viewweapon_think =
 {
+	self.nextthink = time;
 	if (self.owner.actorpart_viewweapon != self)
 		remove(self);
 };
 
 void() actor_part_hand_think =
 {
+	self.nextthink = time;
+	self.effects = self.owner.effects;	
 	if (self.owner.actorpart_hand != self)
 		remove(self);
 };

Modified: trunk/basezym/progsqc/defs.qc
===================================================================
--- trunk/basezym/progsqc/defs.qc	2007-12-31 19:49:12 UTC (rev 94)
+++ trunk/basezym/progsqc/defs.qc	2007-12-31 19:53:53 UTC (rev 95)
@@ -240,6 +240,7 @@
 float	FL_PARTIALGROUND		= 1024;	// not all corners are valid
 float	FL_WATERJUMP			= 2048;	// player jumping out of water
 float	FL_JUMPRELEASED			= 4096;	// for jump debouncing
+float	FL_TELEPORT 			= 8192; // player has just been teleported
 
 // edict.movetype values
 float	MOVETYPE_NONE			= 0;	// never moves

Modified: trunk/basezym/progsqc/mapentities.qc
===================================================================
--- trunk/basezym/progsqc/mapentities.qc	2007-12-31 19:49:12 UTC (rev 94)
+++ trunk/basezym/progsqc/mapentities.qc	2007-12-31 19:53:53 UTC (rev 95)
@@ -97,7 +97,9 @@
 	*/
 
 	// hide myself a tic
+	other.flags = other.flags | FL_TELEPORT;
 	other.effects = other.effects | EF_NODRAW;
+	other.actorpart_jetpacktrail.effects = other.actorpart_jetpacktrail.effects | EF_NODRAW;
 	other.teleport_time = time + cvar("sys_ticrate");
 
 	other.flags = other.flags - (other.flags & FL_ONGROUND);

Modified: trunk/basezym/progsqc/player.qc
===================================================================
--- trunk/basezym/progsqc/player.qc	2007-12-31 19:49:12 UTC (rev 94)
+++ trunk/basezym/progsqc/player.qc	2007-12-31 19:53:53 UTC (rev 95)
@@ -559,7 +559,7 @@
 		if (self.button7 & self.jetpackactive)
 		{
 			if ((self.jetpack_fuel > 10) && (self.actorpart_jetpacktrail.effects & EF_NODRAW))
-			  	self.actorpart_jetpacktrail.effects = self.actorpart_jetpacktrail.effects - EF_NODRAW;
+			  	self.actorpart_jetpacktrail.effects -= self.actorpart_jetpacktrail.effects & EF_NODRAW;
 			else if (self.jetpack_fuel < 10)
 			 	self.actorpart_jetpacktrail.effects = self.actorpart_jetpacktrail.effects | EF_NODRAW;
 		}
@@ -669,6 +669,14 @@
 	
 	self.movement = self.movement * self.speedratio;
 
+	if (time >= self.teleport_time)
+	if (self.flags & FL_TELEPORT)
+	{
+		self.flags -= self.flags & FL_TELEPORT;
+		self.effects -= self.effects & EF_NODRAW;	
+		self.actorpart_jetpacktrail.effects -= self.actorpart_jetpacktrail.effects & EF_NODRAW;
+	}
+
 	if (self.movetype == MOVETYPE_NONE)
 		return;
 




More information about the zymotic-commits mailing list