mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import typing
|
|
import pdb
|
|
import dcs
|
|
|
|
from random import randint
|
|
|
|
import globals
|
|
|
|
from .conflictgen import *
|
|
from .naming import *
|
|
|
|
from dcs.mission import *
|
|
from dcs.vehicles import *
|
|
from dcs.unitgroup import *
|
|
from dcs.unittype import *
|
|
from dcs.mapping import *
|
|
from dcs.point import *
|
|
from dcs.task import *
|
|
|
|
DISTANCE_FACTOR = 4, 5
|
|
|
|
class AAConflictGenerator:
|
|
def __init__(self, mission: Mission, conflict: Conflict):
|
|
self.m = mission
|
|
self.conflict = conflict
|
|
|
|
def generate(self, units: typing.Dict[UnitType, int]):
|
|
for type, count in units.items():
|
|
for _, radial in zip(range(count), self.conflict.radials):
|
|
distance = randint(self.conflict.size * DISTANCE_FACTOR[0], self.conflict.size * DISTANCE_FACTOR[1])
|
|
p = self.conflict.position.point_from_heading(radial, distance)
|
|
|
|
self.m.vehicle_group(
|
|
country=self.conflict.defenders_side,
|
|
name=namegen.next_ground_group_name(),
|
|
_type=type,
|
|
position=p,
|
|
group_size=1)
|
|
|