(svn r1729) - Fix: [ 1112469 ] Clearing land for free by reallocating HQ
authordarkvater
Sun, 30 Jan 2005 14:32:52 +0000
changeset 1225 0733ebeaa129
parent 1224 09b0f5a1db97
child 1226 cbcaba80c31c
(svn r1729) - Fix: [ 1112469 ] Clearing land for free by reallocating HQ
unmovable_cmd.c
--- a/unmovable_cmd.c	Sun Jan 30 13:42:11 2005 +0000
+++ b/unmovable_cmd.c	Sun Jan 30 14:32:52 2005 +0000
@@ -314,21 +314,29 @@
 */
 int32 CmdBuildCompanyHQ(int x, int y, uint32 flags, uint32 p1, uint32 p2)
 {
-	uint tile = TILE_FROM_XY(x,y);
+	TileIndex tile = TILE_FROM_XY(x,y);
 	Player *p = DEREF_PLAYER(_current_player);
 	int score;
 	int32 cost = 0;
 
 	SET_EXPENSES_TYPE(EXPENSES_PROPERTY);
 
-	if (CheckFlatLandBelow(tile, 2, 2, flags, 0, NULL) == CMD_ERROR)
+  cost = CheckFlatLandBelow(tile, 2, 2, flags, 0, NULL);
+
+	if (cost == CMD_ERROR)
 		return CMD_ERROR;
 
-	if (p1)
-		cost = DoCommand(
+	if (p1) {
+		int32 ret = DoCommand(
 			TileX(p->location_of_house) * 16, TileY(p->location_of_house) * 16,
 			p1 & 0xFF, 0, flags, CMD_DESTROY_COMPANY_HQ);
 
+		if (ret == CMD_ERROR)
+			return CMD_ERROR;
+
+		cost += ret;
+	}
+
 	if (flags & DC_EXEC) {
 		score = UpdateCompanyRatingAndValue(p, false);