diff --git a/game/db.py b/game/db.py index 3a8b084a..cae523b8 100644 --- a/game/db.py +++ b/game/db.py @@ -104,7 +104,8 @@ from dcs.planes import ( Tu_95MS, WingLoong_I, Yak_40, - plane_map + plane_map, + I_16 ) from dcs.ships import ( Armed_speedboat, @@ -245,6 +246,7 @@ PRICES = { SpitfireLFMkIX: 14, SpitfireLFMkIXCW: 14, + I_16: 10, Bf_109K_4: 14, FW_190D9: 16, FW_190A8: 14, @@ -589,6 +591,7 @@ UNIT_BY_TASK = { JF_17, F_4E, C_101CC, + I_16, Bf_109K_4, FW_190D9, FW_190A8, @@ -1043,6 +1046,7 @@ PLANE_PAYLOAD_OVERRIDES: Dict[Type[PlaneType], Dict[Type[Task], str]] = { FW_190D9: COMMON_OVERRIDE, FW_190A8: COMMON_OVERRIDE, Bf_109K_4: COMMON_OVERRIDE, + I_16: COMMON_OVERRIDE, SpitfireLFMkIXCW: COMMON_OVERRIDE, SpitfireLFMkIX: COMMON_OVERRIDE, A_20G: COMMON_OVERRIDE, diff --git a/gen/armor.py b/gen/armor.py index 9c949ff7..085cfdfc 100644 --- a/gen/armor.py +++ b/gen/armor.py @@ -289,7 +289,7 @@ class GroundConflictGenerator: hold_2.number = 3 dcs_group.add_trigger_action(hold_2) - retreat_task = GoToWaypoint(toIndex=3) + retreat_task = GoToWaypoint(to_index=3) retreat_task.number = 4 dcs_group.add_trigger_action(retreat_task) @@ -385,7 +385,7 @@ class GroundConflictGenerator: dcs_group.add_waypoint(self.find_retreat_point(dcs_group, forward_heading, (int)(RETREAT_DISTANCE / 8)), PointAction.OffRoad) # Fallback task - fallback = ControlledTask(GoToWaypoint(toIndex=len(dcs_group.points))) + fallback = ControlledTask(GoToWaypoint(to_index=len(dcs_group.points))) fallback.enabled = False dcs_group.add_trigger_action(Hold()) dcs_group.add_trigger_action(fallback) diff --git a/gen/flights/ai_flight_planner_db.py b/gen/flights/ai_flight_planner_db.py index 084aa851..42b4937d 100644 --- a/gen/flights/ai_flight_planner_db.py +++ b/gen/flights/ai_flight_planner_db.py @@ -79,6 +79,7 @@ from dcs.planes import ( Tu_22M3, Tu_95MS, WingLoong_I, + I_16 ) # Interceptor are the aircraft prioritized for interception tasks @@ -154,6 +155,8 @@ CAP_CAPABLE = [ P_47D_30bl1, P_47D_40, + I_16, + SpitfireLFMkIXCW, SpitfireLFMkIX, @@ -196,6 +199,8 @@ CAP_PREFERRED = [ SpitfireLFMkIXCW, SpitfireLFMkIX, + I_16, + Bf_109K_4, FW_190D9, FW_190A8, @@ -272,6 +277,8 @@ CAS_CAPABLE = [ SpitfireLFMkIXCW, SpitfireLFMkIX, + I_16, + Bf_109K_4, FW_190D9, FW_190A8, @@ -328,6 +335,7 @@ CAS_PREFERRED = [ P_47D_30bl1, P_47D_40, A_20G, + I_16, A_4E_C, Rafale_A_S, diff --git a/resources/customized_payloads/I-16.lua b/resources/customized_payloads/I-16.lua new file mode 100644 index 00000000..df92fcd0 --- /dev/null +++ b/resources/customized_payloads/I-16.lua @@ -0,0 +1,257 @@ +local unitPayloads = { + ["name"] = "I-16", + ["payloads"] = { + [1] = { + ["name"] = "CAP", + ["pylons"] = { + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["name"] = "CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 7, + }, + [3] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 4, + }, + [6] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 2, + }, + [8] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [3] = { + ["name"] = "STRIKE", + ["pylons"] = { + [1] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 5, + }, + [2] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 4, + }, + [3] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 1, + }, + [4] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 2, + }, + [5] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 3, + }, + [6] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 7, + }, + [8] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 8, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [4] = { + ["name"] = "ANTISHIP", + ["pylons"] = { + [1] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 5, + }, + [2] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 4, + }, + [3] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 8, + }, + [4] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 7, + }, + [5] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 6, + }, + [6] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 2, + }, + [8] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [5] = { + ["name"] = "SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 7, + }, + [3] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 4, + }, + [6] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 2, + }, + [8] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [6] = { + ["name"] = "DEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 7, + }, + [3] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 4, + }, + [6] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 2, + }, + [8] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [7] = { + ["name"] = "BAI", + ["pylons"] = { + [1] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 8, + }, + [2] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 7, + }, + [3] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 5, + }, + [5] = { + ["CLSID"] = "I16_FAB_100SV", + ["num"] = 4, + }, + [6] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 3, + }, + [7] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 2, + }, + [8] = { + ["CLSID"] = "I16_RS_82", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "I-16", +} +return unitPayloads diff --git a/resources/factions/soviet_union_1943.json b/resources/factions/soviet_union_1943.json new file mode 100644 index 00000000..da2b11fa --- /dev/null +++ b/resources/factions/soviet_union_1943.json @@ -0,0 +1,53 @@ +{ + "country": "USSR", + "name": "Soviet Union 1943", + "authors": "Khopa", + "description": "
Soviet Union in 1943. Featuring the I16, and using some allies units to represent either lend leased vehicles or soviet equivalent vehicles. BM-21 is used to represent BM-13
", + "aircrafts": [ + "SpitfireLFMkIX", + "I_16" + ], + "frontline_units": [ + "MT_M4_Sherman", + "APC_M2A1", + "Daimler_Armoured_Car", + "LT_Mk_VII_Tetrarch" + ], + "artillery_units": [ + "MLRS_BM_21_Grad" + ], + "logistics_units": [ + "Bedford_MWD", + "CCKW_353" + ], + "infantry_units": [ + "Infantry_SMLE_No_4_Mk_1" + ], + "shorads": [ + "BoforsGenerator" + ], + "sams": [ + "AllyWW2FlakGenerator", + "BoforsGenerator" + ], + "aircraft_carrier": [ + ], + "helicopter_carrier": [ + ], + "destroyers": [ + ], + "cruisers": [ + ], + "requirements": { + "WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/" + }, + "carrier_names": [ + ], + "helicopter_carrier_names": [ + ], + "navy_generators": [ + ], + "has_jtac": false, + "doctrine": "ww2", + "building_set": "ww2ally" +}