From: Freddy Date: Tue, 1 Nov 2016 13:24:40 +0000 (+0100) Subject: Make func_train respect its target's "target_random" field X-Git-Tag: xonotic-v0.8.2~457^2~5 X-Git-Url: http://git.xonotic.org/?a=commitdiff_plain;h=235d0ff1801002cc9993b6fe29158ee327ea5fd1;p=xonotic%2Fxonotic-data.pk3dir.git Make func_train respect its target's "target_random" field --- 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)