unit must be placed in center of faked size square

This commit is contained in:
titiger 2016-12-10 21:10:38 +01:00
parent cd8530f69e
commit 97d4023d92
1 changed files with 6 additions and 0 deletions

View File

@ -664,6 +664,12 @@ bool Ai::findPosForBuilding(const UnitType* building, const Vec2i &searchPos, Ve
for(int j=searchPos.y - currRadius; j < searchPos.y + currRadius; ++j) {
outPos= Vec2i(i, j);
if(aiInterface->isFreeCells(outPos - Vec2i(minBuildSpacing), building->getAiBuildSize() + minBuildSpacing * 2, fLand)) {
int aiBuildSizeDiff= building->getAiBuildSize()- building->getSize();
if( aiBuildSizeDiff>0){
int halfSize=aiBuildSizeDiff/2;
outPos.x+=halfSize;
outPos.y+=halfSize;
}
return true;
}
}