From f8344b1662fe1f9c4bd14723728be712f6a3a3fb Mon Sep 17 00:00:00 2001 From: WoodyXP Date: Tue, 14 Feb 2023 01:36:36 +0100 Subject: [PATCH] Added CLSID to payloadNames.js, Updated the payLoadConverter.py so the CLSID can be added, Added 1 custom Loadout in unitPayloads.lue --- scripts/payLoadConverter.py | 34 ++++--- scripts/payloadNames.js | 178 ++++++++++++++++++++++-------------- scripts/unitPayloads.lua | 4 + 3 files changed, 132 insertions(+), 84 deletions(-) diff --git a/scripts/payLoadConverter.py b/scripts/payLoadConverter.py index 01e0e1de..75f3f57f 100644 --- a/scripts/payLoadConverter.py +++ b/scripts/payLoadConverter.py @@ -4,8 +4,8 @@ import json # Load data from an Excel file df = pd.read_excel('data.xlsx') -# Group by 'Name', 'Fuel', 'Loadout Name', and 'Roles' and aggregate 'Items - Name' and 'Items - Quantity' -grouped = df.groupby(['Name', 'Fuel', 'Loadout Name', 'Roles'])['Items - Name', 'Items - Quantity'].agg(lambda x: list(x)).reset_index() +# Group by 'Name', 'Fuel', 'Loadout Name', 'Role', and 'CLSID' and aggregate 'Items - Name' and 'Items - Quantity' +grouped = df.groupby(['Name', 'Fuel', 'Loadout Name', 'Role', 'CLSID'])['Items - Name', 'Items - Quantity'].agg(lambda x: list(x)).reset_index() # Convert the grouped data into the desired format result = {} @@ -24,23 +24,26 @@ for index, row in grouped.iterrows(): "quantity": quantity } for item, quantity in zip(row['Items - Name'], row['Items - Quantity']) ], - "roles": [row['Roles']], + "roles": [row['Role']], + "CLSID": row['CLSID'], "loadout_name": row['Loadout Name'] } ] } else: - loadouts = result[name]["loadouts"] - loadout = next((l for l in loadouts if l["loadout_name"] == row['Loadout Name']), None) - if loadout: - loadout["items"] += [ - { - "name": item, - "quantity": quantity - } for item, quantity in zip(row['Items - Name'], row['Items - Quantity']) - ] - loadout["roles"].append(row['Roles']) - else: + found = False + for loadout in result[name]["loadouts"]: + if loadout["fuel"] == row['Fuel'] and loadout["CLSID"] == row['CLSID'] and loadout["loadout_name"] == row['Loadout Name']: + loadout["items"].extend([ + { + "name": item, + "quantity": quantity + } for item, quantity in zip(row['Items - Name'], row['Items - Quantity']) + ]) + loadout["roles"].append(row['Role']) + found = True + break + if not found: result[name]["loadouts"].append({ "fuel": row['Fuel'], "items": [ @@ -49,7 +52,8 @@ for index, row in grouped.iterrows(): "quantity": quantity } for item, quantity in zip(row['Items - Name'], row['Items - Quantity']) ], - "roles": [row['Roles']], + "roles": [row['Role']], + "CLSID": row['CLSID'], "loadout_name": row['Loadout Name'] }) diff --git a/scripts/payloadNames.js b/scripts/payloadNames.js index 1fc58e17..c0eb3dc7 100644 --- a/scripts/payloadNames.js +++ b/scripts/payloadNames.js @@ -8,19 +8,24 @@ payloadNames = { "items": [ { "name": "Mk-84", - "quantity": 8 + "quantity": 2 }, { - "name": "TGP", + "name": "ECM", "quantity": 1 }, { "name": "AIM-9M", "quantity": 2 + }, + { + "name": "Mk-82", + "quantity": 6 } ], "roles": ["cas"], - "loadout_name": "Heavy / Mk-84 / Short Range" + "CLSID": "Mk-82*6,Mk-84*2,AIM-9*2,ECM", + "loadout_name": "Heavy / Mk-84 / Short Range", }, ] }, @@ -34,7 +39,7 @@ payloadNames = { "items": [ { "name": "Fuel 275", - "quantity": 2 + "quantity": 3 }, { "name": "AIM-9P5", @@ -42,6 +47,7 @@ payloadNames = { } ], "roles": ["cap"], + "CLSID": "AIM-9P5*2, Fuel 275*2", "loadout_name": "Light / Fox 2 / Long Range" }, ] @@ -55,7 +61,8 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["awacs"], - "loadout_name": "Light / Fox 2 / Long Range" + "CLSID": "A-50", + "loadout_name": "Default AWACS" } ] }, @@ -68,6 +75,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], + "CLSID": "An-26B", "loadout_name": "Default Transport" } ] @@ -81,6 +89,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["reconnaissance"], + "CLSID": "An-30M", "loadout_name": "Default Reconnaissance" } ] @@ -99,6 +108,7 @@ payloadNames = { } ], "roles": ["strike"], + "CLSID": "Mk-84*24", "loadout_name": "Heavy / Mk-84 / Long Range" }, ] @@ -117,6 +127,7 @@ payloadNames = { } ], "roles": ["strike"], + "CLSID": "Mk-84*18", "loadout_name": "Heavy / Mk-84 / Long Range" }, ] @@ -130,6 +141,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], + "CLSID": "C-130", "loadout_name": "Default Transport" }, ] @@ -143,6 +155,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], + "CLSID": "C-17A", "loadout_name": "Default Transport" }, ] @@ -156,6 +169,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["awacs"], + "CLSID": "E-3A", "loadout_name": "Default AWACS" } ] @@ -174,6 +188,7 @@ payloadNames = { } ], "roles": ["strike"], + "CLSID": "GBU-10*2", "loadout_name": "Heavy / GBU-10 / Long Range" }, ] @@ -204,7 +219,8 @@ payloadNames = { } ], "roles": ["cap"], - "loadout_name": "Heavy / FOX 3 / Long Range" + "CLSID": "AIM-54C*4,AIM-9*2,AIM-7*2", + "loadout_name": "Heavy / FOX 3 / Short Range" }, ] }, @@ -230,6 +246,7 @@ payloadNames = { } ], "roles": ["cap"], + "CLSID": "AIM-9*2,AIM-120*6,Fuel*3", "loadout_name": "Heavy / Fox 3 / Long Range" }, ] @@ -247,7 +264,7 @@ payloadNames = { "quantity": 2 }, { - "name": "AIM-120C", + "name": "AIM-120B", "quantity": 2 }, { @@ -260,6 +277,7 @@ payloadNames = { } ], "roles": ["cas"], + "CLSID": "AIM-120B*2,AIM-9M*2,FUEL*3,Mk-84*8", "loadout_name": "Heavy / Fox 3, Mk-84 / Long Range" }, ] @@ -290,6 +308,7 @@ payloadNames = { } ], "roles": ["cap"], + "CLSID": "AIM-120C*4,AIM-9M*2,ECM,Fuel*2", "loadout_name": "Heavy / Fox 3 / Long Range" }, { @@ -297,22 +316,27 @@ payloadNames = { "items": [ { "name": "Fuel", - "quantity": 1 + "quantity": 2 }, { "name": "AIM-120C", "quantity": 2 }, { - "name": "AIM-9M", - "quantity": 2 + "name": "ECM", + "quantity": 1 + }, + { + "name": "LIGHTNING", + "quantity": 1 }, { "name": "Mk-84", - "quantity": 4 + "quantity": 2 } ], "roles": ["strike"], + "CLSID": "AMk-84*2,AIM-120*2,ECM,Fuel*2,LIGHTNING", "loadout_name": "Heavy / Fox 3, Mk-84 / Long Range" }, ] @@ -339,25 +363,27 @@ payloadNames = { }, ], "roles": ["cap"], + "CLSID": "AIM-9*4,AIM-7*4,Fuel*2", "loadout_name": "Heavy / Fox 1 / Long Range" }, { "fuel": 1, "items": [ { - "name": "Fuel", + "name": "ECM", "quantity": 1 }, { "name": "AIM-7", - "quantity": 4 + "quantity": 2 }, { - "name": "Mk-84", - "quantity": 4 + "name": "Mk-82", + "quantity": 18 } ], "roles": ["cas"], + "CLSID": "Mk-82*18,AIM-7*2,ECM", "loadout_name": "Heavy / Fox 1, Mk-84 / Long Range" }, ] @@ -372,7 +398,7 @@ payloadNames = { "items": [ { "name": "Fuel", - "quantity": 1 + "quantity": 3 }, { "name": "AIM-120C", @@ -384,6 +410,7 @@ payloadNames = { }, ], "roles": ["cap"], + "CLSID": "AIM-120*4,AIM-9*2,Fuel*3", "loadout_name": "Heavy / Fox 3 / Long Range" }, { @@ -391,10 +418,10 @@ payloadNames = { "items": [ { "name": "Fuel", - "quantity": 1 + "quantity": 3 }, { - "name": "AIM-120C", + "name": "GBU-10", "quantity": 2 }, { @@ -402,11 +429,16 @@ payloadNames = { "quantity": 2 }, { - "name": "Mk-84", - "quantity": 4 + "name": "FLIR Pod", + "quantity": 1 + }, + { + "name": "AIM-7", + "quantity": 1 } ], "roles": ["strike"], + "CLSID": "GBU-10*2,AIM-9*2,AIM-7,FLIR Pod,Fuel*3", "loadout_name": "Heavy / Fox 3, Mk-84 / Long Range" }, ] @@ -420,6 +452,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], + "CLSID": "IL-76MD", "loadout_name": "Default Transport" } ] @@ -433,6 +466,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["tanker"], + "CLSID": "IL-78M", "loadout_name": "Default Tanker" } ] @@ -446,6 +480,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["tanker"], + "CLSID": "KC-135", "loadout_name": "Default Tanker" } ] @@ -472,6 +507,7 @@ payloadNames = { }, ], "roles": ["cap"], + "CLSID": "R-24R*2,R-60M*4,Fuel-800", "loadout_name": "Heavy / Fox 1 / Long Range" }, { @@ -483,10 +519,15 @@ payloadNames = { }, { "name": "FAB-500", - "quantity": 4 + "quantity": 2 + }, + { + "name": "R-60M", + "quantity": 2 }, ], "roles": ["strike"], + "CLSID": "FAB-500*2,R-60M*2,Fuel-800", "loadout_name": "Heavy / FAB-500 / Long Range" } ] @@ -505,6 +546,7 @@ payloadNames = { }, ], "roles": ["cap"], + "CLSID": "R-60M*2", "loadout_name": "Heavy / Fox 2 / Long Range" }, { @@ -512,10 +554,15 @@ payloadNames = { "items": [ { "name": "FAB-500", - "quantity": 4 + "quantity": 2 + }, + { + "name": "R-60M", + "quantity": 2 }, ], "roles": ["strike"], + "CLSID": "FAB-500x2_60x2", "loadout_name": "Heavy / FAB-500 / Long Range" } ] @@ -528,16 +575,13 @@ payloadNames = { { "fuel": 1, "items": [ - { - "name": "R-60M", - "quantity": 2 - }, { "name": "B-8", "quantity": 4 }, ], "roles": ["cas"], + "CLSID": "B-8*4", "loadout_name": "Heavy / B-8 / Short Range" }, ] @@ -564,6 +608,7 @@ payloadNames = { }, ], "roles": ["cap"], + "CLSID": "R-73*2,R-60M*2,R-27R*2", "loadout_name": "Heavy / Fox 3 / Long Range" }, ] @@ -586,6 +631,7 @@ payloadNames = { } ], "roles": ["cap"], + "CLSID": "R-40T*2,R-33*4", "loadout_name": "Heavy / Fox 3 / Short Range" } ] @@ -606,20 +652,13 @@ payloadNames = { "name": "SUPER 530F", "quantity": 2 }, - { - "name": "MICA IR", - "quantity": 2 - }, - { - "name": "MICA AR", - "quantity": 2 - }, { "name": "Fuel", "quantity": 1 } ], "roles": ["cap"], + "CLSID": "R 550*2,SUPER 530F*2,Fuel", "loadout_name": "Heavy / Fox 1 / Long Range" } ] @@ -638,6 +677,7 @@ payloadNames = { } ], "roles": ["drone"], + "CLSID": "AGM-114K*12", "loadout_name": "Default Drone" } ] @@ -664,6 +704,7 @@ payloadNames = { } ], "roles": ["cas"], + "CLSID": "B-8*4,R-60M*2,Fuel*2", "loadout_name": "Heavy / B-8 / Long Range" } ] @@ -681,15 +722,12 @@ payloadNames = { "quantity": 2 }, { - "name": "FAB-500", - "quantity": 4 - }, - { - "name": "FAB-250", + "name": "FAB-1500", "quantity": 2 - } - ], + }, + ], "roles": ["strike"], + "CLSID": "FAB-1500*2,R-60M*2", "loadout_name": "Heavy / FAB-500 / Short Range" } ] @@ -706,20 +744,17 @@ payloadNames = { "name": "R-60M", "quantity": 2 }, - { - "name": "S-24", - "quantity": 2 - }, { "name": "UB-13", - "quantity": 4 + "quantity": 6 }, { - "name": "Kh-29L", + "name": "Fuel", "quantity": 2 - } + }, ], "roles": ["cas"], + "CLSID": "UB-13*6,R-60M*2,Fuel*2", "loadout_name": "Heavy / Rockets / Short Range" } ] @@ -742,6 +777,7 @@ payloadNames = { } ], "roles": ["cap"], + "CLSID": "R-73*4,R-27ER*6", "loadout_name": "Heavy / Fox 3 / Short Range" } ] @@ -768,6 +804,7 @@ payloadNames = { } ], "roles": ["cap"], + "CLSID": "R-40T*2,R-33*4", "loadout_name": "Heavy / Fox 3 / Short Range" } ] @@ -786,10 +823,15 @@ payloadNames = { }, { "name": "R-27ER", - "quantity": 8 + "quantity": 6 + }, + { + "name": "R-27R", + "quantity": 2 } ], "roles": ["cap"], + "CLSID": "R-73*4,R-27R*2,R-27ER*6", "loadout_name": "Heavy / Fox 3 / Short Range" } ] @@ -804,26 +846,23 @@ payloadNames = { "items": [ { "name": "R-73", + "quantity": 2 + }, + { + "name": "FAB-250", "quantity": 4 }, - { - "name": "B-8", - "quantity": 2 - }, { "name": "UB-13", - "quantity": 2 + "quantity": 4 }, { - "name": "Kh-29L", - "quantity": 2 + "name": "ECM", + "quantity": 1 }, - { - "name": "FAB-500", - "quantity": 2 - } ], "roles": ["cas"], + "CLSID": "UB-13*4,FAB-250*4,R-73*2,ECM", "loadout_name": "Heavy / Mixed Ground Ordinance / Short Range" } ] @@ -850,6 +889,7 @@ payloadNames = { } ], "roles": ["cas"], + "CLSID": "Mk-82*4,AIM-9*2,Fuel*2", "loadout_name": "Heavy / Mk-84 / Long Range" } ] @@ -863,12 +903,13 @@ payloadNames = { "fuel": 1, "items": [ { - "name": "Kh-65", - "quantity": 12 + "name": "Kh-35", + "quantity": 6 } ], "roles": ["strike"], - "loadout_name": "Heavy / Kh-65 / Long Range" + "CLSID": "Kh-35*6", + "loadout_name": "Heavy / Kh-35 / Long Range" } ] }, @@ -886,6 +927,7 @@ payloadNames = { } ], "roles": ["strike"], + "CLSID": "Kh-65*12", "loadout_name": "Heavy / Kh-65 / Long Range" } ] @@ -900,15 +942,12 @@ payloadNames = { "items": [ { "name": "Kh-22n", - "quantity": 3 + "quantity": 2 }, - { - "name": "FAB-250", - "quantity": 18 - } ], "roles": ["strike"], - "loadout_name": "Heavy / Kh-22n, FAB-250 / Long Range" + "CLSID": "Kh-22N*2", + "loadout_name": "Heavy / Kh-22n / Long Range" } ] }, @@ -926,6 +965,7 @@ payloadNames = { }, ], "roles": ["strike"], + "CLSID": "Kh-65*6", "loadout_name": "Heavy / Kh-65 / Long Range" } ] diff --git a/scripts/unitPayloads.lua b/scripts/unitPayloads.lua index ba14b188..0f3764e5 100644 --- a/scripts/unitPayloads.lua +++ b/scripts/unitPayloads.lua @@ -3173,6 +3173,10 @@ Olympus.unitPayloads = {["A-10A"]={["MK-84*2 , LAU-68*2 , AGM-65K*2"]={[1] = {[" [5] = {["CLSID"]="{0395076D-2F77-4420-9D33-087A4398130B}"}, [4] = {["CLSID"]="{0395076D-2F77-4420-9D33-087A4398130B}"}, [3] = {["CLSID"]="{0395076D-2F77-4420-9D33-087A4398130B}"}}, + ["AIM-9P5*2, Fuel 275*2"]={[7] = {["CLSID"]="{AIM-9P5}"}, + [1] = {["CLSID"]="{AIM-9P5}"}, + [5] = {["CLSID"]="{0395076D-2F77-4420-9D33-087A4398130B}"}, + [3] = {["CLSID"]="{0395076D-2F77-4420-9D33-087A4398130B}"}}, ["AIM-9P*2, Fuel 150*3"]={[7] = {["CLSID"]="{9BFD8C90-F7AE-4e90-833B-BFD0CED0E536}"}, [5] = {["CLSID"]="{PTB-150GAL}"}, [4] = {["CLSID"]="{PTB-150GAL}"},