From 4158283fd4af5e9e641c64b7cfe08fbfac589e4b Mon Sep 17 00:00:00 2001 From: wraitii Date: Sun, 29 Dec 2013 10:17:09 +0000 Subject: [PATCH] Take unit obstruction size into account when checking if in range for garrisoning. Reduce CC loading range in consequence. Fixes #2190 . This was SVN commit r14428. --- binaries/data/mods/public/simulation/components/UnitAI.js | 4 ++++ .../templates/template_structure_civic_civil_centre.xml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js index fb6ceb1e83..573e7e103c 100644 --- a/binaries/data/mods/public/simulation/components/UnitAI.js +++ b/binaries/data/mods/public/simulation/components/UnitAI.js @@ -4131,6 +4131,10 @@ UnitAI.prototype.CheckGarrisonRange = function(target) if (!cmpGarrisonHolder) return false; var range = cmpGarrisonHolder.GetLoadingRange(); + + var cmpObstruction = Engine.QueryInterface(this.entity, IID_Obstruction); + if (cmpObstruction) + range.max += cmpObstruction.GetUnitRadius()*1.5; // multiply by something larger than sqrt(2) var cmpUnitMotion = Engine.QueryInterface(this.entity, IID_UnitMotion); return cmpUnitMotion.IsInTargetRange(target, range.min, range.max); diff --git a/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml b/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml index d741dae897..08a3fcaf66 100644 --- a/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml +++ b/binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml @@ -52,7 +52,7 @@ true Support Infantry Cavalry 1 - 2 + 1 3000