{
EXACTTRIGGER_INIT;
self.active = ACTIVE_ACTIVE;
- self.trigger_touch = trigger_hurt_touch;
- self.think = trigger_think_generic;
- self.nextthink = time;
+ self.touch = trigger_hurt_touch;
self.use = trigger_hurt_use;
self.enemy = world; // I hate you all
if (!self.dmg)
self.active = ACTIVE_ACTIVE;
self.use = trigger_push_use;
- self.trigger_touch = trigger_push_touch;
- self.think = trigger_think_generic;
- self.nextthink = time;
+ self.touch = trigger_push_touch;
// normal push setup
if (!self.speed)
void SUB_UseTargets() { SUB_UseTargets_Ex(false); }
void SUB_UseTargets_PreventReuse() { SUB_UseTargets_Ex(true); }
-#ifdef SVQC
-void trigger_think_generic()
-{
- self.nextthink = time;
-
- entity e;
- if(self.trigger_touch)
- for(e = findradius((self.absmin + self.absmax) * 0.5, vlen(self.absmax - self.absmin) * 0.5 + 1); e; e = e.chain)
- {
- vector emin = e.absmin, emax = e.absmax;
- if(self.solid == SOLID_BSP)
- {
- emin -= '1 1 1';
- emax += '1 1 1';
- }
- if(boxesoverlap(emin, emax, self.absmin, self.absmax)) // quick
- //if(WarpZoneLib_BoxTouchesBrush(emin, emax, self, e)) // accurate
- {
- other = e;
- self.trigger_touch();
- }
- }
-}
-#endif
-
#ifdef CSQC
void trigger_touch_generic(void() touchfunc)
{