--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c @@ -18,12 +18,14 @@ foreach (ERR_HQUnit unit : m_Units) if (unit && unit.Group == group) return unit; return null; } - bool ReserveGroundDepot(ERR_HQUnit crew, ERR_HQUnit donor, ERR_InfantryResupply service, int token) + bool ReserveGroundDepot(ERR_HQUnit crew, ERR_HQUnit donor, ERR_InfantryResupply service, int token, bool mineCargo = false) { if (!Replication.IsServer() || m_Stopping || !m_Mode || m_Mode != ERR_GameMode.Get() || !m_Mode.Active()) return false; if (m_Mode.Command() != this) return false; if (token <= 300000 || token > 300096 || !crew || !donor || crew == donor || !m_Units.Contains(crew)) return false; - if (!service || !service.DepotNeeded() || !MountedLogisticsEligible(donor)) return false; + if (!service || !MountedLogisticsEligible(donor)) return false; + if (mineCargo) { if (!service.DepotMineNeeded()) return false; } + else if (!service.DepotNeeded()) return false; ERR_ConvoyVehicle truck = service.DepotTruck(); if (!truck || truck.Group != donor.Group || truck.SupplyToken > 0) return false; if (crew.HomeGuard || crew.ReservedForSupport || crew.Task || crew.PendingTask || crew.PendingCheckin || crew.PendingConvoyOrder) return false;