mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Swedish Military Assets Pack v1.10 support (#90)
* Added a pydcs extension for Swedish Military Assets for DCS by Currenthill v1.10 (2022-11-01). Also added shipmod decorator for the ships added in the mod and remove_ship function in faction.py * Added unit yamls for Swedish Military Assets for DCS by Currenthill v1.10 (2022-11-01) * Added missing RBS-15 group yaml and Ag 90 Sniper Team unit yaml. * Fixed swedishmilitaryassetspack imports. * Renamed some unit yamls for Swedish Military Assets pack. * Encoded LvKv9040.yaml in UTF-8. * Encoded Grkpbv90.yaml in UTF-8. * Encoded BV410*.yaml in UTF-8. * Encoded CV9040.yaml in UTF-8. * Fixed Strv103 yaml syntax. * Encoded Strv2000.yaml in UTF-8. * Renamed some unit yamls for Swedish Military Assets pack. * Renamed BV410 air-defence units. * Added Swedish short-range air defence groups. * Added Swedish medium- and long-range air defence groups (LvS-103 batteries). * Added icons for some Swedish Military Assets units. * Added faction files for: sweden_1997 sweden_2020
This commit is contained in:
@@ -14,6 +14,7 @@ from .su30 import *
|
||||
from .su57 import *
|
||||
from .uh60l import *
|
||||
from .ov10a import *
|
||||
from .swedishmilitaryassetspack import *
|
||||
|
||||
|
||||
def load_mods() -> None:
|
||||
|
||||
1
pydcs_extensions/swedishmilitaryassetspack/__init__.py
Normal file
1
pydcs_extensions/swedishmilitaryassetspack/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .swedishmilitaryassetspack import *
|
||||
@@ -0,0 +1,418 @@
|
||||
# Requires Swedish Military Assets for DCS by Currenthill:
|
||||
# https://forum.dcs.world/topic/295202-swedish-military-assets-for-dcs-by-currenthill/
|
||||
#
|
||||
|
||||
from typing import Set
|
||||
|
||||
from dcs import unittype, task
|
||||
from dcs.helicopters import HelicopterType
|
||||
from dcs.liveries_scanner import Liveries
|
||||
|
||||
from game.modsupport import vehiclemod, shipmod, helicoptermod
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class BV410_RBS70(unittype.VehicleType):
|
||||
id = "BV410_RBS70"
|
||||
name = "[SMA] RBS 70 EldE 70 Mobile SAM LN"
|
||||
detection_range = 0
|
||||
threat_range = 8000
|
||||
air_weapon_dist = 8000
|
||||
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
|
||||
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"
|
||||
detection_range = 0
|
||||
threat_range = 150000
|
||||
air_weapon_dist = 150000
|
||||
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"
|
||||
detection_range = 0
|
||||
threat_range = 35000
|
||||
air_weapon_dist = 35000
|
||||
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"
|
||||
detection_range = 0
|
||||
threat_range = 150000
|
||||
air_weapon_dist = 150000
|
||||
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"
|
||||
detection_range = 0
|
||||
threat_range = 150000
|
||||
air_weapon_dist = 150000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class LvS_103_StriE103(unittype.VehicleType):
|
||||
id = "LvS-103_StriE103"
|
||||
name = "[SMA] LvS-103 StriE 103 Mobile SAM ECS"
|
||||
detection_range = 0
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class LvS_103_PM103(unittype.VehicleType):
|
||||
id = "LvS-103_PM103"
|
||||
name = "[SMA] LvS-103 PM 103 Stationary SAM STR"
|
||||
detection_range = 160000
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
@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
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class LvS_103_Elverk103(unittype.VehicleType):
|
||||
id = "LvS-103_Elverk103"
|
||||
name = "[SMA] LvS-103 Elverk 103 Mobile SAM EPP"
|
||||
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"
|
||||
detection_range = 0
|
||||
threat_range = 8000
|
||||
air_weapon_dist = 8000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class RBS_90(unittype.VehicleType):
|
||||
id = "RBS-90"
|
||||
name = "[SMA] RBS 90 EldE 90 Stationary SAM LN"
|
||||
detection_range = 20000
|
||||
threat_range = 8000
|
||||
air_weapon_dist = 8000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class RBS_98(unittype.VehicleType):
|
||||
id = "RBS-98"
|
||||
name = "[SMA] RBS 98 EldE 98 Mobile SAM LN"
|
||||
detection_range = 0
|
||||
threat_range = 20000
|
||||
air_weapon_dist = 20000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class UndE23(unittype.VehicleType):
|
||||
id = "UndE23"
|
||||
name = "[SMA] UndE 23 (RBS 70/90/98) SAM STR"
|
||||
detection_range = 100000
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class BV410(unittype.VehicleType):
|
||||
id = "BV410"
|
||||
name = "[SMA] Bv 410 ATV"
|
||||
detection_range = 0
|
||||
threat_range = 1800
|
||||
air_weapon_dist = 1800
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class CV9040(unittype.VehicleType):
|
||||
id = "CV9040"
|
||||
name = "[SMA] Strf 9040 IFV"
|
||||
detection_range = 0
|
||||
threat_range = 4000
|
||||
air_weapon_dist = 4000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class Strv103(unittype.VehicleType):
|
||||
id = "Strv103"
|
||||
name = "[SMA] 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"
|
||||
detection_range = 8000
|
||||
threat_range = 8000
|
||||
air_weapon_dist = 4000
|
||||
eplrs = True
|
||||
|
||||
|
||||
@vehiclemod
|
||||
class Volvo740(unittype.VehicleType):
|
||||
id = "Volvo740"
|
||||
name = "[SMA] Volvo 740 Improvised fighting vehicle"
|
||||
detection_range = 0
|
||||
threat_range = 1200
|
||||
air_weapon_dist = 1200
|
||||
eplrs = True
|
||||
|
||||
|
||||
@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
|
||||
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
|
||||
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
|
||||
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"
|
||||
detection_range = 0
|
||||
threat_range = 7500
|
||||
air_weapon_dist = 7500
|
||||
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"
|
||||
plane_num = 0
|
||||
helicopter_num = 0
|
||||
parking = 0
|
||||
detection_range = 46300
|
||||
threat_range = 10000
|
||||
air_weapon_dist = 10000
|
||||
|
||||
|
||||
## HELICOPTERS
|
||||
|
||||
|
||||
@helicoptermod
|
||||
class HKP15B(HelicopterType):
|
||||
id = "HKP15B"
|
||||
height = 3.4
|
||||
width = 10.83
|
||||
length = 11.45
|
||||
fuel_max = 686
|
||||
max_speed = 311
|
||||
chaff = 0
|
||||
flare = 0
|
||||
charge_total = 0
|
||||
chaff_charge_size = 0
|
||||
flare_charge_size = 0
|
||||
eplrs = True
|
||||
radio_frequency = 124
|
||||
|
||||
panel_radio = {
|
||||
1: {
|
||||
"channels": {6: 41, 2: 31, 8: 50, 3: 32, 1: 30, 4: 33, 5: 40, 7: 42},
|
||||
},
|
||||
}
|
||||
|
||||
livery_name = "HKP15B" # from type
|
||||
Liveries = Liveries()[livery_name]
|
||||
|
||||
pylons: Set[int] = set()
|
||||
|
||||
tasks = [task.Reconnaissance, task.Transport]
|
||||
task_default = task.Reconnaissance
|
||||
Reference in New Issue
Block a user