return vs + '0 0 1' * vz;
}
+#ifdef SVQC
+void trigger_push_velocity_think(entity this)
+{
+ bool found = false;
+ IL_EACH(g_moveables, it.last_pushed == this,
+ {
+ if(!WarpZoneLib_ExactTrigger_Touch(this, it, false))
+ it.last_pushed = NULL;
+ else
+ found = true;
+ });
+
+ if(found)
+ this.nextthink = time;
+ else
+ setthink(this, func_null);
+}
+#endif
+
bool jumppad_push(entity this, entity targ, bool is_velocity_pad)
{
if (!isPushable(targ))
else
{
targ.last_pushed = this; // may be briefly out of sync between client and server if client prediction is toggled
+
+ #ifdef SVQC
+ setthink(this, trigger_push_velocity_think);
+ this.nextthink = time;
+ #endif
}
}