diff --git a/scripts/payLoadConverter.py b/scripts/payLoadConverter.py index 75f3f57f..2c470188 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', '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() +# Group by 'Name', 'Fuel', 'Loadout Name', 'Role', and 'Code' and aggregate 'Items - Name' and 'Items - Quantity' +grouped = df.groupby(['Name', 'Fuel', 'Loadout Name', 'Role', 'Code'])['Items - Name', 'Items - Quantity'].agg(lambda x: list(x)).reset_index() # Convert the grouped data into the desired format result = {} @@ -25,7 +25,7 @@ for index, row in grouped.iterrows(): } for item, quantity in zip(row['Items - Name'], row['Items - Quantity']) ], "roles": [row['Role']], - "CLSID": row['CLSID'], + "code": row['Code'], "loadout_name": row['Loadout Name'] } ] @@ -33,7 +33,7 @@ for index, row in grouped.iterrows(): 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']: + if loadout["fuel"] == row['Fuel'] and loadout["code"] == row['Code'] and loadout["loadout_name"] == row['Loadout Name']: loadout["items"].extend([ { "name": item, @@ -53,7 +53,7 @@ for index, row in grouped.iterrows(): } for item, quantity in zip(row['Items - Name'], row['Items - Quantity']) ], "roles": [row['Role']], - "CLSID": row['CLSID'], + "code": row['Code'], "loadout_name": row['Loadout Name'] }) diff --git a/scripts/payloadNames.js b/scripts/payloadNames.js index c0eb3dc7..9e90c4b9 100644 --- a/scripts/payloadNames.js +++ b/scripts/payloadNames.js @@ -24,9 +24,16 @@ payloadNames = { } ], "roles": ["cas"], - "CLSID": "Mk-82*6,Mk-84*2,AIM-9*2,ECM", + "code": "Mk-82*6,Mk-84*2,AIM-9*2,ECM", "loadout_name": "Heavy / Mk-84 / Short Range", }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -47,9 +54,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "AIM-9P5*2, Fuel 275*2", + "code": "AIM-9P5*2, Fuel 275*2", "loadout_name": "Light / Fox 2 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -61,9 +75,16 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["awacs"], - "CLSID": "A-50", + "code": "", "loadout_name": "Default AWACS" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -75,9 +96,9 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], - "CLSID": "An-26B", + "code": "", "loadout_name": "Default Transport" - } + }, ] }, @@ -89,9 +110,9 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["reconnaissance"], - "CLSID": "An-30M", + "code": "", "loadout_name": "Default Reconnaissance" - } + }, ] }, @@ -108,9 +129,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "Mk-84*24", + "code": "Mk-84*24", "loadout_name": "Heavy / Mk-84 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -127,9 +155,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "Mk-84*18", + "code": "Mk-84*18", "loadout_name": "Heavy / Mk-84 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -141,7 +176,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], - "CLSID": "C-130", + "code": "C-130", "loadout_name": "Default Transport" }, ] @@ -155,7 +190,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], - "CLSID": "C-17A", + "code": "", "loadout_name": "Default Transport" }, ] @@ -169,9 +204,9 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["awacs"], - "CLSID": "E-3A", + "code": "", "loadout_name": "Default AWACS" - } + }, ] }, @@ -188,9 +223,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "GBU-10*2", + "code": "GBU-10*2", "loadout_name": "Heavy / GBU-10 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -219,9 +261,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "AIM-54C*4,AIM-9*2,AIM-7*2", + "code": "AIM-54C*4,AIM-9*2,AIM-7*2", "loadout_name": "Heavy / FOX 3 / Short Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -246,9 +295,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "AIM-9*2,AIM-120*6,Fuel*3", + "code": "AIM-9*2,AIM-120*6,Fuel*3", "loadout_name": "Heavy / Fox 3 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -277,9 +333,16 @@ payloadNames = { } ], "roles": ["cas"], - "CLSID": "AIM-120B*2,AIM-9M*2,FUEL*3,Mk-84*8", + "code": "AIM-120B*2,AIM-9M*2,FUEL*3,Mk-84*8", "loadout_name": "Heavy / Fox 3, Mk-84 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -308,7 +371,7 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "AIM-120C*4,AIM-9M*2,ECM,Fuel*2", + "code": "AIM-120C*4,AIM-9M*2,ECM,Fuel*2", "loadout_name": "Heavy / Fox 3 / Long Range" }, { @@ -336,9 +399,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "AMk-84*2,AIM-120*2,ECM,Fuel*2,LIGHTNING", + "code": "Mk-84*2,AIM-120*2,ECM,Fuel*2,LIGHTNING", "loadout_name": "Heavy / Fox 3, Mk-84 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -363,7 +433,7 @@ payloadNames = { }, ], "roles": ["cap"], - "CLSID": "AIM-9*4,AIM-7*4,Fuel*2", + "code": "AIM-9*4,AIM-7*4,Fuel*2", "loadout_name": "Heavy / Fox 1 / Long Range" }, { @@ -383,9 +453,16 @@ payloadNames = { } ], "roles": ["cas"], - "CLSID": "Mk-82*18,AIM-7*2,ECM", + "code": "Mk-82*18,AIM-7*2,ECM", "loadout_name": "Heavy / Fox 1, Mk-84 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -410,7 +487,7 @@ payloadNames = { }, ], "roles": ["cap"], - "CLSID": "AIM-120*4,AIM-9*2,Fuel*3", + "code": "AIM-120*4,AIM-9*2,Fuel*3", "loadout_name": "Heavy / Fox 3 / Long Range" }, { @@ -438,9 +515,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "GBU-10*2,AIM-9*2,AIM-7,FLIR Pod,Fuel*3", + "code": "GBU-10*2,AIM-9*2,AIM-7,FLIR Pod,Fuel*3", "loadout_name": "Heavy / Fox 3, Mk-84 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -452,9 +536,9 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["transport"], - "CLSID": "IL-76MD", + "code": "", "loadout_name": "Default Transport" - } + }, ] }, @@ -466,7 +550,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["tanker"], - "CLSID": "IL-78M", + "code": "", "loadout_name": "Default Tanker" } ] @@ -480,7 +564,7 @@ payloadNames = { "fuel": 1, "items": [], "roles": ["tanker"], - "CLSID": "KC-135", + "code": "", "loadout_name": "Default Tanker" } ] @@ -507,7 +591,7 @@ payloadNames = { }, ], "roles": ["cap"], - "CLSID": "R-24R*2,R-60M*4,Fuel-800", + "code": "R-24R*2,R-60M*4,Fuel-800", "loadout_name": "Heavy / Fox 1 / Long Range" }, { @@ -527,9 +611,16 @@ payloadNames = { }, ], "roles": ["strike"], - "CLSID": "FAB-500*2,R-60M*2,Fuel-800", + "code": "FAB-500*2,R-60M*2,Fuel-800", "loadout_name": "Heavy / FAB-500 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -546,7 +637,7 @@ payloadNames = { }, ], "roles": ["cap"], - "CLSID": "R-60M*2", + "code": "R-60M*2", "loadout_name": "Heavy / Fox 2 / Long Range" }, { @@ -562,9 +653,16 @@ payloadNames = { }, ], "roles": ["strike"], - "CLSID": "FAB-500x2_60x2", + "code": "FAB-500x2_60x2", "loadout_name": "Heavy / FAB-500 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -581,9 +679,16 @@ payloadNames = { }, ], "roles": ["cas"], - "CLSID": "B-8*4", + "code": "B-8*4", "loadout_name": "Heavy / B-8 / Short Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -608,9 +713,16 @@ payloadNames = { }, ], "roles": ["cap"], - "CLSID": "R-73*2,R-60M*2,R-27R*2", + "code": "R-73*2,R-60M*2,R-27R*2", "loadout_name": "Heavy / Fox 3 / Long Range" }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -631,9 +743,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "R-40T*2,R-33*4", + "code": "R-40T*2,R-33*4", "loadout_name": "Heavy / Fox 3 / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -658,9 +777,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "R 550*2,SUPER 530F*2,Fuel", + "code": "R 550*2,SUPER 530F*2,Fuel", "loadout_name": "Heavy / Fox 1 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -677,9 +803,16 @@ payloadNames = { } ], "roles": ["drone"], - "CLSID": "AGM-114K*12", + "code": "AGM-114K*12", "loadout_name": "Default Drone" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -704,9 +837,16 @@ payloadNames = { } ], "roles": ["cas"], - "CLSID": "B-8*4,R-60M*2,Fuel*2", + "code": "B-8*4,R-60M*2,Fuel*2", "loadout_name": "Heavy / B-8 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -727,9 +867,16 @@ payloadNames = { }, ], "roles": ["strike"], - "CLSID": "FAB-1500*2,R-60M*2", + "code": "FAB-1500*2,R-60M*2", "loadout_name": "Heavy / FAB-500 / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -754,9 +901,16 @@ payloadNames = { }, ], "roles": ["cas"], - "CLSID": "UB-13*6,R-60M*2,Fuel*2", + "code": "UB-13*6,R-60M*2,Fuel*2", "loadout_name": "Heavy / Rockets / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -777,9 +931,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "R-73*4,R-27ER*6", + "code": "R-73*4,R-27ER*6", "loadout_name": "Heavy / Fox 3 / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -804,9 +965,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "R-40T*2,R-33*4", + "code": "R-40T*2,R-33*4", "loadout_name": "Heavy / Fox 3 / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -831,9 +999,16 @@ payloadNames = { } ], "roles": ["cap"], - "CLSID": "R-73*4,R-27R*2,R-27ER*6", + "code": "R-73*4,R-27R*2,R-27ER*6", "loadout_name": "Heavy / Fox 3 / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -862,9 +1037,16 @@ payloadNames = { }, ], "roles": ["cas"], - "CLSID": "UB-13*4,FAB-250*4,R-73*2,ECM", + "code": "UB-13*4,FAB-250*4,R-73*2,ECM", "loadout_name": "Heavy / Mixed Ground Ordinance / Short Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -889,9 +1071,16 @@ payloadNames = { } ], "roles": ["cas"], - "CLSID": "Mk-82*4,AIM-9*2,Fuel*2", + "code": "Mk-82*4,AIM-9*2,Fuel*2", "loadout_name": "Heavy / Mk-84 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -908,9 +1097,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "Kh-35*6", + "code": "Kh-35*6", "loadout_name": "Heavy / Kh-35 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -927,9 +1123,16 @@ payloadNames = { } ], "roles": ["strike"], - "CLSID": "Kh-65*12", + "code": "Kh-65*12", "loadout_name": "Heavy / Kh-65 / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -946,9 +1149,16 @@ payloadNames = { }, ], "roles": ["strike"], - "CLSID": "Kh-22N*2", + "code": "Kh-22N*2", "loadout_name": "Heavy / Kh-22n / Long Range" - } + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout", + }, ] }, @@ -965,9 +1175,16 @@ payloadNames = { }, ], "roles": ["strike"], - "CLSID": "Kh-65*6", + "code": "Kh-65*6", "loadout_name": "Heavy / Kh-65 / Long Range" + }, + { + "fuel": 1, + "items": [], + "roles": [""], + "code": "", + "loadout_name": "Empty Loadout" } ] }, -} \ No newline at end of file +}