From 1d4b0608de27c3f436d423f13967a903290ea73a Mon Sep 17 00:00:00 2001 From: Druss99 <42724070+Druss99@users.noreply.github.com> Date: Sun, 26 Jan 2025 09:54:58 -0500 Subject: [PATCH] Update swedish military assets pack (#464) * Update swedish military assets pack * re add old variant names for save compat * Update faction.py fixed presets * fix double variant name --- game/data/radar_db.py | 26 + game/factions/faction.py | 48 +- game/pretense/pretensetgogenerator.py | 9 +- .../swedishmilitaryassetspack.py | 788 +++++++++++++----- qt_ui/uiconstants.py | 2 + resources/customized_payloads/CH_JAS39C.lua | 434 ++++++++++ resources/factions/blufor_current.json | 46 +- resources/factions/sweden_1997.json | 42 +- resources/factions/sweden_2002.json | 7 +- resources/factions/sweden_2020.json | 49 +- resources/groups/LvS-103_Rb103A.yaml | 10 +- resources/groups/LvS-103_Rb103A_Mobile.yaml | 10 +- resources/groups/LvS-103_Rb103B.yaml | 8 +- resources/groups/LvS-103_Rb103B_Mobile.yaml | 8 +- resources/groups/RBS-15.yaml | 4 +- resources/groups/RBS-70.yaml | 5 +- resources/groups/RBS-90.yaml | 5 +- resources/groups/RBS-98.yaml | 4 +- .../layouts/anti_air/LvS-103B_Battery.yaml | 4 + .../anti_air/LvS-103B_Mobile_Battery.yaml | 4 + .../ui/units/aircrafts/banners/CH_JAS39C.jpg | Bin 0 -> 31502 bytes .../ui/units/aircrafts/banners/HKP15B.jpg | Bin 0 -> 32903 bytes .../ui/units/aircrafts/icons/CH_JAS39C.jpg | Bin 0 -> 892 bytes resources/ui/units/aircrafts/icons/HKP15B.jpg | Bin 0 -> 1099 bytes resources/units/aircraft/CH_JAS39C.yaml | 26 + resources/units/aircraft/HKP15B.yaml | 15 + resources/units/ground_units/AG-90.yaml | 1 + ...tem08.yaml => Artillerisystem08_M982.yaml} | 1 + .../Artillerisystem08_SGR77B.yaml | 13 + resources/units/ground_units/BV410_RBS70.yaml | 14 - resources/units/ground_units/BV410_RBS90.yaml | 15 - .../{BV410.yaml => CH_BVS10.yaml} | 1 + resources/units/ground_units/CH_CV9050.yaml | 11 + resources/units/ground_units/CH_Ikv91.yaml | 12 + resources/units/ground_units/CH_SisuGTP.yaml | 11 + .../units/ground_units/CH_Strf9040C.yaml | 11 + resources/units/ground_units/CH_Strv122.yaml | 13 + resources/units/ground_units/CH_Strv123.yaml | 13 + resources/units/ground_units/CV9040.yaml | 1 + resources/units/ground_units/Grkpbv90.yaml | 1 + resources/units/ground_units/LvKv9040.yaml | 1 + .../units/ground_units/LvS-103_Elverk103.yaml | 1 + .../LvS-103_Lavett103_HX_Rb103A.yaml | 1 + .../LvS-103_Lavett103_HX_Rb103B.yaml | 1 + .../LvS-103_Lavett103_Rb103A.yaml | 1 + .../LvS-103_Lavett103_Rb103B.yaml | 1 + .../units/ground_units/LvS-103_PM103.yaml | 1 + .../units/ground_units/LvS-103_PM103_HX.yaml | 1 + .../units/ground_units/LvS-103_StriE103.yaml | 1 + resources/units/ground_units/RBS-15KA.yaml | 3 +- resources/units/ground_units/RBS-57.yaml | 1 + resources/units/ground_units/RBS-58.yaml | 1 + resources/units/ground_units/RBS-70.yaml | 1 + resources/units/ground_units/RBS-90.yaml | 3 +- resources/units/ground_units/RBS-98.yaml | 1 + resources/units/ground_units/Strv103.yaml | 1 + resources/units/ground_units/Strv2000.yaml | 1 + .../ground_units/SwedishinfantryAK4.yaml | 3 +- .../ground_units/SwedishinfantryAK5.yaml | 3 +- .../ground_units/SwedishinfantryAK5GT.yaml | 1 + .../ground_units/SwedishinfantryKSP58.yaml | 1 + .../ground_units/SwedishinfantryKSP90.yaml | 1 + .../ground_units/SwedishinfantryPskott86.yaml | 1 + resources/units/ground_units/UndE23.yaml | 3 +- resources/units/ground_units/Volvo740.yaml | 3 +- resources/units/ships/HSwMS_Visby.yaml | 3 +- resources/units/ships/Strb90.yaml | 3 +- 67 files changed, 1365 insertions(+), 350 deletions(-) create mode 100644 resources/customized_payloads/CH_JAS39C.lua create mode 100644 resources/ui/units/aircrafts/banners/CH_JAS39C.jpg create mode 100644 resources/ui/units/aircrafts/banners/HKP15B.jpg create mode 100644 resources/ui/units/aircrafts/icons/CH_JAS39C.jpg create mode 100644 resources/ui/units/aircrafts/icons/HKP15B.jpg create mode 100644 resources/units/aircraft/CH_JAS39C.yaml create mode 100644 resources/units/aircraft/HKP15B.yaml rename resources/units/ground_units/{Artillerisystem08.yaml => Artillerisystem08_M982.yaml} (92%) create mode 100644 resources/units/ground_units/Artillerisystem08_SGR77B.yaml delete mode 100644 resources/units/ground_units/BV410_RBS70.yaml delete mode 100644 resources/units/ground_units/BV410_RBS90.yaml rename resources/units/ground_units/{BV410.yaml => CH_BVS10.yaml} (90%) create mode 100644 resources/units/ground_units/CH_CV9050.yaml create mode 100644 resources/units/ground_units/CH_Ikv91.yaml create mode 100644 resources/units/ground_units/CH_SisuGTP.yaml create mode 100644 resources/units/ground_units/CH_Strf9040C.yaml create mode 100644 resources/units/ground_units/CH_Strv122.yaml create mode 100644 resources/units/ground_units/CH_Strv123.yaml diff --git a/game/data/radar_db.py b/game/data/radar_db.py index 2e10ee8e..ab44c6b1 100644 --- a/game/data/radar_db.py +++ b/game/data/radar_db.py @@ -27,6 +27,7 @@ from pydcs_extensions import highdigitsams as hds from pydcs_extensions import vietnamwarvessels as vwv from pydcs_extensions import chinesemilitaryassetspack as cmap from pydcs_extensions import russianmilitaryassetspack as rmap +from pydcs_extensions import swedishmilitaryassetspack as smap from pydcs_extensions import usamilitaryassetspack as usamap @@ -65,6 +66,9 @@ TRACK_RADARS = { cmap.CH_HQ22_STR, rmap.CH_BukM3_9S36M, rmap.CH_S350_50N6, + smap.LvS_103_PM103, + smap.LvS_103_PM103_HX, + smap.UndE23, usamap.MIM104_ANMPQ65, usamap.MIM104_ANMPQ65A, usamap.MIM104_ANMPQ65_HEMTT, @@ -110,6 +114,25 @@ LAUNCHER_TRACKER_PAIRS = { rmap.CH_BukM3_9A317MA: (rmap.CH_BukM3_9S36M,), rmap.CH_S350_50P6_9M96D: (rmap.CH_S350_50N6,), rmap.CH_S350_50P6_9M100: (rmap.CH_S350_50N6,), + smap.LvS_103_Lavett103_Rb103A: ( + smap.LvS_103_PM103, + smap.LvS_103_PM103_HX, + ), + smap.LvS_103_Lavett103_HX_Rb103A: ( + smap.LvS_103_PM103, + smap.LvS_103_PM103_HX, + ), + smap.LvS_103_Lavett103_Rb103B: ( + smap.LvS_103_PM103, + smap.LvS_103_PM103_HX, + ), + smap.LvS_103_Lavett103_HX_Rb103B: ( + smap.LvS_103_PM103, + smap.LvS_103_PM103_HX, + ), + smap.RBS_70: (smap.UndE23,), + smap.RBS_90: (smap.UndE23,), + smap.RBS_98: (smap.UndE23,), usamap.MIM104_M903_PAC2: ( usamap.MIM104_ANMPQ65, usamap.MIM104_ANMPQ65A, @@ -197,6 +220,9 @@ UNITS_WITH_RADAR = { rmap.CH_BukM3_9S36M, rmap.CH_BukM3_9A317M, rmap.CH_BukM3_9A317MA, + smap.LvS_103_PM103, + smap.LvS_103_PM103_HX, + smap.UndE23, usamap.CH_Centurion_C_RAM, usamap.CH_NASAMS3_SR, usamap.MIM104_ANMPQ65, diff --git a/game/factions/faction.py b/game/factions/faction.py index 2ad69af5..b180c1af 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -575,8 +575,10 @@ class Faction: self.remove_preset("David's Sling (Semicircle)") # swedish military assets pack if not mod_settings.swedishmilitaryassetspack: - self.remove_vehicle("BV410_RBS70") - self.remove_vehicle("BV410_RBS90") + self.remove_vehicle("Grkpbv90") + self.remove_vehicle("Artillerisystem08_SGR77B") + self.remove_vehicle("Artillerisystem08_M982") + self.remove_vehicle("LvKv9040") self.remove_vehicle("LvS_103_Lavett103_Rb103A") self.remove_vehicle("LvS_103_Lavett103_Rb103B") self.remove_vehicle("LvS_103_Lavett103_HX_Rb103A") @@ -585,37 +587,43 @@ class Faction: self.remove_vehicle("LvS_103_PM103") self.remove_vehicle("LvS_103_PM103_HX") self.remove_vehicle("LvS_103_Elverk103") - self.remove_vehicle("LvKv9040") - self.remove_vehicle("RBS_70") - self.remove_vehicle("RBS_90") - self.remove_vehicle("RBS_98") + self.remove_vehicle("RBS-70") + self.remove_vehicle("RBS-90") + self.remove_vehicle("RBS-98") self.remove_vehicle("UndE23") - self.remove_vehicle("BV410") - self.remove_vehicle("CV9040") - self.remove_vehicle("Strv103") - self.remove_vehicle("Strv121") - self.remove_vehicle("Strv122") - self.remove_vehicle("Strv2000") - self.remove_vehicle("Volvo740") - self.remove_vehicle("RBS_15KA") - self.remove_vehicle("AG_90") self.remove_vehicle("SwedishinfantryAK4") self.remove_vehicle("SwedishinfantryAK5") self.remove_vehicle("SwedishinfantryAK5GT") self.remove_vehicle("SwedishinfantryKSP90") self.remove_vehicle("SwedishinfantryKSP58") self.remove_vehicle("SwedishinfantryPskott86") - self.remove_vehicle("RBS_57") - self.remove_vehicle("RBS_58") - self.remove_vehicle("Artillerisystem08") - self.remove_vehicle("Grkpbv90") - self.remove_ship("HSwMS_Visby") + self.remove_vehicle("RBS-57") + self.remove_vehicle("RBS-58") + self.remove_vehicle("AG-90") + self.remove_vehicle("CV9040") + self.remove_vehicle("CH_Strf9040C") + self.remove_vehicle("Strv103") + self.remove_vehicle("Strv2000") + self.remove_vehicle("Volvo740") + self.remove_vehicle("CH_BVS10") + self.remove_vehicle("CH_CV9050") + self.remove_vehicle("CH_Ikv91") + self.remove_vehicle("CH_Strv123") + self.remove_vehicle("CH_Strv122") + self.remove_vehicle("CH_SisuGTP") + self.remove_vehicle("RBS-15KA") self.remove_ship("Strb90") + self.remove_ship("HSwMS_Visby") self.remove_aircraft("HKP15B") + self.remove_aircraft("CH_JAS39C") self.remove_preset("LvS-103 Rb103A") self.remove_preset("LvS-103 Rb103A Mobile") self.remove_preset("LvS-103 Rb103B") self.remove_preset("LvS-103 Rb103B Mobile") + self.remove_preset("RBS-15") + self.remove_preset("RBS-70") + self.remove_preset("RBS-90") + self.remove_preset("RBS-98") if not mod_settings.coldwarassets: self.remove_aircraft("B_47") self.remove_aircraft("Tu-4K") diff --git a/game/pretense/pretensetgogenerator.py b/game/pretense/pretensetgogenerator.py index 7a914aec..75a1cf08 100644 --- a/game/pretense/pretensetgogenerator.py +++ b/game/pretense/pretensetgogenerator.py @@ -63,9 +63,9 @@ from game.unitmap import UnitMap from game.utils import Heading from pydcs_extensions import ( Char_M551_Sheridan, - BV410_RBS70, - BV410_RBS90, - BV410, + CH_BVS10, + RBS_70, + RBS_90, VAB__50, VAB_T20_13, ) @@ -100,9 +100,6 @@ PRETENSE_AMPHIBIOUS_UNITS = [ VAB__50, VAB_T20_13, Char_M551_Sheridan, - BV410_RBS70, - BV410_RBS90, - BV410, ] diff --git a/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py b/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py index 70f1ea95..d42ff121 100644 --- a/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py +++ b/pydcs_extensions/swedishmilitaryassetspack/swedishmilitaryassetspack.py @@ -6,74 +6,162 @@ from typing import Set from dcs import unittype, task from dcs.helicopters import HelicopterType +from dcs.planes import PlaneType +from dcs.weapons_data import Weapons -from game.modsupport import vehiclemod, shipmod, helicoptermod +from game.modsupport import ( + helicoptermod, + planemod, + shipmod, + vehiclemod, +) +from pydcs_extensions.weapon_injector import inject_weapons +class WeaponsSW: + + IRIS_T_IR_AAM = {"clsid": "{CH_IRIS-T}", "name": "IRIS-T IR AAM", "weight": 88.4} + + Meteor_AMRAAM___Active_Radar_AAM = { + "clsid": "{CH_Meteor}", + "name": "Meteor AMRAAM - Active Radar AAM", + "weight": 190, + } + + Meteor_AMRAAM___Active_Radar_AAM_x_2 = { + "clsid": "{CH_Meteor_DUAL}", + "name": "Meteor AMRAAM - Active Radar AAM x 2", + "weight": 380, + } + + AIM_120C_8_AMRAAM___Active_Radar_AAM = { + "clsid": "{CH_AIM-120C8}", + "name": "AIM-120C-8 AMRAAM - Active Radar AAM", + "weight": 161, + } + + AIM_120C_8_AMRAAM___Active_Radar_AAM_x_2 = { + "clsid": "{CH_AIM-120C8_DUAL}", + "name": "AIM-120C-8 AMRAAM - Active Radar AAM x 2", + "weight": 322, + } + + GBU_49___500lb_Laser__GPS_Guided_Bomb_LD = { + "clsid": "{CH_GBU49}", + "name": "GBU-49 - 500lb Laser & GPS Guided Bomb LD", + "weight": 253, + } + + GBU_39_SDB_285_lb_Guided_Glide_Bomb = { + "clsid": "{CH_GBU39}", + "name": "GBU-39 SDB 285 lb Guided Glide-Bomb", + "weight": 129, + } + + Taurus_KEPD_350_ALCM = { + "clsid": "{CH_KEPD350}", + "name": "Taurus KEPD-350 ALCM", + "weight": 1400, + } + + Drop_tank_1100_litres = { + "clsid": "{CH_JAS39C_Tank1100}", + "name": "Drop tank 1100 litres", + "weight": 946.06, + } + + RBS_15_Mk4 = {"clsid": "{CH_RBS15MK4}", "name": "RBS-15 Mk4", "weight": 650} + + +inject_weapons(WeaponsSW) + + +## ARTILLERY @vehiclemod -class BV410_RBS70(unittype.VehicleType): - id = "BV410_RBS70" - name = "[SMA] RBS 70 EldE 70 Mobile SAM LN" +class Grkpbv90(unittype.VehicleType): + id = "Grkpbv90" + name = "[CH] Grkpbv 90 SPM" detection_range = 0 - threat_range = 8000 - air_weapon_dist = 8000 + threat_range = 7500 + air_weapon_dist = 7500 eplrs = True @vehiclemod -class BV410_RBS90(unittype.VehicleType): - id = "BV410_RBS90" - name = "[SMA] RBS 90 EldE 90 Mobile SAM LN" - detection_range = 20000 - threat_range = 8000 - air_weapon_dist = 8000 +class Artillerisystem08_SGR77B(unittype.VehicleType): + id = "Artillerisystem08_SGR77B" + name = "[CH] Archer SPG SGR77B" + detection_range = 10000 + threat_range = 40000 + air_weapon_dist = 40000 + eplrs = True + + +@vehiclemod +class Artillerisystem08_M982(unittype.VehicleType): + id = "Artillerisystem08_M982" + name = "[CH] Archer SPG M982 Excalibur" + detection_range = 0 + threat_range = 50000 + air_weapon_dist = 50000 + eplrs = True + + +# Air Defense +@vehiclemod +class LvKv9040(unittype.VehicleType): + id = "LvKv9040" + name = "[CH] Lvkv 9040B SPAAG" + detection_range = 15000 + threat_range = 4000 + air_weapon_dist = 4000 eplrs = True @vehiclemod class LvS_103_Lavett103_Rb103A(unittype.VehicleType): id = "LvS-103_Lavett103_Rb103A" - name = "[SMA] LvS-103 Lavett 103 Rb103A Stationary SAM LN" + name = "[CH] LvS-103 Lavett 103 Rb103A LN" detection_range = 0 - threat_range = 150000 - air_weapon_dist = 150000 + threat_range = 160000 + air_weapon_dist = 160000 eplrs = True @vehiclemod class LvS_103_Lavett103_Rb103B(unittype.VehicleType): id = "LvS-103_Lavett103_Rb103B" - name = "[SMA] LvS-103 Lavett 103 Rb103B Stationary SAM LN" + name = "[CH] LvS-103 Lavett 103 Rb103B LN" detection_range = 0 - threat_range = 35000 - air_weapon_dist = 35000 + threat_range = 120000 + air_weapon_dist = 120000 eplrs = True @vehiclemod class LvS_103_Lavett103_HX_Rb103A(unittype.VehicleType): id = "LvS-103_Lavett103_HX_Rb103A" - name = "[SMA] LvS-103 Lavett 103 Rb103A Mobile SAM LN" + name = "[CH] LvS-103 Lavett 103 Rb103A LN (HX)" detection_range = 0 - threat_range = 150000 - air_weapon_dist = 150000 + threat_range = 160000 + air_weapon_dist = 160000 eplrs = True @vehiclemod class LvS_103_Lavett103_HX_Rb103B(unittype.VehicleType): id = "LvS-103_Lavett103_HX_Rb103B" - name = "[SMA] LvS-103 Lavett 103 Rb103B Mobile SAM LN" + name = "[CH] LvS-103 Lavett 103 Rb103B LN (HX)" detection_range = 0 - threat_range = 150000 - air_weapon_dist = 150000 + threat_range = 120000 + air_weapon_dist = 120000 eplrs = True @vehiclemod class LvS_103_StriE103(unittype.VehicleType): id = "LvS-103_StriE103" - name = "[SMA] LvS-103 StriE 103 Mobile SAM ECS" + name = "[CH] LvS-103 StriE 103 ECS (HX)" detection_range = 0 threat_range = 0 air_weapon_dist = 0 @@ -83,8 +171,8 @@ class LvS_103_StriE103(unittype.VehicleType): @vehiclemod class LvS_103_PM103(unittype.VehicleType): id = "LvS-103_PM103" - name = "[SMA] LvS-103 PM 103 Stationary SAM STR" - detection_range = 160000 + name = "[CH] LvS-103 PM 103 STR" + detection_range = 200000 threat_range = 0 air_weapon_dist = 0 eplrs = True @@ -93,8 +181,8 @@ class LvS_103_PM103(unittype.VehicleType): @vehiclemod class LvS_103_PM103_HX(unittype.VehicleType): id = "LvS-103_PM103_HX" - name = "[SMA] LvS-103 PM 103 Mobile SAM STR" - detection_range = 160000 + name = "[CH] LvS-103 PM 103 STR (HX)" + detection_range = 200000 threat_range = 0 air_weapon_dist = 0 eplrs = True @@ -103,27 +191,17 @@ class LvS_103_PM103_HX(unittype.VehicleType): @vehiclemod class LvS_103_Elverk103(unittype.VehicleType): id = "LvS-103_Elverk103" - name = "[SMA] LvS-103 Elverk 103 Mobile SAM EPP" + name = "[CH] LvS-103 Elverk 103 EPP (HX)" detection_range = 0 threat_range = 0 air_weapon_dist = 0 eplrs = True -@vehiclemod -class LvKv9040(unittype.VehicleType): - id = "LvKv9040" - name = "[SMA] Lvkv 9040 SPAAG" - detection_range = 15000 - threat_range = 4000 - air_weapon_dist = 4000 - eplrs = True - - @vehiclemod class RBS_70(unittype.VehicleType): id = "RBS-70" - name = "[SMA] RBS 70 EldE 70 Stationary SAM LN" + name = "[CH] RBS 70 VSHORAD LN" detection_range = 0 threat_range = 8000 air_weapon_dist = 8000 @@ -133,7 +211,7 @@ class RBS_70(unittype.VehicleType): @vehiclemod class RBS_90(unittype.VehicleType): id = "RBS-90" - name = "[SMA] RBS 90 EldE 90 Stationary SAM LN" + name = "[CH] RBS 90 VSHORAD LN" detection_range = 20000 threat_range = 8000 air_weapon_dist = 8000 @@ -143,7 +221,7 @@ class RBS_90(unittype.VehicleType): @vehiclemod class RBS_98(unittype.VehicleType): id = "RBS-98" - name = "[SMA] RBS 98 EldE 98 Mobile SAM LN" + name = "[CH] RBS 98 SAM LN (BvS 10)" detection_range = 0 threat_range = 20000 air_weapon_dist = 20000 @@ -153,67 +231,139 @@ class RBS_98(unittype.VehicleType): @vehiclemod class UndE23(unittype.VehicleType): id = "UndE23" - name = "[SMA] UndE 23 (RBS 70/90/98) SAM STR" - detection_range = 100000 + name = "[CH] UndE 23 (RBS 70/90/98) STR" + detection_range = 300000 threat_range = 0 air_weapon_dist = 0 eplrs = True +## INFANTRY @vehiclemod -class BV410(unittype.VehicleType): - id = "BV410" - name = "[SMA] Bv 410 ATV" +class SwedishinfantryAK4(unittype.VehicleType): + id = "SwedishinfantryAK4" + name = "[CH] Ak 4 Soldier" detection_range = 0 + threat_range = 600 + air_weapon_dist = 600 + eplrs = True + + +@vehiclemod +class SwedishinfantryAK5(unittype.VehicleType): + id = "SwedishinfantryAK5" + name = "[CH] Ak 5 Soldier" + detection_range = 0 + threat_range = 500 + air_weapon_dist = 500 + eplrs = True + + +@vehiclemod +class SwedishinfantryAK5GT(unittype.VehicleType): + id = "SwedishinfantryAK5GT" + name = "[CH] Ak 5 Granattillsats Soldier" + detection_range = 0 + threat_range = 500 + air_weapon_dist = 500 + eplrs = True + + +@vehiclemod +class SwedishinfantryKSP90(unittype.VehicleType): + id = "SwedishinfantryKSP90" + name = "[CH] Ksp 90 Soldier" + detection_range = 0 + threat_range = 700 + air_weapon_dist = 700 + eplrs = True + + +@vehiclemod +class SwedishinfantryKSP58(unittype.VehicleType): + id = "SwedishinfantryKSP58" + name = "[CH] Ksp 58 Soldier" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class SwedishinfantryPskott86(unittype.VehicleType): + id = "SwedishinfantryPskott86" + name = "[CH] Pskott 86 Soldier" + detection_range = 0 + threat_range = 400 + air_weapon_dist = 400 + eplrs = True + + +@vehiclemod +class RBS_57(unittype.VehicleType): + id = "RBS-57" + name = "[CH] RBS 57 ATGM Soldier" + detection_range = 0 + threat_range = 1000 + air_weapon_dist = 1000 + eplrs = True + + +@vehiclemod +class RBS_58(unittype.VehicleType): + id = "RBS-58" + name = "[CH] RBS 58 ATGM" + detection_range = 5000 + threat_range = 5000 + air_weapon_dist = 5000 + eplrs = True + + +@vehiclemod +class AG_90(unittype.VehicleType): + id = "AG-90" + name = "[CH] Ag 90 Sniper AMR" + detection_range = 5000 threat_range = 1800 air_weapon_dist = 1800 eplrs = True +##Armor @vehiclemod class CV9040(unittype.VehicleType): id = "CV9040" - name = "[SMA] Strf 9040 IFV" + name = "[CH] Strf 9040B IFV" detection_range = 0 threat_range = 4000 air_weapon_dist = 4000 eplrs = True +@vehiclemod +class CH_Strf9040C(unittype.VehicleType): + id = "CH_Strf9040C" + name = "[CH] Strf 9040C IFV" + detection_range = 3500 + threat_range = 3500 + air_weapon_dist = 3500 + eplrs = True + + @vehiclemod class Strv103(unittype.VehicleType): id = "Strv103" - name = "[SMA] Strv 103 MBT" + name = "[CH] Strv 103 MBT" detection_range = 6000 threat_range = 6000 air_weapon_dist = 6000 eplrs = True -@vehiclemod -class Strv121(unittype.VehicleType): - id = "Strv121" - name = "[SMA] Strv 121 MBT" - detection_range = 0 - threat_range = 8000 - air_weapon_dist = 1200 - eplrs = True - - -@vehiclemod -class Strv122(unittype.VehicleType): - id = "Strv122" - name = "[SMA] Strv 122 MBT" - detection_range = 0 - threat_range = 8000 - air_weapon_dist = 1200 - eplrs = True - - @vehiclemod class Strv2000(unittype.VehicleType): id = "Strv2000" - name = "[SMA] Strv 2000 T140/40 MBT" + name = "[CH] Strv 2000 T140/40 MBT" detection_range = 8000 threat_range = 8000 air_weapon_dist = 4000 @@ -223,7 +373,7 @@ class Strv2000(unittype.VehicleType): @vehiclemod class Volvo740(unittype.VehicleType): id = "Volvo740" - name = "[SMA] Volvo 740 Improvised fighting vehicle" + name = "[CH] Volvo 740 Improvised fighting vehicle" detection_range = 0 threat_range = 1200 air_weapon_dist = 1200 @@ -231,150 +381,81 @@ class Volvo740(unittype.VehicleType): @vehiclemod -class RBS_15KA(unittype.VehicleType): - id = "RBS-15KA" - name = "[SMA] RBS 15KA LBASM" - detection_range = 300000 - threat_range = 300000 - air_weapon_dist = 300000 - eplrs = True - - -## INFANTRY - - -@vehiclemod -class AG_90(unittype.VehicleType): - id = "AG-90" - name = "[SMA] Ag 90 Sniper team" - detection_range = 5000 +class CH_BVS10(unittype.VehicleType): + id = "CH_BVS10" + name = "[CH] BvS 10 ATV" + detection_range = 0 threat_range = 1800 air_weapon_dist = 1800 eplrs = True @vehiclemod -class SwedishinfantryAK4(unittype.VehicleType): - id = "SwedishinfantryAK4" - name = "[SMA] Ak 4 Soldier" - detection_range = 1500 - threat_range = 600 - air_weapon_dist = 600 +class CH_CV9050(unittype.VehicleType): + id = "CH_CV9050" + name = "[CH] CV 9050 IFV" + detection_range = 6000 + threat_range = 5500 + air_weapon_dist = 5500 eplrs = True @vehiclemod -class SwedishinfantryAK5(unittype.VehicleType): - id = "SwedishinfantryAK5" - name = "[SMA] Ak 5 Soldier" - detection_range = 1500 - threat_range = 500 - air_weapon_dist = 500 - eplrs = True - - -@vehiclemod -class SwedishinfantryAK5GT(unittype.VehicleType): - id = "SwedishinfantryAK5GT" - name = "[SMA] Ak 5 Granattillsats Soldier" - detection_range = 1000 - threat_range = 500 - air_weapon_dist = 500 - eplrs = True - - -@vehiclemod -class SwedishinfantryKSP90(unittype.VehicleType): - id = "SwedishinfantryKSP90" - name = "[SMA] Ksp 90 Soldier" - detection_range = 700 - threat_range = 700 - air_weapon_dist = 700 - eplrs = True - - -@vehiclemod -class SwedishinfantryKSP58(unittype.VehicleType): - id = "SwedishinfantryKSP58" - name = "[SMA] Ksp 58 Soldier" - detection_range = 1200 - threat_range = 1200 +class CH_Ikv91(unittype.VehicleType): + id = "CH_Ikv91" + name = "[CH] Ikv 91 LT" + detection_range = 3500 + threat_range = 3500 air_weapon_dist = 1200 eplrs = True @vehiclemod -class SwedishinfantryPskott86(unittype.VehicleType): - id = "SwedishinfantryPskott86" - name = "[SMA] Pskott 86 Soldier" - detection_range = 1500 - threat_range = 400 - air_weapon_dist = 400 - eplrs = True - - -@vehiclemod -class RBS_57(unittype.VehicleType): - id = "RBS-57" - name = "[SMA] RBS 57 ATGM" - detection_range = 5000 - threat_range = 1000 - air_weapon_dist = 1000 - eplrs = True - - -@vehiclemod -class RBS_58(unittype.VehicleType): - id = "RBS-58" - name = "[SMA] RBS 58 ATGM" - detection_range = 5000 - threat_range = 5000 - air_weapon_dist = 5000 - eplrs = True - - -## ARTILLERY - - -@vehiclemod -class Artillerisystem08(unittype.VehicleType): - id = "Artillerisystem08" - name = "[SMA] Artillerisystem 08 SPG" - detection_range = 10000 - threat_range = 25000 - air_weapon_dist = 25000 - eplrs = True - - -@vehiclemod -class Grkpbv90(unittype.VehicleType): - id = "Grkpbv90" - name = "[SMA] Grkpbv 90 SPM" +class CH_Strv123(unittype.VehicleType): + id = "CH_Strv123" + name = "[CH] Strv 123 MBT" detection_range = 0 - threat_range = 7500 - air_weapon_dist = 7500 + threat_range = 8000 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class CH_Strv122(unittype.VehicleType): + id = "CH_Strv122" + name = "[CH] Strv 122 MBT" + detection_range = 0 + threat_range = 8000 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class CH_SisuGTP(unittype.VehicleType): + id = "CH_SisuGTP" + name = "[CH] Sisu GTP APC" + detection_range = 0 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +## Missiles +@vehiclemod +class RBS_15KA(unittype.VehicleType): + id = "RBS-15KA" + name = "[CH] RBS 15KA LBASM" + detection_range = 300000 + threat_range = 300000 + air_weapon_dist = 300000 eplrs = True ## SHIPS - - -@shipmod -class HSwMS_Visby(unittype.ShipType): - id = "HSwMS_Visby" - name = "[SMA] HSwMS Visby Corvette" - plane_num = 0 - helicopter_num = 1 - parking = 1 - detection_range = 180000 - threat_range = 30000 - air_weapon_dist = 30000 - - @shipmod class Strb90(unittype.ShipType): id = "Strb90" - name = "[SMA] Strb 90 FAC" + name = "[CH] Strb 90 FAC" plane_num = 0 helicopter_num = 0 parking = 0 @@ -383,9 +464,19 @@ class Strb90(unittype.ShipType): air_weapon_dist = 10000 +@shipmod +class HSwMS_Visby(unittype.ShipType): + id = "HSwMS_Visby" + name = "[CH] Visby Class Corvette" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 180000 + threat_range = 30000 + air_weapon_dist = 30000 + + ## HELICOPTERS - - @helicoptermod class HKP15B(HelicopterType): id = "HKP15B" @@ -414,3 +505,310 @@ class HKP15B(HelicopterType): tasks = [task.Reconnaissance, task.Transport] task_default = task.Reconnaissance + + +## Planes +@planemod +class CH_JAS39C(PlaneType): + id = "CH_JAS39C" + height = 4.5 + width = 8.4 + length = 14.1 + fuel_max = 2550 + max_speed = 2649.996 + chaff = 80 + flare = 40 + charge_total = 120 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + + livery_name = "CH_JAS39C" # from type + + class Pylon1: + IRIS_T_IR_AAM = (1, Weapons.IRIS_T_IR_AAM) + + class Pylon2: + IRIS_T_IR_AAM = (2, Weapons.IRIS_T_IR_AAM) + Meteor_AMRAAM___Active_Radar_AAM = (2, Weapons.Meteor_AMRAAM___Active_Radar_AAM) + AIM_120B_AMRAAM___Active_Radar_AAM = ( + 2, + Weapons.AIM_120B_AMRAAM___Active_Radar_AAM, + ) + AIM_120C_8_AMRAAM___Active_Radar_AAM = ( + 2, + Weapons.AIM_120C_8_AMRAAM___Active_Radar_AAM, + ) + GBU_12___500lb_Laser_Guided_Bomb = (2, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_49___500lb_Laser__GPS_Guided_Bomb_LD = ( + 2, + Weapons.GBU_49___500lb_Laser__GPS_Guided_Bomb_LD, + ) + GBU_39_SDB_285_lb_Guided_Glide_Bomb = ( + 2, + Weapons.GBU_39_SDB_285_lb_Guided_Glide_Bomb, + ) + Rb_75A__AGM_65A_Maverick___TV_ASM_ = ( + 2, + Weapons.Rb_75A__AGM_65A_Maverick___TV_ASM_, + ) + Rb_75B__AGM_65B_Maverick___TV_ASM_ = ( + 2, + Weapons.Rb_75B__AGM_65B_Maverick___TV_ASM_, + ) + Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_ = ( + 2, + Weapons.Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_, + ) + _4x_SB_M_71_120kg_GP_Bomb_Low_drag = ( + 2, + Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag, + ) + _4x_SB_M_71_120kg_GP_Bomb_High_drag = ( + 2, + Weapons._4x_SB_M_71_120kg_GP_Bomb_High_drag, + ) + ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG = ( + 2, + Weapons.ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG, + ) + ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT = ( + 2, + Weapons.ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT, + ) + + # ERRR + + class Pylon3: + IRIS_T_IR_AAM = (3, Weapons.IRIS_T_IR_AAM) + Meteor_AMRAAM___Active_Radar_AAM = (3, Weapons.Meteor_AMRAAM___Active_Radar_AAM) + AIM_120B_AMRAAM___Active_Radar_AAM = ( + 3, + Weapons.AIM_120B_AMRAAM___Active_Radar_AAM, + ) + AIM_120C_8_AMRAAM___Active_Radar_AAM = ( + 3, + Weapons.AIM_120C_8_AMRAAM___Active_Radar_AAM, + ) + GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_49___500lb_Laser__GPS_Guided_Bomb_LD = ( + 3, + Weapons.GBU_49___500lb_Laser__GPS_Guided_Bomb_LD, + ) + GBU_39_SDB_285_lb_Guided_Glide_Bomb = ( + 3, + Weapons.GBU_39_SDB_285_lb_Guided_Glide_Bomb, + ) + BK_90_MJ12__12x_MJ2_HEAT___36x_MJ1_HE_FRAG_Bomblets_ = ( + 3, + Weapons.BK_90_MJ12__12x_MJ2_HEAT___36x_MJ1_HE_FRAG_Bomblets_, + ) + BK_90_MJ1__72_x_MJ1_HE_FRAG_Bomblets_ = ( + 3, + Weapons.BK_90_MJ1__72_x_MJ1_HE_FRAG_Bomblets_, + ) + BK_90_MJ2__24_x_MJ2_HEAT_Bomblets_ = ( + 3, + Weapons.BK_90_MJ2__24_x_MJ2_HEAT_Bomblets_, + ) + Rb_75A__AGM_65A_Maverick___TV_ASM_ = ( + 3, + Weapons.Rb_75A__AGM_65A_Maverick___TV_ASM_, + ) + Rb_75B__AGM_65B_Maverick___TV_ASM_ = ( + 3, + Weapons.Rb_75B__AGM_65B_Maverick___TV_ASM_, + ) + Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_ = ( + 3, + Weapons.Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_, + ) + Taurus_KEPD_350_ALCM = (3, Weapons.Taurus_KEPD_350_ALCM) + _4x_SB_M_71_120kg_GP_Bomb_Low_drag = ( + 3, + Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag, + ) + _4x_SB_M_71_120kg_GP_Bomb_High_drag = ( + 3, + Weapons._4x_SB_M_71_120kg_GP_Bomb_High_drag, + ) + ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG = ( + 3, + Weapons.ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG, + ) + ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT = ( + 3, + Weapons.ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT, + ) + RBS_15_Mk4 = (3, Weapons.RBS_15_Mk4) + Drop_tank_1100_litres = (3, Weapons.Drop_tank_1100_litres) + + # ERRR + + class Pylon4: + GBU_12___500lb_Laser_Guided_Bomb = (4, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_49___500lb_Laser__GPS_Guided_Bomb_LD = ( + 4, + Weapons.GBU_49___500lb_Laser__GPS_Guided_Bomb_LD, + ) + _4x_SB_M_71_120kg_GP_Bomb_Low_drag = ( + 4, + Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag, + ) + _4x_SB_M_71_120kg_GP_Bomb_High_drag = ( + 4, + Weapons._4x_SB_M_71_120kg_GP_Bomb_High_drag, + ) + Drop_tank_1100_litres = (4, Weapons.Drop_tank_1100_litres) + AN_AAQ_28_LITENING___Targeting_Pod_ = ( + 4, + Weapons.AN_AAQ_28_LITENING___Targeting_Pod_, + ) + + # ERRR + + class Pylon5: + AN_AAQ_28_LITENING___Targeting_Pod_ = ( + 5, + Weapons.AN_AAQ_28_LITENING___Targeting_Pod_, + ) + + # ERRR + + class Pylon6: + IRIS_T_IR_AAM = (6, Weapons.IRIS_T_IR_AAM) + Meteor_AMRAAM___Active_Radar_AAM = (6, Weapons.Meteor_AMRAAM___Active_Radar_AAM) + AIM_120B_AMRAAM___Active_Radar_AAM = ( + 6, + Weapons.AIM_120B_AMRAAM___Active_Radar_AAM, + ) + AIM_120C_8_AMRAAM___Active_Radar_AAM = ( + 6, + Weapons.AIM_120C_8_AMRAAM___Active_Radar_AAM, + ) + GBU_12___500lb_Laser_Guided_Bomb = (6, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_49___500lb_Laser__GPS_Guided_Bomb_LD = ( + 6, + Weapons.GBU_49___500lb_Laser__GPS_Guided_Bomb_LD, + ) + GBU_39_SDB_285_lb_Guided_Glide_Bomb = ( + 6, + Weapons.GBU_39_SDB_285_lb_Guided_Glide_Bomb, + ) + BK_90_MJ12__12x_MJ2_HEAT___36x_MJ1_HE_FRAG_Bomblets_ = ( + 6, + Weapons.BK_90_MJ12__12x_MJ2_HEAT___36x_MJ1_HE_FRAG_Bomblets_, + ) + BK_90_MJ1__72_x_MJ1_HE_FRAG_Bomblets_ = ( + 6, + Weapons.BK_90_MJ1__72_x_MJ1_HE_FRAG_Bomblets_, + ) + BK_90_MJ2__24_x_MJ2_HEAT_Bomblets_ = ( + 6, + Weapons.BK_90_MJ2__24_x_MJ2_HEAT_Bomblets_, + ) + Rb_75A__AGM_65A_Maverick___TV_ASM_ = ( + 6, + Weapons.Rb_75A__AGM_65A_Maverick___TV_ASM_, + ) + Rb_75B__AGM_65B_Maverick___TV_ASM_ = ( + 6, + Weapons.Rb_75B__AGM_65B_Maverick___TV_ASM_, + ) + Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_ = ( + 6, + Weapons.Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_, + ) + Taurus_KEPD_350_ALCM = (6, Weapons.Taurus_KEPD_350_ALCM) + _4x_SB_M_71_120kg_GP_Bomb_Low_drag = ( + 6, + Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag, + ) + _4x_SB_M_71_120kg_GP_Bomb_High_drag = ( + 6, + Weapons._4x_SB_M_71_120kg_GP_Bomb_High_drag, + ) + ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG = ( + 6, + Weapons.ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG, + ) + ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT = ( + 6, + Weapons.ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT, + ) + RBS_15_Mk4 = (6, Weapons.RBS_15_Mk4) + Drop_tank_1100_litres = (6, Weapons.Drop_tank_1100_litres) + + # ERRR + + class Pylon7: + IRIS_T_IR_AAM = (7, Weapons.IRIS_T_IR_AAM) + Meteor_AMRAAM___Active_Radar_AAM = (7, Weapons.Meteor_AMRAAM___Active_Radar_AAM) + AIM_120B_AMRAAM___Active_Radar_AAM = ( + 7, + Weapons.AIM_120B_AMRAAM___Active_Radar_AAM, + ) + AIM_120C_8_AMRAAM___Active_Radar_AAM = ( + 7, + Weapons.AIM_120C_8_AMRAAM___Active_Radar_AAM, + ) + GBU_12___500lb_Laser_Guided_Bomb = (7, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_49___500lb_Laser__GPS_Guided_Bomb_LD = ( + 7, + Weapons.GBU_49___500lb_Laser__GPS_Guided_Bomb_LD, + ) + GBU_39_SDB_285_lb_Guided_Glide_Bomb = ( + 7, + Weapons.GBU_39_SDB_285_lb_Guided_Glide_Bomb, + ) + Rb_75A__AGM_65A_Maverick___TV_ASM_ = ( + 7, + Weapons.Rb_75A__AGM_65A_Maverick___TV_ASM_, + ) + Rb_75B__AGM_65B_Maverick___TV_ASM_ = ( + 7, + Weapons.Rb_75B__AGM_65B_Maverick___TV_ASM_, + ) + Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_ = ( + 7, + Weapons.Rb_75T__AGM_65A_Maverick___TV_ASM_Lg_HE_Whd_, + ) + _4x_SB_M_71_120kg_GP_Bomb_Low_drag = ( + 7, + Weapons._4x_SB_M_71_120kg_GP_Bomb_Low_drag, + ) + _4x_SB_M_71_120kg_GP_Bomb_High_drag = ( + 7, + Weapons._4x_SB_M_71_120kg_GP_Bomb_High_drag, + ) + ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG = ( + 7, + Weapons.ARAK_M_70B_HE_6x_135mm_UnGd_Rkts__Shu70_HE_FRAG, + ) + ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT = ( + 7, + Weapons.ARAK_M_70B_AP_6x_135mm_UnGd_Rkts__Pshu70_HEAT, + ) + + # ERRR + + class Pylon8: + IRIS_T_IR_AAM = (8, Weapons.IRIS_T_IR_AAM) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.AFAC, + task.SEAD, + task.AntishipStrike, + task.CAS, + task.PinpointStrike, + task.GroundAttack, + task.RunwayAttack, + ] + task_default = task.CAP diff --git a/qt_ui/uiconstants.py b/qt_ui/uiconstants.py index 9e377f1f..f8e852c4 100644 --- a/qt_ui/uiconstants.py +++ b/qt_ui/uiconstants.py @@ -228,6 +228,8 @@ def load_aircraft_icons(): AIRCRAFT_ICONS["CH_Tu-95MSM"] = AIRCRAFT_ICONS["CH_Tu-95"] AIRCRAFT_ICONS["CH_Tu-160M2"] = AIRCRAFT_ICONS["CH_Tu-16"] AIRCRAFT_ICONS["B-21"] = AIRCRAFT_ICONS["B"] + AIRCRAFT_ICONS["CH_JAS39C"] = AIRCRAFT_ICONS["CH_JAS"] + AIRCRAFT_ICONS["HKP15B"] = AIRCRAFT_ICONS["HKP"] def load_vehicle_icons(): diff --git a/resources/customized_payloads/CH_JAS39C.lua b/resources/customized_payloads/CH_JAS39C.lua new file mode 100644 index 00000000..dcf82cf9 --- /dev/null +++ b/resources/customized_payloads/CH_JAS39C.lua @@ -0,0 +1,434 @@ +local unitPayloads = { + ["name"] = "CH_JAS39C", + ["payloads"] = { + [1] = { + ["displayName"] = "Retribution OCA/Runway", + ["name"] = "Retribution OCA/Runway", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 2, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [4] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 7, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [5] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 6, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [6] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 3, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["displayName"] = "Retribution BARCAP", + ["name"] = "Retribution BARCAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [3] = { + ["displayName"] = "Retribution TARCAP", + ["name"] = "Retribution TARCAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [4] = { + ["displayName"] = "Retribution DEAD", + ["name"] = "Retribution DEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{CH_KEPD350}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{CH_KEPD350}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{A111396E-D3E8-4b9c-8AC9-2432489304D5}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [5] = { + ["displayName"] = "Retribution OCA/Aircraft", + ["name"] = "Retribution OCA/Aircraft", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 2, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [4] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 7, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [5] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 6, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [6] = { + ["CLSID"] = "{CH_GBU49}", + ["num"] = 3, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TAILONLY", + ["NFP_PRESVER"] = 1, + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{A111396E-D3E8-4b9c-8AC9-2432489304D5}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [6] = { + ["displayName"] = "Retribution CAS", + ["name"] = "Retribution CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{RB75T}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{RB75T}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{CH_GBU39}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{CH_GBU39}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{A111396E-D3E8-4b9c-8AC9-2432489304D5}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [7] = { + ["displayName"] = "Retribution BAI", + ["name"] = "Retribution BAI", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{RB75T}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{RB75T}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{RB75T}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{RB75T}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{A111396E-D3E8-4b9c-8AC9-2432489304D5}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [8] = { + ["displayName"] = "Retribution Escort", + ["name"] = "Retribution Escort", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [9] = { + ["displayName"] = "Retribution Anti-ship", + ["name"] = "Retribution Anti-ship", + ["pylons"] = { + [1] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "{CH_IRIS-T}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{CH_Meteor}", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "{CH_RBS15MK4}", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "{CH_RBS15MK4}", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "{CH_JAS39C_Tank1100}", + ["num"] = 4, + }, + [8] = { + ["CLSID"] = "{A111396E-D3E8-4b9c-8AC9-2432489304D5}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "CH_JAS39C", +} +return unitPayloads diff --git a/resources/factions/blufor_current.json b/resources/factions/blufor_current.json index 720d8018..7ec5b58f 100644 --- a/resources/factions/blufor_current.json +++ b/resources/factions/blufor_current.json @@ -64,13 +64,14 @@ "Marder 1A3", "Merkava Mk IV", "VAB Mephisto", - "Strf 9040 IFV", - "Lvkv 9040 SPAAG", - "Strv 2000 T140/40 MBT", + "[CH] Strf 9040B IFV", + "[CH] Lvkv 9040B SPAAG", + "[CH] Strv 2000 T140/40 MBT", + "[CH] BvS 10 ATV", "Leopard 2A4", "Leopard 2A5", - "BV 410", - "BV 410 RBS 90", + "[CH] BvS 10 ATV", + "[CH] RBS 90 VSHORAD LN", "[CH] LAV-AD SPAAGM", "[CH] M10 LT", "[CH] M1A2 SEPv3 MBT", @@ -84,8 +85,6 @@ "artillery_units": [ "M109A6 Paladin", "M270 Multiple Launch Rocket System", - "Grkpbv 90 SPM", - "Artillerisystem 08 SPG", "[CH] M270A1 MLRS (GMLRS)", "[CH] M777 LTH M795", "[CH] M777 LTH M982 Excalibur", @@ -93,7 +92,10 @@ "[CH] M777 LTH M795 (MTVR)", "[CH] M270A1 MLRS (GLSDB)", "[CH] M142 HIMARS (GLSDB)", - "[CH] M142 HIMARS (AGMLRS)" + "[CH] M142 HIMARS (AGMLRS)", + "[CH] Grkpbv 90 SPM", + "[CH] Archer SPG SGR77B", + "[CH] Archer SPG M982 Excalibur" ], "logistics_units": [ "Truck M818 6x6", @@ -107,16 +109,6 @@ "Infantry M249", "Infantry M4", "MANPADS Stinger", - "Soldier Ak 4", - "Soldier Ak 5", - "Soldier Ak 5 Granattillsats", - "Soldier Ksp 58", - "Soldier Ksp 90", - "Ag 90 Sniper team", - "Soldier Pskott 86", - "Soldier RBS 57 ATGM", - "Soldier RBS 58 ATGM", - "RBS 90 EldE 90 Stationary SAM LN", "[CH] FGM-148 ATGM Soldier", "[CH] FIM-92K Stinger Soldier", "[CH] M120 120 mm Mortar", @@ -127,7 +119,17 @@ "[CH] M4 AR Soldier", "[CH] M4/M203 AR/GL Soldier", "[CH] M82 AMR Soldier", - "[CH] Mk19 AGL Soldier" + "[CH] Mk19 AGL Soldier", + "[CH] Ak 4 Soldier", + "[CH] Ak 5 Soldier", + "[CH] Ak 5 Granattillsats Soldier", + "[CH] Ksp 58 Soldier", + "[CH] Ksp 90 Soldier", + "[CH] Ag 90 Sniper AMR", + "[CH] Pskott 86 Soldier", + "[CH] RBS 57 ATGM Soldier", + "[CH] RBS 58 ATGM", + "[CH] RBS 90 VSHORAD LN" ], "preset_groups": [ "Hawk", @@ -157,8 +159,8 @@ "L61 Juan Carlos I", "F100 Álvaro de Bazán", "F105 Cristobal Colon", - "HSwMS Visby Corvette", - "Strb 90 FAC", + "[CH] Visby Class Corvette", + "[CH] Strb 90 FAC", "[CH] Arleigh Burke Flight IIA Destroyer", "[CH] Arleigh Burke Flight III Destroyer", "[CH] Constellation Frigate", @@ -178,7 +180,7 @@ "HEMTT C-RAM Phalanx", "M1097 Heavy HMMWV Avenger", "SAM Hawk SR (AN/MPQ-50)", - "SAM UndE 23 (RBS 70/90/98) STR", + "[CH] UndE 23 (RBS 70/90/98) STR", "[CH] Centurion C-RAM", "[CH] LAV-AD SPAAGM" ], diff --git a/resources/factions/sweden_1997.json b/resources/factions/sweden_1997.json index 8f238cde..50f474cf 100644 --- a/resources/factions/sweden_1997.json +++ b/resources/factions/sweden_1997.json @@ -10,6 +10,8 @@ "AJS-37 Viggen", "JAS 39 Gripen", "JAS 39 Gripen A/G", + "[CH] JAS 39C Gripen", + "[CH] HKP15B", "UH-1H Iroquois" ], "awacs": [ @@ -20,36 +22,36 @@ "KC-130J" ], "frontline_units": [ - "Strf 9040 IFV", - "Lvkv 9040 SPAAG", - "Strv 103 MBT", - "Strv 2000 T140/40 MBT", + "[CH] Strf 9040B IFV", + "[CH] Strv 103 MBT", + "[CH] Strv 2000 T140/40 MBT", + "[CH] Ikv 91 LT", + "[CH] Strf 9040C IFV", "Leopard 2A4", "Leopard 2A5", - "BV 410", - "BV 410 RBS 90", - "Volvo 740 with KSP 58 7.62mm" + "[CH] Volvo 740 Improvised fighting vehicle" ], "artillery_units": [ - "Grkpbv 90 SPM", - "Haubits 77 AD SPG" + "[CH] Grkpbv 90 SPM", + "[CH] Archer SPG M982 Excalibur" ], "air_defense_units": [ "SAM Hawk SR (AN/MPQ-50)", - "SAM UndE 23 (RBS 70/90/98) STR" + "[CH] UndE 23 (RBS 70/90/98) STR", + "[CH] Lvkv 9040B SPAAG" ], "logistics_units": [ "Truck M818 6x6" ], "infantry_units": [ - "Soldier Ak 4", - "Soldier Ak 5", - "Soldier Ak 5 Granattillsats", - "Soldier Ksp 58", - "Soldier Ksp 90", - "Ag 90 Sniper team", - "Soldier Pskott 86", - "RBS 90 EldE 90 Stationary SAM LN" + "[CH] Ak 4 Soldier", + "[CH] Ak 5 Soldier", + "[CH] Ak 5 Granattillsats Soldier", + "[CH] Ksp 58 Soldier", + "[CH] Ksp 90 Soldier", + "[CH] Ag 90 Sniper AMR", + "[CH] Pskott 86 Soldier", + "[CH] RBS 90 VSHORAD LN" ], "preset_groups": [ "RBS-15", @@ -58,8 +60,8 @@ "Hawk" ], "naval_units": [ - "HSwMS Visby Corvette", - "Strb 90 FAC" + "[CH] Visby Class Corvette", + "[CH] Strb 90 FAC" ], "missiles": [], "requirements": { diff --git a/resources/factions/sweden_2002.json b/resources/factions/sweden_2002.json index 089b9d95..90ee5e3d 100644 --- a/resources/factions/sweden_2002.json +++ b/resources/factions/sweden_2002.json @@ -10,6 +10,8 @@ "AJS-37 Viggen", "JAS 39 Gripen", "JAS 39 Gripen A/G", + "[CH] JAS 39C Gripen", + "[CH] HKP15B", "UH-1H Iroquois" ], "awacs": [ @@ -23,6 +25,8 @@ "FV510 Warrior", "Leopard 2A4", "M1097 Heavy HMMWV Avenger", + "[CH] Ikv 91 LT", + "[CH] Strf 9040C IFV", "M1126 Stryker ICV (M2 HMG)" ], "artillery_units": [], @@ -43,7 +47,8 @@ "missiles": [], "air_defense_units": [ "SAM Hawk SR (AN/MPQ-50)", - "M1097 Heavy HMMWV Avenger" + "M1097 Heavy HMMWV Avenger", + "[CH] Lvkv 9040B SPAAG" ], "requirements": { "JAS39 Gripen Mod by Community": "https://github.com/whisky-actual/Community-JAS-39-C" diff --git a/resources/factions/sweden_2020.json b/resources/factions/sweden_2020.json index fe00785e..14632d8f 100644 --- a/resources/factions/sweden_2020.json +++ b/resources/factions/sweden_2020.json @@ -10,6 +10,8 @@ "AJS-37 Viggen", "JAS 39 Gripen", "JAS 39 Gripen A/G", + "[CH] JAS 39C Gripen", + "[CH] HKP15B", "UH-1H Iroquois", "UH-60L" ], @@ -21,37 +23,42 @@ "KC-130J" ], "frontline_units": [ - "Strf 9040 IFV", - "Lvkv 9040 SPAAG", - "Strv 2000 T140/40 MBT", + "[CH] Strf 9040B IFV", + "[CH] Strv 2000 T140/40 MBT", + "[CH] Ikv 91 LT", + "[CH] Sisu GTP APC", + "[CH] Strf 9040C IFV", + "[CH] Strv 122 MBT", + "[CH] Strv 123 MBT", "Leopard 2A4", "Leopard 2A5", - "BV 410", - "BV 410 RBS 90", - "Volvo 740 with KSP 58 7.62mm" + "[CH] BvS 10 ATV", + "[CH] Volvo 740 Improvised fighting vehicle" ], "artillery_units": [ - "Grkpbv 90 SPM", - "Artillerisystem 08 SPG" + "[CH] Grkpbv 90 SPM", + "[CH] Archer SPG SGR77B", + "[CH] Archer SPG M982 Excalibur" ], "air_defense_units": [ "SAM Hawk SR (AN/MPQ-50)", - "SAM UndE 23 (RBS 70/90/98) STR" + "[CH] UndE 23 (RBS 70/90/98) STR", + "[CH] Lvkv 9040B SPAAG" ], "logistics_units": [ "Truck M818 6x6" ], "infantry_units": [ - "Soldier Ak 4", - "Soldier Ak 5", - "Soldier Ak 5 Granattillsats", - "Soldier Ksp 58", - "Soldier Ksp 90", - "Ag 90 Sniper team", - "Soldier Pskott 86", - "Soldier RBS 57 ATGM", - "Soldier RBS 58 ATGM", - "RBS 90 EldE 90 Stationary SAM LN" + "[CH] Ak 4 Soldier", + "[CH] Ak 5 Soldier", + "[CH] Ak 5 Granattillsats Soldier", + "[CH] Ksp 58 Soldier", + "[CH] Ksp 90 Soldier", + "[CH] Ag 90 Sniper AMR", + "[CH] Pskott 86 Soldier", + "[CH] RBS 57 ATGM Soldier", + "[CH] RBS 58 ATGM", + "[CH] RBS 90 VSHORAD LN" ], "preset_groups": [ "RBS-15", @@ -65,8 +72,8 @@ "Hawk" ], "naval_units": [ - "HSwMS Visby Corvette", - "Strb 90 FAC" + "[CH] Visby Class Corvette", + "[CH] Strb 90 FAC" ], "missiles": [], "requirements": { diff --git a/resources/groups/LvS-103_Rb103A.yaml b/resources/groups/LvS-103_Rb103A.yaml index 5c1a6229..cf507b9a 100644 --- a/resources/groups/LvS-103_Rb103A.yaml +++ b/resources/groups/LvS-103_Rb103A.yaml @@ -2,10 +2,10 @@ name: LvS-103 Rb103A tasks: - LORAD units: - - SAM LvS-103 PM 103 Stationary STR - - SAM LvS-103 StriE 103 Mobile ECS - - SAM LvS-103 Elverk 103 Mobile EPP - - SAM LvS-103 Lavett 103 Rb103A Stationary LN - - SAM LvS-103 Lavett 103 Rb103B Stationary LN + - "[CH] LvS-103 PM 103 STR" + - "[CH] LvS-103 StriE 103 ECS (HX)" + - "[CH] LvS-103 Elverk 103 EPP (HX)" + - "[CH] LvS-103 Lavett 103 Rb103A LN" + - "[CH] LvS-103 Lavett 103 Rb103B LN" layouts: - LvS-103A Battery \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103A_Mobile.yaml b/resources/groups/LvS-103_Rb103A_Mobile.yaml index 55608fc7..9d9c5e76 100644 --- a/resources/groups/LvS-103_Rb103A_Mobile.yaml +++ b/resources/groups/LvS-103_Rb103A_Mobile.yaml @@ -2,10 +2,10 @@ name: LvS-103 Rb103A Mobile tasks: - LORAD units: - - SAM LvS-103 PM 103 Mobile STR - - SAM LvS-103 StriE 103 Mobile ECS - - SAM LvS-103 Elverk 103 Mobile EPP - - SAM LvS-103 Lavett 103 Rb103A Mobile LN - - SAM LvS-103 Lavett 103 Rb103B Mobile LN + - "[CH] LvS-103 PM 103 STR (HX)" + - "[CH] LvS-103 StriE 103 ECS (HX)" + - "[CH] LvS-103 Elverk 103 EPP (HX)" + - "[CH] LvS-103 Lavett 103 Rb103A LN (HX)" + - "[CH] LvS-103 Lavett 103 Rb103B LN (HX)" layouts: - LvS-103A Mobile Battery \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103B.yaml b/resources/groups/LvS-103_Rb103B.yaml index 66b37736..6ffb5a35 100644 --- a/resources/groups/LvS-103_Rb103B.yaml +++ b/resources/groups/LvS-103_Rb103B.yaml @@ -2,9 +2,9 @@ name: LvS-103 Rb103B tasks: - MERAD units: - - SAM LvS-103 PM 103 Stationary STR - - SAM LvS-103 StriE 103 Mobile ECS - - SAM LvS-103 Elverk 103 Mobile EPP - - SAM LvS-103 Lavett 103 Rb103B Stationary LN + - "[CH] LvS-103 PM 103 STR" + - "[CH] LvS-103 StriE 103 ECS (HX)" + - "[CH] LvS-103 Elverk 103 EPP (HX)" + - "[CH] LvS-103 Lavett 103 Rb103B LN" layouts: - LvS-103B Battery \ No newline at end of file diff --git a/resources/groups/LvS-103_Rb103B_Mobile.yaml b/resources/groups/LvS-103_Rb103B_Mobile.yaml index 0c51ffe4..3cb4a306 100644 --- a/resources/groups/LvS-103_Rb103B_Mobile.yaml +++ b/resources/groups/LvS-103_Rb103B_Mobile.yaml @@ -2,9 +2,9 @@ name: LvS-103 Rb103B Mobile tasks: - MERAD units: - - SAM LvS-103 PM 103 Mobile STR - - SAM LvS-103 StriE 103 Mobile ECS - - SAM LvS-103 Elverk 103 Mobile EPP - - SAM LvS-103 Lavett 103 Rb103B Mobile LN + - "[CH] LvS-103 PM 103 STR (HX)" + - "[CH] LvS-103 StriE 103 ECS (HX)" + - "[CH] LvS-103 Elverk 103 EPP (HX)" + - "[CH] LvS-103 Lavett 103 Rb103B LN (HX)" layouts: - LvS-103B Mobile Battery \ No newline at end of file diff --git a/resources/groups/RBS-15.yaml b/resources/groups/RBS-15.yaml index adecedf0..93663cd1 100644 --- a/resources/groups/RBS-15.yaml +++ b/resources/groups/RBS-15.yaml @@ -2,7 +2,7 @@ name: RBS-15 tasks: - Coastal units: - - AShM RBS 15KA - - SAM UndE 23 (RBS 70/90/98) STR + - "[CH] RBS 15KA LBASM" + - "[CH] UndE 23 (RBS 70/90/98) STR" layouts: - Silkworm \ No newline at end of file diff --git a/resources/groups/RBS-70.yaml b/resources/groups/RBS-70.yaml index 9b2f5645..eaffb62e 100644 --- a/resources/groups/RBS-70.yaml +++ b/resources/groups/RBS-70.yaml @@ -2,9 +2,8 @@ name: RBS-70 tasks: - SHORAD units: - - RBS 70 EldE 70 Stationary SAM LN - - BV 410 RBS 70 - - SAM UndE 23 (RBS 70/90/98) STR + - "[CH] RBS 70 VSHORAD LN" + - "[CH] UndE 23 (RBS 70/90/98) STR" layouts: - 6 Launcher Site (Semicircle) - 6 Launcher Site (Circle) \ No newline at end of file diff --git a/resources/groups/RBS-90.yaml b/resources/groups/RBS-90.yaml index 23dc2b01..913edfdf 100644 --- a/resources/groups/RBS-90.yaml +++ b/resources/groups/RBS-90.yaml @@ -2,8 +2,7 @@ name: RBS-90 tasks: - SHORAD units: - - RBS 90 EldE 90 Stationary SAM LN - - BV 410 RBS 90 - - SAM UndE 23 (RBS 70/90/98) STR + - "[CH] RBS 90 VSHORAD LN" + - "[CH] UndE 23 (RBS 70/90/98) STR" layouts: - 2 Launcher Site \ No newline at end of file diff --git a/resources/groups/RBS-98.yaml b/resources/groups/RBS-98.yaml index 5e3d3c23..8938d35d 100644 --- a/resources/groups/RBS-98.yaml +++ b/resources/groups/RBS-98.yaml @@ -2,8 +2,8 @@ name: RBS-98 tasks: - SHORAD units: - - RBS 98 EldE 98 Mobile SAM LN - - SAM UndE 23 (RBS 70/90/98) STR + - "[CH] RBS 98 SAM LN (BvS 10)" + - "[CH] UndE 23 (RBS 70/90/98) STR" layouts: - 6 Launcher Site (Semicircle) - 6 Launcher Site (Circle) \ No newline at end of file diff --git a/resources/layouts/anti_air/LvS-103B_Battery.yaml b/resources/layouts/anti_air/LvS-103B_Battery.yaml index 7fe56fbf..83d01b29 100644 --- a/resources/layouts/anti_air/LvS-103B_Battery.yaml +++ b/resources/layouts/anti_air/LvS-103B_Battery.yaml @@ -9,6 +9,8 @@ groups: unit_types: - LvS-103_PM103 - name: Patriot Battery 1 + optional: true # Allow groups without SHORAD + fill: false # Do not fill with faction possible units unit_count: - 1 unit_classes: @@ -19,6 +21,8 @@ groups: unit_types: - LvS-103_StriE103 - name: Patriot Battery 3 + optional: true # Allow groups without SHORAD + fill: false # Do not fill with faction possible units unit_count: - 1 unit_classes: diff --git a/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml b/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml index 58e6f419..1da6c654 100644 --- a/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml +++ b/resources/layouts/anti_air/LvS-103B_Mobile_Battery.yaml @@ -9,6 +9,8 @@ groups: unit_types: - LvS-103_PM103_HX - name: Patriot Battery 1 + optional: true # Allow groups without SHORAD + fill: false # Do not fill with faction possible units unit_count: - 1 unit_classes: @@ -19,6 +21,8 @@ groups: unit_types: - LvS-103_StriE103 - name: Patriot Battery 3 + optional: true # Allow groups without SHORAD + fill: false # Do not fill with faction possible units unit_count: - 1 unit_classes: diff --git a/resources/ui/units/aircrafts/banners/CH_JAS39C.jpg b/resources/ui/units/aircrafts/banners/CH_JAS39C.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28f4565b2bba26c3482edfb8e8d6d6c013e50fbf GIT binary patch literal 31502 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

~tBtNJ-UhEYf|K4VhL`Tgo?^I@+}I6*~Y_a)~b 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 Z#L!d){s(H>O4u^TI>*{dSi%2R{vW!A*PH+V literal 0 HcmV?d00001 diff --git a/resources/ui/units/aircrafts/icons/CH_JAS39C.jpg b/resources/ui/units/aircrafts/icons/CH_JAS39C.jpg new file mode 100644 index 0000000000000000000000000000000000000000..825c128041b09978cddb7c49e580bc6999f5affd GIT binary patch literal 892 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4qNgnNf*>Nsy6Qkn#T!1{nqhCT0d^Mg|06VP#`yWMbw3${GkTFfp<)urRYTvqBUA zB^X#(1=)lY4TY5)MU4W35(_7?8#{?8H!i#g)FA=%Imq(}0Mx<40F;pvWB`W(LWY5n zNl-}GF_Bp@@c%6a9-t$b1epaH>=}Oj^4Yfi`BL@sDjb(=TC{rSN3FV(`gO0V!?TKI zm!&gxpZ-1NoGY~EO{pIZ{Odoix%|T0 zW{<1z!o)&(C$^o(&i!M)HYMk^fllKL{#FOGsME9O-8-_;cE(Hh2V7sbnEzx?%+KT3 zcvcs2vxz^bgmd+&9bEf7^K)a08Mb{g7JJIo!}_l{JHWZ}^YZH<=HLN1lEu>QM1^!PaS4RZFdJpYqzRVQX0;^4>IiFe7U#SzIaU(Td=9cnPX_LUvi^?mHO%n@TlP$8{ zuQ~efR{Od0zj~X$@(a~{mz&gQ+V{|_A$3AUd??qc-M=`4igCuL>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh zL4qNgnNf*>Nsy6Qkn#T!1{nqhpsRqcMF197c4jsXMkb)Fg#ZI16Dt!F8wU$JL;)ic zGXo1Nn;^TQkRgY#h+|-*sF;$GQ)1ynBJHf~v(${B@3I=V#3k(Q zVr{EQx7UQK%$bpyp*)eJl-=^a?cIBZ9?{qCZF_P1(v;ar4;S6v61jBkMzy87EgrcO zHa$Kq!}0E+*VH*h@B4bLh5fZFo3owSp?G`!%~Y-HPJSoZW%@XJytWCsy;T16Od;!g z-+qtPx|w_D2Ir_-PT0|%b-tbJ%A8{>1F!pLEYaX$NrZu?y2PjC^w*zhFMH##OQK%l`c<&sysp>pOWl&7!vbmG8N)nf4|R z(%*|ty?W_!i1wC#SHG|qCZd{0)&`q|SgQSJ*i_~ou~nyK-k)T9jl`AfkMXgj$1Iwv zCMI;|v7-9~zMdJmBI4KP$!(Z2_j_1!)8vZ1HD`29SHE9XzN+xa*>hoO@lMlPgr+2O z9lG8pP{uHE65Gdu%(jKf{<>z%GiNPc_L)oQSoTFxv9u$%VjrFl3Y)?pzMX$h@aYnH#6^cfZYSTf>XMW%#2>y6$adtHOlxp_2l-lfEPhoMTt5#)70*GcRKCV z<%lZS_rP7k@>BP-8&_&ocP|Yz_Su#3ve0E|(7Q9++5;Az5t%$8v2NMAU6xn8FK-t4 zapFjT!+|$Dm5AIkEbuT z-+p^#PT#ZDdn(T`|6G`EntA0vgW=wNDgPO6DD?hbre+wide)wgH}*~Zaza85}-pK(X;{3}|afm=<3mwNaq##}bkYiIo3q0n$R+v96YS#gJV z))w7QQ+QOQs-x>>{O~P0DP6VDLHhZR>i8`J4jVfYizSmDZ;6yhyS7k4c=BQ2^!m&E zh84HZYKW~6nKJQ2C!6~(9|0F;A?=yw+N-*!JLJVEF5z$8AY^w)T57v#|Izq+97=gJ KCcR7le-i-Lj+~$X literal 0 HcmV?d00001 diff --git a/resources/units/aircraft/CH_JAS39C.yaml b/resources/units/aircraft/CH_JAS39C.yaml new file mode 100644 index 00000000..57481e08 --- /dev/null +++ b/resources/units/aircraft/CH_JAS39C.yaml @@ -0,0 +1,26 @@ +description: + The Saab JAS 39 Gripen is a light single-engine multirole fighter aircraft + manufactured by the Swedish aerospace company Saab AB. The Gripen has a delta wing + and canard configuration with relaxed stability design and fly-by-wire flight controls. + Various versions have been built, grouped as A-, C- and E-series. +introduced: 2002 +manufacturer: Saab AB +origin: Sweden +price: 21 +role: Fighter +variants: + "[CH] JAS 39C Gripen": {} +tasks: + BAI: 750 + DEAD: 750 + CAS: 750 + BARCAP: 430 + Escort: 430 + Fighter sweep: 430 + Intercept: 430 + OCA/Aircraft: 750 + OCA/Runway: 610 + SEAD: 750 + SEAD Escort: 750 + Strike: 610 + TARCAP: 430 \ No newline at end of file diff --git a/resources/units/aircraft/HKP15B.yaml b/resources/units/aircraft/HKP15B.yaml new file mode 100644 index 00000000..c5c8a982 --- /dev/null +++ b/resources/units/aircraft/HKP15B.yaml @@ -0,0 +1,15 @@ +description: "The AgustaWestland HKP 15B, originally the Agusta A109, is a lightweight, + twin-engine, eight-seat multi-purpose helicopter designed and initially produced by the + Italian rotorcraft manufacturer Agusta. It was the first all-Italian helicopter to be + mass-produced. Its production has been continued by Agusta's successor companies, + presently Leonardo (formerly AgustaWestland, merged into the new Finmeccanica since 2016)." +introduced: 1971 +manufacturer: Agusta +origin: Italy +role: Transport +price: 5 +variants: + "[CH] HKP15B": null +tasks: + Air Assault: 50 + Transport: 90 diff --git a/resources/units/ground_units/AG-90.yaml b/resources/units/ground_units/AG-90.yaml index 72d54585..6873b4d9 100644 --- a/resources/units/ground_units/AG-90.yaml +++ b/resources/units/ground_units/AG-90.yaml @@ -4,3 +4,4 @@ spawn_weight: 1 variants: Ag 90 Sniper team: null M82A1 Barrett Light 50 Sniper team: null + "[CH] Ag 90 Sniper AMR": null diff --git a/resources/units/ground_units/Artillerisystem08.yaml b/resources/units/ground_units/Artillerisystem08_M982.yaml similarity index 92% rename from resources/units/ground_units/Artillerisystem08.yaml rename to resources/units/ground_units/Artillerisystem08_M982.yaml index fa08783a..2477f9e5 100644 --- a/resources/units/ground_units/Artillerisystem08.yaml +++ b/resources/units/ground_units/Artillerisystem08_M982.yaml @@ -12,3 +12,4 @@ role: Self-Propelled Gun variants: Artillerisystem 08 SPG: {} Haubits 77 AD SPG: {} + "[CH] Archer SPG M982 Excalibur": {} diff --git a/resources/units/ground_units/Artillerisystem08_SGR77B.yaml b/resources/units/ground_units/Artillerisystem08_SGR77B.yaml new file mode 100644 index 00000000..20e63af7 --- /dev/null +++ b/resources/units/ground_units/Artillerisystem08_SGR77B.yaml @@ -0,0 +1,13 @@ +class: Artillery +description: The Archer Artillery System or Artillerisystem 08 is a + self-propelled gun system of Sweden. The main piece of the system is + a fully automated 155 mm/L52 gun howitzer and a M151 Protector remote + controlled weapon station mounted on a modified 6x6 chassis of the + Volvo A30D all-terrain articulated hauler. +introduced: 2016 +manufacturer: Bofors +origin: Sweden +price: 25 +role: Self-Propelled Gun +variants: + "[CH] Archer SPG SGR77B": {} diff --git a/resources/units/ground_units/BV410_RBS70.yaml b/resources/units/ground_units/BV410_RBS70.yaml deleted file mode 100644 index e096d242..00000000 --- a/resources/units/ground_units/BV410_RBS70.yaml +++ /dev/null @@ -1,14 +0,0 @@ -class: Launcher -description: Man-portable air defense system used for very short distances. - Primarily used against slow and low flying attack aircraft or helicopters. - - Transported by BV 410, a tracked all-terrain armoured vehicle. - - Works together with the UndE 23 search and track radar. -introduced: 2013 -manufacturer: Bofors / BAE Systems Hägglunds -origin: Sweden -price: 16 -role: Self-Propelled Surface-to-Air Missile Launcher -variants: - BV 410 RBS 70: {} diff --git a/resources/units/ground_units/BV410_RBS90.yaml b/resources/units/ground_units/BV410_RBS90.yaml deleted file mode 100644 index e603f267..00000000 --- a/resources/units/ground_units/BV410_RBS90.yaml +++ /dev/null @@ -1,15 +0,0 @@ -class: SHORAD -description: Man-portable air defense system used for very short distances. - Primarily used against slow and low flying attack aircraft or helicopters. - - Transported by BV 410, a tracked all-terrain armoured vehicle. - - Works together with the UndE 23 search and track radar, - but will function standalone. -introduced: 2013 -manufacturer: Bofors / BAE Systems Hägglunds -origin: Sweden -price: 18 -role: Self-Propelled Surface-to-Air Missile Launcher -variants: - BV 410 RBS 90: {} diff --git a/resources/units/ground_units/BV410.yaml b/resources/units/ground_units/CH_BVS10.yaml similarity index 90% rename from resources/units/ground_units/BV410.yaml rename to resources/units/ground_units/CH_BVS10.yaml index c52593fb..418ac78c 100644 --- a/resources/units/ground_units/BV410.yaml +++ b/resources/units/ground_units/CH_BVS10.yaml @@ -7,3 +7,4 @@ price: 6 role: Armoured Personnel Carrier variants: BV 410: {} + "[CH] BvS 10 ATV": {} diff --git a/resources/units/ground_units/CH_CV9050.yaml b/resources/units/ground_units/CH_CV9050.yaml new file mode 100644 index 00000000..937a1e59 --- /dev/null +++ b/resources/units/ground_units/CH_CV9050.yaml @@ -0,0 +1,11 @@ +class: IFV +description: The Combat Vehicle 90 (CV90), Swedish Stridsfordon 90 (Strf 90), + is a family of Swedish tracked armored combat vehicles. The original CV9040 + model carries eight soldiers and is equipped with a 50 mm Bofors autocannon. +introduced: 1993 +manufacturer: Försvarets Materielverk, Hägglunds and Bofors +origin: Sweden +price: 10 +role: Infantry Fighting Vehicle +variants: + "[CH] CV 9050 IFV": {} diff --git a/resources/units/ground_units/CH_Ikv91.yaml b/resources/units/ground_units/CH_Ikv91.yaml new file mode 100644 index 00000000..42c3c2ea --- /dev/null +++ b/resources/units/ground_units/CH_Ikv91.yaml @@ -0,0 +1,12 @@ +class: IFV +description: "The infanterikanonvagn 91 (ikv 91), was a high + mobility assault gun that was developed to meet the operational requirements of the Swedish + Army. It was designed and manufactured by \x48\xC3\xA4\x67\x67\x6C\x75\x6E\x64\x20\x26\x20\x53\xC3\xB6\x6E\x65\x72 and employed common components + with the Pbv 302 armoured personnel carrier series." +introduced: 1975 +manufacturer: \x48\xC3\xA4\x67\x67\x6C\x75\x6E\x64\x20\x26\x20\x53\xC3\xB6\x6E\x65\x72 +origin: Sweden +price: 10 +role: Infantry Fighting Vehicle +variants: + "[CH] Ikv 91 LT": {} diff --git a/resources/units/ground_units/CH_SisuGTP.yaml b/resources/units/ground_units/CH_SisuGTP.yaml new file mode 100644 index 00000000..08c9d25f --- /dev/null +++ b/resources/units/ground_units/CH_SisuGTP.yaml @@ -0,0 +1,11 @@ +class: APC +description: "The Sisu GTP is a Finnish made four-wheeled, + modular mine-resistant ambush protected armoured personnel carrier (APC) + designed and built by Sisu Auto. The first version was produced in 2018." +introduced: 2022 +manufacturer: Sisu Auto +origin: Sweden +price: 6 +role: Armoured Personnel Carrier +variants: + "[CH] Sisu GTP APC": {} diff --git a/resources/units/ground_units/CH_Strf9040C.yaml b/resources/units/ground_units/CH_Strf9040C.yaml new file mode 100644 index 00000000..427b7102 --- /dev/null +++ b/resources/units/ground_units/CH_Strf9040C.yaml @@ -0,0 +1,11 @@ +class: IFV +description: The Combat Vehicle 90 (CV90), Swedish Stridsfordon 90 (Strf 90), + is a family of Swedish tracked armored combat vehicles. The original CV9040 + model carries eight soldiers and is equipped with a 40 mm Bofors autocannon. +introduced: 1993 +manufacturer: Försvarets Materielverk, Hägglunds and Bofors +origin: Sweden +price: 10 +role: Infantry Fighting Vehicle +variants: + "[CH] Strf 9040C IFV": {} diff --git a/resources/units/ground_units/CH_Strv122.yaml b/resources/units/ground_units/CH_Strv122.yaml new file mode 100644 index 00000000..d14c7895 --- /dev/null +++ b/resources/units/ground_units/CH_Strv122.yaml @@ -0,0 +1,13 @@ +class: Tank +description: "Stridsvagn 122 is a Swedish main battle tank that, like the German Leopard 2A5, + is based on the German Leopard 2 Improved variant utilizing such newer technology as command, + control, and fire-control systems, reinforced armour, and long-term combat capacity. + Externally, the vehicle is distinguished from the Leopard 2A5 by the French GALIX smoke + dispensers, different storage bins, and the thicker crew hatches." +introduced: 2025 +manufacturer: Krauss-Maffei Wegmann +origin: Sweden +price: 25 +role: Main Battle Tank +variants: + "[CH] Strv 122 MBT": {} diff --git a/resources/units/ground_units/CH_Strv123.yaml b/resources/units/ground_units/CH_Strv123.yaml new file mode 100644 index 00000000..c2b9563b --- /dev/null +++ b/resources/units/ground_units/CH_Strv123.yaml @@ -0,0 +1,13 @@ +class: Tank +description: "Stridsvagn 122 is a Swedish main battle tank that, like the German Leopard 2A5, + is based on the German Leopard 2 Improved variant utilizing such newer technology as command, + control, and fire-control systems, reinforced armour, and long-term combat capacity. + Externally, the vehicle is distinguished from the Leopard 2A5 by the French GALIX smoke + dispensers, different storage bins, and the thicker crew hatches." +introduced: 2025 +manufacturer: Krauss-Maffei Wegmann +origin: Sweden +price: 25 +role: Main Battle Tank +variants: + "[CH] Strv 123 MBT": {} diff --git a/resources/units/ground_units/CV9040.yaml b/resources/units/ground_units/CV9040.yaml index e5d909bd..240d7fd6 100644 --- a/resources/units/ground_units/CV9040.yaml +++ b/resources/units/ground_units/CV9040.yaml @@ -10,3 +10,4 @@ role: Infantry Fighting Vehicle variants: Strf 9040 IFV: {} CV9040 IFV: {} + "[CH] Strf 9040B IFV": {} diff --git a/resources/units/ground_units/Grkpbv90.yaml b/resources/units/ground_units/Grkpbv90.yaml index 29505bab..5ec6689f 100644 --- a/resources/units/ground_units/Grkpbv90.yaml +++ b/resources/units/ground_units/Grkpbv90.yaml @@ -11,3 +11,4 @@ price: 15 role: Self-Propelled Gun variants: Grkpbv 90 SPM: {} + "[CH] Grkpbv 90 SPM": {} diff --git a/resources/units/ground_units/LvKv9040.yaml b/resources/units/ground_units/LvKv9040.yaml index b37f83d7..953cc25a 100644 --- a/resources/units/ground_units/LvKv9040.yaml +++ b/resources/units/ground_units/LvKv9040.yaml @@ -10,3 +10,4 @@ price: 24 role: Self-Propelled Anti-Aircraft Gun variants: Lvkv 9040 SPAAG: {} + "[CH] Lvkv 9040B SPAAG": {} diff --git a/resources/units/ground_units/LvS-103_Elverk103.yaml b/resources/units/ground_units/LvS-103_Elverk103.yaml index 9d6c5433..8536ccdf 100644 --- a/resources/units/ground_units/LvS-103_Elverk103.yaml +++ b/resources/units/ground_units/LvS-103_Elverk103.yaml @@ -2,3 +2,4 @@ class: Power price: 15 variants: SAM LvS-103 Elverk 103 Mobile EPP: null + "[CH] LvS-103 Elverk 103 EPP (HX)": null diff --git a/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103A.yaml b/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103A.yaml index bf39ba9b..41bb3e89 100644 --- a/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103A.yaml +++ b/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103A.yaml @@ -8,3 +8,4 @@ description: Long range air defense launcher. price: 15 variants: SAM LvS-103 Lavett 103 Rb103A Mobile LN: null + "[CH] LvS-103 Lavett 103 Rb103A LN (HX)": null diff --git a/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103B.yaml b/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103B.yaml index 5556502e..b84dbb6d 100644 --- a/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103B.yaml +++ b/resources/units/ground_units/LvS-103_Lavett103_HX_Rb103B.yaml @@ -9,3 +9,4 @@ description: Medium range air defense launcher. price: 8 variants: SAM LvS-103 Lavett 103 Rb103B Mobile LN: null + "[CH] LvS-103 Lavett 103 Rb103B LN (HX)": null diff --git a/resources/units/ground_units/LvS-103_Lavett103_Rb103A.yaml b/resources/units/ground_units/LvS-103_Lavett103_Rb103A.yaml index cd828168..561324ac 100644 --- a/resources/units/ground_units/LvS-103_Lavett103_Rb103A.yaml +++ b/resources/units/ground_units/LvS-103_Lavett103_Rb103A.yaml @@ -8,3 +8,4 @@ description: Long range air defense launcher. price: 15 variants: SAM LvS-103 Lavett 103 Rb103A Stationary LN: null + "[CH] LvS-103 Lavett 103 Rb103A LN": null diff --git a/resources/units/ground_units/LvS-103_Lavett103_Rb103B.yaml b/resources/units/ground_units/LvS-103_Lavett103_Rb103B.yaml index 45075dc7..9462bfd4 100644 --- a/resources/units/ground_units/LvS-103_Lavett103_Rb103B.yaml +++ b/resources/units/ground_units/LvS-103_Lavett103_Rb103B.yaml @@ -9,3 +9,4 @@ description: Medium range air defense launcher. price: 8 variants: SAM LvS-103 Lavett 103 Rb103B Stationary LN: null + "[CH] LvS-103 Lavett 103 Rb103B LN": null diff --git a/resources/units/ground_units/LvS-103_PM103.yaml b/resources/units/ground_units/LvS-103_PM103.yaml index 3449d517..a91dd9f0 100644 --- a/resources/units/ground_units/LvS-103_PM103.yaml +++ b/resources/units/ground_units/LvS-103_PM103.yaml @@ -2,6 +2,7 @@ class: SearchRadar price: 22 variants: SAM LvS-103 PM 103 Stationary STR: null + "[CH] LvS-103 PM 103 STR": null skynet_properties: # Override skynet default properties can_engage_harm: true # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons diff --git a/resources/units/ground_units/LvS-103_PM103_HX.yaml b/resources/units/ground_units/LvS-103_PM103_HX.yaml index 62ff7afe..0f50a005 100644 --- a/resources/units/ground_units/LvS-103_PM103_HX.yaml +++ b/resources/units/ground_units/LvS-103_PM103_HX.yaml @@ -2,6 +2,7 @@ class: SearchRadar price: 22 variants: SAM LvS-103 PM 103 Mobile STR: null + "[CH] LvS-103 PM 103 STR (HX)": null skynet_properties: # Override skynet default properties can_engage_harm: true # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons diff --git a/resources/units/ground_units/LvS-103_StriE103.yaml b/resources/units/ground_units/LvS-103_StriE103.yaml index 5059363a..36b6ccfe 100644 --- a/resources/units/ground_units/LvS-103_StriE103.yaml +++ b/resources/units/ground_units/LvS-103_StriE103.yaml @@ -2,3 +2,4 @@ class: TrackRadar price: 30 variants: SAM LvS-103 StriE 103 Mobile ECS: null + "[CH] LvS-103 StriE 103 ECS (HX)": null diff --git a/resources/units/ground_units/RBS-15KA.yaml b/resources/units/ground_units/RBS-15KA.yaml index 81621f2a..0e0e8910 100644 --- a/resources/units/ground_units/RBS-15KA.yaml +++ b/resources/units/ground_units/RBS-15KA.yaml @@ -1,4 +1,5 @@ class: AntiShipMissile price: 0 variants: - AShM RBS 15KA: null \ No newline at end of file + AShM RBS 15KA: null + "[CH] RBS 15KA LBASM": null \ No newline at end of file diff --git a/resources/units/ground_units/RBS-57.yaml b/resources/units/ground_units/RBS-57.yaml index 9d70a142..02e12cff 100644 --- a/resources/units/ground_units/RBS-57.yaml +++ b/resources/units/ground_units/RBS-57.yaml @@ -4,3 +4,4 @@ spawn_weight: 1 variants: Soldier RBS 57 ATGM: null Soldier NLAW ATGM: null + "[CH] RBS 57 ATGM Soldier": null diff --git a/resources/units/ground_units/RBS-58.yaml b/resources/units/ground_units/RBS-58.yaml index f47af31c..ed8d4849 100644 --- a/resources/units/ground_units/RBS-58.yaml +++ b/resources/units/ground_units/RBS-58.yaml @@ -3,3 +3,4 @@ price: 0 spawn_weight: 1 variants: Soldier RBS 58 ATGM: null + "[CH] RBS 58 ATGM": null diff --git a/resources/units/ground_units/RBS-70.yaml b/resources/units/ground_units/RBS-70.yaml index 6c133f7b..dcf8e8d1 100644 --- a/resources/units/ground_units/RBS-70.yaml +++ b/resources/units/ground_units/RBS-70.yaml @@ -10,3 +10,4 @@ price: 15 role: Surface-to-Air Missile Launcher variants: RBS 70 EldE 70 Stationary SAM LN: {} + "[CH] RBS 70 VSHORAD LN": {} diff --git a/resources/units/ground_units/RBS-90.yaml b/resources/units/ground_units/RBS-90.yaml index 86892734..973706b2 100644 --- a/resources/units/ground_units/RBS-90.yaml +++ b/resources/units/ground_units/RBS-90.yaml @@ -1,5 +1,5 @@ class: Manpad -spawn_weight: 1 +spawn_weight: 5 description: Man-portable air defense system used for very short distances. Primarily used against slow and low flying attack aircraft or helicopters. @@ -12,3 +12,4 @@ price: 17 role: Surface-to-Air Missile Launcher variants: RBS 90 EldE 90 Stationary SAM LN: {} + "[CH] RBS 90 VSHORAD LN": {} diff --git a/resources/units/ground_units/RBS-98.yaml b/resources/units/ground_units/RBS-98.yaml index 4b4286f6..71299cf1 100644 --- a/resources/units/ground_units/RBS-98.yaml +++ b/resources/units/ground_units/RBS-98.yaml @@ -11,3 +11,4 @@ price: 20 role: Self-Propelled Surface-to-Air Missile Launcher variants: RBS 98 EldE 98 Mobile SAM LN: {} + "[CH] RBS 98 SAM LN (BvS 10)": {} diff --git a/resources/units/ground_units/Strv103.yaml b/resources/units/ground_units/Strv103.yaml index f0bc91b0..46cbef23 100644 --- a/resources/units/ground_units/Strv103.yaml +++ b/resources/units/ground_units/Strv103.yaml @@ -14,3 +14,4 @@ price: 18 role: Main Battle Tank variants: Strv 103 MBT: {} + "[CH] Strv 103 MBT": {} diff --git a/resources/units/ground_units/Strv2000.yaml b/resources/units/ground_units/Strv2000.yaml index a5cd9561..be115de1 100644 --- a/resources/units/ground_units/Strv2000.yaml +++ b/resources/units/ground_units/Strv2000.yaml @@ -10,3 +10,4 @@ price: 22 role: Main Battle Tank variants: Strv 2000 T140/40 MBT: {} + "[CH] Strv 2000 T140/40 MBT": {} diff --git a/resources/units/ground_units/SwedishinfantryAK4.yaml b/resources/units/ground_units/SwedishinfantryAK4.yaml index 78d7d81c..180f24f0 100644 --- a/resources/units/ground_units/SwedishinfantryAK4.yaml +++ b/resources/units/ground_units/SwedishinfantryAK4.yaml @@ -1,6 +1,7 @@ class: Infantry price: 0 -spawn_weight: 1 +spawn_weight: 5 variants: Soldier Ak 4: null Soldier HK G3: null + "[CH] Ak 4 Soldier": null diff --git a/resources/units/ground_units/SwedishinfantryAK5.yaml b/resources/units/ground_units/SwedishinfantryAK5.yaml index 98f72de7..ff19a409 100644 --- a/resources/units/ground_units/SwedishinfantryAK5.yaml +++ b/resources/units/ground_units/SwedishinfantryAK5.yaml @@ -1,5 +1,6 @@ class: Infantry price: 0 -spawn_weight: 1 +spawn_weight: 5 variants: Soldier Ak 5: null + "[CH] Ak 5 Soldier": null diff --git a/resources/units/ground_units/SwedishinfantryAK5GT.yaml b/resources/units/ground_units/SwedishinfantryAK5GT.yaml index 75e0f81b..6bed2318 100644 --- a/resources/units/ground_units/SwedishinfantryAK5GT.yaml +++ b/resources/units/ground_units/SwedishinfantryAK5GT.yaml @@ -3,3 +3,4 @@ price: 0 spawn_weight: 1 variants: Soldier Ak 5 Granattillsats: null + "[CH] Ak 5 Granattillsats Soldier": null diff --git a/resources/units/ground_units/SwedishinfantryKSP58.yaml b/resources/units/ground_units/SwedishinfantryKSP58.yaml index fa834e33..1b6ba626 100644 --- a/resources/units/ground_units/SwedishinfantryKSP58.yaml +++ b/resources/units/ground_units/SwedishinfantryKSP58.yaml @@ -3,3 +3,4 @@ price: 0 spawn_weight: 1 variants: Soldier Ksp 58: null + "[CH] Ksp 58 Soldier": null diff --git a/resources/units/ground_units/SwedishinfantryKSP90.yaml b/resources/units/ground_units/SwedishinfantryKSP90.yaml index 8a50fb8a..3284e4d9 100644 --- a/resources/units/ground_units/SwedishinfantryKSP90.yaml +++ b/resources/units/ground_units/SwedishinfantryKSP90.yaml @@ -3,3 +3,4 @@ price: 0 spawn_weight: 1 variants: Soldier Ksp 90: null + "[CH] Ksp 90 Soldier": null diff --git a/resources/units/ground_units/SwedishinfantryPskott86.yaml b/resources/units/ground_units/SwedishinfantryPskott86.yaml index c2859f33..6bd7295e 100644 --- a/resources/units/ground_units/SwedishinfantryPskott86.yaml +++ b/resources/units/ground_units/SwedishinfantryPskott86.yaml @@ -4,3 +4,4 @@ spawn_weight: 1 variants: Soldier Pskott 86: null Soldier AT-4: null + "[CH] Pskott 86 Soldier": null diff --git a/resources/units/ground_units/UndE23.yaml b/resources/units/ground_units/UndE23.yaml index 99281e40..7412c9fb 100644 --- a/resources/units/ground_units/UndE23.yaml +++ b/resources/units/ground_units/UndE23.yaml @@ -1,7 +1,8 @@ class: SearchRadar price: 22 variants: - SAM UndE 23 (RBS 70/90/98) STR: null + "SAM UndE 23 (RBS 70/90/98) STR" + "[CH] UndE 23 (RBS 70/90/98) STR": null skynet_properties: # Override skynet default properties can_engage_harm: true # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons diff --git a/resources/units/ground_units/Volvo740.yaml b/resources/units/ground_units/Volvo740.yaml index b55ca090..977bfda5 100644 --- a/resources/units/ground_units/Volvo740.yaml +++ b/resources/units/ground_units/Volvo740.yaml @@ -2,4 +2,5 @@ class: Recon price: 4 role: Recon variants: - Volvo 740 with KSP 58 7.62mm: {} \ No newline at end of file + Volvo 740 with KSP 58 7.62mm: {} + "[CH] Volvo 740 Improvised fighting vehicle": {} \ No newline at end of file diff --git a/resources/units/ships/HSwMS_Visby.yaml b/resources/units/ships/HSwMS_Visby.yaml index d1211b0b..fe550eda 100644 --- a/resources/units/ships/HSwMS_Visby.yaml +++ b/resources/units/ships/HSwMS_Visby.yaml @@ -1,4 +1,5 @@ class: Destroyer price: 0 variants: - HSwMS Visby Corvette: null \ No newline at end of file + HSwMS Visby Corvette: null + "[CH] Visby Class Corvette": null \ No newline at end of file diff --git a/resources/units/ships/Strb90.yaml b/resources/units/ships/Strb90.yaml index d2815bd3..81986892 100644 --- a/resources/units/ships/Strb90.yaml +++ b/resources/units/ships/Strb90.yaml @@ -1,4 +1,5 @@ class: Destroyer price: 0 variants: - Strb 90 FAC: null \ No newline at end of file + Strb 90 FAC: null + "[CH] Strb 90 FAC": null \ No newline at end of file