mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Add reversed_heading property to ground units
This allows to define if a unit should be placed backwards in the generated mission. This is required for example for the SA-11/SA-17 or Silkworm Launchers.
This commit is contained in:
parent
f20d0effe9
commit
88a8caa023
@ -289,12 +289,19 @@ class ForceGroup:
|
||||
# Align heading to GroundObject defined by the campaign designer
|
||||
unit.position.heading + rotation,
|
||||
)
|
||||
if unit.unit_type and unit.unit_type.dcs_unit_type in UNITS_WITH_RADAR:
|
||||
# Head Radars towards the center of the conflict
|
||||
unit.position.heading = (
|
||||
game.theater.heading_to_conflict_from(unit.position)
|
||||
or unit.position.heading
|
||||
)
|
||||
if unit.unit_type is not None:
|
||||
if unit.unit_type.dcs_unit_type in UNITS_WITH_RADAR:
|
||||
# Head Radars towards the center of the conflict
|
||||
unit.position.heading = (
|
||||
game.theater.heading_to_conflict_from(unit.position)
|
||||
or unit.position.heading
|
||||
)
|
||||
if (
|
||||
isinstance(unit.unit_type, GroundUnitType)
|
||||
and unit.unit_type.reversed_heading
|
||||
):
|
||||
# Reverse the heading of the unit
|
||||
unit.position.heading = unit.position.heading.opposite
|
||||
# Rotate unit around the center to align the orientation of the group
|
||||
unit.position.rotate(ground_object.position, rotation)
|
||||
|
||||
|
||||
@ -55,6 +55,10 @@ class GroundUnitType(UnitType[Type[VehicleType]]):
|
||||
spawn_weight: int
|
||||
skynet_properties: SkynetProperties
|
||||
|
||||
# Defines if we should place the ground unit with an inverted heading.
|
||||
# Some units like few Launchers have to be placed backwards to be able to fire.
|
||||
reversed_heading: bool
|
||||
|
||||
@classmethod
|
||||
def named(cls, name: str) -> GroundUnitType:
|
||||
if not cls._loaded:
|
||||
@ -117,4 +121,5 @@ class GroundUnitType(UnitType[Type[VehicleType]]):
|
||||
skynet_properties=SkynetProperties.from_data(
|
||||
data.get("skynet_properties", {})
|
||||
),
|
||||
reversed_heading=data.get("reversed_heading", False),
|
||||
)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1,4 +1,5 @@
|
||||
class: TELAR
|
||||
price: 30
|
||||
reversed_heading: true # Needs to be placed backwards!
|
||||
variants:
|
||||
SAM SA-11 Buk "Gadfly" Fire Dome TEL: null
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
class: TELAR
|
||||
price: 40
|
||||
reversed_heading: true # Needs to be placed backwards!
|
||||
variants:
|
||||
SAM SA-17 Buk M1-2 LN 9A310M1-2: null
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
class: AntiShipMissile
|
||||
price: 0
|
||||
reversed_heading: true # Needs to be placed backwards!
|
||||
variants:
|
||||
AShM SS-N-2 Silkworm: null
|
||||
Loading…
x
Reference in New Issue
Block a user