void trigger_push_touch()
{
+ if (self.active == ACTIVE_NOT)
+ return;
+
// FIXME: add a .float for whether an entity should be tossed by jumppads
if (!other.iscreature)
if (other.classname != "corpse")
}
};
-.vector dest;
+void trigger_push_setactive(float astate)
+{
+ self.active = astate;
+
+ if(astate == ACTIVE_NOT)
+ self.touch = SUB_Null;
+ else if (astate == ACTIVE_TOGGLE)
+ {
+ if(self.active)
+ self.active = ACTIVE_NOT;
+ else
+ self.active = ACTIVE_ACTIVE;
+ }
+ else
+ self.touch = trigger_push_touch;
+}
+
+
+.vector dest;
void trigger_push_findtarget()
{
local entity e;
SetMovedir ();
EXACTTRIGGER_INIT;
-
+
+ self.active = ACTIVE_ACTIVE;
+ self.setactive = trigger_push_setactive;
self.use = trigger_push_use;
self.touch = trigger_push_touch;