5.11. Target section

TargetSectionParser is responsible for parsing Target section. Each line of this section describes a single mision target.

Section example:

[Target]
  3 1 1 50 500 133978 87574 1150
  3 0 1 40 501 134459 85239 300 0 1_Chief 134360 85346

Output example:

{
    'targets': [
        {
            'type': TargetTypes.recon,
            'priority': TargetPriorities.secondary,
            'in_sleep_mode': True,
            'delay': 50,
            'requires_landing': False,
            'pos': Point2D(133978.0, 87574.0),
            'radius': 1150,
        },
        {
            'type': TargetTypes.recon,
            'priority': TargetPriorities.primary,
            'in_sleep_mode': True,
            'delay': 40,
            'requires_landing': True,
            'pos': Point2D(134459.0, 85239.0),
            'radius': 300,
            'object': {
                'waypoint': 0,
                'id': '1_Chief',
                'pos': Point2D(134360.0, 85346.0),
            },
        },
    ],
}

The output of the parser is a dict with targets item which contains a list of dictionaries. Each dictionary represents a single target.

There are 8 different types of targets and 3 types of target priorities. Some different types of targets have identical sets of parameters.

5.11.1. Destroy

Definition example:

0 0 0 0 500 90939 91871 0 1 10_Chief 91100 91500

Output example:

{
    'targets': [
        {
            'type': TargetTypes.destroy,
            'priority': TargetPriorities.primary,
            'in_sleep_mode': False,
            'delay': 0,
            'destruction_level': 50,
            'pos': Point2D(90939.0, 91871.0),
            'object': {
                'waypoint': 1,
                'id': '10_Chief',
                'pos': Point2D(91100.0, 91500.0),
            },
        },
    ],
}
0

Target type (destroy).

Output path:type
Output type:complex target type constant
0

Target priority (primary).

Output path:priority
Output type:complex target priority constant
0

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
0

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
500

Destruction level multiplied by 10.

Output path:destruction_level
Output type:int
Output value:original value converted to integer number and divided by 10
90939

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
91871

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
0
Is not used by targets of this type.
1

Waypoint number of the object which must be destroyed.

Output path:object.waypoint
Output type:int
Output value:original value converted to integer number
10_Chief

ID of the object which must be destroyed.

Output path:object.id
Output type:str
Output value:original string value
91100

X coordinate of the object which must be destroyed.

Output path:object.pos.x
Output type:float
Output value:original value converted to float number
91500

Y coordinate of the object which must be destroyed.

Output path:object.pos.y
Output type:float
Output value:original value converted to float number

5.11.2. Destroy area

Definition example:

1 1 1 60 750 133960 87552 1350

Output example:

{
    'targets': [
        {
            'type': TargetTypes.destroy_area,
            'priority': TargetPriorities.secondary,
            'in_sleep_mode': True,
            'delay': 60,
            'destruction_level': 75,
            'pos': Point2D(133960.0, 87552.0),
            'radius': 1350,
        },
    ],
}
1

Target type (destroy area).

Output path:type
Output type:complex target type constant
1

Target priority (secondary).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
60

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
750

Destruction level multiplied by 10.

Output path:destruction_level
Output type:int
Output value:original value converted to integer number and divided by 10
133960

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
87552

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
1350

Area radius.

Output path:radius
Output type:int
Output value:original value converted to integer number

5.11.3. Destroy bridge

Definition example:

2 2 1 30 500 135786 84596 0 0  Bridge84 135764 84636

Output example:

{
    'targets': [
        {
            'type': TargetTypes.destroy_bridge,
            'priority': TargetPriorities.hidden,
            'in_sleep_mode': True,
            'delay': 30,
            'pos': Point2D(135786.0, 84596.0),
            'object': {
                'id': 'Bridge84',
                'pos': Point2D(135764.0, 84636.0),
            },
        },
    ],
}
2

Target type (destroy bridge).

Output path:type
Output type:complex target type constant
2

Target priority (hidden).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
30

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
500
Is not used by targets of this type.
133960

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
87552

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
0
Is not used by targets of this type.
0
Is not used by targets of this type.
Bridge84

ID of the bridge which must be destroyed.

Output path:object.id
Output type:str
Output value:original string value
135764

X coordinate of the bridge which must be destroyed.

Output path:object.pos.x
Output type:float
Output value:original value converted to float number
84636

Y coordinate of the bridge which must be destroyed.

Output path:object.pos.y
Output type:float
Output value:original value converted to float number

5.11.4. Recon

There are 2 possible definitions:

3 1 1 50 500 133978 87574 1150
3 0 1 40 501 134459 85239 300 0 1_Chief 134360 85346

Output example:

{
    'targets': [
        {
            'type': TargetTypes.recon,
            'priority': TargetPriorities.secondary,
            'in_sleep_mode': True,
            'delay': 50,
            'requires_landing': False,
            'pos': Point2D(133978.0, 87574.0),
            'radius': 1150,
        },
        {
            'type': TargetTypes.recon,
            'priority': TargetPriorities.primary,
            'in_sleep_mode': True,
            'delay': 40,
            'requires_landing': True,
            'pos': Point2D(134459.0, 85239.0),
            'radius': 300,
            'object': {
                'waypoint': 0,
                'id': '1_Chief',
                'pos': Point2D(134360.0, 85346.0),
            },
        },
    ],
}

Let’s examine second definition:

3

Target type (recon).

Output path:type
Output type:complex target type constant
0

Target priority (primary).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
40

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
501

Tells whether you need to land near the target to succeed.

