summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vehicle.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 9cee5abd6..da2e43dfe 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1387,6 +1387,9 @@ uint GetVehicleCapacity(const Vehicle *v, uint16 *mail_capacity)
if (!e->CanCarryCargo()) return 0;
+ if (mail_capacity != NULL && e->type == VEH_AIRCRAFT && IsCargoInClass(v->cargo_type, CC_PASSENGERS)) {
+ *mail_capacity = e->u.air.mail_capacity;
+ }
CargoID default_cargo = e->GetDefaultCargoType();
/* Check the refit capacity callback if we are not in the default configuration.
@@ -1411,9 +1414,7 @@ uint GetVehicleCapacity(const Vehicle *v, uint16 *mail_capacity)
* Note: This might change to become more consistent/flexible. */
if (e->type != VEH_SHIP) {
if (e->type == VEH_AIRCRAFT) {
- if (IsCargoInClass(v->cargo_type, CT_PASSENGERS)) {
- if (mail_capacity != NULL) *mail_capacity = e->u.air.mail_capacity;
- } else {
+ if (!IsCargoInClass(v->cargo_type, CT_PASSENGERS)) {
capacity += e->u.air.mail_capacity;
}
if (v->cargo_type == CT_MAIL) return capacity;