X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Ftriggers%2Ffunc%2Ftrain.qc;h=65414548b2e27f3926e41d5d4c3ad6416db7c568;hb=733758fd5a2cdbb707b19bd9766524855f457656;hp=187fd3f1b97be9174c2bbdf962be42f507c0c104;hpb=6b8b403dbd938914eeaa6a02f98d0e939950d29e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/triggers/func/train.qc b/qcsrc/common/triggers/func/train.qc index 187fd3f1b..65414548b 100644 --- a/qcsrc/common/triggers/func/train.qc +++ b/qcsrc/common/triggers/func/train.qc @@ -161,6 +161,13 @@ void train_link() //Net_LinkEntity(self, 0, false, train_send); } +void train_use() +{ + self.SUB_NEXTTHINK = self.SUB_LTIME + 1; + self.SUB_THINK = train_next; + self.use = func_null; // not again +} + void func_train_find() {SELFPARAM(); entity targ; @@ -169,8 +176,12 @@ void func_train_find() if (self.target == "") objerror("func_train_find: no next target"); SUB_SETORIGIN(self, targ.origin - self.view_ofs); - self.SUB_NEXTTHINK = self.SUB_LTIME + 1; - self.SUB_THINK = train_next; + + if(!(self.spawnflags & 4)) + { + self.SUB_NEXTTHINK = self.SUB_LTIME + 1; + self.SUB_THINK = train_next; + } train_link(); } @@ -183,8 +194,8 @@ speed : speed the train moves (can be overridden by each spawnfunc_path_corner) target : targetname of first spawnfunc_path_corner (starts here) */ #ifdef SVQC -void spawnfunc_func_train() -{SELFPARAM(); +spawnfunc(func_train) +{ if (self.noise != "") precache_sound(self.noise); @@ -197,6 +208,9 @@ void spawnfunc_func_train() return; self.effects |= EF_LOWPRECISION; + if(self.spawnflags & 4) + self.use = train_use; + if (self.spawnflags & 2) { self.platmovetype_turn = true; @@ -225,7 +239,7 @@ void spawnfunc_func_train() // TODO make a reset function for this one } #elif defined(CSQC) -void train_draw() +void train_draw(entity this) { //Movetype_Physics_NoMatchServer(); Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);