Some more cleanup to map objects, allow trigger_delay and trigger_counter to be deact...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mapobjects / trigger / delay.qc
1 #include "delay.qh"
2
3 #ifdef SVQC
4 void delay_delayeduse(entity this)
5 {
6         SUB_UseTargets(this, this.enemy, this.goalentity);
7         this.enemy = this.goalentity = NULL;
8 }
9
10 void delay_use(entity this, entity actor, entity trigger)
11 {
12         if(this.active != ACTIVE_ACTIVE)
13                 return;
14
15         this.enemy = actor;
16         this.goalentity = trigger;
17         setthink(this, delay_delayeduse);
18         this.nextthink = time + this.wait;
19 }
20
21 void delay_reset(entity this)
22 {
23         this.enemy = this.goalentity = NULL;
24         setthink(this, func_null);
25         this.nextthink = 0;
26         this.active = ACTIVE_ACTIVE;
27 }
28
29 spawnfunc(trigger_delay)
30 {
31     if(!this.wait)
32         this.wait = 1;
33
34     this.use = delay_use;
35     this.reset = delay_reset;
36     this.active = ACTIVE_ACTIVE;
37 }
38 #endif