From 235d0ff1801002cc9993b6fe29158ee327ea5fd1 Mon Sep 17 00:00:00 2001 From: Freddy Date: Tue, 1 Nov 2016 14:24:40 +0100 Subject: [PATCH] Make func_train respect its target's "target_random" field --- qcsrc/common/triggers/func/train.qc | 35 ++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/qcsrc/common/triggers/func/train.qc b/qcsrc/common/triggers/func/train.qc index dd9eaac86..bb7b540e4 100644 --- a/qcsrc/common/triggers/func/train.qc +++ b/qcsrc/common/triggers/func/train.qc @@ -66,9 +66,42 @@ void train_next(entity this) { entity targ, cp = NULL; vector cp_org = '0 0 0'; + string next_target = ""; targ = find(NULL, targetname, this.target); - this.target = targ.target; + if(targ.target_random) + { + RandomSelection_Init(); + for(int i = 0; i < 4; ++i) + { + switch(i) + { + case 0: + next_target = targ.target; + break; + case 1: + next_target = targ.target2; + break; + case 2: + next_target = targ.target3; + break; + case 3: + next_target = targ.target4; + break; + } + if (next_target != "") + { + RandomSelection_AddString(next_target, 1, 1); + } + } + next_target = RandomSelection_chosen_string; + } + else + { + next_target = targ.target; + } + + this.target = next_target; if (this.spawnflags & 1) { if(targ.curvetarget) -- 2.39.2