mirror of https://github.com/OpenTTD/OpenTTD
Add: Allow GameScript to demolish without a company
This allows GameScripts to shrink towns as well as grow them.pull/7730/head
parent
9014633866
commit
e4414471dd
|
@ -216,7 +216,7 @@ static const Command _command_proc_table[] = {
|
||||||
DEF_CMD(CmdRemoveRailroadTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_RAILROAD_TRACK
|
DEF_CMD(CmdRemoveRailroadTrack, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_RAILROAD_TRACK
|
||||||
DEF_CMD(CmdBuildSingleRail, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_SINGLE_RAIL
|
DEF_CMD(CmdBuildSingleRail, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_SINGLE_RAIL
|
||||||
DEF_CMD(CmdRemoveSingleRail, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_SINGLE_RAIL
|
DEF_CMD(CmdRemoveSingleRail, CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_REMOVE_SINGLE_RAIL
|
||||||
DEF_CMD(CmdLandscapeClear, 0, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LANDSCAPE_CLEAR
|
DEF_CMD(CmdLandscapeClear, CMD_DEITY, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_LANDSCAPE_CLEAR
|
||||||
DEF_CMD(CmdBuildBridge, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_BRIDGE
|
DEF_CMD(CmdBuildBridge, CMD_DEITY | CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_BRIDGE
|
||||||
DEF_CMD(CmdBuildRailStation, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_RAIL_STATION
|
DEF_CMD(CmdBuildRailStation, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_RAIL_STATION
|
||||||
DEF_CMD(CmdBuildTrainDepot, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_TRAIN_DEPOT
|
DEF_CMD(CmdBuildTrainDepot, CMD_NO_WATER | CMD_AUTO, CMDT_LANDSCAPE_CONSTRUCTION), // CMD_BUILD_TRAIN_DEPOT
|
||||||
|
|
|
@ -35,6 +35,9 @@
|
||||||
* \li AIEngine::HasPowerOnRoad
|
* \li AIEngine::HasPowerOnRoad
|
||||||
* \li AIRoadTypeList::RoadTypeList
|
* \li AIRoadTypeList::RoadTypeList
|
||||||
*
|
*
|
||||||
|
* Other changes:
|
||||||
|
* \li AITile::DemolishTile works without a selected company
|
||||||
|
*
|
||||||
* \b 1.9.0
|
* \b 1.9.0
|
||||||
*
|
*
|
||||||
* API additions:
|
* API additions:
|
||||||
|
|
|
@ -262,7 +262,6 @@
|
||||||
|
|
||||||
/* static */ bool ScriptTile::DemolishTile(TileIndex tile)
|
/* static */ bool ScriptTile::DemolishTile(TileIndex tile)
|
||||||
{
|
{
|
||||||
EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY);
|
|
||||||
EnforcePrecondition(false, ::IsValidTile(tile));
|
EnforcePrecondition(false, ::IsValidTile(tile));
|
||||||
|
|
||||||
return ScriptObject::DoCommand(tile, 0, 0, CMD_LANDSCAPE_CLEAR);
|
return ScriptObject::DoCommand(tile, 0, 0, CMD_LANDSCAPE_CLEAR);
|
||||||
|
|
|
@ -445,7 +445,6 @@ public:
|
||||||
* Destroy everything on the given tile.
|
* Destroy everything on the given tile.
|
||||||
* @param tile The tile to demolish.
|
* @param tile The tile to demolish.
|
||||||
* @pre ScriptMap::IsValidTile(tile).
|
* @pre ScriptMap::IsValidTile(tile).
|
||||||
* @game @pre Valid ScriptCompanyMode active in scope.
|
|
||||||
* @exception ScriptError::ERR_AREA_NOT_CLEAR
|
* @exception ScriptError::ERR_AREA_NOT_CLEAR
|
||||||
* @return True if and only if the tile was demolished.
|
* @return True if and only if the tile was demolished.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue