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 -