Prechádzať zdrojové kódy

Add free tiles around unguarded objects.

DjWarmonger 11 rokov pred
rodič
commit
d3134a1290
1 zmenil súbory, kde vykonal 8 pridanie a 2 odobranie
  1. 8 2
      lib/rmg/CRmgTemplateZone.cpp

+ 8 - 2
lib/rmg/CRmgTemplateZone.cpp

@@ -1208,8 +1208,14 @@ bool CRmgTemplateZone::guardObject(CMapGenerator* gen, CGObjectInstance* object,
 
 		gen->setOccupied (guardTile, ETileType::USED);
 	}
-	else
-		gen->setOccupied (guardTile, ETileType::FREE);
+	else //make sure no other stuff spawns next to unguarded object
+	{
+		for (auto tile : tiles)
+		{
+			if (!gen->isBlocked(tile))
+				gen->setOccupied (tile, ETileType::FREE);
+		}
+	}
 
 	return true;
 }