diff --git a/Moose Development/Moose/Functional/Warehouse.lua b/Moose Development/Moose/Functional/Warehouse.lua index 297082e22..0bda377f2 100644 --- a/Moose Development/Moose/Functional/Warehouse.lua +++ b/Moose Development/Moose/Functional/Warehouse.lua @@ -5798,12 +5798,19 @@ function WAREHOUSE:_SpawnAssetPrepareTemplate(asset, alias) template.route = {} template.route.routeRelativeTOT=true template.route.points = {} + + local N=asset.grouping or #template.units -- Handle units. - for i=1,#template.units do + for i=1,N do -- Unit template. local unit = template.units[i] + + -- If more units are in the + if i>#template.units then + unit=UTILS.DeepCopy(template.units[1]) + end -- Nillify the unit ID. unit.unitId=nil diff --git a/Moose Development/Moose/Ops/AirWing.lua b/Moose Development/Moose/Ops/AirWing.lua index e12e082c1..e62ac4563 100644 --- a/Moose Development/Moose/Ops/AirWing.lua +++ b/Moose Development/Moose/Ops/AirWing.lua @@ -1463,6 +1463,31 @@ function AIRWING:onafterNewAsset(From, Event, To, asset, assignment) -- Create callsign and modex. squad:GetCallsign(asset) squad:GetModex(asset) + + if squad.ngrouping then + local template=asset.template + + local N=math.max(#template.units, squad.ngrouping) + + -- Handle units. + for i=1,N do + + -- Unit template. + local unit = template.units[i] + + -- If grouping is larger than units present, copy first unit. + if i>#template.units then + unit=UTILS.DeepCopy(template.units[1]) + end + + --Remove units if original template contains more than in grouping. + if squad.ngrouping<#template.units and i>#template.units then + unit=nil + end + end + + asset.nunits=squad.ngrouping + end -- Add asset to squadron. squad:AddAsset(asset) diff --git a/Moose Development/Moose/Ops/Squadron.lua b/Moose Development/Moose/Ops/Squadron.lua index 5ca14eec4..d1e1bd1c4 100644 --- a/Moose Development/Moose/Ops/Squadron.lua +++ b/Moose Development/Moose/Ops/Squadron.lua @@ -23,6 +23,7 @@ -- @field #string templatename Name of the template group. -- @field #string aircrafttype Type of the airframe the squadron is using. -- @field Wrapper.Group#GROUP templategroup Template group. +-- @field #number ngrouping User defined number of units in the asset group. -- @field #table assets Squadron assets. -- @field #table missiontypes Capabilities (mission types and performances) of the squadron. -- @field #string livery Livery of the squadron.