Xonotic
flipflop.qc
Go to the documentation of this file.
1 #include "flipflop.qh"
2 
3 #ifdef SVQC
4 /*QUAKED spawnfunc_trigger_flipflop (.5 .5 .5) (-8 -8 -8) (8 8 8) START_ENABLED
5 "Flip-flop" trigger gate... lets only every second trigger event through
6 */
7 void flipflop_use(entity this, entity actor, entity trigger)
8 {
9  if(this.active != ACTIVE_ACTIVE)
10  return;
11 
12  this.state = !this.state;
13  if(this.state)
14  SUB_UseTargets(this, actor, trigger);
15 }
16 
17 spawnfunc(trigger_flipflop)
18 {
19  this.active = ACTIVE_ACTIVE;
20  this.state = (this.spawnflags & START_ENABLED);
21  this.use = flipflop_use;
22  this.reset = spawnfunc_trigger_flipflop; // perfect resetter
23 }
24 #endif
float state
Definition: subs.qh:32
entity() spawn
void SUB_UseTargets(entity this, entity actor, entity trigger)
Definition: triggers.qc:366
spawnfunc(info_player_attacker)
Definition: sv_assault.qc:283
const int START_ENABLED
Definition: defs.qh:6
float spawnflags
Definition: progsdefs.qc:191
const int ACTIVE_ACTIVE
Definition: defs.qh:37
int active
Definition: defs.qh:34
#define use
Definition: csprogsdefs.qh:50