354 lines
11 KiB
Python

from enum import unique, Enum
from dcs.weather import CloudPreset
from pydcs_extensions.cloud_injector import inject_cloud_presets, eject_cloud_presets
@unique
class BanditClouds(Enum):
ScatteredShowers1 = CloudPreset(
name="Preset35",
ui_name="Scattered Showers 1 [Bandit648]",
description="35 ##Scattered Showers \nMETAR: RA SCT SCT BKN",
min_base=200.0,
max_base=7000.0,
)
ScatteredShowers2 = CloudPreset(
name="Preset36",
ui_name="Scattered Showers 2 [Bandit648]",
description="36 ##Scattered Showers \nMETAR: RA SCT SCT BKN ",
min_base=200.0,
max_base=14000.0,
)
ScatteredShowers3 = CloudPreset(
name="Preset37",
ui_name="Scattered Showers 3 [Bandit648]",
description="37 ##Scattered Showers \nMETAR: RA SCT BKN ",
min_base=200.0,
max_base=10000.0,
)
ScatteredShowers4 = CloudPreset(
name="Preset38",
ui_name="Scattered Showers 4 [Bandit648]",
description="38 ##Scattered Showers \nMETAR: RA SCT BKN",
min_base=200.0,
max_base=10000.0,
)
ScatteredShowers5 = CloudPreset(
name="Preset39",
ui_name="Scattered Showers 5 [Bandit648]",
description="39 ##Scattered Showers \nMETAR: RA SCT BKN BKN",
min_base=200.0,
max_base=10000.0,
)
OvercastLightRain1 = CloudPreset(
name="Preset40",
ui_name="Overcast Light Rain 1 [Bandit648]",
description="40 ##Overcast light rain \nMETAR: -RA BKN BKN",
min_base=200.0,
max_base=10000.0,
)
OvercastLightRain2 = CloudPreset(
name="Preset41",
ui_name="Overcast Light Rain 2 [Bandit648]",
description="41 ##Overcast light rain \nMETAR: RA OVC BKN",
min_base=200.0,
max_base=10000.0,
)
OvercastAndModerateRain1 = CloudPreset(
name="Preset42",
ui_name="Overcast And Moderate Rain 1 [Bandit648]",
description="42 ##Overcast with Rain \nMETAR: RA OVC BKN OVC",
min_base=200.0,
max_base=10000.0,
)
ScatteredCumulus1 = CloudPreset(
name="Preset43",
ui_name="Scattered Cumulus 1 [Bandit648]",
description="43 ##One Layer Scattered \nMETAR: FEW/SCT ",
min_base=200.0,
max_base=10000.0,
)
ScatteredCumulus2 = CloudPreset(
name="Preset44",
ui_name="Scattered Cumulus 2 [Bandit648]",
description="44 ##One Layer Scattered \nMETAR: SCT 6/10",
min_base=200.0,
max_base=15000.0,
)
ScatteredCumulus3 = CloudPreset(
name="Preset45",
ui_name="Scattered Cumulus 3 [Bandit648]",
description="45 ##Two Layer Scattered \nMETAR: SCT SCT",
min_base=200.0,
max_base=10000.0,
)
ScatteredCumulus4 = CloudPreset(
name="Preset46",
ui_name="Scattered Cumulus 4 [Bandit648]",
description="46 ##Two Layer Scattered \nMETAR: SCT SCT",
min_base=200.0,
max_base=10000.0,
)
ScatteredCumulus5 = CloudPreset(
name="Preset47",
ui_name="Scattered Cumulus 5 [Bandit648]",
description="47 ##Three Layer Scattered \nMETAR: SCT BKN OVC",
min_base=200.0,
max_base=15000.0,
)
OvercastCumulusLightMist = CloudPreset(
name="Preset48",
ui_name="Overcast Cumulus Light Mist [Bandit648]",
description="48 ##Overcast Light Rain \nMETAR: -RA OVC FEW",
min_base=200.0,
max_base=10000.0,
)
Lowlevelstratus1 = CloudPreset(
name="Preset49",
ui_name="Low level stratus 1 [Bandit648]",
description="49 ##Single layer stratus \nMETAR: BKN",
min_base=0.0,
max_base=1524.0,
)
Lowlevelstratus2 = CloudPreset(
name="Preset50",
ui_name="Low level stratus 2 [Bandit648]",
description="50 ##Single layer stratus \nMETAR: BKN",
min_base=0.0,
max_base=1524.0,
)
Lowlevelstratus3 = CloudPreset(
name="Preset51",
ui_name="Low level stratus 3 [Bandit648]",
description="51 ##Single layer stratus \nMETAR: BKN",
min_base=0.0,
max_base=1524.0,
)
Lowlevelstratus4 = CloudPreset(
name="Preset52",
ui_name="Low level stratus 4 [Bandit648]",
description="52 ##Single layer stratus \nMETAR: BKN",
min_base=0.0,
max_base=1524.0,
)
Lowlevelstratus5 = CloudPreset(
name="Preset53",
ui_name="Low level stratus 5 [Bandit648]",
description="53 ##Low stratus with thick overcast clouds \nMETAR: OVC SCT",
min_base=0.0,
max_base=1524.0,
)
Lowlevelstratus6 = CloudPreset(
name="Preset54",
ui_name="Low level stratus 6 [Bandit648]",
description="54 ##Low level stratus with big puffy cumulus \nMETAR: OVC BKN",
min_base=0.0,
max_base=3048.0,
)
Lowlevelstratus7 = CloudPreset(
name="Preset55",
ui_name="Low level stratus 7 [Bandit648]",
description="55 ##Low level stratus with light scattered cumulus \nMETAR: BKN SCT",
min_base=0.0,
max_base=3048.0,
)
Altotratus1 = CloudPreset(
name="Preset56",
ui_name="Altotratus 1 [Bandit648]",
description="56 ##Mid level Altostratus Overcast \nMETAR: OVC/BKN",
min_base=3000.0,
max_base=6096.0,
)
Altostratus2 = CloudPreset(
name="Preset57",
ui_name="Altostratus 2 [Bandit648]",
description="57 ##Altostratus Scattered \nMETAR: OVC/SCT",
min_base=1828.0,
max_base=6096.0,
)
Altostratus3 = CloudPreset(
name="Preset58",
ui_name="Altostratus 3 [Bandit648]",
description="58 ##Altostratus Scattered \nMETAR: OVC/SCT",
min_base=1828.0,
max_base=6096.0,
)
Altostratus4 = CloudPreset(
name="Preset59",
ui_name="Altostratus 4 [Bandit648]",
description="59 ##Altostratus Broken \nMETAR: OVC/BKN",
min_base=1828.0,
max_base=6096.0,
)
Altocumulus1 = CloudPreset(
name="Preset60",
ui_name="Altocumulus 1 [Bandit648]",
description="60 ##Altocumulus scattered \nMETAR: OVC/SCT",
min_base=500.0,
max_base=7620.0,
)
Altocumulus2 = CloudPreset(
name="Preset61",
ui_name="Altocumulus 2 [Bandit648]",
description="61 ##Mid Level Altocumulus Few \nMETAR: SCT/FEW",
min_base=500.0,
max_base=7620.0,
)
Altocumulus3 = CloudPreset(
name="Preset62",
ui_name="Altocumulus 3 [Bandit648]",
description="62 ##Altocumulus broken \nMETAR: OVC/BKN",
min_base=500.0,
max_base=7620.0,
)
Altocumulus4 = CloudPreset(
name="Preset63",
ui_name="Altocumulus 4 [Bandit648]",
description="63 ##Altocumulus broken \nMETAR: OVC/BKN",
min_base=500.0,
max_base=7620.0,
)
Nimbostratuswithheavyrain = CloudPreset(
name="Preset64",
ui_name="Nimbostratus with heavy rain [Bandit648]",
description="64 ##Heavy rain with thick overcast cloud layer \nMETAR: RA OVC BKN",
min_base=609.0,
max_base=6096.0,
)
Cirrocumulus1 = CloudPreset(
name="Preset65",
ui_name="Cirrocumulus 1 [Bandit648]",
description="65 ##High level cirrcumulus clouds \nMETAR: SCT/BKN",
min_base=300.0,
max_base=18288.0,
)
Cirrocumulus2 = CloudPreset(
name="Preset66",
ui_name="Cirrocumulus 2 [Bandit648]",
description="66 ##High level cirrcumulus clouds \nMETAR: SCT/BKN",
min_base=300.0,
max_base=18288.0,
)
Cirrocumulus3 = CloudPreset(
name="Preset67",
ui_name="Cirrocumulus 3 [Bandit648]",
description="67 ##High level cirrocumulus scattered \nMETAR: SCT",
min_base=300.0,
max_base=18288.0,
)
Cirrostratus1 = CloudPreset(
name="Preset68",
ui_name="Cirrostratus 1 [Bandit648]",
description="68 ##High level cirrostratus clouds \nMETAR: SCT/BKN",
min_base=300.0,
max_base=18288.0,
)
Cirrostratus2 = CloudPreset(
name="Preset69",
ui_name="Cirrostratus 2 [Bandit648]",
description="69 ##High level cirrostratus overcast \nMETAR: OVC/BKN",
min_base=0.0,
max_base=18288.0,
)
Cirrostratus3 = CloudPreset(
name="Preset70",
ui_name="Cirrostratus 3 [Bandit648]",
description="70 ##High level cirrostratus overcast \nMETAR: OVC/BKN",
min_base=300.0,
max_base=18288.0,
)
Cirrostratus4 = CloudPreset(
name="Preset71",
ui_name="Cirrostratus 4 [Bandit648]",
description="71 ##High level cirrostratus overcast \nMETAR: OVC/BKN",
min_base=300.0,
max_base=18288.0,
)
@staticmethod
def activate() -> None:
inject_cloud_presets(BANDIT_CLOUDS)
@staticmethod
def deactivate() -> None:
eject_cloud_presets(BANDIT_CLOUDS)
BANDIT_CLOUDS = {
"Preset35": BanditClouds.ScatteredShowers1,
"Preset36": BanditClouds.ScatteredShowers2,
"Preset37": BanditClouds.ScatteredShowers3,
"Preset38": BanditClouds.ScatteredShowers4,
"Preset39": BanditClouds.ScatteredShowers5,
"Preset40": BanditClouds.OvercastLightRain1,
"Preset41": BanditClouds.OvercastLightRain2,
"Preset42": BanditClouds.OvercastAndModerateRain1,
"Preset43": BanditClouds.ScatteredCumulus1,
"Preset44": BanditClouds.ScatteredCumulus2,
"Preset45": BanditClouds.ScatteredCumulus3,
"Preset46": BanditClouds.ScatteredCumulus4,
"Preset47": BanditClouds.ScatteredCumulus5,
"Preset48": BanditClouds.OvercastCumulusLightMist,
"Preset49": BanditClouds.Lowlevelstratus1,
"Preset50": BanditClouds.Lowlevelstratus2,
"Preset51": BanditClouds.Lowlevelstratus3,
"Preset52": BanditClouds.Lowlevelstratus4,
"Preset53": BanditClouds.Lowlevelstratus5,
"Preset54": BanditClouds.Lowlevelstratus6,
"Preset55": BanditClouds.Lowlevelstratus7,
"Preset56": BanditClouds.Altotratus1,
"Preset57": BanditClouds.Altostratus2,
"Preset58": BanditClouds.Altostratus3,
"Preset59": BanditClouds.Altostratus4,
"Preset60": BanditClouds.Altocumulus1,
"Preset61": BanditClouds.Altocumulus2,
"Preset62": BanditClouds.Altocumulus3,
"Preset63": BanditClouds.Altocumulus4,
"Preset64": BanditClouds.Nimbostratuswithheavyrain,
"Preset65": BanditClouds.Cirrocumulus1,
"Preset66": BanditClouds.Cirrocumulus2,
"Preset67": BanditClouds.Cirrocumulus3,
"Preset68": BanditClouds.Cirrostratus1,
"Preset69": BanditClouds.Cirrostratus2,
"Preset70": BanditClouds.Cirrostratus3,
"Preset71": BanditClouds.Cirrostratus4,
}