From 9d0b4db973199e838cc8fcfaa49ae2d4ca5d165e Mon Sep 17 00:00:00 2001 From: Angen Date: Mon, 16 Dec 2019 20:38:10 +0000 Subject: [PATCH] Fix formation members not getting rotation correctly when IDLE Set formation member rotation to the same angle as formation has when member stays idle. Differential Revision: https://code.wildfiregames.com/D2469 This was SVN commit r23248. --- .../data/mods/public/simulation/components/UnitAI.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js index 0ad633ac6a..28708d1093 100644 --- a/binaries/data/mods/public/simulation/components/UnitAI.js +++ b/binaries/data/mods/public/simulation/components/UnitAI.js @@ -1527,6 +1527,16 @@ UnitAI.prototype.UnitFsmSpec = { if (!this.isIdle) { + if (this.formationController) + { + let cmpFormationPosition = Engine.QueryInterface(this.formationController, IID_Position); + if (cmpFormationPosition && cmpFormationPosition.IsInWorld()) + { + let cmpPosition = Engine.QueryInterface(this.entity, IID_Position); + if (cmpPosition && cmpPosition.IsInWorld()) + cmpPosition.TurnTo(cmpFormationPosition.GetRotation().y); + } + } this.isIdle = true; Engine.PostMessage(this.entity, MT_UnitIdleChanged, { "idle": this.isIdle }); }