From d01f5e9e7e78ceb22e36d5378f74b6ef4a842756 Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 28 Oct 2009 20:15:46 +0000 Subject: (svn r17898) -Fix: [NoAI] Improve behaviour of (AIEngine|AIEventEnginePreview)::GetCargoType() and AIEngine::CanRefitCargo() wrt. articulated vehicles. --- src/ai/api/ai_event_types.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/ai/api/ai_event_types.cpp') diff --git a/src/ai/api/ai_event_types.cpp b/src/ai/api/ai_event_types.cpp index 4e214431d..d1e962c4c 100644 --- a/src/ai/api/ai_event_types.cpp +++ b/src/ai/api/ai_event_types.cpp @@ -30,9 +30,18 @@ char *AIEventEnginePreview::GetName() CargoID AIEventEnginePreview::GetCargoType() { - const Engine *e = ::Engine::Get(this->engine); - if (!e->CanCarryCargo()) return CT_INVALID; - return e->GetDefaultCargoType(); + CargoArray cap = ::GetCapacityOfArticulatedParts(this->engine); + + CargoID most_cargo = CT_INVALID; + uint amount = 0; + for (CargoID cid = 0; cid < NUM_CARGO; cid++) { + if (cap[cid] > amount) { + amount = cap[cid]; + most_cargo = cid; + } + } + + return most_cargo; } int32 AIEventEnginePreview::GetCapacity() -- cgit v1.2.3-54-g00ecf