From dd110d37af917bb46316557b8004c80a109a477a Mon Sep 17 00:00:00 2001 From: Ambroise Garel <47314805+akaAgar@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:39:47 +0200 Subject: [PATCH] Added options.payload parameter to specify aircraft payload --- Script/DCS extensions/UnitGroupMaker.lua | 27 ++++++++++++++---------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/Script/DCS extensions/UnitGroupMaker.lua b/Script/DCS extensions/UnitGroupMaker.lua index 0a452b3..49c7ff1 100644 --- a/Script/DCS extensions/UnitGroupMaker.lua +++ b/Script/DCS extensions/UnitGroupMaker.lua @@ -448,18 +448,23 @@ do end if aircraftDB.pylons then - -- TODO: pylons according to task - if options.taskAttack and aircraftDB.pylons.attack then - unitTable.payload.pylons = DCSEx.table.deepCopy(aircraftDB.pylons.attack) - elseif options.taskCAP and aircraftDB.pylons.cap then - unitTable.payload.pylons = DCSEx.table.deepCopy(aircraftDB.pylons.cap) - elseif options.taskSEAD and aircraftDB.pylons.sead then - unitTable.payload.pylons = DCSEx.table.deepCopy(aircraftDB.pylons.sead) - elseif options.taskStrike and aircraftDB.pylons.strike then - unitTable.payload.pylons = DCSEx.table.deepCopy(aircraftDB.pylons.strike) - else - unitTable.payload.pylons = DCSEx.table.deepCopy(aircraftDB.pylons.default) + local payload = "attack" -- Default payload is "attack", because it's usually a good mix of A-G and A-A munitions + + if options.payload then -- A payload was specified + payload = options.payload + else -- No payload was specified, deduce payload from tasking + if options.taskAntiship then + payload = "antiship" + elseif options.taskCAP then + payload = "cap" + elseif options.taskSEAD then + payload = "sead" + elseif options.taskStrike then + payload = "strike" + end end + + unitTable.payload.pylons = DCSEx.table.deepCopy(aircraftDB.pylons[payload]) end end