Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
20 lines
1.3 KiB
Diff
20 lines
1.3 KiB
Diff
--- 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;
|