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
|
# Align heading to GroundObject defined by the campaign designer
|
||||||
unit.position.heading + rotation,
|
unit.position.heading + rotation,
|
||||||
)
|
)
|
||||||
if unit.unit_type and unit.unit_type.dcs_unit_type in UNITS_WITH_RADAR:
|
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
|
# Head Radars towards the center of the conflict
|
||||||
unit.position.heading = (
|
unit.position.heading = (
|
||||||
game.theater.heading_to_conflict_from(unit.position)
|
game.theater.heading_to_conflict_from(unit.position)
|
||||||
or unit.position.heading
|
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
|
# Rotate unit around the center to align the orientation of the group
|
||||||
unit.position.rotate(ground_object.position, rotation)
|
unit.position.rotate(ground_object.position, rotation)
|
||||||
|
|
||||||
|
|||||||
@ -55,6 +55,10 @@ class GroundUnitType(UnitType[Type[VehicleType]]):
|
|||||||
spawn_weight: int
|
spawn_weight: int
|
||||||
skynet_properties: SkynetProperties
|
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
|
@classmethod
|
||||||
def named(cls, name: str) -> GroundUnitType:
|
def named(cls, name: str) -> GroundUnitType:
|
||||||
if not cls._loaded:
|
if not cls._loaded:
|
||||||
@ -117,4 +121,5 @@ class GroundUnitType(UnitType[Type[VehicleType]]):
|
|||||||
skynet_properties=SkynetProperties.from_data(
|
skynet_properties=SkynetProperties.from_data(
|
||||||
data.get("skynet_properties", {})
|
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
|
class: TELAR
|
||||||
price: 30
|
price: 30
|
||||||
|
reversed_heading: true # Needs to be placed backwards!
|
||||||
variants:
|
variants:
|
||||||
SAM SA-11 Buk "Gadfly" Fire Dome TEL: null
|
SAM SA-11 Buk "Gadfly" Fire Dome TEL: null
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
class: TELAR
|
class: TELAR
|
||||||
price: 40
|
price: 40
|
||||||
|
reversed_heading: true # Needs to be placed backwards!
|
||||||
variants:
|
variants:
|
||||||
SAM SA-17 Buk M1-2 LN 9A310M1-2: null
|
SAM SA-17 Buk M1-2 LN 9A310M1-2: null
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
class: AntiShipMissile
|
class: AntiShipMissile
|
||||||
price: 0
|
price: 0
|
||||||
|
reversed_heading: true # Needs to be placed backwards!
|
||||||
variants:
|
variants:
|
||||||
AShM SS-N-2 Silkworm: null
|
AShM SS-N-2 Silkworm: null
|
||||||
Loading…
x
Reference in New Issue
Block a user