浏览代码

Merge pull request #1718 from vcmi/fix_shipyard_border

Fix shipyard border calculation for RMG
DjWarmonger 2 年之前
父节点
当前提交
15047a4469
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      lib/rmg/WaterProxy.cpp

+ 3 - 1
lib/rmg/WaterProxy.cpp

@@ -298,7 +298,9 @@ bool WaterProxy::placeShipyard(Zone & land, const Lake & lake, si32 guard, Route
 		//try to place shipyard close to boarding position and appropriate water access
 		auto path = manager->placeAndConnectObject(land.areaPossible(), rmgObject, [&rmgObject, &shipPositions, &boardingPosition](const int3 & tile)
 		{
-			rmg::Area shipyardOut(rmgObject.getArea().getBorderOutside());
+			//Must only check the border of shipyard and not the added guard
+			rmg::Area shipyardOut = rmgObject.instances().front()->getBlockedArea().getBorderOutside();
+
 			if(!shipyardOut.contains(boardingPosition) || (shipyardOut * shipPositions).empty())
 				return -1.f;