src/ai/api/ai_engine.cpp
branchnoai
changeset 10190 6e4a90ed8830
parent 9837 c9ec4f82e0d0
child 10194 c9fdeb7450da
--- a/src/ai/api/ai_engine.cpp	Tue Apr 15 15:32:47 2008 +0000
+++ b/src/ai/api/ai_engine.cpp	Tue Apr 15 15:34:02 2008 +0000
@@ -16,6 +16,7 @@
 #include "../../economy_func.h"
 #include "../../core/bitmath_func.hpp"
 #include "../../settings_type.h"
+#include "../../articulated_vehicles.h"
 #include "table/strings.h"
 
 /* static */ bool AIEngine::IsValidEngine(EngineID engine_id)
@@ -78,14 +79,14 @@
 	if (!IsValidEngine(engine_id)) return 0;
 
 	switch (::GetEngine(engine_id)->type) {
-		case VEH_ROAD: {
-			const RoadVehicleInfo *vi = ::RoadVehInfo(engine_id);
-			return vi->capacity;
-		} break;
-
+		case VEH_ROAD:
 		case VEH_TRAIN: {
-			const RailVehicleInfo *vi = ::RailVehInfo(engine_id);
-			return vi->capacity;
+			uint16 *capacities = GetCapacityOfArticulatedParts(engine_id, ::GetEngine(engine_id)->type);
+			for (CargoID c = 0; c < NUM_CARGO; c++) {
+				if (capacities[c] == 0) continue;
+				return capacities[c];
+			}
+			return 0;
 		} break;
 
 		case VEH_SHIP: {