diff options
-rw-r--r-- | src/object_cmd.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 556e5af5c..dc517dc5f 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -220,6 +220,9 @@ CommandCost CmdBuildObject(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 int size_x = GB(spec->size, HasBit(view, 0) ? 4 : 0, 4); int size_y = GB(spec->size, HasBit(view, 0) ? 0 : 4, 4); TileArea ta(tile, size_x, size_y); + for (TileIndex t : ta) { + if (!IsValidTile(t)) return_cmd_error(STR_ERROR_TOO_CLOSE_TO_EDGE_OF_MAP_SUB); // Might be off the map + } if (type == OBJECT_OWNED_LAND) { /* Owned land is special as it can be placed on any slope. */ |