]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mapobjects/trigger/relay_activators.qc
Refactor trigger_secret to be standalone (not using parts of trigger_multiple and...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mapobjects / trigger / relay_activators.qc
index 18c2a40d01d569bb48cb1ba054484d1e624c4cfc..2c891c2ac8c1dd95dca119874d0a58785c9ac06e 100644 (file)
@@ -1,7 +1,11 @@
 #include "relay_activators.qh"
+
 #ifdef SVQC
 void relay_activators_use(entity this, entity actor, entity trigger)
 {
+       if(this.active != ACTIVE_ACTIVE)
+               return;
+
        for(entity trg = NULL; (trg = find(trg, targetname, this.target)); )
        {
                if (trg.setactive)
@@ -14,21 +18,28 @@ void relay_activators_use(entity this, entity actor, entity trigger)
        }
 }
 
+void relay_activators_init(entity this)
+{
+       this.reset = relay_activators_init; // doubles as a reset function
+       this.active = ACTIVE_ACTIVE;
+       this.use = relay_activators_use;
+}
+
 spawnfunc(relay_activate)
 {
        this.cnt = ACTIVE_ACTIVE;
-       this.use = relay_activators_use;
+       relay_activators_init(this);
 }
 
 spawnfunc(relay_deactivate)
 {
        this.cnt = ACTIVE_NOT;
-       this.use = relay_activators_use;
+       relay_activators_init(this);
 }
 
 spawnfunc(relay_activatetoggle)
 {
        this.cnt = ACTIVE_TOGGLE;
-       this.use = relay_activators_use;
+       relay_activators_init(this);
 }
 #endif