Infra sharing: Disallow control over other company trains wholly in depots

See: #469
This commit is contained in:
Jonathan G Rennison
2022-12-31 17:55:32 +00:00
parent b1a1760bcc
commit d6046086da

View File

@@ -72,7 +72,7 @@ static inline CommandCost CheckInfraUsageAllowed(VehicleType type, Owner infra_o
*/ */
static inline bool IsVehicleControlAllowed(const Vehicle *v, Owner o) static inline bool IsVehicleControlAllowed(const Vehicle *v, Owner o)
{ {
return v->owner == o || (v->type == VEH_TRAIN && IsTileOwner(v->tile, o)); return v->owner == o || (v->type == VEH_TRAIN && IsTileOwner(v->tile, o) && !v->IsChainInDepot());
} }
/** /**
@@ -84,7 +84,7 @@ static inline bool IsVehicleControlAllowed(const Vehicle *v, Owner o)
*/ */
static inline CommandCost CheckVehicleControlAllowed(const Vehicle *v) static inline CommandCost CheckVehicleControlAllowed(const Vehicle *v)
{ {
if (v->type == VEH_TRAIN && IsTileOwner(v->tile, _current_company)) return CommandCost(); if (v->type == VEH_TRAIN && IsTileOwner(v->tile, _current_company) && !v->IsChainInDepot()) return CommandCost();
return CheckOwnership(v->owner); return CheckOwnership(v->owner);
} }