changeset 16049:bee848c6255d draft

(svn r20742) -Fix: Evaluate DC_NO_WATER flag when clearing objects built on water.
author frosch <frosch@openttd.org>
date Sun, 05 Sep 2010 13:28:59 +0000
parents 10d12cc76399
children 2f4db320e4bf
files src/object_cmd.cpp
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/object_cmd.cpp
+++ b/src/object_cmd.cpp
@@ -365,7 +365,10 @@
 
 	/* Water can remove everything! */
 	if (_current_company != OWNER_WATER) {
-		if ((spec->flags & OBJECT_FLAG_AUTOREMOVE) == 0 && flags & DC_AUTO) {
+		if ((flags & DC_NO_WATER) && IsTileOnWater(tile)) {
+			/* There is water under the object, treat it as water tile. */
+			return_cmd_error(STR_ERROR_CAN_T_BUILD_ON_WATER);
+		} else if (!(spec->flags & OBJECT_FLAG_AUTOREMOVE) && (flags & DC_AUTO)) {
 			/* No automatic removal by overbuilding stuff. */
 			return_cmd_error(type == OBJECT_HQ ? STR_ERROR_COMPANY_HEADQUARTERS_IN : STR_ERROR_OBJECT_IN_THE_WAY);
 		} else if (_game_mode == GM_EDITOR) {