X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Ftriggers%2Ftrigger%2Fdelay.qc;h=2cd4cfd1338ac0809f3f9ff451a65ee3f5a59f8d;hb=f3c9d62b68cb415609dce698ec2fcd966b8c8ace;hp=b01efe3bba0737df4059022ad5390e5ca0866235;hpb=5733b1493c8c3fc14830f78122fe388e89f19338;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/triggers/trigger/delay.qc b/qcsrc/common/triggers/trigger/delay.qc index b01efe3bb..2cd4cfd13 100644 --- a/qcsrc/common/triggers/trigger/delay.qc +++ b/qcsrc/common/triggers/trigger/delay.qc @@ -1,22 +1,32 @@ +#include "delay.qh" #ifdef SVQC -void delay_use() +void delay_delayeduse(entity this) { - self.think = SUB_UseTargets; - self.nextthink = self.wait; + SUB_UseTargets(this, this.enemy, this.goalentity); + this.enemy = this.goalentity = NULL; } -void delay_reset() +void delay_use(entity this, entity actor, entity trigger) { - self.think = func_null; - self.nextthink = 0; + this.enemy = actor; + this.goalentity = trigger; + setthink(this, delay_delayeduse); + this.nextthink = time + this.wait; } -void spawnfunc_trigger_delay() +void delay_reset(entity this) { - if(!self.wait) - self.wait = 1; + this.enemy = this.goalentity = NULL; + setthink(this, func_null); + this.nextthink = 0; +} + +spawnfunc(trigger_delay) +{ + if(!this.wait) + this.wait = 1; - self.use = delay_use; - self.reset = delay_reset; + this.use = delay_use; + this.reset = delay_reset; } #endif