From 0427c0d3a71db056948235537a2ea1b98a4e0d94 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Wed, 18 Dec 2024 12:34:30 +0100 Subject: [PATCH] #CTLD - Added `GetLoadedCargo(Unit)` --- Moose Development/Moose/Ops/CTLD.lua | 29 +++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Moose Development/Moose/Ops/CTLD.lua b/Moose Development/Moose/Ops/CTLD.lua index 1bb03c121..9bac1a3c2 100644 --- a/Moose Development/Moose/Ops/CTLD.lua +++ b/Moose Development/Moose/Ops/CTLD.lua @@ -1278,6 +1278,12 @@ CTLD.RadioModulation = { FM = 1, } +--- Loaded Cargo +-- @type CTLD.LoadedCargo +-- @field #number Troopsloaded +-- @field #number Cratesloaded +-- @field #table Cargo Table of #CTLD_CARGO objects + --- Zone Info. -- @type CTLD.CargoZone -- @field #string name Name of Zone. @@ -1345,7 +1351,7 @@ CTLD.UnitTypeCapabilities = { --- CTLD class version. -- @field #string version -CTLD.version="1.1.19" +CTLD.version="1.1.20" --- Instantiate a new CTLD. -- @param #CTLD self @@ -5383,6 +5389,27 @@ end return Stock end + --- User - Query the cargo loaded from a specific unit + -- @param #CTLD self + -- @param Wrapper.Unit#UNIT Unit The (client) unit to query. + -- @return #number Troopsloaded + -- @return #number Cratesloaded + -- @return #table Cargo Table of #CTLD_CARGO objects + function CTLD:GetLoadedCargo(Unit) + local Troops = 0 + local Crates = 0 + local Cargo = {} + if Unit and Unit:IsAlive() then + local name = Unit:GetName() + if self.Loaded_Cargo[name] then + Troops = self.Loaded_Cargo[name].Troopsloaded or 0 + Crates = self.Loaded_Cargo[name].Cratesloaded or 0 + Cargo = self.Loaded_Cargo[name].Cargo or {} + end + end + return Troops, Crates, Cargo + end + --- User - function to get a table of statics cargo in stock -- @param #CTLD self -- @return #table Table Table of Stock, indexed by cargo type name