From 9b6b2cabc187f3cb72a53d396418ab1b9ebd2933 Mon Sep 17 00:00:00 2001 From: truebrain Date: Mon, 19 Dec 2011 21:05:36 +0000 Subject: (svn r23633) -Add: allow most build commands from GameScript given a CompanyMode is active in that scope --- src/script/api/script_marine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/script/api/script_marine.cpp') diff --git a/src/script/api/script_marine.cpp b/src/script/api/script_marine.cpp index f67b8d24c..abc8666f1 100644 --- a/src/script/api/script_marine.cpp +++ b/src/script/api/script_marine.cpp @@ -73,6 +73,7 @@ /* static */ bool ScriptMarine::BuildWaterDepot(TileIndex tile, TileIndex front) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, ::IsValidTile(front)); EnforcePrecondition(false, (::TileX(front) == ::TileX(tile)) != (::TileY(front) == ::TileY(tile))); @@ -82,6 +83,7 @@ /* static */ bool ScriptMarine::BuildDock(TileIndex tile, StationID station_id) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, station_id == ScriptStation::STATION_NEW || station_id == ScriptStation::STATION_JOIN_ADJACENT || ScriptStation::IsValidStation(station_id)); @@ -92,6 +94,7 @@ /* static */ bool ScriptMarine::BuildBuoy(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); return ScriptObject::DoCommand(tile, 0, 0, CMD_BUILD_BUOY); @@ -99,6 +102,7 @@ /* static */ bool ScriptMarine::BuildLock(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); return ScriptObject::DoCommand(tile, 0, 0, CMD_BUILD_LOCK); @@ -106,6 +110,7 @@ /* static */ bool ScriptMarine::BuildCanal(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); return ScriptObject::DoCommand(tile, tile, WATER_CLASS_CANAL, CMD_BUILD_CANAL); @@ -113,6 +118,7 @@ /* static */ bool ScriptMarine::RemoveWaterDepot(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, IsWaterDepotTile(tile)); @@ -121,6 +127,7 @@ /* static */ bool ScriptMarine::RemoveDock(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, IsDockTile(tile)); @@ -129,6 +136,7 @@ /* static */ bool ScriptMarine::RemoveBuoy(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, IsBuoyTile(tile)); @@ -137,6 +145,7 @@ /* static */ bool ScriptMarine::RemoveLock(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, IsLockTile(tile)); @@ -145,6 +154,7 @@ /* static */ bool ScriptMarine::RemoveCanal(TileIndex tile) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, ::IsValidTile(tile)); EnforcePrecondition(false, IsCanalTile(tile)); -- cgit v1.2.3-54-g00ecf