mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Remove UNIT_BY_TASK.
This commit is contained in:
parent
07cdfc16d0
commit
0a9dc49e7f
381
game/db.py
381
game/db.py
@ -715,365 +715,6 @@ PRICES = {
|
||||
highdigitsams.SAM_SA_17_Buk_M1_2_LN_9A310M1_2: 40,
|
||||
}
|
||||
|
||||
"""
|
||||
Units separated by tasks. This will include units for both countries. Be advised that unit could only belong to single task!
|
||||
|
||||
Following tasks are present:
|
||||
* CAP - figther aircraft for CAP/Escort/Intercept
|
||||
* CAS - CAS aircraft
|
||||
* Transport - transport aircraft (used as targets in intercept operations)
|
||||
* AWACS - awacs
|
||||
* AntishipStrike - units that will engage shipping
|
||||
* PinpointStrike - armor that will engage in ground war
|
||||
* AirDefense - AA units
|
||||
* Reconnaissance - units that will be used as targets in destroy insurgents operations
|
||||
* Nothing - troops that will be used for helicopter transport operations
|
||||
* Embarking - helicopters that will be used for helicopter transport operations
|
||||
* Carriage - aircraft carriers
|
||||
* CargoTransportation - ships that will be used as targets for ship intercept operations
|
||||
"""
|
||||
UNIT_BY_TASK = {
|
||||
CAP: [
|
||||
A_4E_C,
|
||||
Bf_109K_4,
|
||||
C_101CC,
|
||||
FA_18C_hornet,
|
||||
FW_190A8,
|
||||
FW_190D9,
|
||||
F_14A_135_GR,
|
||||
F_14B,
|
||||
F_15C,
|
||||
F_16A,
|
||||
F_16C_50,
|
||||
F_22A,
|
||||
F_4E,
|
||||
F_5E_3,
|
||||
I_16,
|
||||
JF_17,
|
||||
J_11A,
|
||||
M_2000C,
|
||||
MiG_19P,
|
||||
MiG_21Bis,
|
||||
MiG_23MLD,
|
||||
MiG_25PD,
|
||||
MiG_29A,
|
||||
MiG_29G,
|
||||
MiG_29S,
|
||||
MiG_31,
|
||||
Mirage_2000_5,
|
||||
P_51D,
|
||||
P_51D_30_NA,
|
||||
SA342Mistral,
|
||||
SpitfireLFMkIX,
|
||||
SpitfireLFMkIXCW,
|
||||
Su_27,
|
||||
Su_30,
|
||||
Su_33,
|
||||
Su_57,
|
||||
],
|
||||
CAS: [
|
||||
AH_1W,
|
||||
AH_64A,
|
||||
AH_64D,
|
||||
AJS37,
|
||||
AV8BNA,
|
||||
A_10A,
|
||||
A_10C,
|
||||
A_10C_2,
|
||||
A_20G,
|
||||
B_17G,
|
||||
B_1B,
|
||||
B_52H,
|
||||
F_117A,
|
||||
F_15E,
|
||||
F_86F_Sabre,
|
||||
Hercules,
|
||||
Ju_88A4,
|
||||
Ka_50,
|
||||
L_39ZA,
|
||||
MB_339PAN,
|
||||
MQ_9_Reaper,
|
||||
MiG_15bis,
|
||||
MiG_27K,
|
||||
Mi_24V,
|
||||
Mi_28N,
|
||||
Mi_8MT,
|
||||
OH_58D,
|
||||
P_47D_30,
|
||||
P_47D_30bl1,
|
||||
P_47D_40,
|
||||
RQ_1A_Predator,
|
||||
SA342L,
|
||||
SA342M,
|
||||
SA342Minigun,
|
||||
SH_60B,
|
||||
S_3B,
|
||||
Su_17M4,
|
||||
Su_24M,
|
||||
Su_24MR,
|
||||
Su_25,
|
||||
Su_25T,
|
||||
Su_34,
|
||||
Tornado_GR4,
|
||||
Tornado_IDS,
|
||||
Tu_160,
|
||||
Tu_22M3,
|
||||
Tu_95MS,
|
||||
UH_1H,
|
||||
WingLoong_I,
|
||||
],
|
||||
Transport: [
|
||||
An_26B,
|
||||
An_30M,
|
||||
CH_47D,
|
||||
CH_53E,
|
||||
C_130,
|
||||
C_17A,
|
||||
IL_76MD,
|
||||
Mi_26,
|
||||
UH_60A,
|
||||
Yak_40,
|
||||
],
|
||||
Refueling: [
|
||||
IL_78M,
|
||||
KC130,
|
||||
KC135MPRS,
|
||||
KC_135,
|
||||
S_3B_Tanker,
|
||||
],
|
||||
AWACS: [
|
||||
A_50,
|
||||
E_2C,
|
||||
E_3A,
|
||||
KJ_2000,
|
||||
],
|
||||
PinpointStrike: [
|
||||
Armor.APC_MTLB,
|
||||
Armor.APC_MTLB,
|
||||
Armor.APC_MTLB,
|
||||
Armor.APC_MTLB,
|
||||
Armor.APC_MTLB,
|
||||
Artillery.Grad_MRL_FDDM__FC,
|
||||
Artillery.Grad_MRL_FDDM__FC,
|
||||
Artillery.Grad_MRL_FDDM__FC,
|
||||
Artillery.Grad_MRL_FDDM__FC,
|
||||
Artillery.Grad_MRL_FDDM__FC,
|
||||
Armor.Scout_BRDM_2,
|
||||
Armor.Scout_BRDM_2,
|
||||
Armor.Scout_BRDM_2,
|
||||
Armor.APC_BTR_RD,
|
||||
Armor.APC_BTR_RD,
|
||||
Armor.APC_BTR_RD,
|
||||
Armor.APC_BTR_RD,
|
||||
Armor.APC_BTR_80,
|
||||
Armor.APC_BTR_80,
|
||||
Armor.APC_BTR_80,
|
||||
Armor.APC_BTR_80,
|
||||
Armor.APC_BTR_80,
|
||||
Armor.IFV_BTR_82A,
|
||||
Armor.IFV_BTR_82A,
|
||||
Armor.IFV_BMP_1,
|
||||
Armor.IFV_BMP_1,
|
||||
Armor.IFV_BMP_1,
|
||||
Armor.IFV_BMP_2,
|
||||
Armor.IFV_BMP_2,
|
||||
Armor.IFV_BMP_3,
|
||||
Armor.IFV_BMP_3,
|
||||
Armor.IFV_BMD_1,
|
||||
Armor.LT_PT_76,
|
||||
Armor.ZBD_04A,
|
||||
Armor.ZBD_04A,
|
||||
Armor.ZBD_04A,
|
||||
Armor.MBT_T_55,
|
||||
Armor.MBT_T_55,
|
||||
Armor.MBT_T_55,
|
||||
Armor.MBT_T_72B,
|
||||
Armor.MBT_T_72B,
|
||||
Armor.MBT_T_72B3,
|
||||
Armor.MBT_T_72B3,
|
||||
Armor.MBT_T_80U,
|
||||
Armor.MBT_T_80U,
|
||||
Armor.MBT_T_90,
|
||||
Armor.ZTZ_96B,
|
||||
Armor.Scout_Cobra,
|
||||
Armor.Scout_Cobra,
|
||||
Armor.Scout_Cobra,
|
||||
Armor.Scout_Cobra,
|
||||
Armor.APC_M113,
|
||||
Armor.APC_M113,
|
||||
Armor.APC_M113,
|
||||
Armor.APC_M113,
|
||||
Armor.APC_TPz_Fuchs,
|
||||
Armor.APC_TPz_Fuchs,
|
||||
Armor.APC_TPz_Fuchs,
|
||||
Armor.APC_TPz_Fuchs,
|
||||
Armor.ATGM_HMMWV,
|
||||
Armor.ATGM_HMMWV,
|
||||
Armor.ATGM_VAB_Mephisto,
|
||||
Armor.ATGM_VAB_Mephisto,
|
||||
Armor.Scout_HMMWV,
|
||||
Armor.Scout_HMMWV,
|
||||
Armor.IFV_M2A2_Bradley,
|
||||
Armor.IFV_M2A2_Bradley,
|
||||
Armor.ATGM_Stryker,
|
||||
Armor.ATGM_Stryker,
|
||||
Armor.IFV_M1126_Stryker_ICV,
|
||||
Armor.IFV_M1126_Stryker_ICV,
|
||||
Armor.IFV_M1126_Stryker_ICV,
|
||||
Armor.SPG_Stryker_MGS,
|
||||
Armor.IFV_Warrior,
|
||||
Armor.IFV_Warrior,
|
||||
Armor.IFV_Warrior,
|
||||
Armor.IFV_LAV_25,
|
||||
Armor.IFV_LAV_25,
|
||||
Armor.IFV_Marder,
|
||||
Armor.IFV_Marder,
|
||||
Armor.IFV_Marder,
|
||||
Armor.IFV_Marder,
|
||||
Armor.MBT_M60A3_Patton,
|
||||
Armor.MBT_M60A3_Patton,
|
||||
Armor.MBT_M60A3_Patton,
|
||||
Armor.MBT_Leopard_1A3,
|
||||
Armor.MBT_Leopard_1A3,
|
||||
Armor.MBT_M1A2_Abrams,
|
||||
Armor.MBT_Leclerc,
|
||||
Armor.MBT_Leopard_2A6M,
|
||||
Armor.MBT_Challenger_II,
|
||||
Armor.MBT_Chieftain_Mk_3,
|
||||
Armor.MBT_Merkava_IV,
|
||||
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
|
||||
Armor.Tk_PzIV_H,
|
||||
Armor.HT_Pz_Kpfw_VI_Tiger_I,
|
||||
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
|
||||
Armor.APC_Sd_Kfz_251_Halftrack,
|
||||
Armor.APC_Sd_Kfz_251_Halftrack,
|
||||
Armor.APC_Sd_Kfz_251_Halftrack,
|
||||
Armor.APC_Sd_Kfz_251_Halftrack,
|
||||
Armor.IFV_Sd_Kfz_234_2_Puma,
|
||||
Armor.IFV_Sd_Kfz_234_2_Puma,
|
||||
Armor.Tk_M4_Sherman,
|
||||
Armor.MT_M4A4_Sherman_Firefly,
|
||||
Armor.CT_Cromwell_IV,
|
||||
Unarmed.Carrier_M30_Cargo,
|
||||
Unarmed.Carrier_M30_Cargo,
|
||||
Armor.APC_M2A1_Halftrack,
|
||||
Armor.APC_M2A1_Halftrack,
|
||||
Armor.APC_M2A1_Halftrack,
|
||||
Armor.APC_M2A1_Halftrack,
|
||||
Armor.MT_Pz_Kpfw_V_Panther_Ausf_G,
|
||||
Armor.Tk_PzIV_H,
|
||||
Armor.HT_Pz_Kpfw_VI_Tiger_I,
|
||||
Armor.HT_Pz_Kpfw_VI_Ausf__B_Tiger_II,
|
||||
Armor.SPG_Jagdpanther_G1,
|
||||
Armor.SPG_Jagdpanzer_IV,
|
||||
Armor.SPG_Sd_Kfz_184_Elefant,
|
||||
Armor.APC_Sd_Kfz_251_Halftrack,
|
||||
Armor.IFV_Sd_Kfz_234_2_Puma,
|
||||
Armor.Tk_M4_Sherman,
|
||||
Armor.MT_M4A4_Sherman_Firefly,
|
||||
Armor.CT_Cromwell_IV,
|
||||
Unarmed.Carrier_M30_Cargo,
|
||||
Unarmed.Carrier_M30_Cargo,
|
||||
Unarmed.Carrier_M30_Cargo,
|
||||
Armor.APC_M2A1_Halftrack,
|
||||
Armor.APC_M2A1_Halftrack,
|
||||
Armor.CT_Centaur_IV,
|
||||
Armor.CT_Centaur_IV,
|
||||
Armor.HIT_Churchill_VII,
|
||||
Armor.Car_M8_Greyhound_Armored,
|
||||
Armor.Car_M8_Greyhound_Armored,
|
||||
Armor.SPG_M10_GMC,
|
||||
Armor.SPG_M10_GMC,
|
||||
Armor.SPG_StuG_III_Ausf__G,
|
||||
Armor.SPG_StuG_IV,
|
||||
Artillery.SPG_M12_GMC_155mm,
|
||||
Armor.SPG_Sturmpanzer_IV_Brummbar,
|
||||
Armor.Car_Daimler_Armored,
|
||||
Armor.LT_Mk_VII_Tetrarch,
|
||||
Artillery.MLRS_M270_227mm,
|
||||
Artillery.SPH_M109_Paladin_155mm,
|
||||
Artillery.SPM_2S9_Nona_120mm_M,
|
||||
Artillery.SPH_2S1_Gvozdika_122mm,
|
||||
Artillery.SPH_2S3_Akatsia_152mm,
|
||||
Artillery.SPH_2S19_Msta_152mm,
|
||||
Artillery.MLRS_BM_21_Grad_122mm,
|
||||
Artillery.MLRS_BM_21_Grad_122mm,
|
||||
Artillery.MLRS_9K57_Uragan_BM_27_220mm,
|
||||
Artillery.MLRS_9A52_Smerch_HE_300mm,
|
||||
Artillery.SPH_Dana_vz77_152mm,
|
||||
Artillery.SPH_T155_Firtina_155mm,
|
||||
Artillery.PLZ_05,
|
||||
Artillery.SPG_M12_GMC_155mm,
|
||||
Armor.SPG_Sturmpanzer_IV_Brummbar,
|
||||
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
|
||||
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
|
||||
AirDefence.SPAAA_ZSU_57_2,
|
||||
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
|
||||
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
|
||||
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
|
||||
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL,
|
||||
AirDefence.SAM_SA_15_Tor_Gauntlet,
|
||||
AirDefence.SAM_SA_19_Tunguska_Grison,
|
||||
AirDefence.SPAAA_Gepard,
|
||||
AirDefence.SPAAA_Vulcan_M163,
|
||||
AirDefence.SAM_Linebacker___Bradley_M6,
|
||||
AirDefence.SAM_Chaparral_M48,
|
||||
AirDefence.SAM_Avenger__Stinger,
|
||||
AirDefence.SAM_Roland_ADS,
|
||||
AirDefence.HQ_7_Self_Propelled_LN,
|
||||
AirDefence.AAA_8_8cm_Flak_18,
|
||||
AirDefence.AAA_8_8cm_Flak_36,
|
||||
AirDefence.AAA_8_8cm_Flak_37,
|
||||
AirDefence.AAA_8_8cm_Flak_41,
|
||||
AirDefence.AAA_Bofors_40mm,
|
||||
AirDefence.AAA_S_60_57mm,
|
||||
AirDefence.AAA_M1_37mm,
|
||||
AirDefence.AAA_QF_3_7,
|
||||
frenchpack.DIM__TOYOTA_BLUE,
|
||||
frenchpack.DIM__TOYOTA_DESERT,
|
||||
frenchpack.DIM__TOYOTA_GREEN,
|
||||
frenchpack.DIM__KAMIKAZE,
|
||||
frenchpack.AMX_10RCR,
|
||||
frenchpack.AMX_10RCR_SEPAR,
|
||||
frenchpack.ERC_90,
|
||||
frenchpack.TRM_2000_PAMELA,
|
||||
frenchpack.VAB__50,
|
||||
frenchpack.VAB_MEPHISTO,
|
||||
frenchpack.VAB_T20_13,
|
||||
frenchpack.VBL__50,
|
||||
frenchpack.VBL_AANF1,
|
||||
frenchpack.VBAE_CRAB,
|
||||
frenchpack.VBAE_CRAB_MMP,
|
||||
frenchpack.AMX_30B2,
|
||||
frenchpack.Leclerc_Serie_XXI,
|
||||
frenchpack.DIM__TOYOTA_BLUE,
|
||||
frenchpack.DIM__TOYOTA_GREEN,
|
||||
frenchpack.DIM__TOYOTA_DESERT,
|
||||
frenchpack.DIM__KAMIKAZE,
|
||||
],
|
||||
Reconnaissance: [
|
||||
Unarmed.Truck_M818_6x6,
|
||||
Unarmed.Truck_Ural_375,
|
||||
Unarmed.LUV_UAZ_469_Jeep,
|
||||
],
|
||||
Nothing: [
|
||||
Infantry.Infantry_M4,
|
||||
Infantry.Infantry_AK_74,
|
||||
],
|
||||
Embarking: [],
|
||||
Carriage: [
|
||||
CVN_74_John_C__Stennis,
|
||||
LHA_1_Tarawa,
|
||||
CV_1143_5_Admiral_Kuznetsov,
|
||||
],
|
||||
CargoTransportation: [
|
||||
Cargo_Ivanov,
|
||||
Bulker_Yakushev,
|
||||
Tanker_Elnya_160,
|
||||
Boat_Armed_Hi_speed,
|
||||
],
|
||||
}
|
||||
|
||||
"""
|
||||
Units separated by country.
|
||||
country : DCS Country name
|
||||
@ -1216,10 +857,6 @@ def upgrade_to_supercarrier(unit, name: str):
|
||||
return unit
|
||||
|
||||
|
||||
def find_unittype(for_task: Type[MainTask], country_name: str) -> List[Type[UnitType]]:
|
||||
return [x for x in UNIT_BY_TASK[for_task] if x in FACTIONS[country_name].all_units]
|
||||
|
||||
|
||||
MANPADS: List[Type[VehicleType]] = [
|
||||
AirDefence.MANPADS_SA_18_Igla_Grouse,
|
||||
AirDefence.MANPADS_SA_18_Igla_S_Grouse,
|
||||
@ -1355,24 +992,6 @@ def country_id_from_name(name):
|
||||
return -1
|
||||
|
||||
|
||||
def _validate_db():
|
||||
# check unit by task uniquity
|
||||
total_set = set()
|
||||
for t, unit_collection in UNIT_BY_TASK.items():
|
||||
for unit_type in set(unit_collection):
|
||||
assert unit_type not in total_set, "{} is duplicate for task {}".format(
|
||||
unit_type, t
|
||||
)
|
||||
total_set.add(unit_type)
|
||||
|
||||
# check prices
|
||||
for unit_type in total_set:
|
||||
assert unit_type in PRICES, "{} not in prices".format(unit_type)
|
||||
|
||||
|
||||
_validate_db()
|
||||
|
||||
|
||||
class DefaultLiveries:
|
||||
class Default(Enum):
|
||||
af_standard = ""
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user