-#ifndef TRIGGERS_H
-#define TRIGGERS_H
-
-const float SF_TRIGGER_INIT = 1;
-const float SF_TRIGGER_UPDATE = 2;
-const float SF_TRIGGER_RESET = 4;
-
-const float SPAWNFLAG_NOMESSAGE = 1;
-const float SPAWNFLAG_NOTOUCH = 1;
-
-.void() trigger_touch;
+#pragma once
+#include "spawnflags.qh"
.bool pushable;
.float height;
-.float nottargeted;
-#define IFTARGETED if(!self.nottargeted && self.targetname != "")
+#define IFTARGETED if(this.targetname && this.targetname != "")
.float lip;
void target_voicescript_next(entity pl);
void target_voicescript_clear(entity pl);
+
+void SUB_UseTargets_PreventReuse(entity this, entity actor, entity trigger);
#endif
+.float sub_target_used;
+
.float volume, atten;
.vector dest;
void FixSize(entity e);
#ifdef CSQC
-void trigger_common_read(bool withtarget);
-void trigger_remove_generic();
+void trigger_common_read(entity this, bool withtarget);
+void trigger_remove_generic(entity this);
.float active;
.string target;
const int ACTIVE_BUSY = 2;
const int ACTIVE_TOGGLE = 3;
#endif
-
-#endif