From 986d4d5d706d60fae31ae402881cb22cee178f63 Mon Sep 17 00:00:00 2001 From: div0 Date: Sun, 7 Sep 2008 13:45:13 +0000 Subject: [PATCH] trigger_multiple: add ALLENTS spawnflag (to respond to touches by ALL entities, not just players) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@4396 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/g_triggers.qc | 13 ++++++++----- data/scripts/entities.def | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/data/qcsrc/server/g_triggers.qc b/data/qcsrc/server/g_triggers.qc index 8bf9cb101..d49ca0716 100644 --- a/data/qcsrc/server/g_triggers.qc +++ b/data/qcsrc/server/g_triggers.qc @@ -172,12 +172,15 @@ void multi_use() void multi_touch() { - if (other.classname != "player") - return; + if not(self.spawnflags & 2) + { + if (other.classname != "player") + return; - if(self.team) - if(self.team == other.team) - return; + if(self.team) + if(self.team == other.team) + return; + } // if the trigger has an angles field, check player's facing direction if (self.movedir != '0 0 0') diff --git a/data/scripts/entities.def b/data/scripts/entities.def index 5ee786b92..15ffbce1c 100644 --- a/data/scripts/entities.def +++ b/data/scripts/entities.def @@ -721,7 +721,7 @@ strength: "wind field", "gravity field": amount of force per second to apply. "d falloff: "gravity field": 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside) */ -/*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH +/*QUAKED trigger_multiple (.5 .5 .5) ? NOTOUCH ALLENTS Variable sized repeatable trigger. Must be targeted at one or more entities. If "health" is set, the trigger must be killed to activate each time. -------- KEYS -------- health: amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it) @@ -735,6 +735,7 @@ message: print this message to the player who activated the trigger killtarget: remove all entities with this targetname when triggered -------- SPAWNFLAGS -------- NOTOUCH: the trigger can only be triggered by other entities, not by touching or firing (you should probably use trigger_relay or trigger_delay instead) +ALLENTS: the trigger responds to all entities, not just players (useful for targetting trigger_items) */ /*QUAKED trigger_once (.5 .5 .5) ? NOTOUCH -- 2.39.2