X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Ftargettrigger.qc;h=f2a97d4a12529e6fd576819d7509b5bd55597937;hb=06ac66a5edaa645e19ed9a6482409e8656a65b1d;hp=65510645b130a9d5968cd7bee6fa273fd5e1d152;hpb=ac5366add2c2d44bff2e03fc916b991eb009a10a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/targettrigger.qc b/qcsrc/common/turrets/targettrigger.qc index 65510645b..f2a97d4a1 100644 --- a/qcsrc/common/turrets/targettrigger.qc +++ b/qcsrc/common/turrets/targettrigger.qc @@ -1,38 +1,25 @@ -void spawnfunc_turret_targettrigger(); -void turret_targettrigger_touch(); +#include "targettrigger.qh" +spawnfunc(turret_targettrigger); +void turret_targettrigger_touch(entity this, entity toucher); -void turret_targettrigger_touch() +void turret_targettrigger_touch(entity this, entity toucher) { - 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); - } - - oldself.cnt = time + 0.5; - - self = oldself; + if (this.cnt > time) return; + FOREACH_ENTITY_STRING_ORDERED(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); }