Output path:requires_landing
Output type:bool
Output value:True if 501, False otherwise
134459

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
87574

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
300

Maximal distance to target if you need to land.

Output path:radius
Output type:int
Output value:original value converted to integer number
0

Waypoint number of the object which you need to recon.

Output path:object.waypoint
Output type:int
Output value:original value converted to integer number
1_Chief

ID of the object which you need to recon.

Output path:object.id
Output type:str
Output value:original string value
134360

X coordinate of the object which you need to recon.

Output path:object.pos.x
Output type:float
Output value:original value converted to float number
85346

Y coordinate of the object which you need to recon.

Output path:object.pos.y
Output type:float
Output value:original value converted to float number

5.11.5. Escort

Definition example:

4 0 1 10 750 134183 85468 0 1 r0100 133993 85287

Output example:

{
    'targets': [
        {
            'type': TargetTypes.escort,
            'priority': TargetPriorities.primary,
            'in_sleep_mode': True,
            'delay': 10,
            'destruction_level': 75,
            'pos': Point2D(134183.0, 85468.0),
            'object': {
                'waypoint': 1,
                'id': 'r0100',
                'pos': Point2D(133993.0, 85287.0),
            },
        },
    ],
}
4

Target type (escort).

Output path:type
Output type:complex target type constant
0

Target priority (primary).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
10

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
750

Destruction level multiplied by 10.

Output path:destruction_level
Output type:int
Output value:original value converted to integer number and divided by 10
134183

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
91871

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
0
Is not used by targets of this type.
1

Waypoint number of the flight which must be escorted.

Output path:object.waypoint
Output type:int
Output value:original value converted to integer number
r0100

ID of the flight which must be escorted.

Output path:object.id
Output type:str
Output value:original string value
133993

X coordinate of the flight which must be escorted.

Output path:object.pos.x
Output type:float
Output value:original value converted to float number
85287

Y coordinate of the flight which must be escorted.

Output path:object.pos.y
Output type:float
Output value:original value converted to float number

5.11.6. Cover

Definition example:

5 1 1 20 250 132865 87291 0 1 1_Chief 132866 86905

Output example:

{
    'targets': [
        {
            'type': TargetTypes.cover,
            'priority': TargetPriorities.secondary,
            'in_sleep_mode': True,
            'delay': 20,
            'destruction_level': 25,
            'pos': Point2D(132865.0, 87291.0),
            'object': {
                'waypoint': 1,
                'id': '1_Chief',
                'pos': Point2D(132866.0, 86905.0),
            },
        },
    ],
}
5

Target type (cover).

Output path:type
Output type:complex target type constant
1

Target priority (secondary).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
20

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
250

Destruction level multiplied by 10.

Output path:destruction_level
Output type:int
Output value:original value converted to integer number and divided by 10
132865

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
87291

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
0
Is not used by targets of this type.
1

Waypoint number of the object which must be covered.

Output path:object.waypoint
Output type:int
Output value:original value converted to integer number
1_Chief

ID of the object which must be covered.

Output path:object.id
Output type:str
Output value:original string value
132866

X coordinate of the object which must be covered.

Output path:object.pos.x
Output type:float
Output value:original value converted to float number
86905

Y coordinate of the object which must be covered.

Output path:object.pos.y
Output type:float
Output value:original value converted to float number

5.11.7. Cover area

Definition example:

6 1 1 30 500 134064 88188 1350

Output example:

{
    'targets': [
        {
            'type': TargetTypes.cover_area,
            'priority': TargetPriorities.secondary,
            'in_sleep_mode': True,
            'delay': 30,
            'destruction_level': 50,
            'pos': Point2D(134064.0, 88188.0),
            'radius': 1350,
        },
    ],
}
6

Target type (cover area).

Output path:type
Output type:complex target type constant
1

Target priority (secondary).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
30

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
500

Destruction level multiplied by 10.

Output path:destruction_level
Output type:int
Output value:original value converted to integer number and divided by 10
134064

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
88188

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
1350

Area radius.

Output path:radius
Output type:int
Output value:original value converted to integer number

5.11.8. Cover bridge

Definition example:

7 2 1 30 500 135896 84536 0 0  Bridge84 135764 84636

Output example:

{
    'targets': [
        {
            'type': TargetTypes.cover_bridge,
            'priority': TargetPriorities.hidden,
            'in_sleep_mode': True,
            'delay': 30,
            'pos': Point2D(135896.0, 84536.0),
            'object': {
                'id': 'Bridge84',
                'pos': Point2D(135764.0, 84636.0),
            },
        },
    ],
}
7

Target type (cover bridge).

Output path:type
Output type:complex target type constant
2

Target priority (hidden).

Output path:priority
Output type:complex target priority constant
1

Tells whether sleep mode is turned on.

Output path:in_sleep_mode
Output type:bool
Output value:True if 1, False otherwise
30

Delay (in minutes).

Output path:delay
Output type:int
Output value:original value converted to integer number
500
Is not used by targets of this type.
135896

X coordinate.

Output path:pos.x
Output type:float
Output value:original value converted to float number
84536

Y coordinate.

Output path:pos.y
Output type:float
Output value:original value converted to float number
0
Is not used by targets of this type.
0
Is not used by targets of this type.
Bridge84

ID of the bridge which must be covered.

Output path:object.id
Output type:str
Output value:original string value
135764

X coordinate of the bridge which must be covered.

Output path:object.pos.x
Output type:float
Output value:original value converted to float number
84636

Y coordinate of the bridge which must be covered.

Output path:object.pos.y
Output type:float
Output value:original value converted to float number