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 };