X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Ftargettrigger.qc;h=f2a97d4a12529e6fd576819d7509b5bd55597937;hb=06ac66a5edaa645e19ed9a6482409e8656a65b1d;hp=625746341750754f0f6336550a1eff867aaf1430;hpb=03f978544a8b13a18cef1c7cc3dbcaba1c3aee4c;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/targettrigger.qc b/qcsrc/common/turrets/targettrigger.qc index 625746341..f2a97d4a1 100644 --- a/qcsrc/common/turrets/targettrigger.qc +++ b/qcsrc/common/turrets/targettrigger.qc @@ -1,37 +1,25 @@ +#include "targettrigger.qh" spawnfunc(turret_targettrigger); -void turret_targettrigger_touch(); +void turret_targettrigger_touch(entity this, entity toucher); -void turret_targettrigger_touch() -{SELFPARAM(); - entity e; - if (self.cnt > time) return; - entity oldself = this; - - e = find(world, targetname, self.target); - while (e) - { - if (e.turret_flags & TUR_FLAG_RECIEVETARGETS) - { - setself(e); - if(e.turret_addtarget) - e.turret_addtarget(other,oldself); - } - - e = find(e, targetname, oldself.target); - } - - oldself.cnt = time + 0.5; - - setself(this); +void turret_targettrigger_touch(entity this, entity toucher) +{ + 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) ? */ 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); }