dcs-retribution/gen/envsettingsgen.py
Vasyl Horbachenko 064b9ba877 number of fixes
2018-06-14 03:44:24 +03:00

41 lines
1.1 KiB
Python

import typing
import random
from dcs.mission import Mission
from theater.weatherforecast import WeatherForecast
RANDOM_TIME = {
"night": 0,
"dusk": 5,
"dawn": 35,
"noon": 75,
"day": 100,
}
class EnvironmentSettingsGenerator:
def __init__(self, mission: Mission, game):
self.mission = mission
self.game = game
def generate(self):
time_roll = random.randint(0, 100)
time_period = None
for k, v in RANDOM_TIME.items():
if v >= time_roll:
time_period = k
break
self.mission.random_daytime(time_period)
self.mission.weather.random(self.mission.start_time, self.mission.terrain)
for cp in self.game.theater.controlpoints:
if cp.is_global:
continue
player_coalition = self.game.player == "USA" and "blue" or "red"
enemy_coalition = player_coalition == "blue" and "red" or "blue"
self.mission.terrain.airport_by_id(cp.at.id).set_coalition(cp.captured and player_coalition or enemy_coalition)