#include "../../movetypes/movetypes.qh"
void trigger_push_use()
-{
+{SELFPARAM();
if(teamplay)
{
self.team = activator.team;
}
void trigger_push_touch()
-{
+{SELFPARAM();
if (self.active == ACTIVE_NOT)
return;
if(self.pushltime < time) // prevent "snorring" sound when a player hits the jumppad more than once
{
// flash when activated
- pointparticles(particleeffectnum("jumppad_activate"), other.origin, other.velocity, 1);
+ Send_Effect(EFFECT_JUMPPAD, other.origin, other.velocity, 1);
sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTEN_NORM);
self.pushltime = time + 0.2;
}
if(self.enemy.target)
{
- entity oldself;
- oldself = self;
activator = other;
- self = self.enemy;
- SUB_UseTargets();
- self = oldself;
+ WITH(entity, self, self.enemy, SUB_UseTargets());
}
if (other.flags & FL_PROJECTILE)
void trigger_push_updatelink();
#endif
void trigger_push_findtarget()
-{
+{SELFPARAM();
entity t;
vector org;
#ifdef SVQC
float trigger_push_send(entity to, float sf)
-{
+{SELFPARAM();
WriteByte(MSG_ENTITY, ENT_CLIENT_TRIGGER_PUSH);
WriteByte(MSG_ENTITY, sf);
}
void trigger_push_updatelink()
-{
+{SELFPARAM();
self.SendFlags |= 1;
}
* movedir: if target is not set, this * speed * 10 is the velocity to be reached.
*/
void spawnfunc_trigger_push()
-{
+{SELFPARAM();
SetMovedir ();
EXACTTRIGGER_INIT;
float target_push_send(entity to, float sf)
-{
+{SELFPARAM();
WriteByte(MSG_ENTITY, ENT_CLIENT_TARGET_PUSH);
WriteByte(MSG_ENTITY, self.cnt);
}
void target_push_link()
-{
+{SELFPARAM();
Net_LinkEntity(self, false, 0, target_push_send);
self.SendFlags |= 1; // update
}
#ifdef CSQC
void ent_trigger_push()
-{
+{SELFPARAM();
float sf = ReadByte();
if(sf & 1)
}
void target_push_remove()
-{
+{SELFPARAM();
if(self.classname)
strunzone(self.classname);
self.classname = string_null;
}
void ent_target_push()
-{
+{SELFPARAM();
self.classname = "push_target";
self.cnt = ReadByte();
self.targetname = strzone(ReadString());