mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
IDF Assets Pack support v1.1 (#233)
* Updated Irondome support to IDF Assets Pack V1.1, which includes the David's Sling. * Added an Israel 2017 faction with the David's Sling. * IDF Assets Pack air defence presets and assets are now correctly removed from the faction when the mod is disabled. * Removed the Iron Dome mod rocket launchers: - "9M22U - 122mm Grad" - "9M27F - 229mm Uragan" - "9M55F - 300mm Smerch" These were added to the Iron Dome Mod V1.2 in order for the radar to recognize them and be able to intercept them (these are limitations of DCS), so new rockets were added. However, they don't exist in the IDF Assets Pack. * IronDome to IDF-Assets migration --------- Co-authored-by: Raffson <Raffson@users.noreply.github.com>
This commit is contained in:
parent
8ff6e5688a
commit
ca98183e94
@ -13,6 +13,7 @@
|
||||
* **[Modding]** Updated support for F-4B/C Phantom mod to 2.8.7.204
|
||||
* **[Modding]** Updated Community A-4E-C mod version support to 2.2.0 release.
|
||||
* **[Modding]** Added F/A-18E/F Super Hornet AI Tanker mod support (Chiller Juice Studios SuperBug Tanker AI version 1.4)
|
||||
* **[Modding]** Updated Irondome support to IDF Assets Pack V1.1, adding support for the David's Sling
|
||||
* **[Radios]** Added HF-FM band for AN/ARC-222
|
||||
* **[Radios]** Ability to define preset channels for radios on squadron level (for human pilots only)
|
||||
* **[Mission Planning]** Avoid helicopters being assigned as escort to planes and vice-versa
|
||||
|
||||
@ -69,6 +69,16 @@ class GroundUnitType(UnitType[Type[VehicleType]]):
|
||||
if "name" in state:
|
||||
state["variant_id"] = state.pop("name")
|
||||
|
||||
# iron-dome migration to IDF assets
|
||||
if state["variant_id"] in [
|
||||
"(IDF Mods Project) BM-21 Grad 122mm",
|
||||
"(IDF Mods Project) Urgan BM-27 220mm",
|
||||
"(IDF Mods Project) 9A52 Smerch CM 300mm",
|
||||
]:
|
||||
state["variant_id"] = "M109A6 Paladin"
|
||||
elif state["variant_id"] == "Iron Dome ELM-2048 MMR":
|
||||
state["variant_id"] = "ELM-2084MMR AD Rotating Mode"
|
||||
|
||||
# Update any existing models with new data on load.
|
||||
updated = GroundUnitType.named(state["variant_id"])
|
||||
state.update(updated.__dict__)
|
||||
|
||||
@ -458,13 +458,16 @@ class Faction:
|
||||
self.remove_ship("L02")
|
||||
self.remove_ship("DDG39")
|
||||
if not mod_settings.irondome:
|
||||
self.remove_vehicle("I9K51_GRAD")
|
||||
self.remove_vehicle("I9K57_URAGAN")
|
||||
self.remove_vehicle("I9K58_SMERCH")
|
||||
self.remove_vehicle("IRON_DOME_CP")
|
||||
self.remove_vehicle("Iron_Dome_David_Sling_CP")
|
||||
self.remove_vehicle("IRON_DOME_LN")
|
||||
self.remove_vehicle("ELM2048_MMR")
|
||||
self.remove_vehicle("DAVID_SLING_LN")
|
||||
self.remove_vehicle("ELM2084_MMR_AD_RT")
|
||||
self.remove_vehicle("ELM2084_MMR_AD_SC")
|
||||
self.remove_vehicle("ELM2084_MMR_WLR")
|
||||
self.remove_preset("Iron Dome")
|
||||
self.remove_preset("Iron Dome (Semicircle)")
|
||||
self.remove_preset("David's Sling")
|
||||
self.remove_preset("David's Sling (Semicircle)")
|
||||
# swedish military assets pack
|
||||
if not mod_settings.swedishmilitaryassetspack:
|
||||
self.remove_vehicle("BV410_RBS70")
|
||||
|
||||
@ -10,6 +10,7 @@ import dcs.terrain.falklands.airports
|
||||
|
||||
import pydcs_extensions
|
||||
from game.profiling import logged_duration
|
||||
from pydcs_extensions import ELM2084_MMR_AD_RT, Iron_Dome_David_Sling_CP
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from game import Game
|
||||
@ -62,6 +63,13 @@ class MigrationUnpickler(pickle.Unpickler):
|
||||
return DummyObject
|
||||
if module == "pydcs_extensions.f4b.f4b":
|
||||
return pydcs_extensions.f4
|
||||
if module == "pydcs_extensions.irondome.irondome":
|
||||
if name in ["I9K57_URAGAN", "I9K51_GRAD", "I9K58_SMERCH"]:
|
||||
return None
|
||||
elif name == "ELM2048_MMR":
|
||||
return ELM2084_MMR_AD_RT
|
||||
elif name == "IRON_DOME_CP":
|
||||
return Iron_Dome_David_Sling_CP
|
||||
return super().find_class(module, name)
|
||||
# fmt: on
|
||||
|
||||
|
||||
@ -4,39 +4,9 @@ from game.modsupport import vehiclemod
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class I9K51_GRAD(VehicleType):
|
||||
id = "I9K51_GRAD"
|
||||
name = "(IDF Mods Project) BM-21 Grad 122mm"
|
||||
detection_range = 0
|
||||
threat_range = 19000
|
||||
air_weapon_dist = 19000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class I9K57_URAGAN(VehicleType):
|
||||
id = "I9K57_URAGAN"
|
||||
name = "(IDF Mods Project) Urgan BM-27 220mm"
|
||||
detection_range = 0
|
||||
threat_range = 35800
|
||||
air_weapon_dist = 35800
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class I9K58_SMERCH(VehicleType):
|
||||
id = "I9K58_SMERCH"
|
||||
name = "(IDF Mods Project) 9A52 Smerch CM 300mm"
|
||||
detection_range = 0
|
||||
threat_range = 70000
|
||||
air_weapon_dist = 70000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class IRON_DOME_CP(VehicleType):
|
||||
id = "IRON_DOME_CP"
|
||||
name = "Iron Dome CP"
|
||||
class Iron_Dome_David_Sling_CP(VehicleType):
|
||||
id = "Iron_Dome_David_Sling_CP"
|
||||
name = "[IDF Mods] Iron Dome-David Sling CP"
|
||||
detection_range = 0
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
@ -46,16 +16,43 @@ class IRON_DOME_CP(VehicleType):
|
||||
@vehiclemod
|
||||
class IRON_DOME_LN(VehicleType):
|
||||
id = "IRON_DOME_LN"
|
||||
name = "Iron Dome LN"
|
||||
name = "[IDF Mods] Iron Dome"
|
||||
detection_range = 0
|
||||
threat_range = 25000
|
||||
air_weapon_dist = 25000
|
||||
threat_range = 20000
|
||||
air_weapon_dist = 20000
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class ELM2048_MMR(VehicleType):
|
||||
id = "ELM2048_MMR"
|
||||
name = "Iron Dome ELM-2048 MMR"
|
||||
detection_range = 412000
|
||||
class DAVID_SLING_LN(VehicleType):
|
||||
id = "DAVID_SLING_LN"
|
||||
name = "[IDF Mods] David Sling"
|
||||
detection_range = 0
|
||||
threat_range = 250000
|
||||
air_weapon_dist = 250000
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class ELM2084_MMR_AD_RT(VehicleType):
|
||||
id = "ELM2084_MMR_AD_RT"
|
||||
name = "[IDF Mods] ELM-2084MMR AD Rotating Mode"
|
||||
detection_range = 475000
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class ELM2084_MMR_AD_SC(VehicleType):
|
||||
id = "ELM2084_MMR_AD_SC"
|
||||
name = "[IDF Mods] ELM-2084MMR AD Sector Mode"
|
||||
detection_range = 650000
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class ELM2084_MMR_WLR(VehicleType):
|
||||
id = "ELM2084_MMR_WLR"
|
||||
name = "[IDF Mods] ELM-2084MMR WLR Mode"
|
||||
detection_range = 160000
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
@ -175,7 +175,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
||||
("UH-60L Black Hawk (v1.3.1)", self.uh_60l),
|
||||
("Star Wars Modpack 2.54+", self.SWPack),
|
||||
("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack),
|
||||
("Iron Dome (v1.2 by IDF Mods Project)", self.irondome),
|
||||
("IDF Assets Pack (v1.1 by IDF Mods Project)", self.irondome),
|
||||
]
|
||||
|
||||
for i in range(len(mod_pairs)):
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
"M60A3 \"Patton\""
|
||||
],
|
||||
"artillery_units": [
|
||||
"(IDF Mods Project) BM-21 Grad 122mm"
|
||||
"M109A6 Paladin"
|
||||
],
|
||||
"logistics_units": [
|
||||
"Truck M818 6x6"
|
||||
|
||||
@ -28,8 +28,8 @@
|
||||
"M60A3 \"Patton\""
|
||||
],
|
||||
"artillery_units": [
|
||||
"(IDF Mods Project) BM-21 Grad 122mm",
|
||||
"(IDF Mods Project) Urgan BM-27 220mm"
|
||||
"M109A6 Paladin",
|
||||
"M270 Multiple Launch Rocket System"
|
||||
],
|
||||
"logistics_units": [
|
||||
"Truck M818 6x6"
|
||||
|
||||
@ -41,10 +41,7 @@
|
||||
],
|
||||
"artillery_units": [
|
||||
"M109A6 Paladin",
|
||||
"M270 Multiple Launch Rocket System",
|
||||
"(IDF Mods Project) BM-21 Grad 122mm",
|
||||
"(IDF Mods Project) Urgan BM-27 220mm",
|
||||
"(IDF Mods Project) 9A52 Smerch CM 300mm"
|
||||
"M270 Multiple Launch Rocket System"
|
||||
],
|
||||
"logistics_units": [
|
||||
"Truck M818 6x6"
|
||||
|
||||
102
resources/factions/israel_2017.json
Normal file
102
resources/factions/israel_2017.json
Normal file
@ -0,0 +1,102 @@
|
||||
{
|
||||
"country": "Israel",
|
||||
"name": "Israel 2017",
|
||||
"authors": "Ghosti",
|
||||
"description": "<p>Israel Defence Forces after the introduction of the David's Sling.</p>",
|
||||
"locales": [
|
||||
"he_IL"
|
||||
],
|
||||
"aircrafts": [
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"C-130",
|
||||
"C-130J-30 Super Hercules",
|
||||
"F-15C Eagle",
|
||||
"F-15D Baz",
|
||||
"F-15E Strike Eagle (AI)",
|
||||
"F-15E Strike Eagle (Suite 4+)",
|
||||
"F-16CM Fighting Falcon (Block 50)",
|
||||
"F-16D Barak (Block 30)",
|
||||
"F-16D Barak (Block 40)",
|
||||
"F-16I Sufa",
|
||||
"UH-1H Iroquois",
|
||||
"UH-60L"
|
||||
],
|
||||
"awacs": [
|
||||
"E-2C Hawkeye"
|
||||
],
|
||||
"tankers": [
|
||||
"KC-130",
|
||||
"KC-135 Stratotanker"
|
||||
],
|
||||
"frontline_units": [
|
||||
"M1043 HMMWV (M2 HMG)",
|
||||
"M1045 HMMWV (BGM-71 TOW)",
|
||||
"M113",
|
||||
"M163 Vulcan Air Defense System",
|
||||
"Merkava Mk IV"
|
||||
],
|
||||
"artillery_units": [
|
||||
"M109A6 Paladin",
|
||||
"M270 Multiple Launch Rocket System"
|
||||
],
|
||||
"logistics_units": [
|
||||
"Truck M818 6x6"
|
||||
],
|
||||
"infantry_units": [
|
||||
"Infantry M249",
|
||||
"Infantry M4",
|
||||
"MANPADS Stinger"
|
||||
],
|
||||
"preset_groups": [
|
||||
"Hawk",
|
||||
"Iron Dome",
|
||||
"Iron Dome (Semicircle)",
|
||||
"David's Sling",
|
||||
"David's Sling (Semicircle)",
|
||||
"Patriot"
|
||||
],
|
||||
"naval_units": [
|
||||
"DDG Arleigh Burke IIa"
|
||||
],
|
||||
"missiles": [],
|
||||
"air_defense_units": [
|
||||
"ELM-2084MMR AD Rotating Mode",
|
||||
"SAM Hawk SR (AN/MPQ-50)",
|
||||
"M163 Vulcan Air Defense System",
|
||||
"HEMTT C-RAM Phalanx",
|
||||
"M48 Chaparral"
|
||||
],
|
||||
"requirements": {},
|
||||
"carrier_names": [],
|
||||
"helicopter_carrier_names": [],
|
||||
"has_jtac": true,
|
||||
"jtac_unit": "MQ-9 Reaper",
|
||||
"liveries_overrides": {
|
||||
"F-15C Eagle": [
|
||||
"390th Fighter SQN"
|
||||
],
|
||||
"F-15E Strike Eagle": [
|
||||
"IDF No 69 Hammers Squadron"
|
||||
],
|
||||
"F-16CM Fighting Falcon (Block 50)": [
|
||||
"IAF_101st_squadron",
|
||||
"IAF_110th_Squadron",
|
||||
"IAF_115th_Aggressors_Squadron",
|
||||
"IAF_117th_Squadron"
|
||||
],
|
||||
"UH-1H Iroquois": [
|
||||
"Israel Army"
|
||||
],
|
||||
"AH-64D Apache Longbow": [
|
||||
"ah-64_d_isr"
|
||||
],
|
||||
"Mirage 2000C": [
|
||||
"UAE Air Force"
|
||||
],
|
||||
"UH-60L": [
|
||||
"Israeli Air Force"
|
||||
]
|
||||
},
|
||||
"unrestricted_satnav": true
|
||||
}
|
||||
10
resources/groups/DavidSling.yaml
Normal file
10
resources/groups/DavidSling.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
name: David's Sling
|
||||
tasks:
|
||||
- LORAD
|
||||
units:
|
||||
- ELM-2084MMR AD Rotating Mode
|
||||
- ELM-2084MMR AD Sector Mode
|
||||
- David's Sling CP
|
||||
- David's Sling LN
|
||||
layouts:
|
||||
- 4 Launcher Site (Circle)
|
||||
10
resources/groups/DavidSling_Semicircle.yaml
Normal file
10
resources/groups/DavidSling_Semicircle.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
name: David's Sling (Semicircle)
|
||||
tasks:
|
||||
- LORAD
|
||||
units:
|
||||
- ELM-2084MMR AD Rotating Mode
|
||||
- ELM-2084MMR AD Sector Mode
|
||||
- David's Sling CP
|
||||
- David's Sling LN
|
||||
layouts:
|
||||
- 4 Launcher Site (Semicircle)
|
||||
@ -2,7 +2,8 @@ name: Iron Dome
|
||||
tasks:
|
||||
- MERAD
|
||||
units:
|
||||
- Iron Dome ELM-2048 MMR
|
||||
- ELM-2084MMR AD Rotating Mode
|
||||
- ELM-2084MMR AD Sector Mode
|
||||
- Iron Dome CP
|
||||
- Iron Dome LN
|
||||
layouts:
|
||||
|
||||
10
resources/groups/IronDome_Semicircle.yaml
Normal file
10
resources/groups/IronDome_Semicircle.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
name: Iron Dome (Semicircle)
|
||||
tasks:
|
||||
- MERAD
|
||||
units:
|
||||
- ELM-2084MMR AD Rotating Mode
|
||||
- ELM-2084MMR AD Sector Mode
|
||||
- Iron Dome CP
|
||||
- Iron Dome LN
|
||||
layouts:
|
||||
- 4 Launcher Site (Semicircle)
|
||||
4
resources/units/ground_units/DAVID_SLING_LN.yaml
Normal file
4
resources/units/ground_units/DAVID_SLING_LN.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
class: Launcher
|
||||
price: 23
|
||||
variants:
|
||||
David's Sling LN: null
|
||||
11
resources/units/ground_units/ELM2084_MMR_AD_RT.yaml
Normal file
11
resources/units/ground_units/ELM2084_MMR_AD_RT.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
class: SearchRadar
|
||||
price: 25
|
||||
variants:
|
||||
ELM-2084MMR AD Rotating Mode: 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
|
||||
go_live_range_in_percent: 100
|
||||
harm_detection_chance: 90
|
||||
engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone
|
||||
autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour
|
||||
11
resources/units/ground_units/ELM2084_MMR_AD_SC.yaml
Normal file
11
resources/units/ground_units/ELM2084_MMR_AD_SC.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
class: TrackRadar
|
||||
price: 25
|
||||
variants:
|
||||
ELM-2084MMR AD Sector Mode: 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
|
||||
go_live_range_in_percent: 100
|
||||
harm_detection_chance: 90
|
||||
engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone
|
||||
autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour
|
||||
@ -1,7 +1,7 @@
|
||||
class: SearchRadar
|
||||
price: 25
|
||||
variants:
|
||||
Iron Dome ELM-2048 MMR: null
|
||||
ELM-2084MMR WLR Mode: 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
|
||||
@ -1,10 +0,0 @@
|
||||
class: Artillery
|
||||
description: "The BM-21 \"Grad\" (Russian: \u0411\u041C-21 \"\u0413\u0440\u0430\u0434\
|
||||
\", lit.\u2009'hail') is a Soviet truck-mounted 122 mm multiple rocket launcher."
|
||||
introduced: 1963
|
||||
manufacturer: Splav
|
||||
origin: USSR/Russia
|
||||
price: 15
|
||||
role: Multiple-Launch Rocket System
|
||||
variants:
|
||||
(IDF Mods Project) BM-21 Grad 122mm: {}
|
||||
@ -1,11 +0,0 @@
|
||||
class: Artillery
|
||||
description: "The BM-27 Uragan (Russian: \u0423\u0440\u0430\u0433\u0430\u043D, lit.\u2009\
|
||||
'Hurricane'; GRAU index 9P140) is a self-propelled multiple rocket launcher system\
|
||||
\ designed in the Soviet Union."
|
||||
introduced: 1975
|
||||
manufacturer: Splav
|
||||
origin: USSR/Russia
|
||||
price: 40
|
||||
role: Multiple-Launch Rocket System
|
||||
variants:
|
||||
(IDF Mods Project) Urgan BM-27 220mm: {}
|
||||
@ -1,12 +0,0 @@
|
||||
class: Artillery
|
||||
description: "The BM-30 Smerch (Russian: \u0421\u043C\u0435\u0440\u0447, \"tornado\"\
|
||||
, \"whirlwind\"), 9K58 Smerch or 9A52-2 Smerch-M is a Soviet heavy multiple rocket\
|
||||
\ launcher. The system is intended to defeat personnel, armored, and soft targets\
|
||||
\ in concentration areas, artillery batteries, command posts and ammunition depots."
|
||||
introduced: 1989
|
||||
manufacturer: Splav
|
||||
origin: USSR/Russia
|
||||
price: 50
|
||||
role: Multiple-Launch Rocket System
|
||||
variants:
|
||||
(IDF Mods Project) 9A52 Smerch CM 300mm: {}
|
||||
@ -2,3 +2,4 @@ class: CommandPost
|
||||
price: 18
|
||||
variants:
|
||||
Iron Dome CP: null
|
||||
David's Sling CP: null
|
||||
Loading…
x
Reference in New Issue
Block a user