From da2fa233d77bbe42e0d4b21e48be4585faa2d894 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Tue, 13 Sep 2005 13:30:18 +0000 Subject: (svn r2949) The AI no longer needs to 'cheat' to build aircraft; eg it builds them now from a hangar. Also, to query the price of a new aircraft tile information is not needed --- ai/default/default.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'ai') diff --git a/ai/default/default.c b/ai/default/default.c index b8160d2bd..44fb1572d 100644 --- a/ai/default/default.c +++ b/ai/default/default.c @@ -1,4 +1,4 @@ -/* $Id: ai_old.c 2701 2005-07-24 14:12:37Z tron $ */ +/* $Id$ */ #include "../../stdafx.h" #include "../../openttd.h" @@ -191,7 +191,7 @@ static int AiChooseAircraftToBuild(int32 money, byte flag) if (i>=253) continue; } - ret = DoCommandByTile(0, i, 0, 0, CMD_BUILD_AIRCRAFT); + ret = DoCommandByTile(0, i, 0, DC_QUERY_COST, CMD_BUILD_AIRCRAFT); if (!CmdFailed(ret) && ret <= money && ret >= best_veh_cost) { best_veh_cost = ret; best_veh_index = i; @@ -3502,10 +3502,11 @@ static void AiStateBuildAircraftVehicles(Player *p) tile = TILE_ADD(p->ai.src.use_tile, ToTileIndexDiff(ptr->tileoffs)); veh = AiChooseAircraftToBuild(p->player_money, p->ai.build_kind!=0 ? 1 : 0); - if (veh == -1) { - return; - } + if (veh == -1) return; + /* XXX - Have the AI pick the hangar terminal in an airport. Eg get airport-type + * and offset to the FIRST depot because the AI picks the st->xy tile */ + tile += ToTileIndexDiff(GetAirport(GetStation(_m[tile].m2)->airport_type)->airport_depots[0]); if (CmdFailed(DoCommandByTile(tile, veh, 0, DC_EXEC, CMD_BUILD_AIRCRAFT))) return; loco_id = _new_aircraft_id; -- cgit v1.2.3-70-g09d2