Added Freya EWR sites to WW2 german factions

This commit is contained in:
Khopa 2020-11-07 03:21:53 +01:00
parent 3fd5e1bae7
commit e0153cfa6a
6 changed files with 48 additions and 4 deletions

View File

@ -505,6 +505,7 @@ PRICES = {
AirDefence.Flak_Searchlight_37: 4, AirDefence.Flak_Searchlight_37: 4,
AirDefence.Maschinensatz_33: 10, AirDefence.Maschinensatz_33: 10,
AirDefence.AAA_8_8cm_Flak_41: 10, AirDefence.AAA_8_8cm_Flak_41: 10,
AirDefence.EWR_FuMG_401_Freya_LZ: 25,
AirDefence.AAA_Bofors_40mm: 8, AirDefence.AAA_Bofors_40mm: 8,
# FRENCH PACK MOD # FRENCH PACK MOD

39
gen/sam/freya_ewr.py Normal file
View File

@ -0,0 +1,39 @@
import random
from dcs.vehicles import AirDefence, Unarmed, Infantry
from gen.sam.group_generator import GroupGenerator
class FreyaGenerator(GroupGenerator):
"""
This generate a German flak artillery group using only free units, thus not requiring the WW2 asset pack
"""
name = "Freya EWR Site"
price = 60
def generate(self):
# TODO : would be better with the Concrete structure that is supposed to protect it
self.add_unit(AirDefence.EWR_FuMG_401_Freya_LZ, "EWR#1", self.position.x, self.position.y, self.heading)
positions = self.get_circular_position(4, launcher_distance=50, coverage=360)
for i, position in enumerate(positions):
self.add_unit(AirDefence.AAA_Flak_Vierling_38, "AA#" + str(i), position[0], position[1], position[2])
positions = self.get_circular_position(4, launcher_distance=100, coverage=360)
for i, position in enumerate(positions):
self.add_unit(AirDefence.AAA_8_8cm_Flak_18, "AA#" + str(4+i), position[0], position[1], position[2])
# Command/Logi
self.add_unit(Unarmed.Kübelwagen_82, "Kubel#1", self.position.x - 20, self.position.y - 20, self.heading)
self.add_unit(Unarmed.Sd_Kfz_7, "Sdkfz#1", self.position.x + 20, self.position.y + 22, self.heading)
self.add_unit(Unarmed.Sd_Kfz_2, "Sdkfz#2", self.position.x - 22, self.position.y + 20, self.heading)
# Maschinensatz_33 and Kdo.g 40 Telemeter
self.add_unit(AirDefence.Maschinensatz_33, "Energy#1", self.position.x + 20, self.position.y - 20, self.heading)
self.add_unit(AirDefence.AAA_Kdo_G_40, "Telemeter#1", self.position.x + 20, self.position.y - 10, self.heading)
self.add_unit(Infantry.Infantry_Mauser_98, "Inf#1", self.position.x + 20, self.position.y - 14, self.heading)
self.add_unit(Infantry.Infantry_Mauser_98, "Inf#2", self.position.x + 20, self.position.y - 22, self.heading)
self.add_unit(Infantry.Infantry_Mauser_98, "Inf#3", self.position.x + 20, self.position.y - 24, self.heading + 45)

View File

@ -35,6 +35,7 @@ from gen.sam.sam_zsu23 import ZSU23Generator
from gen.sam.sam_zu23 import ZU23Generator from gen.sam.sam_zu23 import ZU23Generator
from gen.sam.sam_zu23_ural import ZU23UralGenerator from gen.sam.sam_zu23_ural import ZU23UralGenerator
from gen.sam.sam_zu23_ural_insurgent import ZU23UralInsurgentGenerator from gen.sam.sam_zu23_ural_insurgent import ZU23UralInsurgentGenerator
from gen.sam.freya_ewr import FreyaGenerator
from theater import TheaterGroundObject from theater import TheaterGroundObject
SAM_MAP = { SAM_MAP = {
@ -67,7 +68,8 @@ SAM_MAP = {
"HQ7Generator": HQ7Generator, "HQ7Generator": HQ7Generator,
"Flak18Generator": Flak18Generator, "Flak18Generator": Flak18Generator,
"ColdWarFlakGenerator": ColdWarFlakGenerator, "ColdWarFlakGenerator": ColdWarFlakGenerator,
"EarlyColdWarFlakGenerator": EarlyColdWarFlakGenerator "EarlyColdWarFlakGenerator": EarlyColdWarFlakGenerator,
"FreyaGenerator": FreyaGenerator
} }
SAM_PRICES = { SAM_PRICES = {

View File

@ -230,9 +230,9 @@ class QLiberationMap(QGraphicsView):
unit = db.unit_type_from_name(u.type) unit = db.unit_type_from_name(u.type)
if unit in UNITS_WITH_RADAR or unit in AAA_UNITS: if unit in UNITS_WITH_RADAR or unit in AAA_UNITS:
can_fire = True can_fire = True
if unit.detection_range > detection_range: if unit.detection_range and unit.detection_range > detection_range:
detection_range = unit.detection_range detection_range = unit.detection_range
if unit.threat_range > threat_range: if unit.threat_range and unit.threat_range > threat_range:
threat_range = unit.threat_range threat_range = unit.threat_range
if can_fire: if can_fire:
threat_pos = self._transform_point(Point(ground_object.position.x+threat_range, threat_pos = self._transform_point(Point(ground_object.position.x+threat_range,

View File

@ -31,6 +31,7 @@
"FlakGenerator" "FlakGenerator"
], ],
"sams": [ "sams": [
"FreyaGenerator",
"FlakGenerator" "FlakGenerator"
], ],
"aircraft_carrier": [ "aircraft_carrier": [

View File

@ -36,7 +36,8 @@
"FlakGenerator" "FlakGenerator"
], ],
"sams": [ "sams": [
"FlakGenerator" "FlakGenerator",
"FreyaGenerator"
], ],
"aircraft_carrier": [ "aircraft_carrier": [
], ],