diff options
Diffstat (limited to 'src/ai/api/ai_event_types.cpp')
-rw-r--r-- | src/ai/api/ai_event_types.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/ai/api/ai_event_types.cpp b/src/ai/api/ai_event_types.cpp index 4c66ceadb..469d53776 100644 --- a/src/ai/api/ai_event_types.cpp +++ b/src/ai/api/ai_event_types.cpp @@ -28,10 +28,11 @@ CargoID AIEventEnginePreview::GetCargoType() int32 AIEventEnginePreview::GetCapacity() { - switch (::GetEngine(engine)->type) { + const Engine *e = ::GetEngine(engine); + switch (e->type) { case VEH_ROAD: case VEH_TRAIN: { - uint16 *capacities = GetCapacityOfArticulatedParts(engine, ::GetEngine(engine)->type); + uint16 *capacities = GetCapacityOfArticulatedParts(engine, e->type); for (CargoID c = 0; c < NUM_CARGO; c++) { if (capacities[c] == 0) continue; return capacities[c]; @@ -39,15 +40,13 @@ int32 AIEventEnginePreview::GetCapacity() return -1; } break; - case VEH_SHIP: { - const ShipVehicleInfo *vi = ::ShipVehInfo(engine); - return vi->capacity; - } break; + case VEH_SHIP: + return e->u.ship.capacity; + break; - case VEH_AIRCRAFT: { - const AircraftVehicleInfo *vi = ::AircraftVehInfo(engine); - return vi->passenger_capacity; - } break; + case VEH_AIRCRAFT: + return AircraftDefaultCargoCapacity(e->GetDefaultCargoType(), &e->u.air); + break; default: NOT_REACHED(); } |