Move mod vehicle registration to a decorator.

This cruft doesn't need to be in game.db, it can be kept with the mod
support code.
This commit is contained in:
Dan Albert 2022-02-18 12:40:30 -08:00
parent 4e030c4a3a
commit e3ee988225
14 changed files with 156 additions and 304 deletions

View File

@ -13,217 +13,31 @@ from dcs.mapping import Point
from dcs.planes import (
B_17G,
FA_18C_hornet,
F_16C_50,
F_14A,
F_16C_50,
Ju_88A4,
P_51D_30_NA,
plane_map,
)
from dcs.ships import (
ship_map,
Stennis,
KUZNECOW,
CVN_71,
CVN_75,
CVN_73,
CVN_72,
CVN_73,
CVN_75,
CV_1143_5,
KUZNECOW,
Stennis,
ship_map,
)
from dcs.terrain.terrain import Airport
from dcs.unit import Ship
from dcs.unitgroup import ShipGroup, StaticGroup
from dcs.unittype import UnitType, FlyingType, ShipType, VehicleType
from dcs.unittype import FlyingType, ShipType, UnitType, VehicleType
from dcs.vehicles import (
vehicle_map,
)
import pydcs_extensions.frenchpack.frenchpack as frenchpack
import pydcs_extensions.highdigitsams.highdigitsams as highdigitsams
# PATCH pydcs data with MODS
from game.factions.faction_loader import FactionLoader
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f104.f104 import VSN_F104G, VSN_F104S, VSN_F104S_AG
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.su57.su57 import Su_57
from pydcs_extensions.uh60l.uh60l import UH_60L, KC130J
plane_map["A-4E-C"] = A_4E_C
plane_map["F-22A"] = F_22A
plane_map["Su-57"] = Su_57
plane_map["Hercules"] = Hercules
plane_map["KC130J"] = KC130J
plane_map["JAS39Gripen"] = JAS39Gripen
plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG
plane_map["VSN_F104G"] = VSN_F104G
plane_map["VSN_F104S"] = VSN_F104S
plane_map["VSN_F104S_AG"] = VSN_F104S_AG
helicopter_map["UH-60L"] = UH_60L
vehicle_map["FieldHL"] = frenchpack._FIELD_HIDE
vehicle_map["HARRIERH"] = frenchpack._FIELD_HIDE_SMALL
vehicle_map["SMOKESAM"] = frenchpack.SMOKE_SAM_IR
vehicle_map["SmokeD1"] = frenchpack.SmokeD1
vehicle_map["SmokeD3"] = frenchpack.SmokeD3
vehicle_map["AMX10RCR"] = frenchpack.AMX_10RCR
vehicle_map["SEPAR"] = frenchpack.AMX_10RCR_SEPAR
vehicle_map["ERC"] = frenchpack.ERC_90
vehicle_map["M120"] = frenchpack.MO_120_RT
vehicle_map["AA20"] = frenchpack._53T2
vehicle_map["TRM2000"] = frenchpack.TRM_2000
vehicle_map["TRM2000_Citerne"] = frenchpack.TRM_2000_Fuel
vehicle_map["TRM2000_AA20"] = frenchpack.TRM_2000_53T2
vehicle_map["TRMMISTRAL"] = frenchpack.TRM_2000_PAMELA
vehicle_map["VABH"] = frenchpack.VAB_MEDICAL
vehicle_map["VAB_RADIO"] = frenchpack.VAB
vehicle_map["VAB_50"] = frenchpack.VAB__50
vehicle_map["VIB_VBR"] = frenchpack.VAB_T20_13
vehicle_map["VAB_HOT"] = frenchpack.VAB_MEPHISTO
vehicle_map["VAB_MORTIER"] = frenchpack.VAB_MORTIER
vehicle_map["VBL50"] = frenchpack.VBL__50
vehicle_map["VBLANF1"] = frenchpack.VBL_AANF1
vehicle_map["VBL-radio"] = frenchpack.VBL
vehicle_map["VBAE"] = frenchpack.VBAE_CRAB
vehicle_map["VBAE_MMP"] = frenchpack.VBAE_CRAB_MMP
vehicle_map["AMX-30B2"] = frenchpack.AMX_30B2
vehicle_map["Tracma"] = frenchpack.Tracma_TD_1500
vehicle_map["JTACFP"] = frenchpack.Infantry_Soldier_JTAC
vehicle_map["SHERIDAN"] = frenchpack.Char_M551_Sheridan
vehicle_map["Leclerc_XXI"] = frenchpack.Leclerc_Serie_XXI
vehicle_map["Toyota_bleu"] = frenchpack.DIM__TOYOTA_BLUE
vehicle_map["Toyota_vert"] = frenchpack.DIM__TOYOTA_GREEN
vehicle_map["Toyota_desert"] = frenchpack.DIM__TOYOTA_DESERT
vehicle_map["Kamikaze"] = frenchpack.DIM__KAMIKAZE
vehicle_map["AMX1375"] = frenchpack.AMX_13_75mm
vehicle_map["AMX1390"] = frenchpack.AMX_13_90mm
vehicle_map["VBCI"] = frenchpack.VBCI
vehicle_map["T62"] = frenchpack.Char_T_62
vehicle_map["T64BV"] = frenchpack.Char_T_64BV
vehicle_map["T72M"] = frenchpack.Char_T_72A
vehicle_map["KORNET"] = frenchpack.KORNET_ATGM
vehicle_map[highdigitsams.AAA_SON_9_Fire_Can.id] = highdigitsams.AAA_SON_9_Fire_Can
vehicle_map[highdigitsams.AAA_100mm_KS_19.id] = highdigitsams.AAA_100mm_KS_19
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_54K6_CP.id
] = highdigitsams.SAM_SA_10B_S_300PS_54K6_CP
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_5P85SE_LN.id
] = highdigitsams.SAM_SA_10B_S_300PS_5P85SE_LN
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_5P85SU_LN.id
] = highdigitsams.SAM_SA_10B_S_300PS_5P85SU_LN
vehicle_map[
highdigitsams.SAM_SA_10__5V55RUD__S_300PS_LN_5P85CE.id
] = highdigitsams.SAM_SA_10__5V55RUD__S_300PS_LN_5P85CE
vehicle_map[
highdigitsams.SAM_SA_10__5V55RUD__S_300PS_LN_5P85DE.id
] = highdigitsams.SAM_SA_10__5V55RUD__S_300PS_LN_5P85DE
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_30N6_TR.id
] = highdigitsams.SAM_SA_10B_S_300PS_30N6_TR
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_40B6M_TR.id
] = highdigitsams.SAM_SA_10B_S_300PS_40B6M_TR
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_40B6MD_SR.id
] = highdigitsams.SAM_SA_10B_S_300PS_40B6MD_SR
vehicle_map[
highdigitsams.SAM_SA_10B_S_300PS_64H6E_SR.id
] = highdigitsams.SAM_SA_10B_S_300PS_64H6E_SR
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_CP_54K6.id
] = highdigitsams.SAM_SA_20_S_300PMU1_CP_54K6
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_TR_30N6E.id
] = highdigitsams.SAM_SA_20_S_300PMU1_TR_30N6E
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_TR_30N6E_truck.id
] = highdigitsams.SAM_SA_20_S_300PMU1_TR_30N6E_truck
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_SR_5N66E.id
] = highdigitsams.SAM_SA_20_S_300PMU1_SR_5N66E
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_SR_64N6E.id
] = highdigitsams.SAM_SA_20_S_300PMU1_SR_64N6E
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_LN_5P85CE.id
] = highdigitsams.SAM_SA_20_S_300PMU1_LN_5P85CE
vehicle_map[
highdigitsams.SAM_SA_20_S_300PMU1_LN_5P85DE.id
] = highdigitsams.SAM_SA_20_S_300PMU1_LN_5P85DE
vehicle_map[
highdigitsams.SAM_SA_20B_S_300PMU2_CP_54K6E2.id
] = highdigitsams.SAM_SA_20B_S_300PMU2_CP_54K6E2
vehicle_map[
highdigitsams.SAM_SA_20B_S_300PMU2_TR_92H6E_truck.id
] = highdigitsams.SAM_SA_20B_S_300PMU2_TR_92H6E_truck
vehicle_map[
highdigitsams.SAM_SA_20B_S_300PMU2_SR_64N6E2.id
] = highdigitsams.SAM_SA_20B_S_300PMU2_SR_64N6E2
vehicle_map[
highdigitsams.SAM_SA_20B_S_300PMU2_LN_5P85SE2.id
] = highdigitsams.SAM_SA_20B_S_300PMU2_LN_5P85SE2
vehicle_map[
highdigitsams.SAM_SA_12_S_300V_9S457_CP.id
] = highdigitsams.SAM_SA_12_S_300V_9S457_CP
vehicle_map[
highdigitsams.SAM_SA_12_S_300V_9A82_LN.id
] = highdigitsams.SAM_SA_12_S_300V_9A82_LN
vehicle_map[
highdigitsams.SAM_SA_12_S_300V_9A83_LN.id
] = highdigitsams.SAM_SA_12_S_300V_9A83_LN
vehicle_map[
highdigitsams.SAM_SA_12_S_300V_9S15_SR.id
] = highdigitsams.SAM_SA_12_S_300V_9S15_SR
vehicle_map[
highdigitsams.SAM_SA_12_S_300V_9S19_SR.id
] = highdigitsams.SAM_SA_12_S_300V_9S19_SR
vehicle_map[
highdigitsams.SAM_SA_12_S_300V_9S32_TR.id
] = highdigitsams.SAM_SA_12_S_300V_9S32_TR
vehicle_map[
highdigitsams.SAM_SA_23_S_300VM_9S457ME_CP.id
] = highdigitsams.SAM_SA_23_S_300VM_9S457ME_CP
vehicle_map[
highdigitsams.SAM_SA_23_S_300VM_9S15M2_SR.id
] = highdigitsams.SAM_SA_23_S_300VM_9S15M2_SR
vehicle_map[
highdigitsams.SAM_SA_23_S_300VM_9S19M2_SR.id
] = highdigitsams.SAM_SA_23_S_300VM_9S19M2_SR
vehicle_map[
highdigitsams.SAM_SA_23_S_300VM_9S32ME_TR.id
] = highdigitsams.SAM_SA_23_S_300VM_9S32ME_TR
vehicle_map[
highdigitsams.SAM_SA_23_S_300VM_9A83ME_LN.id
] = highdigitsams.SAM_SA_23_S_300VM_9A83ME_LN
vehicle_map[
highdigitsams.SAM_SA_23_S_300VM_9A82ME_LN.id
] = highdigitsams.SAM_SA_23_S_300VM_9A82ME_LN
vehicle_map[
highdigitsams.SAM_SA_17_Buk_M1_2_LN_9A310M1_2.id
] = highdigitsams.SAM_SA_17_Buk_M1_2_LN_9A310M1_2
vehicle_map[
highdigitsams.SAM_SA_2__V759__LN_SM_90.id
] = highdigitsams.SAM_SA_2__V759__LN_SM_90
vehicle_map[highdigitsams.SAM_HQ_2_LN_SM_90.id] = highdigitsams.SAM_HQ_2_LN_SM_90
vehicle_map[
highdigitsams.SAM_SA_3__V_601P__LN_5P73.id
] = highdigitsams.SAM_SA_3__V_601P__LN_5P73
vehicle_map[
highdigitsams.SAM_SA_24_Igla_S_manpad.id
] = highdigitsams.SAM_SA_24_Igla_S_manpad
vehicle_map[
highdigitsams.SAM_SA_14_Strela_3_manpad.id
] = highdigitsams.SAM_SA_14_Strela_3_manpad
vehicle_map[highdigitsams.Polyana_D4M1_C2_node.id] = highdigitsams.Polyana_D4M1_C2_node
vehicle_map[
highdigitsams._34Ya6E_Gazetchik_E_decoy.id
] = highdigitsams._34Ya6E_Gazetchik_E_decoy
"""
---------- BEGINNING OF CONFIGURATION SECTION

21
game/modsupport.py Normal file
View File

@ -0,0 +1,21 @@
from typing import Type
from dcs.helicopters import HelicopterType, helicopter_map
from dcs.planes import PlaneType, plane_map
from dcs.unittype import VehicleType
from dcs.vehicles import vehicle_map
def helicoptermod(helicopter: Type[HelicopterType]) -> Type[HelicopterType]:
helicopter_map[helicopter.id] = helicopter
return helicopter
def planemod(plane: Type[PlaneType]) -> Type[PlaneType]:
plane_map[plane.id] = plane
return plane
def vehiclemod(vehicle: Type[VehicleType]) -> Type[VehicleType]:
vehicle_map[vehicle.id] = vehicle
return vehicle

View File

@ -0,0 +1,18 @@
from .a4ec import *
from .f104 import *
from .f22a import *
from .frenchpack import *
from .hercules import *
from .highdigitsams import *
from .jas39 import *
from .su57 import *
from .uh60l import *
def load_mods() -> None:
"""Loads all mods.
Note that this function doesn't *do* anything. Its purpose is to prevent editors
from removing `import pydcs_extensions` when it is "unused", because mod imports
have side effects (unit types are registered with pydcs).
"""

View File

@ -4,6 +4,7 @@ from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -439,6 +440,7 @@ class WeaponsA4EC:
inject_weapons(WeaponsA4EC)
@planemod
class A_4E_C(PlaneType):
id = "A-4E-C"
flyable = True

View File

@ -4,6 +4,7 @@ from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -38,6 +39,7 @@ class WeaponsF104:
inject_weapons(WeaponsF104)
@planemod
class VSN_F104G(PlaneType):
id = "VSN_F104G"
flyable = True
@ -1622,6 +1624,7 @@ class VSN_F104G(PlaneType):
task_default = task.FighterSweep
@planemod
class VSN_F104S(PlaneType):
id = "VSN_F104S"
flyable = True
@ -1974,6 +1977,7 @@ class VSN_F104S(PlaneType):
task_default = task.FighterSweep
@planemod
class VSN_F104S_AG(PlaneType):
id = "VSN_F104S_AG"
flyable = True

View File

@ -4,6 +4,7 @@ from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -15,6 +16,7 @@ class F22AWeapons:
inject_weapons(F22AWeapons)
@planemod
class F_22A(PlaneType):
id = "F-22A"
flyable = True

View File

@ -3,7 +3,10 @@
#
from dcs import unittype
from game.modsupport import vehiclemod
@vehiclemod
class AMX_10RCR(unittype.VehicleType):
id = "AMX10RCR"
name = "AMX-10RCR"
@ -12,6 +15,7 @@ class AMX_10RCR(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class AMX_10RCR_SEPAR(unittype.VehicleType):
id = "SEPAR"
name = "AMX-10RCR SEPAR"
@ -20,6 +24,7 @@ class AMX_10RCR_SEPAR(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class ERC_90(unittype.VehicleType):
id = "ERC"
name = "ERC-90"
@ -29,6 +34,7 @@ class ERC_90(unittype.VehicleType):
eplrs = True
@vehiclemod
class VAB__50(unittype.VehicleType):
id = "VAB_50"
name = "VAB .50"
@ -38,6 +44,7 @@ class VAB__50(unittype.VehicleType):
eplrs = True
@vehiclemod
class VAB_T20_13(unittype.VehicleType):
id = "VIB_VBR"
name = "VAB T20/13"
@ -47,6 +54,7 @@ class VAB_T20_13(unittype.VehicleType):
eplrs = True
@vehiclemod
class VAB_MEPHISTO(unittype.VehicleType):
id = "VAB_HOT"
name = "VAB MEPHISTO"
@ -56,6 +64,7 @@ class VAB_MEPHISTO(unittype.VehicleType):
eplrs = True
@vehiclemod
class VBL__50(unittype.VehicleType):
id = "VBL50"
name = "VBL .50"
@ -65,6 +74,7 @@ class VBL__50(unittype.VehicleType):
eplrs = True
@vehiclemod
class VBL_AANF1(unittype.VehicleType):
id = "VBLANF1"
name = "VBL AANF1"
@ -74,6 +84,7 @@ class VBL_AANF1(unittype.VehicleType):
eplrs = True
@vehiclemod
class VBAE_CRAB(unittype.VehicleType):
id = "VBAE"
name = "VBAE CRAB"
@ -83,6 +94,7 @@ class VBAE_CRAB(unittype.VehicleType):
eplrs = True
@vehiclemod
class VBAE_CRAB_MMP(unittype.VehicleType):
id = "VBAE_MMP"
name = "VBAE CRAB MMP"
@ -92,6 +104,7 @@ class VBAE_CRAB_MMP(unittype.VehicleType):
eplrs = True
@vehiclemod
class AMX_30B2(unittype.VehicleType):
id = "AMX-30B2"
name = "AMX-30B2"
@ -100,6 +113,7 @@ class AMX_30B2(unittype.VehicleType):
air_weapon_dist = 2500
@vehiclemod
class Char_M551_Sheridan(unittype.VehicleType):
id = "SHERIDAN"
name = "Char M551 Sheridan"
@ -108,6 +122,7 @@ class Char_M551_Sheridan(unittype.VehicleType):
air_weapon_dist = 5000
@vehiclemod
class Leclerc_Serie_XXI(unittype.VehicleType):
id = "Leclerc_XXI"
name = "Leclerc Série XXI"
@ -116,6 +131,7 @@ class Leclerc_Serie_XXI(unittype.VehicleType):
air_weapon_dist = 5000
@vehiclemod
class DIM__TOYOTA_BLUE(unittype.VehicleType):
id = "Toyota_bleu"
name = "DIM' TOYOTA BLUE"
@ -125,6 +141,7 @@ class DIM__TOYOTA_BLUE(unittype.VehicleType):
eplrs = True
@vehiclemod
class DIM__TOYOTA_GREEN(unittype.VehicleType):
id = "Toyota_vert"
name = "DIM' TOYOTA GREEN"
@ -134,6 +151,7 @@ class DIM__TOYOTA_GREEN(unittype.VehicleType):
eplrs = True
@vehiclemod
class DIM__TOYOTA_DESERT(unittype.VehicleType):
id = "Toyota_desert"
name = "DIM' TOYOTA DESERT"
@ -143,6 +161,7 @@ class DIM__TOYOTA_DESERT(unittype.VehicleType):
eplrs = True
@vehiclemod
class DIM__KAMIKAZE(unittype.VehicleType):
id = "Kamikaze"
name = "DIM' KAMIKAZE"
@ -155,6 +174,7 @@ class DIM__KAMIKAZE(unittype.VehicleType):
## FORTIFICATION
@vehiclemod
class _FIELD_HIDE(unittype.VehicleType):
id = "FieldHL"
name = "*FIELD HIDE"
@ -163,6 +183,7 @@ class _FIELD_HIDE(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class _FIELD_HIDE_SMALL(unittype.VehicleType):
id = "HARRIERH"
name = "*FIELD HIDE SMALL"
@ -171,6 +192,7 @@ class _FIELD_HIDE_SMALL(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SmokeD1(unittype.VehicleType):
id = "SmokeD1"
name = "SmokeD1"
@ -179,6 +201,7 @@ class SmokeD1(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SmokeD3(unittype.VehicleType):
id = "SmokeD3"
name = "SmokeD3"
@ -187,6 +210,7 @@ class SmokeD3(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class TRM_2000(unittype.VehicleType):
id = "TRM2000"
name = "TRM-2000"
@ -196,6 +220,7 @@ class TRM_2000(unittype.VehicleType):
eplrs = True
@vehiclemod
class TRM_2000_Fuel(unittype.VehicleType):
id = "TRM2000_Citerne"
name = "TRM-2000 Fuel"
@ -205,6 +230,7 @@ class TRM_2000_Fuel(unittype.VehicleType):
eplrs = True
@vehiclemod
class VAB_MEDICAL(unittype.VehicleType):
id = "VABH"
name = "VAB MEDICAL"
@ -214,6 +240,7 @@ class VAB_MEDICAL(unittype.VehicleType):
eplrs = True
@vehiclemod
class VAB(unittype.VehicleType):
id = "VAB_RADIO"
name = "VAB"
@ -223,6 +250,7 @@ class VAB(unittype.VehicleType):
eplrs = True
@vehiclemod
class VBL(unittype.VehicleType):
id = "VBL-Radio"
name = "VBL"
@ -232,6 +260,7 @@ class VBL(unittype.VehicleType):
eplrs = True
@vehiclemod
class Tracma_TD_1500(unittype.VehicleType):
id = "Tracma"
name = "Tracma TD 1500"
@ -243,6 +272,7 @@ class Tracma_TD_1500(unittype.VehicleType):
## AIRDEFENCE
@vehiclemod
class SMOKE_SAM_IR(unittype.VehicleType):
id = "SMOKESAM"
name = "SMOKE SAM IR"
@ -252,6 +282,7 @@ class SMOKE_SAM_IR(unittype.VehicleType):
eplrs = True
@vehiclemod
class _53T2(unittype.VehicleType):
id = "AA20"
name = "53T2"
@ -260,6 +291,7 @@ class _53T2(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class TRM_2000_53T2(unittype.VehicleType):
id = "TRM2000_AA20"
name = "TRM-2000 53T2"
@ -269,6 +301,7 @@ class TRM_2000_53T2(unittype.VehicleType):
eplrs = True
@vehiclemod
class TRM_2000_PAMELA(unittype.VehicleType):
id = "TRMMISTRAL"
name = "TRM-2000 PAMELA"
@ -278,6 +311,7 @@ class TRM_2000_PAMELA(unittype.VehicleType):
eplrs = True
@vehiclemod
class Leclerc_Serie_XXI_Desert(unittype.VehicleType):
id = "Leclerc_XXI_Desert"
name = "Leclerc Série XXI Désert"
@ -286,6 +320,7 @@ class Leclerc_Serie_XXI_Desert(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class AMX_13_75mm(unittype.VehicleType):
id = "AMX1375"
name = "AMX-13 75mm"
@ -294,6 +329,7 @@ class AMX_13_75mm(unittype.VehicleType):
air_weapon_dist = 3500
@vehiclemod
class AMX_13_90mm(unittype.VehicleType):
id = "AMX1390"
name = "AMX-13 90mm"
@ -302,6 +338,7 @@ class AMX_13_90mm(unittype.VehicleType):
air_weapon_dist = 3500
@vehiclemod
class VBCI(unittype.VehicleType):
id = "VBCI"
name = "VBCI"
@ -311,6 +348,7 @@ class VBCI(unittype.VehicleType):
eplrs = True
@vehiclemod
class Char_T_62(unittype.VehicleType):
id = "T62"
name = "Char T-62"
@ -319,6 +357,7 @@ class Char_T_62(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class Char_T_64BV(unittype.VehicleType):
id = "T64BV"
name = "Char T-64BV"
@ -327,6 +366,7 @@ class Char_T_64BV(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class Char_T_72A(unittype.VehicleType):
id = "T72M"
name = "Char T-72A"
@ -335,6 +375,7 @@ class Char_T_72A(unittype.VehicleType):
air_weapon_dist = 4000
@vehiclemod
class KORNET_ATGM(unittype.VehicleType):
id = "KORNET"
name = "KORNET ATGM"
@ -346,6 +387,7 @@ class KORNET_ATGM(unittype.VehicleType):
## INFANTRY
@vehiclemod
class Infantry_Soldier_JTAC(unittype.VehicleType):
id = "JTACFP"
name = "Infantry Soldier JTAC"
@ -357,6 +399,7 @@ class Infantry_Soldier_JTAC(unittype.VehicleType):
## ARTILERY
@vehiclemod
class MO_120_RT(unittype.VehicleType):
id = "M120"
name = "MO 120 RT"
@ -365,6 +408,7 @@ class MO_120_RT(unittype.VehicleType):
air_weapon_dist = 15000
@vehiclemod
class VAB_MORTIER(unittype.VehicleType):
id = "VAB_MORTIER"
name = "VAB MORTIER"

View File

@ -4,6 +4,7 @@ from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -684,6 +685,7 @@ class HerculesWeapons:
inject_weapons(HerculesWeapons)
@planemod
class Hercules(PlaneType):
id = "Hercules"
flyable = True

View File

@ -1,6 +1,9 @@
from dcs import unittype
from game.modsupport import vehiclemod
@vehiclemod
class AAA_SON_9_Fire_Can(unittype.VehicleType):
id = "Fire Can radar"
name = "AAA SON-9 Fire Can"
@ -9,6 +12,7 @@ class AAA_SON_9_Fire_Can(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class AAA_100mm_KS_19(unittype.VehicleType):
id = "KS19"
name = "AAA 100mm KS-19"
@ -17,6 +21,7 @@ class AAA_100mm_KS_19(unittype.VehicleType):
air_weapon_dist = 15000
@vehiclemod
class SAM_SA_10B_S_300PS_54K6_CP(unittype.VehicleType):
id = "S-300PS SA-10B 54K6 cp"
name = "SAM SA-10B S-300PS 54K6 CP"
@ -25,6 +30,7 @@ class SAM_SA_10B_S_300PS_54K6_CP(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_10B_S_300PS_5P85SE_LN(unittype.VehicleType):
id = "S-300PS 5P85SE_mod ln"
name = "SAM SA-10B S-300PS 5P85SE LN "
@ -33,6 +39,7 @@ class SAM_SA_10B_S_300PS_5P85SE_LN(unittype.VehicleType):
air_weapon_dist = 75000
@vehiclemod
class SAM_SA_10B_S_300PS_5P85SU_LN(unittype.VehicleType):
id = "S-300PS 5P85SU_mod ln"
name = "SAM SA-10B S-300PS 5P85SU LN "
@ -41,6 +48,7 @@ class SAM_SA_10B_S_300PS_5P85SU_LN(unittype.VehicleType):
air_weapon_dist = 75000
@vehiclemod
class SAM_SA_10__5V55RUD__S_300PS_LN_5P85CE(unittype.VehicleType):
id = "S-300PS 5P85CE ln"
name = "SAM SA-10 (5V55RUD) S-300PS LN 5P85CE"
@ -49,6 +57,7 @@ class SAM_SA_10__5V55RUD__S_300PS_LN_5P85CE(unittype.VehicleType):
air_weapon_dist = 90000
@vehiclemod
class SAM_SA_10__5V55RUD__S_300PS_LN_5P85DE(unittype.VehicleType):
id = "S-300PS 5P85DE ln"
name = "SAM SA-10 (5V55RUD) S-300PS LN 5P85DE"
@ -57,6 +66,7 @@ class SAM_SA_10__5V55RUD__S_300PS_LN_5P85DE(unittype.VehicleType):
air_weapon_dist = 90000
@vehiclemod
class SAM_SA_10B_S_300PS_30N6_TR(unittype.VehicleType):
id = "S-300PS 30N6 TRAILER tr"
name = "SAM SA-10B S-300PS 30N6 TR"
@ -65,6 +75,7 @@ class SAM_SA_10B_S_300PS_30N6_TR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_10B_S_300PS_40B6M_TR(unittype.VehicleType):
id = "S-300PS SA-10B 40B6M MAST tr"
name = "SAM SA-10B S-300PS 40B6M TR"
@ -73,6 +84,7 @@ class SAM_SA_10B_S_300PS_40B6M_TR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_10B_S_300PS_40B6MD_SR(unittype.VehicleType):
id = "S-300PS SA-10B 40B6MD MAST sr"
name = "SAM SA-10B S-300PS 40B6MD SR"
@ -81,6 +93,7 @@ class SAM_SA_10B_S_300PS_40B6MD_SR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_10B_S_300PS_64H6E_SR(unittype.VehicleType):
id = "S-300PS 64H6E TRAILER sr"
name = "SAM SA-10B S-300PS 64H6E SR"
@ -89,6 +102,7 @@ class SAM_SA_10B_S_300PS_64H6E_SR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20_S_300PMU1_CP_54K6(unittype.VehicleType):
id = "S-300PMU1 54K6 cp"
name = "SAM SA-20 S-300PMU1 CP 54K6"
@ -97,6 +111,7 @@ class SAM_SA_20_S_300PMU1_CP_54K6(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20_S_300PMU1_TR_30N6E(unittype.VehicleType):
id = "S-300PMU1 40B6M tr"
name = "SAM SA-20 S-300PMU1 TR 30N6E"
@ -105,6 +120,7 @@ class SAM_SA_20_S_300PMU1_TR_30N6E(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20_S_300PMU1_TR_30N6E_truck(unittype.VehicleType):
id = "S-300PMU1 30N6E tr"
name = "SAM SA-20 S-300PMU1 TR 30N6E(truck)"
@ -113,6 +129,7 @@ class SAM_SA_20_S_300PMU1_TR_30N6E_truck(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20_S_300PMU1_SR_5N66E(unittype.VehicleType):
id = "S-300PMU1 40B6MD sr"
name = "SAM SA-20 S-300PMU1 SR 5N66E"
@ -121,6 +138,7 @@ class SAM_SA_20_S_300PMU1_SR_5N66E(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20_S_300PMU1_SR_64N6E(unittype.VehicleType):
id = "S-300PMU1 64N6E sr"
name = "SAM SA-20 S-300PMU1 SR 64N6E"
@ -129,6 +147,7 @@ class SAM_SA_20_S_300PMU1_SR_64N6E(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20_S_300PMU1_LN_5P85CE(unittype.VehicleType):
id = "S-300PMU1 5P85CE ln"
name = "SAM SA-20 S-300PMU1 LN 5P85CE"
@ -137,6 +156,7 @@ class SAM_SA_20_S_300PMU1_LN_5P85CE(unittype.VehicleType):
air_weapon_dist = 150000
@vehiclemod
class SAM_SA_20_S_300PMU1_LN_5P85DE(unittype.VehicleType):
id = "S-300PMU1 5P85DE ln"
name = "SAM SA-20 S-300PMU1 LN 5P85DE"
@ -145,6 +165,7 @@ class SAM_SA_20_S_300PMU1_LN_5P85DE(unittype.VehicleType):
air_weapon_dist = 150000
@vehiclemod
class SAM_SA_20B_S_300PMU2_CP_54K6E2(unittype.VehicleType):
id = "S-300PMU2 54K6E2 cp"
name = "SAM SA-20B S-300PMU2 CP 54K6E2"
@ -153,6 +174,7 @@ class SAM_SA_20B_S_300PMU2_CP_54K6E2(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20B_S_300PMU2_TR_92H6E_truck(unittype.VehicleType):
id = "S-300PMU2 92H6E tr"
name = "SAM SA-20B S-300PMU2 TR 92H6E(truck)"
@ -161,6 +183,7 @@ class SAM_SA_20B_S_300PMU2_TR_92H6E_truck(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20B_S_300PMU2_SR_64N6E2(unittype.VehicleType):
id = "S-300PMU2 64H6E2 sr"
name = "SAM SA-20B S-300PMU2 SR 64N6E2"
@ -169,6 +192,7 @@ class SAM_SA_20B_S_300PMU2_SR_64N6E2(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_20B_S_300PMU2_LN_5P85SE2(unittype.VehicleType):
id = "S-300PMU2 5P85SE2 ln"
name = "SAM SA-20B S-300PMU2 LN 5P85SE2"
@ -177,6 +201,7 @@ class SAM_SA_20B_S_300PMU2_LN_5P85SE2(unittype.VehicleType):
air_weapon_dist = 200000
@vehiclemod
class SAM_SA_12_S_300V_9S457_CP(unittype.VehicleType):
id = "S-300V 9S457 cp"
name = "SAM SA-12 S-300V 9S457 CP"
@ -185,6 +210,7 @@ class SAM_SA_12_S_300V_9S457_CP(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_12_S_300V_9A82_LN(unittype.VehicleType):
id = "S-300V 9A82 ln"
name = "SAM SA-12 S-300V 9A82 LN"
@ -193,6 +219,7 @@ class SAM_SA_12_S_300V_9A82_LN(unittype.VehicleType):
air_weapon_dist = 100000
@vehiclemod
class SAM_SA_12_S_300V_9A83_LN(unittype.VehicleType):
id = "S-300V 9A83 ln"
name = "SAM SA-12 S-300V 9A83 LN"
@ -201,6 +228,7 @@ class SAM_SA_12_S_300V_9A83_LN(unittype.VehicleType):
air_weapon_dist = 75000
@vehiclemod
class SAM_SA_12_S_300V_9S15_SR(unittype.VehicleType):
id = "S-300V 9S15 sr"
name = "SAM SA-12 S-300V 9S15 SR"
@ -209,6 +237,7 @@ class SAM_SA_12_S_300V_9S15_SR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_12_S_300V_9S19_SR(unittype.VehicleType):
id = "S-300V 9S19 sr"
name = "SAM SA-12 S-300V 9S19 SR"
@ -217,6 +246,7 @@ class SAM_SA_12_S_300V_9S19_SR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_12_S_300V_9S32_TR(unittype.VehicleType):
id = "S-300V 9S32 tr"
name = "SAM SA-12 S-300V 9S32 TR"
@ -225,6 +255,7 @@ class SAM_SA_12_S_300V_9S32_TR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_23_S_300VM_9S457ME_CP(unittype.VehicleType):
id = "S-300VM 9S457ME cp"
name = "SAM SA-23 S-300VM 9S457ME CP"
@ -233,6 +264,7 @@ class SAM_SA_23_S_300VM_9S457ME_CP(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_23_S_300VM_9S15M2_SR(unittype.VehicleType):
id = "S-300VM 9S15M2 sr"
name = "SAM SA-23 S-300VM 9S15M2 SR"
@ -241,6 +273,7 @@ class SAM_SA_23_S_300VM_9S15M2_SR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_23_S_300VM_9S19M2_SR(unittype.VehicleType):
id = "S-300VM 9S19M2 sr"
name = "SAM SA-23 S-300VM 9S19M2 SR"
@ -249,6 +282,7 @@ class SAM_SA_23_S_300VM_9S19M2_SR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_23_S_300VM_9S32ME_TR(unittype.VehicleType):
id = "S-300VM 9S32ME tr"
name = "SAM SA-23 S-300VM 9S32ME TR"
@ -257,6 +291,7 @@ class SAM_SA_23_S_300VM_9S32ME_TR(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class SAM_SA_23_S_300VM_9A83ME_LN(unittype.VehicleType):
id = "S-300VM 9A83ME ln"
name = "SAM SA-23 S-300VM 9A83ME LN"
@ -265,6 +300,7 @@ class SAM_SA_23_S_300VM_9A83ME_LN(unittype.VehicleType):
air_weapon_dist = 90000
@vehiclemod
class SAM_SA_23_S_300VM_9A82ME_LN(unittype.VehicleType):
id = "S-300VM 9A82ME ln"
name = "SAM SA-23 S-300VM 9A82ME LN"
@ -273,6 +309,7 @@ class SAM_SA_23_S_300VM_9A82ME_LN(unittype.VehicleType):
air_weapon_dist = 200000
@vehiclemod
class SAM_SA_17_Buk_M1_2_LN_9A310M1_2(unittype.VehicleType):
id = "SA-17 Buk M1-2 LN 9A310M1-2"
name = "SAM SA-17 Buk M1-2 LN 9A310M1-2"
@ -281,6 +318,7 @@ class SAM_SA_17_Buk_M1_2_LN_9A310M1_2(unittype.VehicleType):
air_weapon_dist = 50000
@vehiclemod
class SAM_SA_2__V759__LN_SM_90(unittype.VehicleType):
id = "S_75M_Volhov_V759"
name = "SAM SA-2 (V759) LN SM-90"
@ -289,6 +327,7 @@ class SAM_SA_2__V759__LN_SM_90(unittype.VehicleType):
air_weapon_dist = 50000
@vehiclemod
class SAM_HQ_2_LN_SM_90(unittype.VehicleType):
id = "HQ_2_Guideline_LN"
name = "SAM HQ-2 LN SM-90"
@ -297,6 +336,7 @@ class SAM_HQ_2_LN_SM_90(unittype.VehicleType):
air_weapon_dist = 50000
@vehiclemod
class SAM_SA_3__V_601P__LN_5P73(unittype.VehicleType):
id = "5p73 V-601P ln"
name = "SAM SA-3 (V-601P) LN 5P73"
@ -305,6 +345,7 @@ class SAM_SA_3__V_601P__LN_5P73(unittype.VehicleType):
air_weapon_dist = 18000
@vehiclemod
class SAM_SA_24_Igla_S_manpad(unittype.VehicleType):
id = "SA-24 Igla-S manpad"
name = "SAM SA-24 Igla-S manpad"
@ -313,6 +354,7 @@ class SAM_SA_24_Igla_S_manpad(unittype.VehicleType):
air_weapon_dist = 6000
@vehiclemod
class SAM_SA_14_Strela_3_manpad(unittype.VehicleType):
id = "SA-14 Strela-3 manpad"
name = "SAM SA-14 Strela-3 manpad"
@ -321,6 +363,7 @@ class SAM_SA_14_Strela_3_manpad(unittype.VehicleType):
air_weapon_dist = 4500
@vehiclemod
class Polyana_D4M1_C2_node(unittype.VehicleType):
id = "polyana-d4m1 cp"
name = "Polyana-D4M1 C2 node"
@ -329,6 +372,7 @@ class Polyana_D4M1_C2_node(unittype.VehicleType):
air_weapon_dist = 0
@vehiclemod
class _34Ya6E_Gazetchik_E_decoy(unittype.VehicleType):
id = "34Ya6E Gazetchik E decoy"
name = "34Ya6E Gazetchik E decoy"

View File

@ -4,6 +4,7 @@ from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -254,6 +255,7 @@ class JAS39GripenWeapons:
inject_weapons(JAS39GripenWeapons)
@planemod
class JAS39Gripen(PlaneType):
id = "JAS39Gripen"
flyable = True
@ -491,6 +493,7 @@ class JAS39Gripen(PlaneType):
task_default = task.FighterSweep
@planemod
class JAS39Gripen_AG(PlaneType):
id = "JAS39Gripen_AG"
flyable = True

View File

@ -1,110 +0,0 @@
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f104.f104 import VSN_F104G, VSN_F104S, VSN_F104S_AG
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.highdigitsams import highdigitsams
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.su57.su57 import Su_57
import pydcs_extensions.frenchpack.frenchpack as frenchpack
from pydcs_extensions.uh60l.uh60l import UH_60L, KC130J
MODDED_AIRPLANES = [
A_4E_C,
Su_57,
F_22A,
VSN_F104G,
VSN_F104S,
VSN_F104S_AG,
Hercules,
KC130J,
JAS39Gripen,
JAS39Gripen_AG,
]
MODDED_HELICOPTERS = [
UH_60L,
]
MODDED_VEHICLES = [
frenchpack._FIELD_HIDE,
frenchpack._FIELD_HIDE_SMALL,
frenchpack.SMOKE_SAM_IR,
frenchpack.SmokeD1,
frenchpack.SmokeD3,
frenchpack.AMX_10RCR,
frenchpack.AMX_10RCR_SEPAR,
frenchpack.ERC_90,
frenchpack.MO_120_RT,
frenchpack._53T2,
frenchpack.TRM_2000,
frenchpack.TRM_2000_Fuel,
frenchpack.TRM_2000_53T2,
frenchpack.TRM_2000_PAMELA,
frenchpack.VAB_MEDICAL,
frenchpack.VAB,
frenchpack.VAB__50,
frenchpack.VAB_T20_13,
frenchpack.VAB_MEPHISTO,
frenchpack.VAB_MORTIER,
frenchpack.VBL__50,
frenchpack.VBL_AANF1,
frenchpack.VBL,
frenchpack.VBAE_CRAB,
frenchpack.VBAE_CRAB_MMP,
frenchpack.AMX_30B2,
frenchpack.Tracma_TD_1500,
frenchpack.Infantry_Soldier_JTAC,
frenchpack.Char_M551_Sheridan,
frenchpack.Leclerc_Serie_XXI,
frenchpack.DIM__TOYOTA_BLUE,
frenchpack.DIM__TOYOTA_GREEN,
frenchpack.DIM__TOYOTA_DESERT,
frenchpack.DIM__KAMIKAZE,
frenchpack.VBCI,
frenchpack.AMX_13_75mm,
frenchpack.AMX_13_90mm,
frenchpack.Char_T_62,
frenchpack.Char_T_64BV,
frenchpack.Char_T_72A,
frenchpack.KORNET_ATGM,
highdigitsams.AAA_SON_9_Fire_Can,
highdigitsams.AAA_100mm_KS_19,
highdigitsams.SAM_SA_10B_S_300PS_54K6_CP,
highdigitsams.SAM_SA_10B_S_300PS_5P85SE_LN,
highdigitsams.SAM_SA_10B_S_300PS_5P85SU_LN,
highdigitsams.SAM_SA_10__5V55RUD__S_300PS_LN_5P85CE,
highdigitsams.SAM_SA_10__5V55RUD__S_300PS_LN_5P85DE,
highdigitsams.SAM_SA_10B_S_300PS_30N6_TR,
highdigitsams.SAM_SA_10B_S_300PS_40B6M_TR,
highdigitsams.SAM_SA_10B_S_300PS_40B6MD_SR,
highdigitsams.SAM_SA_10B_S_300PS_64H6E_SR,
highdigitsams.SAM_SA_20_S_300PMU1_CP_54K6,
highdigitsams.SAM_SA_20_S_300PMU1_TR_30N6E,
highdigitsams.SAM_SA_20_S_300PMU1_TR_30N6E_truck,
highdigitsams.SAM_SA_20_S_300PMU1_SR_5N66E,
highdigitsams.SAM_SA_20_S_300PMU1_SR_64N6E,
highdigitsams.SAM_SA_20_S_300PMU1_LN_5P85CE,
highdigitsams.SAM_SA_20_S_300PMU1_LN_5P85DE,
highdigitsams.SAM_SA_20B_S_300PMU2_CP_54K6E2,
highdigitsams.SAM_SA_20B_S_300PMU2_TR_92H6E_truck,
highdigitsams.SAM_SA_20B_S_300PMU2_SR_64N6E2,
highdigitsams.SAM_SA_20B_S_300PMU2_LN_5P85SE2,
highdigitsams.SAM_SA_12_S_300V_9S457_CP,
highdigitsams.SAM_SA_12_S_300V_9A82_LN,
highdigitsams.SAM_SA_12_S_300V_9A83_LN,
highdigitsams.SAM_SA_12_S_300V_9S15_SR,
highdigitsams.SAM_SA_12_S_300V_9S19_SR,
highdigitsams.SAM_SA_12_S_300V_9S32_TR,
highdigitsams.SAM_SA_23_S_300VM_9S457ME_CP,
highdigitsams.SAM_SA_23_S_300VM_9S15M2_SR,
highdigitsams.SAM_SA_23_S_300VM_9S19M2_SR,
highdigitsams.SAM_SA_23_S_300VM_9S32ME_TR,
highdigitsams.SAM_SA_23_S_300VM_9A83ME_LN,
highdigitsams.SAM_SA_23_S_300VM_9A82ME_LN,
highdigitsams.SAM_SA_17_Buk_M1_2_LN_9A310M1_2,
highdigitsams.SAM_SA_2__V759__LN_SM_90,
highdigitsams.SAM_HQ_2_LN_SM_90,
highdigitsams.SAM_SA_3__V_601P__LN_5P73,
highdigitsams.SAM_SA_24_Igla_S_manpad,
highdigitsams.SAM_SA_14_Strela_3_manpad,
highdigitsams.Polyana_D4M1_C2_node,
highdigitsams._34Ya6E_Gazetchik_E_decoy,
]

View File

@ -4,6 +4,7 @@ from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from game.modsupport import planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -23,6 +24,7 @@ class Su57Weapons:
inject_weapons(Su57Weapons)
@planemod
class Su_57(PlaneType):
id = "Su-57"
flyable = True

View File

@ -1,10 +1,11 @@
from enum import Enum
from typing import Dict, Any
from typing import Any, Dict
from dcs import task
from dcs.helicopters import HelicopterType
from dcs.planes import PlaneType
from game.modsupport import helicoptermod, planemod
from pydcs_extensions.weapon_injector import inject_weapons
@ -19,6 +20,7 @@ class WeaponsUH60L:
inject_weapons(WeaponsUH60L)
@helicoptermod
class UH_60L(HelicopterType):
id = "UH-60L"
flyable = True
@ -1270,6 +1272,7 @@ class UH_60L(HelicopterType):
task_default = task.Transport
@planemod
class KC130J(PlaneType):
id = "KC130J"
group_size_max = 1

View File

@ -21,6 +21,7 @@ from game.profiling import logged_duration
from game.server import EventStream, GameContext, Server
from game.settings import Settings
from game.theater.start_generator import GameGenerator, GeneratorSettings, ModSettings
from pydcs_extensions import load_mods
from qt_ui import (
liberation_install,
liberation_theme,
@ -319,6 +320,8 @@ def main():
if args.warn_missing_weapon_data:
lint_all_weapon_data()
load_mods()
if args.subcommand == "new-game":
with logged_duration("New game creation"):
game = create_game(