X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Ftargettrigger.qc;h=d64616f50354ca6ad092c4a0b1dae10a6ef8881b;hb=d91068b0b14271e4bc6a8a470df449c2de71396e;hp=65510645b130a9d5968cd7bee6fa273fd5e1d152;hpb=7bae88d09fbd53cce732e31633aea92671b43699;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/targettrigger.qc b/qcsrc/common/turrets/targettrigger.qc index 65510645b..d64616f50 100644 --- a/qcsrc/common/turrets/targettrigger.qc +++ b/qcsrc/common/turrets/targettrigger.qc @@ -1,38 +1,31 @@ -void spawnfunc_turret_targettrigger(); -void turret_targettrigger_touch(); +#include "targettrigger.qh" -void turret_targettrigger_touch() -{ - entity e; - if (self.cnt > time) return; - entity oldself; - oldself = self; - - e = find(world, targetname, self.target); - while (e) - { - if (e.turret_flags & TUR_FLAG_RECIEVETARGETS) - { - self = e; - if(e.turret_addtarget) - e.turret_addtarget(other,oldself); - } - - e = find(e, targetname, oldself.target); - } +#ifdef SVQC - oldself.cnt = time + 0.5; +spawnfunc(turret_targettrigger); +void turret_targettrigger_touch(entity this, entity toucher); - self = oldself; +void turret_targettrigger_touch(entity this, entity toucher) +{ + if (this.cnt > time) return; + IL_EACH(g_turrets, it.targetname == this.target, + { + if (!(it.turret_flags & TUR_FLAG_RECIEVETARGETS)) continue; + if (!it.turret_addtarget) continue; + it.turret_addtarget(it, toucher, this); + }); + this.cnt = time + 0.5; } /*QUAKED turret_targettrigger (.5 .5 .5) ? */ -void spawnfunc_turret_targettrigger() +spawnfunc(turret_targettrigger) { - if(!autocvar_g_turrets) { remove(self); return; } + if(!autocvar_g_turrets) { delete(this); return; } - InitTrigger (); + InitTrigger(this); - self.touch = turret_targettrigger_touch; + settouch(this, turret_targettrigger_touch); } + +#endif