.entity pusher;
.float pushltime;
+.float CopyBody_nextthink;
+.void(void) CopyBody_think;
+void CopyBody_Think(void)
+{
+ if(self.CopyBody_nextthink && time > self.CopyBody_nextthink)
+ {
+ self.CopyBody_think();
+ if(wasfreed(self))
+ return;
+ self.CopyBody_nextthink = self.nextthink;
+ self.CopyBody_think = self.think;
+ self.think = CopyBody_Think;
+ }
+ CSQCMODEL_AUTOUPDATE();
+ self.nextthink = time;
+}
void CopyBody(float keepvelocity)
{
entity oldself;
self.skin = oldself.skin;
self.species = oldself.species;
self.movetype = oldself.movetype;
- self.nextthink = oldself.nextthink;
self.solid = oldself.solid;
self.ballistics_density = oldself.ballistics_density;
self.takedamage = oldself.takedamage;
- self.think = oldself.think;
self.customizeentityforclient = oldself.customizeentityforclient;
self.uncustomizeentityforclient = oldself.uncustomizeentityforclient;
self.uncustomizeentityforclient_set = oldself.uncustomizeentityforclient_set;
self.colormap = 1024 + self.clientcolors;
CSQCMODEL_AUTOINIT();
+ self.CopyBody_nextthink = oldself.nextthink;
+ self.CopyBody_think = oldself.think;
+ self.nextthink = time;
+ self.think = CopyBody_Think;
self = oldself;
}
else
DropFlag(self.flagcarried, world, attacker);
}
- if(self.ballcarried && g_nexball)
- DropBall(self.ballcarried, self.origin, self.velocity);
Portal_ClearAllLater(self);
if(clienttype(self) == CLIENTTYPE_REAL)