summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_tile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ai/api/ai_tile.cpp')
-rw-r--r--src/ai/api/ai_tile.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ai/api/ai_tile.cpp b/src/ai/api/ai_tile.cpp
index 04c977626..a90be1aa1 100644
--- a/src/ai/api/ai_tile.cpp
+++ b/src/ai/api/ai_tile.cpp
@@ -19,6 +19,7 @@
#include "../../tree_map.h"
#include "../../town.h"
#include "../../landscape.h"
+#include "../../economy_func.h"
/* static */ bool AITile::IsBuildable(TileIndex tile)
{
@@ -271,3 +272,18 @@
return ::ClosestTownFromTile(tile, UINT_MAX)->index;
}
+
+/* static */ Money AITile::GetBuildCost(BuildType build_type)
+{
+ switch (build_type) {
+ case BT_FOUNDATION: return ::GetPrice(PR_BUILD_FOUNDATION, 1, NULL);
+ case BT_TERRAFORM: return ::GetPrice(PR_TERRAFORM, 1, NULL);
+ case BT_BUILD_TREES: return ::GetPrice(PR_BUILD_TREES, 1, NULL);
+ case BT_CLEAR_GRASS: return ::GetPrice(PR_CLEAR_GRASS, 1, NULL);
+ case BT_CLEAR_ROUGH: return ::GetPrice(PR_CLEAR_ROUGH, 1, NULL);
+ case BT_CLEAR_ROCKY: return ::GetPrice(PR_CLEAR_ROCKS, 1, NULL);
+ case BT_CLEAR_FIELDS: return ::GetPrice(PR_CLEAR_FIELDS, 1, NULL);
+ case BT_CLEAR_HOUSE: return ::GetPrice(PR_CLEAR_HOUSE, 1, NULL);
+ default: return -1;
+ }
+}