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)
{
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)
{
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);
}