diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml index e65e3a9521..3637b8ed1d 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml index 7073c05d70..3b093f9ede 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/line_closed.xml b/binaries/data/mods/public/art/variants/biped/formations/line_closed.xml index 5caa21995d..9c44973be6 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/line_closed.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/line_closed.xml @@ -1,9 +1,10 @@ - - - - - - - - - + + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/phalanx_back.xml b/binaries/data/mods/public/art/variants/biped/formations/phalanx_back.xml index f393b52e72..e949c58c3d 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/phalanx_back.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/phalanx_back.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/phalanx_front.xml b/binaries/data/mods/public/art/variants/biped/formations/phalanx_front.xml index 20d6a12b54..db526c7fae 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/phalanx_front.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/phalanx_front.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/phalanx_mid.xml b/binaries/data/mods/public/art/variants/biped/formations/phalanx_mid.xml index caac4ce330..c261ddc81e 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/phalanx_mid.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/phalanx_mid.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/syntagma_01.xml b/binaries/data/mods/public/art/variants/biped/formations/syntagma_01.xml index a6b1c55fd6..b44e5d2470 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/syntagma_01.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/syntagma_01.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/syntagma_02.xml b/binaries/data/mods/public/art/variants/biped/formations/syntagma_02.xml index 43149ba718..b255f0d2f3 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/syntagma_02.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/syntagma_02.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/syntagma_03.xml b/binaries/data/mods/public/art/variants/biped/formations/syntagma_03.xml index 6fe9c9f7b3..ac586d1515 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/syntagma_03.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/syntagma_03.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/syntagma_04.xml b/binaries/data/mods/public/art/variants/biped/formations/syntagma_04.xml index 2e6fccf6b4..903edb1fc6 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/syntagma_04.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/syntagma_04.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/syntagma_back.xml b/binaries/data/mods/public/art/variants/biped/formations/syntagma_back.xml index 7bebaa87d0..d7317736ce 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/syntagma_back.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/syntagma_back.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/syntagma_front.xml b/binaries/data/mods/public/art/variants/biped/formations/syntagma_front.xml index fa58cd03c7..9b572a101c 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/syntagma_front.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/syntagma_front.xml @@ -4,5 +4,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml index 8460c6aa6e..743af07bf1 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml index e4adb62211..1def862871 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml index 064c21667a..8d5359c1f0 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml index 6238095fd8..7aa9531579 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml index 7ae99f6bef..d89e3b2181 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml @@ -5,5 +5,6 @@ + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml index d244d1b49e..c8cb9c0a32 100644 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml @@ -5,6 +5,7 @@ + diff --git a/binaries/data/mods/public/simulation/components/Formation.js b/binaries/data/mods/public/simulation/components/Formation.js index 29a2755712..3a4177fd0d 100644 --- a/binaries/data/mods/public/simulation/components/Formation.js +++ b/binaries/data/mods/public/simulation/components/Formation.js @@ -936,7 +936,11 @@ Formation.prototype.OnGlobalEntityRenamed = function(msg) cmpOldUnitAI.SetFormationController(INVALID_ENTITY); if (cmpNewUnitAI) + { cmpNewUnitAI.SetFormationController(this.entity); + if (!cmpNewUnitAI.GetOrders().length) + cmpNewUnitAI.SetNextState("FORMATIONMEMBER.IDLE"); + } // Because the renamed entity might have different characteristics, // (e.g. packed vs. unpacked siege), we need to recompute motion parameters diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js index b3f54394e5..0ad633ac6a 100644 --- a/binaries/data/mods/public/simulation/components/UnitAI.js +++ b/binaries/data/mods/public/simulation/components/UnitAI.js @@ -248,6 +248,8 @@ UnitAI.prototype.UnitFsmSpec = { // No orders left, we're an individual now if (this.IsAnimal()) this.SetNextState("ANIMAL.IDLE"); + else if (this.IsFormationMember()) + this.SetNextState("FORMATIONMEMBER.IDLE"); else this.SetNextState("INDIVIDUAL.IDLE"); @@ -637,7 +639,10 @@ UnitAI.prototype.UnitFsmSpec = { }, "Order.Cheering": function(msg) { - this.SetNextState("INDIVIDUAL.CHEERING"); + if (this.IsFormationMember()) + this.SetNextState("FORMATIONMEMBER.CHEERING"); + else + this.SetNextState("INDIVIDUAL.CHEERING"); }, "Order.Pack": function(msg) { @@ -1301,6 +1306,8 @@ UnitAI.prototype.UnitFsmSpec = { "IDLE": "INDIVIDUAL.IDLE", + "CHEERING": "INDIVIDUAL.CHEERING", + "WALKING": { "enter": function() { this.formationOffset = { "x": this.order.data.x, "z": this.order.data.z };