Generate ship groups for carriers. Carriers can be destroyed. Faction need to have carrier available.

This commit is contained in:
Khopa
2019-10-26 22:59:59 +02:00
parent 2936df6a02
commit 76638b549f
20 changed files with 245 additions and 46 deletions

View File

@@ -181,7 +181,7 @@ class Event:
# -- AA Site groups
for i, ground_object in enumerate(cp.ground_objects):
if ground_object.dcs_identifier == "AA":
if ground_object.dcs_identifier in ["AA", "CARRIER"]:
for g in ground_object.groups:
for u in g.units:
if u.name == destroyed_ground_unit_name:

View File

@@ -44,5 +44,12 @@ China_2000 = {
AirDefence.AAA_ZU_23_Closed,
AirDefence.Rapier_FSA_Launcher, # Standing as PL-9C Shorad
AirDefence.HQ_7_Self_Propelled_LN
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
Type_052B_Destroyer,
Type_052C_Destroyer
], "cruiser": [
Type_054A_Frigate,
]
}

View File

@@ -1,7 +1,7 @@
from dcs.helicopters import Mi_8MT, Mi_24V
from dcs.planes import MiG_21Bis, MiG_23MLD, MiG_25PD, MiG_29A, Su_17M4, Su_24M, Su_25, IL_76MD, IL_78M, An_26B, An_30M, \
Yak_40, A_50
from dcs.ships import CV_1143_5_Admiral_Kuznetsov, Dry_cargo_ship_Ivanov, Bulk_cargo_ship_Yakushev, Tanker_Elnya_160
from dcs.ships import *
from dcs.vehicles import AirDefence, Armor, Unarmed, Infantry
Russia_1975 = {
@@ -48,8 +48,14 @@ Russia_1975 = {
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160
],
"shorad":[
"shorad": [
AirDefence.AAA_ZU_23_Emplacement,
AirDefence.SPAAA_ZSU_23_4_Shilka
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
CGN_1144_2_Pyotr_Velikiy,
]
}

View File

@@ -53,5 +53,11 @@ Russia_1990 = {
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SPAAA_ZSU_23_4_Shilka
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
FSG_1241_1MP_Molniya,
]
}

View File

@@ -49,5 +49,11 @@ Russia_2010 = {
"shorad":[
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
FSG_1241_1MP_Molniya,
]
}

View File

@@ -34,11 +34,18 @@ USA_1990 = {
AirDefence.SAM_Hawk_PCP,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
], "cruiser": [
Ticonderoga_class,
]
}

View File

@@ -38,7 +38,16 @@ USA_2005 = {
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad":[
], "shorad": [
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
], "cruiser": [
Ticonderoga_class,
]
}
}

View File

@@ -313,10 +313,10 @@ class Game:
# Plan flights for next turn
self.planners = {}
for cp in self.theater.controlpoints:
planner = FlightPlanner(cp, self)
planner.plan_flights()
self.planners[cp.id] = planner
print(planner)
if cp.has_runway():
planner = FlightPlanner(cp, self)
planner.plan_flights()
self.planners[cp.id] = planner
@property

View File

@@ -138,6 +138,9 @@ class Operation:
# Air Support (Tanker & Awacs)
self.airsupportgen.generate(self.is_awacs_enabled)
# Generate carrier groups & ships
# Generate Activity on the map
for cp in self.game.theater.controlpoints:
side = cp.captured
@@ -164,7 +167,6 @@ class Operation:
else:
self.current_mission.groundControl.red_tactical_commander = self.ca_slots
# triggers
if self.game.is_player_attack(self.conflict.attackers_country):
cp = self.conflict.from_cp