X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fturrets%2Ftargettrigger.qc;h=f2a97d4a12529e6fd576819d7509b5bd55597937;hb=06ac66a5edaa645e19ed9a6482409e8656a65b1d;hp=98c23c4584df4e98a4707c33f3121aee48ad55a5;hpb=c89dfaa4d0342b98c320621557973a65114fbdf4;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/turrets/targettrigger.qc b/qcsrc/common/turrets/targettrigger.qc index 98c23c458..f2a97d4a1 100644 --- a/qcsrc/common/turrets/targettrigger.qc +++ b/qcsrc/common/turrets/targettrigger.qc @@ -1,37 +1,25 @@ -void spawnfunc_turret_targettrigger(); -void turret_targettrigger_touch(); - -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); +#include "targettrigger.qh" +spawnfunc(turret_targettrigger); +void turret_targettrigger_touch(entity this, entity toucher); + +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) ? */ -void spawnfunc_turret_targettrigger() -{SELFPARAM(); - if(!autocvar_g_turrets) { remove(self); return; } +spawnfunc(turret_targettrigger) +{ + if(!autocvar_g_turrets) { delete(this); return; } - InitTrigger (); + InitTrigger(this); - self.touch = turret_targettrigger_touch; + settouch(this, turret_targettrigger_touch); }