// TODO: split target_push and put it in the target folder
#ifdef SVQC
#include "jumppads.qh"
-#include "../../movetypes/movetypes.qh"
+#include "../../physics/movetypes/movetypes.qh"
void trigger_push_use()
{SELFPARAM();
if (this.active == ACTIVE_NOT)
return;
-#ifdef SVQC
if (!isPushable(other))
return;
-#endif
if(this.team)
if(((this.spawnflags & 4) == 0) == (DIFF_TEAM(this, other)))
UNSET_ONGROUND(other);
#elif defined(CSQC)
other.move_flags &= ~FL_ONGROUND;
+
+ if (other.flags & FL_PROJECTILE)
+ {
+ other.move_angles = vectoangles (other.move_velocity);
+ switch(other.move_movetype)
+ {
+ case MOVETYPE_FLY:
+ other.move_movetype = MOVETYPE_TOSS;
+ other.gravity = 1;
+ break;
+ case MOVETYPE_BOUNCEMISSILE:
+ other.move_movetype = MOVETYPE_BOUNCE;
+ other.gravity = 1;
+ break;
+ }
+ }
#endif
#ifdef SVQC
UpdateCSQCProjectile(other);
}
+ /*if (other.flags & FL_ITEM)
+ {
+ ItemUpdate(other);
+ other.SendFlags |= ISF_DROP;
+ }*/
+
if (this.spawnflags & PUSH_ONCE)
{
this.touch = func_null;