src/ai/api/ai_marine.hpp
author rubidium
Thu, 03 Apr 2008 23:01:54 +0000
branchnoai
changeset 9865 f241472f09dc
parent 9836 54afebfded49
child 10094 e737405b06dd
permissions -rw-r--r--
(svn r12555) [NoAI] -Add: support for GetLastError for AICompany.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     1
/* $Id$ */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     2
9829
80fbe02a4184 (svn r12491) [NoAI] -Documentation: made parts of the comments more uniform (@file header and class header)
truebrain
parents: 9801
diff changeset
     3
/** @file ai_marine.hpp Everything to query and build marine. */
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     4
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     5
#ifndef AI_MARINE_HPP
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     6
#define AI_MARINE_HPP
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     7
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     8
#include "ai_object.hpp"
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
     9
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    10
/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    11
 * Class that handles all marine related functions.
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    12
 */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    13
class AIMarine : public AIObject {
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    14
public:
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    15
	static const char *GetClassName() { return "AIMarine"; }
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    16
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    17
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    18
	 * Checks whether the given tile is actually a tile with a water depot.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    19
	 * @param tile The tile to check.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    20
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    21
	 * @return True if and only if the tile has a water depot.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    22
	 */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    23
	static bool IsWaterDepotTile(TileIndex tile);
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    24
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    25
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    26
	 * Checks whether the given tile is actually a tile with a dock.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    27
	 * @param tile The tile to check.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    28
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    29
	 * @return True if and only if the tile has a dock.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    30
	 */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    31
	static bool IsDockTile(TileIndex tile);
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    32
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    33
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    34
	 * Checks whether the given tile is actually a tile with a buoy.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    35
	 * @param tile The tile to check.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    36
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    37
	 * @return True if and only if the tile has a buoy.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    38
	 */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    39
	static bool IsBuoyTile(TileIndex tile);
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    40
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    41
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    42
	 * Checks whether the given tile is actually a tile with a lock.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    43
	 * @param tile The tile to check.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    44
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    45
	 * @return True if and only if the tile has a lock.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    46
	 */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    47
	static bool IsLockTile(TileIndex tile);
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    48
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    49
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    50
	 * Checks whether the given tile is actually a tile with a canal.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    51
	 * @param tile The tile to check.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    52
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    53
	 * @return True if and only if the tile has a canal.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    54
	 */
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    55
	static bool IsCanalTile(TileIndex tile);
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    56
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    57
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    58
	 * Builds a water depot on tile.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    59
	 * @param tile The tile where the water depot will be build.
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    60
	 * @param vertical If true, depot will be vertical, else horizontal.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    61
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    62
	 * @return Whether the water depot has been/can be build or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    63
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
    64
	static bool BuildWaterDepot(TileIndex tile, bool vertical);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    65
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    66
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    67
	 * Builds a dock where tile is the tile still on land.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    68
	 * @param tile The tile still on land of the dock.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    69
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    70
	 * @return Whether the dock has been/can be build or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    71
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
    72
	static bool BuildDock(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    73
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    74
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    75
	 * Builds a buoy on tile.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    76
	 * @param tile The tile where the buoy will be build.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    77
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    78
	 * @return Whether the buoy has been/can be build or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    79
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
    80
	static bool BuildBuoy(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    81
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    82
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    83
	 * Builds a lock on tile.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    84
	 * @param tile The tile where the lock will be build.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    85
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    86
	 * @return Whether the lock has been/can be build or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    87
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
    88
	static bool BuildLock(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    89
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    90
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    91
	 * Builds a canal on tile.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    92
	 * @param tile The tile where the canal will be build.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
    93
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
    94
	 * @return Whether the canal has been/can be build or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    95
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
    96
	static bool BuildCanal(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    97
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    98
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
    99
	 * Removes a water depot.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   100
	 * @param tile Any tile of the water depot.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
   101
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   102
	 * @return Whether the water depot has been/can be removed or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   103
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
   104
	static bool RemoveWaterDepot(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   105
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   106
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   107
	 * Removes a dock.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   108
	 * @param tile Any tile of the dock.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
   109
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   110
	 * @return Whether the dock has been/can be removed or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   111
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
   112
	static bool RemoveDock(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   113
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   114
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   115
	 * Removes a buoy.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   116
	 * @param tile Any tile of the buoy.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
   117
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   118
	 * @return Whether the buoy has been/can be removed or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   119
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
   120
	static bool RemoveBuoy(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   121
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   122
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   123
	 * Removes a lock.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   124
	 * @param tile Any tile of the lock.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
   125
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   126
	 * @return Whether the lock has been/can be removed or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   127
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
   128
	static bool RemoveLock(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   129
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   130
	/**
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   131
	 * Removes a canal.
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   132
	 * @param tile Any tile of the canal.
9801
03a3eebd7fb7 (svn r12307) [NoAI] -Codechange: as followup on r12303 (trunk), use ::IsValidTile to check if a tile is inside the map, instead of all our custom ways
truebrain
parents: 9737
diff changeset
   133
	 * @pre AIMap::IsValidTile(tile).
9836
54afebfded49 (svn r12502) [NoAI] -Documentation: even more comment consistancy
truebrain
parents: 9829
diff changeset
   134
	 * @return Whether the canal has been/can be removed or not.
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   135
	 */
9737
ee408edf3851 (svn r12216) [NoAI] -Codechange: made most functions 'static', which removes the need to create an instance to get, for example, engine information, and therefor heavily simplifying AI creation (Morloth)
truebrain
parents: 9691
diff changeset
   136
	static bool RemoveCanal(TileIndex tile);
9691
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   137
};
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   138
1231d4e5f5aa (svn r10679) [NoAI] -Add: added AIMarine, which takes care of Ships, Docks, ...
truelight
parents:
diff changeset
   139
#endif /* AI_MARINE_HPP */