}
void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angles, vector to_velocity, vector telefragmin, vector telefragmax, float tflags)
-{
+{SELFPARAM();
entity telefragger;
vector from;
if(self.pushltime < time) // only show one teleport effect per teleporter per 0.2 seconds, for better fps
{
if(tflags & TELEPORT_FLAG_SOUND)
- sound (player, CH_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTEN_NORM);
+ sound (player, CH_TRIGGER, SND_TELEPORT, VOL_BASE, ATTEN_NORM);
if(tflags & TELEPORT_FLAG_PARTICLES)
{
- Send_Effect("teleport", player.origin, '0 0 0', 1);
- Send_Effect("teleport", to + v_forward * 32, '0 0 0', 1);
+ Send_Effect(EFFECT_TELEPORT, player.origin, '0 0 0', 1);
+ Send_Effect(EFFECT_TELEPORT, to + v_forward * 32, '0 0 0', 1);
}
self.pushltime = time + 0.2;
}
}
void teleport_findtarget (void)
-{
+{SELFPARAM();
entity e;
float n;
}
void WarpZone_PostTeleportPlayer_Callback(entity pl)
-{
+{SELFPARAM();
makevectors(pl.angles);
Reset_ArcBeam(pl, v_forward);
UpdateCSQCProjectileAfterTeleport(pl);
{
- entity oldself = self;
- self = pl;
- anticheat_fixangle();
- self = oldself;
+ WITH(entity, self, pl, anticheat_fixangle());
}
// "disown" projectiles after teleport
if(pl.owner)