From ed7a358699fd84d9749b3c4d1a8dda311162fc08 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Thu, 18 Jul 2024 20:20:07 +1000 Subject: [PATCH 01/14] Add new Afghanistan campaign - Operation Shattered Dagger (#371) --- .../campaigns/operation_shattered_dagger.miz | Bin 0 -> 37130 bytes .../campaigns/operation_shattered_dagger.yaml | 76 ++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 resources/campaigns/operation_shattered_dagger.miz create mode 100644 resources/campaigns/operation_shattered_dagger.yaml diff --git a/resources/campaigns/operation_shattered_dagger.miz b/resources/campaigns/operation_shattered_dagger.miz new file mode 100644 index 0000000000000000000000000000000000000000..7728f37c1c2e4bbdfadaaec251285b22f3fd214e GIT binary patch literal 37130 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 the spring of 2006, insurgents initiated a well-coordinated offensive in southern Afghanistan, + focusing their efforts on the strategically vital provinces of Helmand and Kandahar. Insurgent + operations extended beyond small skirmishes, including major assaults on multiple Forward Operating + Bases (FOBs) that were crucial for coalition operations. The loss or isolation of these bases would + have significantly hindered NATO forces' ability to maintain control in the region, severely impacting + the overall stability and security of the region.

+

With multiple FOBs under siege and cut off from friendly forces, the situation for the coalition + troops became increasingly dire. In response to these attacks, Apache and Kiowa Warrior helicopters were + tasked with providing close air support, targeting insurgent positions, and neutralising enemy forces + surrounding the FOBs. Once cleared of enemy forces, Blackhawk and Chinook helicopters can then deliver + much needed reinforcements and supplies to coalition troops.

+miz: operation_shattered_dagger.miz +performance: 1 +recommended_start_date: 2006-04-24 +recommended_enemy_money: 0 +recommended_enemy_income_multiplier: 0.0 +version: "10.7" +settings: + hercules: true + squadron_start_full: true +squadrons: + #Kandahar + 7: + - primary: Transport + secondary: any + aircraft: + - C-130J-30 Super Hercules + - C-130 + size: 4 + - primary: CAS + secondary: air-to-ground + aircraft: + - A-10C Thunderbolt II (Suite 7) + size: 4 + # Kandahar Heliport + 15: + - primary: Air Assault + secondary: any + aircraft: + - UH-60A + size: 4 + - primary: CAS + secondary: any + aircraft: + - OH-58D(R) Kiowa Warrior + size: 4 + #Camp Bastion + 10: + - primary: BAI + secondary: air-to-ground + aircraft: + - AV-8B Harrier II Night Attack + size: 4 + - primary: AEW&C + aircraft: + - E-3A + size: 1 + #Camp Bastion Heliport + 13: + - primary: CAS + secondary: any + aircraft: + - AH-64D Apache Longbow + size: 4 + - primary: Transport + secondary: any + aircraft: + - CH-47D + size: 4 \ No newline at end of file From b0d10f07de35de6f3f1b0175020a0600e3b6d8c2 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Thu, 18 Jul 2024 20:20:58 +1000 Subject: [PATCH 02/14] Add new Afghanistan campaign - Graveyard of Empires (#370) --- resources/campaigns/graveyard_of_empires.miz | Bin 0 -> 53964 bytes ...han_war.yaml => graveyard_of_empires.yaml} | 326 ++++++++++-------- resources/campaigns/second_afghan_war.miz | Bin 33118 -> 0 bytes 3 files changed, 176 insertions(+), 150 deletions(-) create mode 100644 resources/campaigns/graveyard_of_empires.miz rename resources/campaigns/{second_afghan_war.yaml => graveyard_of_empires.yaml} (57%) delete mode 100644 resources/campaigns/second_afghan_war.miz diff --git a/resources/campaigns/graveyard_of_empires.miz b/resources/campaigns/graveyard_of_empires.miz new file mode 100644 index 0000000000000000000000000000000000000000..5b20713eb76e47528fe0990c2aa2e8ee0a87d1b7 GIT binary patch literal 53964 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 literal 0 HcmV?d00001 diff --git a/resources/campaigns/second_afghan_war.yaml b/resources/campaigns/graveyard_of_empires.yaml similarity index 57% rename from resources/campaigns/second_afghan_war.yaml rename to resources/campaigns/graveyard_of_empires.yaml index 6e24d827..7a9ebad9 100644 --- a/resources/campaigns/second_afghan_war.yaml +++ b/resources/campaigns/graveyard_of_empires.yaml @@ -1,150 +1,176 @@ ---- -name: Afghanistan - The Second Afghan War -theater: Afghanistan -authors: Starfire -recommended_player_faction: Bluefor Modern -recommended_enemy_faction: Redfor (Russia) 2010 -description: -

Meow

-miz: second_afghan_war.miz -performance: 1 -recommended_start_date: 2001-12-17 -version: "10.7" -settings: - hercules: true - squadron_start_full: true -squadrons: - #Kandahar - 7: - - primary: OCA/Runway - secondary: air-to-ground - aircraft: - - B-1B Lancer - size: 4 - - primary: Strike - secondary: air-to-ground - aircraft: - - B-52H Stratofortress - size: 4 - - primary: Transport - secondary: any - aircraft: - - C-130J-30 Super Hercules - - C-130 - size: 2 - - primary: Refueling - aircraft: - - KC-135 Stratotanker - size: 1 - - primary: Refueling - aircraft: - - KC-130J - - KC-130 - size: 1 - - primary: AEW&C - aircraft: - - E-3A - size: 2 - - primary: SEAD - secondary: any - aircraft: - - F/A-18C Hornet (Lot 20) - size: 12 - - primary: DEAD - secondary: any - aircraft: - - F-16CM Fighting Falcon (Block 50) - size: 16 - - primary: BAI - secondary: any - aircraft: - - F-15E Strike Eagle (Suite 4+) - size: 12 - - primary: Escort - secondary: any - aircraft: - - F-15C Eagle - size: 12 - # Kandahar Heliport - 15: - - primary: Air Assault - secondary: any - aircraft: - - UH-60A - size: 4 - - primary: Transport - secondary: any - aircraft: - - CH-47D - size: 4 - #Camp Bastion - 10: - - primary: BAI - secondary: air-to-ground - aircraft: - - AV-8B Harrier II Night Attack - size: 12 - - primary: CAS - secondary: air-to-ground - aircraft: - - A-10C Thunderbolt II (Suite 7) - size: 12 - #Camp Bastion Heliport - 13: - - primary: CAS - secondary: any - aircraft: - - AH-64D Apache Longbow - size: 8 - - primary: CAS - secondary: any - aircraft: - - OH-58D(R) Kiowa Warrior - size: 8 - #Shindand - 3: - - primary: BAI - secondary: air-to-ground - aircraft: - - Su-25T Frogfoot - size: 16 - - primary: TARCAP - secondary: air-to-air - aircraft: - - Su-27 Flanker-B - size: 12 - - primary: SEAD - secondary: air-to-ground - aircraft: - - Su-24M Fencer-D - size: 16 - #Shindand Heliport - 14: - - primary: Air Assault - secondary: any - aircraft: - - Mi-24P Hind-F - size: 4 - - primary: CAS - secondary: any - aircraft: - - Ka-50 Hokum III - - Ka-50 Hokum (Blackshark 3) - size: 4 - - primary: Transport - secondary: any - aircraft: - - Mi-8MTV2 Hip - size: 4 - #Herat - 1: - - primary: DEAD - secondary: air-to-ground - aircraft: - - Su-34 Fullback - size: 12 - - primary: Escort - secondary: air-to-air - aircraft: - - MiG-29S Fulcrum-C - size: 12 \ No newline at end of file +--- +name: Afghanistan - Graveyard of Empires +theater: Afghanistan +authors: Starfire +recommended_player_faction: Bluefor Modern +recommended_enemy_faction: Redfor (Russia) 2010 +description: +

Following the 9/11 attacks, the United States and its NATO allies launched a + full-scale invasion of Afghanistan to dismantle the Taliban regime and root out + Al-Qaeda. As the conflict progressed, Russia grew increasingly concerned that the + Western powers were using the War on Terror as a pretext for territorial expansion + in Central Asia. The Kremlin viewed NATO's growing presence in Afghanistan as a + direct threat to its sphere of influence and a potential encroachment on its + southern borders.

+

Shortly after the fall of Kandahar, which signalled the end of organised Taliban + control of Afghanistan, Russia and a coalition of its allies with historical ties + to the Soviet Union decided to intervene under the guise of protecting regional + stability and sovereignty. While Russia did not openly ally with the insurgents, + it covertly provided logistical support, intelligence, and military aid to + various anti-NATO factions within Afghanistan as part of a broader strategy to + prevent NATO forces from gaining a foothold in the region.

+

The conflict quickly escalated into a multi-faceted and very costly war. The + United States and its allies found themselves not only battling insurgents but + also facing direct confrontations with increasing numbers of conventional + Russian forces both in the air and on the ground. The ferocity of the war + underscored once more the peril of foreign intervention in this historically + unyielding land.

+miz: graveyard_of_empires.miz +performance: 1 +recommended_start_date: 2002-01-27 +version: "10.7" +settings: + hercules: true + squadron_start_full: true +squadrons: + #Kandahar + 7: + - primary: OCA/Runway + secondary: air-to-ground + aircraft: + - B-1B Lancer + size: 4 + - primary: Strike + secondary: air-to-ground + aircraft: + - B-52H Stratofortress + size: 4 + - primary: Transport + secondary: any + aircraft: + - C-130J-30 Super Hercules + - C-130 + size: 2 + - primary: Refueling + aircraft: + - KC-135 Stratotanker + size: 1 + - primary: AEW&C + aircraft: + - E-3A + size: 1 + - primary: DEAD + secondary: any + aircraft: + - F-16CM Fighting Falcon (Block 50) + size: 16 + - primary: BAI + secondary: any + aircraft: + - F-15E Strike Eagle (Suite 4+) + size: 8 + - primary: Escort + secondary: any + aircraft: + - F-15C Eagle + size: 16 + # Kandahar Heliport + 15: + - primary: Air Assault + secondary: any + aircraft: + - UH-60A + size: 4 + - primary: Transport + secondary: any + aircraft: + - CH-47D + size: 4 + #Camp Bastion + 10: + - primary: Refueling + aircraft: + - KC-130J + - KC-130 + size: 1 + - primary: SEAD + secondary: any + aircraft: + - F/A-18C Hornet (Lot 20) + size: 16 + - primary: SEAD Escort + secondary: air-to-ground + aircraft: + - AV-8B Harrier II Night Attack + size: 8 + - primary: CAS + secondary: air-to-ground + aircraft: + - A-10C Thunderbolt II (Suite 7) + size: 8 + #Camp Bastion Heliport + 13: + - primary: CAS + secondary: any + aircraft: + - AH-64D Apache Longbow + size: 4 + - primary: CAS + secondary: any + aircraft: + - OH-58D(R) Kiowa Warrior + size: 4 + #Shindand + 3: + - primary: BAI + secondary: air-to-ground + aircraft: + - Su-25T Frogfoot + size: 16 + - primary: TARCAP + secondary: air-to-air + aircraft: + - Su-27 Flanker-B + size: 12 + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-24M Fencer-D + size: 16 + #Shindand Heliport + 14: + - primary: Air Assault + secondary: any + aircraft: + - Mi-24P Hind-F + size: 4 + - primary: Transport + secondary: any + aircraft: + - Mi-8MTV2 Hip + size: 4 + #Herat + 1: + - primary: DEAD + secondary: air-to-ground + aircraft: + - Su-34 Fullback + size: 12 + - primary: Escort + secondary: air-to-air + aircraft: + - MiG-29S Fulcrum-C + size: 10 + - primary: SEAD Escort + secondary: any + aircraft: + - JF-17 Thunder + size: 8 + #Farah + 2: + - primary: CAS + secondary: any + aircraft: + - Ka-50 Hokum III + - Ka-50 Hokum (Blackshark 3) + size: 4 \ No newline at end of file diff --git a/resources/campaigns/second_afghan_war.miz b/resources/campaigns/second_afghan_war.miz deleted file mode 100644 index 2195d5de089cf22e81ec1c8734996de7f5565cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33118 zcmbTdV|1lW6E>P;VmlMtHYe7^HYTWiGnI@%}mr0$De0s?}C5 zpwygn5AW^=n&x<1p`mVJvREJOak{bb?(X4i|Ne5^A3esq(3uV^mfyX0zkd5Ln*4S;zG;04GphUK%?EgU zJXrK!NnhNNEzgR1rtV#N9$xFcHPpJ>TB6_2;(WXIvc0c#u+Q#Ha$hgLT1!fX$943nBVNphqnxm*5A_!HmAf@7=qBVRia zgc=?kJg#dldS10}A_`^sc=w9l7z4M`; z8J@YLy&ZnCzmz{j-&K?UCQ!)}d;6B@&2=5n-Q0a@xB@Z8m+|;^+xu$xVl;X_`PnEA zUOA@i{Pt{m*Pj2TyW-{iG;P^F*v#I`unyYACFCytJ6lue!FWcA&1@N|JoXe6H}7Mu;lF?)$}eyiOz4bD8Ph5L2xZrg*| z=&|MXKu62^l^PFz@|c?RK>Qm8LMSF`;idcAsim9_?Kv5X_>$FO(L-fcXKgh7h3c<4 z1ZRKe-s#PXcO%;-J!j3g2M>4bRoxA^&Zl)i|BKe``8%uU9CkETCv3+(H18COjTe>m zfYBLEowO!hy-5Jy`iuKiwug?_z|O98N5pyO_M-p#?(<^zRrvk+)@cyyeD-e^>1J-a zHE�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 Y?v|B+fc$d;^5d)j(JT8Or$9jd4`V=QjsO4v From 1752465c9b2b6e5472b5e03c0ca0322dd89174c1 Mon Sep 17 00:00:00 2001 From: ColonelAkirNakesh <93631947+ColonelAkirNakesh@users.noreply.github.com> Date: Thu, 18 Jul 2024 03:37:56 -0700 Subject: [PATCH 03/14] Add MRAP & new Abrams to USA 2005 (#367) * Update usa_2005.json Adjust spacing in some flyable aircraft (tabs vs spaces), Adds MRAP and new Abrams model Removes Hornet livery enforcement * Update usa_2005.json Adds MRAP, new Abrams, restores liveries --------- Co-authored-by: Raffson --- resources/factions/usa_2005.json | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/resources/factions/usa_2005.json b/resources/factions/usa_2005.json index cd0a3a19..138aee94 100644 --- a/resources/factions/usa_2005.json +++ b/resources/factions/usa_2005.json @@ -26,22 +26,22 @@ "F-15E Strike Eagle (AI)", "F-15E Strike Eagle (Suite 4+)", "F-16CM Fighting Falcon (Block 50)", - "F-16D Fighting Falcon (Block 52+)", - "F-16D Fighting Falcon (Block 52)", - "F-16D Fighting Falcon (Block 50+)", - "F-16D Fighting Falcon (Block 50)", + "F-16D Fighting Falcon (Block 52+)", + "F-16D Fighting Falcon (Block 52)", + "F-16D Fighting Falcon (Block 50+)", + "F-16D Fighting Falcon (Block 50)", "F-22A Raptor", "F/A-18C Hornet (Lot 20)", - "F/A-18E Super Hornet", - "F/A-18F Super Hornet", + "F/A-18E Super Hornet", + "F/A-18F Super Hornet", "EA-6B Prowler", - "EA-18G Growler", + "EA-18G Growler", "OH-58D(R) Kiowa Warrior", "S-3B Viking", "SH-60B Seahawk", "UH-1H Iroquois", - "UH-60A", - "UH-60L" + "UH-60A", + "UH-60L" ], "awacs": [ "E-2C Hawkeye", @@ -56,6 +56,8 @@ "F/A-18E Tanker" ], "frontline_units": [ + "MBT M1A2C SEP v3 Abrams", + "APC MRAP MaxxPro", "LAV-25", "M1043 HMMWV (M2 HMG)", "M1045 HMMWV (BGM-71 TOW)", @@ -135,4 +137,4 @@ "VMFA-323" ] } -} \ No newline at end of file +} From 319b2f768a16eb9600d2847f4fca9fbb94486056 Mon Sep 17 00:00:00 2001 From: Raffson Date: Thu, 18 Jul 2024 13:05:16 +0200 Subject: [PATCH 04/14] Forgot to remove copy during renaming --- pydcs_extensions/a4ec/a4ec.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pydcs_extensions/a4ec/a4ec.py b/pydcs_extensions/a4ec/a4ec.py index 515eff43..c855ce87 100644 --- a/pydcs_extensions/a4ec/a4ec.py +++ b/pydcs_extensions/a4ec/a4ec.py @@ -957,7 +957,6 @@ class A_4E_C(PlaneType): LAU_68_pod___7_x_2_75_Hydra__UnGd_Rkts_M274__Practice_Smk = ( 1, Weapons.LAU_68___7_x_UnGd_Rkts__70_mm_Hydra_70_M274_TP_SM, - Weapons.LAU_68___7_x_UnGd_Rkts__70_mm_Hydra_70_M274_TP_SM, ) LAU_68_pod___7_x_2_75_Hydra__UnGd_Rkts_Mk1__Practice = ( 1, From 9b5441452572913732a44143d8333e5285d85a14 Mon Sep 17 00:00:00 2001 From: Raffson Date: Thu, 18 Jul 2024 18:56:59 +0200 Subject: [PATCH 05/14] Update MIST to 4.5.126 --- .../{mist_4_5_122.lua => mist_4_5_126.lua} | 149 +++++++++++------- resources/plugins/base/plugin.json | 2 +- 2 files changed, 89 insertions(+), 62 deletions(-) rename resources/plugins/base/{mist_4_5_122.lua => mist_4_5_126.lua} (99%) diff --git a/resources/plugins/base/mist_4_5_122.lua b/resources/plugins/base/mist_4_5_126.lua similarity index 99% rename from resources/plugins/base/mist_4_5_122.lua rename to resources/plugins/base/mist_4_5_126.lua index 97b656fb..e7730782 100644 --- a/resources/plugins/base/mist_4_5_122.lua +++ b/resources/plugins/base/mist_4_5_126.lua @@ -35,7 +35,7 @@ mist = {} -- don't change these mist.majorVersion = 4 mist.minorVersion = 5 -mist.build = 122 +mist.build = 125 -- forward declaration of log shorthand local log @@ -695,7 +695,6 @@ do -- the main scope ["FARP"] = "farps", ["Fueltank"] = "fueltank_cargo", ["Gate"] = "gate", - ["FARP Fuel Depot"] = "gsm rus", ["Armed house"] = "home1_a", ["FARP Command Post"] = "kp-ug", ["Watch Tower Armed"] = "ohr-vyshka", @@ -704,7 +703,6 @@ do -- the main scope ["Pipes big"] = "pipes_big_cargo", ["Oil platform"] = "plavbaza", ["Tetrapod"] = "tetrapod_cargo", - ["Fuel tank"] = "toplivo", ["Trunks long"] = "trunks_long_cargo", ["Trunks small"] = "trunks_small_cargo", ["Passenger liner"] = "yastrebow", @@ -1152,6 +1150,7 @@ do -- the main scope end end end + --dbLog:warn(newTable) --mist.debug.writeData(mist.utils.serialize,{'msg', newTable}, timer.getAbsTime() ..'Group.lua') newTable.timeAdded = timer.getAbsTime() -- only on the dynGroupsAdded table. For other reference, see start time --mist.debug.dumpDBs() @@ -1493,7 +1492,7 @@ do -- the main scope task.t = timer.getTime() + task.rep --schedule next run local err, errmsg = pcall(task.f, unpack(task.vars, 1, table.maxn(task.vars))) if not err then - log:error('Error in scheduled function: $1' .. errmsg) + log:error('Error in scheduled function: $1', errmsg) end --scheduledTasks[i].f(unpack(scheduledTasks[i].vars, 1, table.maxn(scheduledTasks[i].vars))) -- do the task i = i + 1 @@ -1519,7 +1518,7 @@ do -- the main scope id = tostring(original_id) .. ' #' .. tostring(id_ind) id_ind = id_ind + 1 end - + local valid if mist.DBs.aliveUnits and mist.DBs.aliveUnits[val.object.id_] then --log:info('object found in alive_units') val.objectData = mist.utils.deepCopy(mist.DBs.aliveUnits[val.object.id_]) @@ -1532,6 +1531,7 @@ do -- the main scope --trigger.action.outText('remove via death: ' .. Unit.getName(val.object),20) mist.DBs.activeHumans[Unit.getName(val.object)] = nil end]] + valid = true elseif mist.DBs.removedAliveUnits and mist.DBs.removedAliveUnits[val.object.id_] then -- it didn't exist in alive_units, check old_alive_units --log:info('object found in old_alive_units') val.objectData = mist.utils.deepCopy(mist.DBs.removedAliveUnits[val.object.id_]) @@ -1540,32 +1540,37 @@ do -- the main scope val.objectPos = pos.p end val.objectType = mist.DBs.removedAliveUnits[val.object.id_].category - + valid = true else --attempt to determine if static object... --log:info('object not found in alive units or old alive units') - local pos = Object.getPosition(val.object) - if pos then - local static_found = false - for ind, static in pairs(mist.DBs.unitsByCat.static) do - if ((pos.p.x - static.point.x)^2 + (pos.p.z - static.point.y)^2)^0.5 < 0.1 then --really, it should be zero... - --log:info('correlated dead static object to position') - val.objectData = static - val.objectPos = pos.p - val.objectType = 'static' - static_found = true - break + if Object.isExist(val.object) then + local pos = Object.getPosition(val.object) + if pos then + local static_found = false + for ind, static in pairs(mist.DBs.unitsByCat.static) do + if ((pos.p.x - static.point.x)^2 + (pos.p.z - static.point.y)^2)^0.5 < 0.1 then --really, it should be zero... + --log:info('correlated dead static object to position') + val.objectData = static + val.objectPos = pos.p + val.objectType = 'static' + static_found = true + break + end end + if not static_found then + val.objectPos = pos.p + val.objectType = 'building' + val.typeName = Object.getTypeName(val.object) + end + else + val.objectType = 'unknown' end - if not static_found then - val.objectPos = pos.p - val.objectType = 'building' - val.typeName = Object.getTypeName(val.object) - end - else - val.objectType = 'unknown' + valid = true end end - mist.DBs.deadObjects[id] = val + if valid then + mist.DBs.deadObjects[id] = val + end end end end @@ -2019,7 +2024,7 @@ do -- the main scope end end - --mist.debug.writeData(mist.utils.serialize,{'msg', newGroup}, 'newGroupPushedToAddGroup.lua') + --mist.debug.writeData(mist.utils.serialize,{'msg', newGroup}, newGroup.name ..'.lua') --log:warn(newGroup) -- sanitize table newGroup.groupName = nil @@ -3560,7 +3565,7 @@ function mist.getUnitsInMovingZones(unit_names, zone_unit_names, radius, zone_ty end function mist.getUnitsLOS(unitset1, altoffset1, unitset2, altoffset2, radius) - log:info("$1, $2, $3, $4, $5", unitset1, altoffset1, unitset2, altoffset2, radius) + --log:info("$1, $2, $3, $4, $5", unitset1, altoffset1, unitset2, altoffset2, radius) radius = radius or math.huge local unit_info1 = {} local unit_info2 = {} @@ -3568,21 +3573,25 @@ function mist.getUnitsLOS(unitset1, altoffset1, unitset2, altoffset2, radius) -- get the positions all in one step, saves execution time. for unitset1_ind = 1, #unitset1 do local unit1 = Unit.getByName(unitset1[unitset1_ind]) - local lCat = Object.getCategory(unit1) - if unit1 and ((lCat == 1 and unit1:isActive()) or lCat ~= 1) and unit:isExist() == true then - unit_info1[#unit_info1 + 1] = {} - unit_info1[#unit_info1].unit = unit1 - unit_info1[#unit_info1].pos = unit1:getPosition().p + if unit1 then + local lCat = Object.getCategory(unit1) + if ((lCat == 1 and unit1:isActive()) or lCat ~= 1) and unit1:isExist() == true then + unit_info1[#unit_info1 + 1] = {} + unit_info1[#unit_info1].unit = unit1 + unit_info1[#unit_info1].pos = unit1:getPosition().p + end end end for unitset2_ind = 1, #unitset2 do local unit2 = Unit.getByName(unitset2[unitset2_ind]) - local lCat = Object.getCategory(unit2) - if unit2 and ((lCat == 1 and unit2:isActive()) or lCat ~= 1) and unit:isExist() == true then - unit_info2[#unit_info2 + 1] = {} - unit_info2[#unit_info2].unit = unit2 - unit_info2[#unit_info2].pos = unit2:getPosition().p + if unit2 then + local lCat = Object.getCategory(unit2) + if ((lCat == 1 and unit2:isActive()) or lCat ~= 1) and unit2:isExist() == true then + unit_info2[#unit_info2 + 1] = {} + unit_info2[#unit_info2].unit = unit2 + unit_info2[#unit_info2].pos = unit2:getPosition().p + end end end @@ -4012,13 +4021,14 @@ do -- group functions scope if Group.getByName(gpName) and Group.getByName(gpName):isExist() == true then local newGroup = Group.getByName(gpName) - local newData = {} + local newData = mist.utils.deepCopy(dbData) newData.name = gpName newData.groupId = tonumber(newGroup:getID()) newData.category = newGroup:getCategory() newData.groupName = gpName newData.hidden = dbData.hidden - + + if newData.category == 2 then newData.category = 'vehicle' elseif newData.category == 3 then @@ -5193,7 +5203,8 @@ do -- mist.util scope function mist.utils.getHeadingPoints(point1, point2, north) -- sick of writing this out. if north then - return mist.utils.getDir(mist.vec.sub(mist.utils.makeVec3(point2), mist.utils.makeVec3(point1)), (mist.utils.makeVec3(point1))) + local p1 = mist.utils.get3DDist(point1) + return mist.utils.getDir(mist.vec.sub(mist.utils.makeVec3(point2), p1), p1) else return mist.utils.getDir(mist.vec.sub(mist.utils.makeVec3(point2), mist.utils.makeVec3(point1))) end @@ -5837,8 +5848,8 @@ do -- mist.debug scope log:alert('insufficient libraries to run mist.debug.dump_G, you must disable the sanitization of the io and lfs libraries in ./Scripts/MissionScripting.lua') --trigger.action.outText(errmsg, 10) end - end + end --- Write debug data to file. -- This function requires you to disable script sanitization -- in $DCS_ROOT\Scripts\MissionScripting.lua to access lfs and io @@ -7653,7 +7664,10 @@ do --log:warn(s) if type(s) == 'table' then local mType = s.markType - if mType == 'panel' then + --log:echo(s) + + if mType == 'panel' then + local markScope = s.markScope or "all" if markScope == 'coa' then trigger.action.markToCoalition(s.markId, s.text, s.pos, s.markFor, s.readOnly) elseif markScope == 'group' then @@ -7711,10 +7725,15 @@ do local function validateColor(val) if type(val) == 'table' then - for i = 1, #val do - if type(val[i]) == 'number' and val[i] > 1 then - val[i] = val[i]/255 -- convert RGB values from 0-255 to 0-1 equivilent. - end + for i = 1, 4 do + if val[i] then + if type(val[i]) == 'number' and val[i] > 1 then + val[i] = val[i]/255 -- convert RGB values from 0-255 to 0-1 equivilent. + end + else + val[i] = 0.8 + log:warn("index $1 of color to mist.marker.add was missing, defaulted to 0.8", i) + end end elseif type(val) == 'string' then val = mist.utils.hexToRGB(val) @@ -7755,7 +7774,7 @@ do --log:info('create maker DB: $1', e.idx) mist.DBs.markList[e.idx] = {time = e.time, pos = e.pos, groupId = e.groupId, mType = 'panel', text = e.text, markId = e.idx, coalition = e.coalition} if e.unit then - mist.DBs.markList[e.idx].unit = e.intiator:getName() + mist.DBs.markList[e.idx].unit = e.initiator:getName() end --log:info(mist.marker.list[e.idx]) end @@ -7778,7 +7797,7 @@ do else for mEntry, mData in pairs(mist.DBs.markList) do if id == mData.name or id == mData.id then - return mData.id + return mData.markId end end end @@ -7788,11 +7807,16 @@ do local function removeMark(id) - --log:info("Removing Mark: $1", id + --log:info("Removing Mark: $1", id) local removed = false if type(id) == 'table' then for ind, val in pairs(id) do - local r = getMarkId(val) + local r + if val.markId then + r = val.markId + else + r = getMarkId(val) + end if r then trigger.action.removeMark(r) mist.DBs.markList[r] = nil @@ -7802,9 +7826,11 @@ do else local r = getMarkId(id) - trigger.action.removeMark(r) - mist.DBs.markList[r] = nil - removed = true + if r then + trigger.action.removeMark(r) + mist.DBs.markList[r] = nil + removed = true + end end return removed end @@ -7926,6 +7952,7 @@ do if markForCoa then if type(markForCoa) == 'string' then + --log:warn("coa is string") if tonumber(markForCoa) then coa = coas[tonumber(markForCoa)] markScope = 'coa' @@ -7940,11 +7967,10 @@ do end elseif type(markForCoa) == 'number' and markForCoa >=-1 and markForCoa <= #coas then coa = markForCoa - markScore = 'coa' + --log:warn("coa is number") + markScope = 'coa' end - - - + markFor = coa elseif markFor then if type(markFor) == 'number' then -- groupId if mist.DBs.groupsById[markFor] then @@ -8053,7 +8079,7 @@ do end for i = 1, #markForTable do local newId = iterate() - local data = {markId = newId, text = text, pos = pos[i], markFor = markForTable[i], markType = 'panel', name = name, readOnly = readOnly, time = timer.getTime()} + local data = {markId = newId, text = text, pos = pos[i], markScope = markScope, markFor = markForTable[i], markType = 'panel', name = name, readOnly = readOnly, time = timer.getTime()} mist.DBs.markList[newId] = data table.insert(list, data) @@ -8177,6 +8203,7 @@ do end function mist.marker.remove(id) + return removeMark(id) end @@ -8967,8 +8994,8 @@ do -- group tasks scope minR = mist.utils.get2DDist(avg, zone[i]) end end - --log:warn('Radius: $1', radius) --log:warn('minR: $1', minR) + --log:warn('Radius: $1', radius) local lSpawnPos = {} for j = 1, 100 do newCoord = mist.getRandPointInCircle(avg, radius) @@ -9200,7 +9227,7 @@ do -- group tasks scope function mist.groupIsDead(groupName) -- copy more or less from on station local gp = Group.getByName(groupName) if gp then - if #gp:getUnits() > 0 or gp:isExist() == true then + if #gp:getUnits() > 0 and gp:isExist() == true then return false end end @@ -9503,4 +9530,4 @@ end mist.init() env.info(('Mist version ' .. mist.majorVersion .. '.' .. mist.minorVersion .. '.' .. mist.build .. ' loaded.')) --- vim: noet:ts=2:sw=2 +-- vim: noet:ts=2:sw=2 \ No newline at end of file diff --git a/resources/plugins/base/plugin.json b/resources/plugins/base/plugin.json index ebb93361..ae42f463 100644 --- a/resources/plugins/base/plugin.json +++ b/resources/plugins/base/plugin.json @@ -5,7 +5,7 @@ "specificOptions": [], "scriptsWorkOrders": [ { - "file": "mist_4_5_122.lua", + "file": "mist_4_5_126.lua", "mnemonic": "mist" }, { From eb841f1bf4a0540d59cc9e4fee0f951457e7abd5 Mon Sep 17 00:00:00 2001 From: Raffson Date: Fri, 19 Jul 2024 16:32:28 +0200 Subject: [PATCH 06/14] Update MiG-21bis radios --- game/radio/radios.py | 8 +++++++- resources/units/aircraft/MiG-21Bis.yaml | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/game/radio/radios.py b/game/radio/radios.py index d1197a1c..83d695d9 100644 --- a/game/radio/radios.py +++ b/game/radio/radios.py @@ -238,7 +238,13 @@ RADIOS: List[Radio] = [ # MiG-19P Radio("RSIU-4V", (RadioRange(MHz(100), MHz(150), kHz(25), Modulation.AM),)), # MiG-21bis - Radio("RSIU-5V", (RadioRange(MHz(118), MHz(140), kHz(25), Modulation.AM),)), + Radio( + "R-832", + ( + RadioRange(MHz(118), MHz(140), kHz(100), Modulation.AM), + RadioRange(MHz(220), MHz(390), kHz(100), Modulation.AM), + ), + ), # Ka-50 # Note: Also capable of 100MHz-150MHz, but we can't model gaps. Radio("R-800L1", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)), diff --git a/resources/units/aircraft/MiG-21Bis.yaml b/resources/units/aircraft/MiG-21Bis.yaml index 46cf6e3d..2ec9eb4c 100644 --- a/resources/units/aircraft/MiG-21Bis.yaml +++ b/resources/units/aircraft/MiG-21Bis.yaml @@ -20,8 +20,8 @@ variants: origin: China MiG-21bis Fishbed-N: {} radios: - intra_flight: RSIU-5V - inter_flight: RSIU-5V + intra_flight: R-832 + inter_flight: R-832 channels: type: common namer: single From 75dd67a14504cd6b60188b1a974c6ed247560408 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 00:17:16 +0200 Subject: [PATCH 07/14] Update pydcs - coldAttStart support - support for dynamic slots/cargo --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 56de0454..051b3a16 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,7 +33,7 @@ pluggy==1.5.0 pre-commit==3.7.1 pydantic==2.7.4 pydantic-settings==2.3.3 -pydcs @ git+https://github.com/dcs-retribution/pydcs@800d8fd887a20ecbe811f9c9bde8f1648fea5588 +pydcs @ git+https://github.com/dcs-retribution/pydcs@f24b9fa1355e2324f2414ab19a6df98613974b43 pyinstaller==5.13.2 pyinstaller-hooks-contrib==2024.0 pyparsing==3.1.2 From 0d56c271df068a111ba1468cb49aa33591d2ee3c Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 00:54:45 +0200 Subject: [PATCH 08/14] Serialize warehouses & support for dynamic slots/cargo --- game/missiongenerator/missiongenerator.py | 33 ++++++++++++++++++++++- game/missiongenerator/tgogenerator.py | 9 +++++++ game/settings/settings.py | 28 +++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) diff --git a/game/missiongenerator/missiongenerator.py b/game/missiongenerator/missiongenerator.py index ce13a695..5f40caca 100644 --- a/game/missiongenerator/missiongenerator.py +++ b/game/missiongenerator/missiongenerator.py @@ -10,6 +10,8 @@ from dcs import Mission, Point from dcs.coalition import Coalition from dcs.countries import country_dict from dcs.task import OptReactOnThreat +from dcs.terrain import Airport +from dcs.unit import Static from game.atcdata import AtcData from game.dcs.beacons import Beacons @@ -112,8 +114,8 @@ class MissionGenerator: self.notify_info_generators() - # TODO: Shouldn't this be first? namegen.reset_numbers() + self.generate_warehouses() self.mission.save(output) return self.unit_map @@ -347,3 +349,32 @@ class MissionGenerator: self.mission.groundControl.blue_tactical_commander = commanders self.mission.groundControl.blue_jtac = settings.jtac_count self.mission.groundControl.blue_observer = settings.observer_count + + def generate_warehouses(self) -> None: + settings = self.game.settings + for tmu in self.unit_map.theater_objects.values(): + if ( + tmu.theater_unit.is_ship + or + isinstance(tmu.dcs_unit, Static) + and tmu.dcs_unit.category in ["Warehouses", "Heliports"] + ): + # We'll serialize more than is actually necessary + # DCS will filter out warehouses as dynamic spawns so no need to worry there + # thus, if we serialize a ship as a warehouse that's not supported, DCS will filter it out + warehouse = Airport( + tmu.theater_unit.position, + self.mission.terrain, + ).dict() + warehouse["coalition"] = "blue" if tmu.theater_unit.ground_object.coalition.player else "red" + warehouse["dynamicCargo"] = settings.dynamic_cargo + if tmu.theater_unit.is_ship or tmu.dcs_unit.category == "Heliports": # type: ignore + warehouse["dynamicSpawn"] = settings.dynamic_slots + warehouse["allowHotStart"] = settings.dynamic_slots_hot + self.mission.warehouses.warehouses[tmu.dcs_unit.id] = warehouse + + # configure dynamic spawn, hot start of DS & dynamic cargo for airfields + for ap in self.mission.terrain.airports.values(): + ap.dynamic_spawn = settings.dynamic_slots + ap.allow_hot_start = settings.dynamic_slots_hot + ap.dynamic_cargo = settings.dynamic_cargo diff --git a/game/missiongenerator/tgogenerator.py b/game/missiongenerator/tgogenerator.py index d8f2c550..55a9b2df 100644 --- a/game/missiongenerator/tgogenerator.py +++ b/game/missiongenerator/tgogenerator.py @@ -38,6 +38,7 @@ from dcs.task import ( FireAtPoint, OptAlarmState, ) +from dcs.terrain import Airport from dcs.translation import String from dcs.triggers import ( Event, @@ -843,6 +844,14 @@ class HelipadGenerator: else: self.helipads.append(sg) + warehouse = Airport( + pad.position, + self.m.terrain, + ).dict() + warehouse["coalition"] = "blue" if self.cp.coalition.player else "red" + # configure dynamic spawn + hot start of DS, plus dynamic cargo? + self.m.warehouses.warehouses[pad.id] = warehouse + # Generate a FARP Ammo and Fuel stack for each pad self.m.static_group( country=country, diff --git a/game/settings/settings.py b/game/settings/settings.py index 2a14c151..eb991265 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -893,6 +893,34 @@ class Settings: " and reapplied at split/racetrack end for applicable flights. " ), ) + dynamic_slots: bool = boolean_option( + "Dynamic slots", + MISSION_GENERATOR_PAGE, + GAMEPLAY_SECTION, + default=False, + detail=( + "Enables dynamic slots. Please note that losses from dynamic slots won't be registered." + ), + ) + dynamic_slots_hot: bool = boolean_option( + "Allow dynamic slot hot start", + MISSION_GENERATOR_PAGE, + GAMEPLAY_SECTION, + default=True, + detail=( + "Enables hot start for dynamic slots." + ), + ) + dynamic_cargo: bool = boolean_option( + "Dynamic cargo", + MISSION_GENERATOR_PAGE, + GAMEPLAY_SECTION, + default=True, + detail=( + "Enables dynamic cargo for airfields, ships, FARPs & warehouses." + ), + ) + # Performance perf_smoke_gen: bool = boolean_option( From 141fc642d5e4e645a893c8eb1653d818c6f6a6d0 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 01:25:36 +0200 Subject: [PATCH 09/14] Fix Anti-Ship being planned against original location --- game/ato/flightplans/waypointbuilder.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/game/ato/flightplans/waypointbuilder.py b/game/ato/flightplans/waypointbuilder.py index a9be6ee5..91966afd 100644 --- a/game/ato/flightplans/waypointbuilder.py +++ b/game/ato/flightplans/waypointbuilder.py @@ -323,7 +323,9 @@ class WaypointBuilder: return FlightWaypoint( target.name, FlightWaypointType.TARGET_POINT, - target.target.position, + target.target.ground_object.position + if isinstance(target.target, (TheaterGroup, TheaterUnit)) + else target.target.position, meters(0), "RADIO", description=description, From dc2d541b5010dd90d245d6006822e871387ca7a7 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 01:26:20 +0200 Subject: [PATCH 10/14] Formatting -_- --- game/missiongenerator/missiongenerator.py | 7 ++++--- game/settings/settings.py | 9 ++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/game/missiongenerator/missiongenerator.py b/game/missiongenerator/missiongenerator.py index 5f40caca..3426d8bc 100644 --- a/game/missiongenerator/missiongenerator.py +++ b/game/missiongenerator/missiongenerator.py @@ -355,8 +355,7 @@ class MissionGenerator: for tmu in self.unit_map.theater_objects.values(): if ( tmu.theater_unit.is_ship - or - isinstance(tmu.dcs_unit, Static) + or isinstance(tmu.dcs_unit, Static) and tmu.dcs_unit.category in ["Warehouses", "Heliports"] ): # We'll serialize more than is actually necessary @@ -366,7 +365,9 @@ class MissionGenerator: tmu.theater_unit.position, self.mission.terrain, ).dict() - warehouse["coalition"] = "blue" if tmu.theater_unit.ground_object.coalition.player else "red" + warehouse["coalition"] = ( + "blue" if tmu.theater_unit.ground_object.coalition.player else "red" + ) warehouse["dynamicCargo"] = settings.dynamic_cargo if tmu.theater_unit.is_ship or tmu.dcs_unit.category == "Heliports": # type: ignore warehouse["dynamicSpawn"] = settings.dynamic_slots diff --git a/game/settings/settings.py b/game/settings/settings.py index eb991265..74a88777 100644 --- a/game/settings/settings.py +++ b/game/settings/settings.py @@ -907,21 +907,16 @@ class Settings: MISSION_GENERATOR_PAGE, GAMEPLAY_SECTION, default=True, - detail=( - "Enables hot start for dynamic slots." - ), + detail=("Enables hot start for dynamic slots."), ) dynamic_cargo: bool = boolean_option( "Dynamic cargo", MISSION_GENERATOR_PAGE, GAMEPLAY_SECTION, default=True, - detail=( - "Enables dynamic cargo for airfields, ships, FARPs & warehouses." - ), + detail=("Enables dynamic cargo for airfields, ships, FARPs & warehouses."), ) - # Performance perf_smoke_gen: bool = boolean_option( "Smoke visual effect on the front line", From 6702a91802f12e09211e55d7c2970e26e25e3ccb Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 02:12:06 +0200 Subject: [PATCH 11/14] Show airfields in AWCD regardless of runway state --- qt_ui/windows/AirWingConfigurationDialog.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qt_ui/windows/AirWingConfigurationDialog.py b/qt_ui/windows/AirWingConfigurationDialog.py index 9765fea4..9f2b9dc1 100644 --- a/qt_ui/windows/AirWingConfigurationDialog.py +++ b/qt_ui/windows/AirWingConfigurationDialog.py @@ -45,7 +45,7 @@ from game.dcs.aircrafttype import AircraftType from game.persistency import airwing_dir from game.squadrons import AirWing, Pilot, Squadron from game.squadrons.squadrondef import SquadronDef -from game.theater import ControlPoint, ParkingType +from game.theater import ControlPoint, ParkingType, Airfield from qt_ui.uiconstants import AIRCRAFT_ICONS, ICONS from qt_ui.widgets.combos.QSquadronLiverySelector import SquadronLiverySelector from qt_ui.widgets.combos.primarytaskselector import PrimaryTaskSelector @@ -127,7 +127,9 @@ class SquadronBaseSelector(QComboBox): self.clear() if aircraft_type: for base in self.bases: - if not base.can_operate(aircraft_type): + if not base.can_operate(aircraft_type) and not isinstance( + base, Airfield + ): continue self.addItem(base.name, base) self.model().sort(0) From 6194ec730113f826edcf173ec150627ae487ad1f Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 02:26:46 +0200 Subject: [PATCH 12/14] Move import outside of TYPE_CHECKING --- game/ato/flightplans/waypointbuilder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/ato/flightplans/waypointbuilder.py b/game/ato/flightplans/waypointbuilder.py index 91966afd..74b1bc8d 100644 --- a/game/ato/flightplans/waypointbuilder.py +++ b/game/ato/flightplans/waypointbuilder.py @@ -24,13 +24,13 @@ from game.theater import ( TheaterGroundObject, TheaterUnit, ) +from game.theater.theatergroup import TheaterGroup from game.utils import Distance, meters, nautical_miles, feet AGL_TRANSITION_ALT = 5000 if TYPE_CHECKING: from game.transfers import MultiGroupTransport - from game.theater.theatergroup import TheaterGroup from game.ato.flight import Flight From 7d898f8b483469cfbce9dcf8f34caaaca4219b75 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 02:50:06 +0200 Subject: [PATCH 13/14] Account for free heli slots & ground spawns for airfields --- qt_ui/windows/SquadronDialog.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qt_ui/windows/SquadronDialog.py b/qt_ui/windows/SquadronDialog.py index 98a25f6d..98ac5b40 100644 --- a/qt_ui/windows/SquadronDialog.py +++ b/qt_ui/windows/SquadronDialog.py @@ -215,7 +215,11 @@ class SquadronDestinationComboBox(QComboBox): f"Consider moving these squadrons to different airfield " "to avoid possible air-starts.", ) - return len(ap.free_parking_slots(dcs_unit_type)) + return ( + len(ap.free_parking_slots(dcs_unit_type)) + + free_helicopter_slots + + free_ground_spawns + ) else: parking_type = ParkingType().from_aircraft( next(AircraftType.for_dcs_type(dcs_unit_type)), From 44daa002ab73377fd7f0f01c076768449c6f5239 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sat, 20 Jul 2024 14:17:55 +0200 Subject: [PATCH 14/14] Fix bug in pydcs --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 051b3a16..537895b0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,7 +33,7 @@ pluggy==1.5.0 pre-commit==3.7.1 pydantic==2.7.4 pydantic-settings==2.3.3 -pydcs @ git+https://github.com/dcs-retribution/pydcs@f24b9fa1355e2324f2414ab19a6df98613974b43 +pydcs @ git+https://github.com/dcs-retribution/pydcs@987dadca2faa9e4b7ce10a4c3fcb935b1bc8e91b pyinstaller==5.13.2 pyinstaller-hooks-contrib==2024.0 pyparsing==3.1.2