Index: binaries/data/mods/public/simulation/components/UnitAI.js
===================================================================
--- binaries/data/mods/public/simulation/components/UnitAI.js
+++ binaries/data/mods/public/simulation/components/UnitAI.js
@@ -1781,6 +1781,7 @@
},
"leave": function() {
+ this.ResetMoveSpeed();
// Show carried resources when walking.
this.SetDefaultAnimationVariant();
@@ -1797,6 +1798,8 @@
if (this.GetStance().respondHoldGround)
this.WalkToHeldPosition();
}
+ else if (this.ShouldRunAfterTarget(this.order.data.target))
+ this.SetMoveSpeedRatio(this.GetRunMultiplier());
},
"MoveCompleted": function() {
@@ -2027,12 +2030,9 @@
this.SetAnimationVariant("combat");
this.SelectAnimation("move");
- var cmpUnitAI = Engine.QueryInterface(this.order.data.target, IID_UnitAI);
- if (cmpUnitAI && cmpUnitAI.IsFleeing())
- {
- // Run after a fleeing target
+ // Check if we should run after it
+ if (this.ShouldRunAfterTarget(this.order.data.target))
this.SetMoveSpeedRatio(this.GetRunMultiplier());
- }
this.StartTimer(1000, 1000);
},
@@ -2055,6 +2055,8 @@
if (this.GetStance().respondHoldGround)
this.WalkToHeldPosition();
}
+ else if (this.ShouldRunAfterTarget(this.order.data.target))
+ this.SetMoveSpeedRatio(this.GetRunMultiplier());
},
"MoveCompleted": function() {
@@ -4602,6 +4604,12 @@
return true;
};
+UnitAI.prototype.ShouldRunAfterTarget = function(target)
+{
+ let cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
+ return cmpUnitAI && cmpUnitAI.IsFleeing();
+}
+
/**
* Returns true if we should stop following the target entity.
*/
Index: binaries/data/mods/public/simulation/templates/template_unit_fauna.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_fauna.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_fauna.xml
@@ -36,6 +36,6 @@
true
- 0
+ 10
Index: binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive.xml
@@ -17,7 +17,4 @@
aggressive
-
- 10
-
Index: binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_violent.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_violent.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_violent.xml
@@ -14,7 +14,4 @@
violent
-
- 10
-
Index: binaries/data/mods/public/simulation/templates/template_unit_fauna_wild_aggressive.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_fauna_wild_aggressive.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_fauna_wild_aggressive.xml
@@ -17,7 +17,4 @@
aggressive
-
- 10
-
Index: binaries/data/mods/public/simulation/templates/template_unit_fauna_wild_violent.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_fauna_wild_violent.xml
+++ binaries/data/mods/public/simulation/templates/template_unit_fauna_wild_violent.xml
@@ -17,7 +17,4 @@
violent
-
- 10
-