From 6a43e9da80591248f204ddb437a7b1a528f0ef9e Mon Sep 17 00:00:00 2001 From: FlightControl Date: Wed, 25 May 2016 11:00:30 +0200 Subject: [PATCH] New Moose Structure + Created New Update Mission Method --- Embedded/Moose_Create_Embedded.bat | 36 - Loaders/MOOSE-Dynamic Loader.miz | Bin 16648 -> 0 bytes Loaders/MOOSE-Template.miz | Bin 116027 -> 0 bytes MissionScripting/MissionScripting.lua | 37 - {Dcs => Moose Development/Dcs}/DCSAirbase.lua | 0 .../Dcs}/DCSCoalitionObject.lua | 0 {Dcs => Moose Development/Dcs}/DCSCommand.lua | 0 .../Dcs}/DCSController.lua | 0 {Dcs => Moose Development/Dcs}/DCSGroup.lua | 0 {Dcs => Moose Development/Dcs}/DCSObject.lua | 0 .../Dcs}/DCSStaticObject.lua | 0 {Dcs => Moose Development/Dcs}/DCSTask.lua | 0 {Dcs => Moose Development/Dcs}/DCSTime.lua | 0 {Dcs => Moose Development/Dcs}/DCSTypes.lua | 0 {Dcs => Moose Development/Dcs}/DCSUnit.lua | 0 {Dcs => Moose Development/Dcs}/DCScountry.lua | 0 {Dcs => Moose Development/Dcs}/DCSenv.lua | 0 {Dcs => Moose Development/Dcs}/DCSland.lua | 0 {Dcs => Moose Development/Dcs}/DCStimer.lua | 0 {Dcs => Moose Development/Dcs}/DCSworld.lua | 0 .../Dcs}/Moose_Test_WRAPPER.lua | 0 .../Maths}/Bearing calculation.ggb | Bin ...ocity and Direction Vector Calculation.ggb | Bin {Moose => Moose Development/Moose}/Base.lua | 0 {Moose => Moose Development/Moose}/Cargo.lua | 0 .../Moose}/CleanUp.lua | 0 {Moose => Moose Development/Moose}/Client.lua | 0 .../Moose}/Database.lua | 0 .../Moose}/DeployTask.lua | 0 .../Moose}/DestroyBaseTask.lua | 0 .../Moose}/DestroyGroupsTask.lua | 0 .../Moose}/DestroyRadarsTask.lua | 0 .../Moose}/DestroyUnitTypesTask.lua | 0 {Moose => Moose Development/Moose}/Escort.lua | 0 {Moose => Moose Development/Moose}/Event.lua | 0 .../Moose}/GoHomeTask.lua | 0 {Moose => Moose Development/Moose}/Group.lua | 0 {Moose => Moose Development/Moose}/Menu.lua | 0 .../Moose}/Message.lua | 0 .../Moose}/MissileTrainer.lua | 0 .../Moose}/Mission.lua | 0 {Moose => Moose Development/Moose}/Moose.lua | 0 .../Moose}/Movement.lua | 0 {Moose => Moose Development/Moose}/NoTask.lua | 0 .../Moose}/PickupTask.lua | 0 .../Moose}/RouteTask.lua | 0 .../Moose}/Routines.lua | 0 .../Moose}/Scheduler.lua | 0 .../Moose}/Scoring.lua | 0 {Moose => Moose Development/Moose}/Sead.lua | 0 {Moose => Moose Development/Moose}/Set.lua | 0 {Moose => Moose Development/Moose}/Spawn.lua | 0 {Moose => Moose Development/Moose}/Stage.lua | 0 .../Moose}/StatHandler.lua | 0 {Moose => Moose Development/Moose}/Task.lua | 0 {Moose => Moose Development/Moose}/Unit.lua | 0 {Moose => Moose Development/Moose}/Zone.lua | 0 .../Moose_Dynamic_Loader.lua | 0 .../Moose_Static_Loader.lua | 0 .../Moose_Update_Missions.bat | 8 + .../l10n/DEFAULT/Moose.lua | 28 +- Moose Mission Setup/Moose.lua | 16696 ++++++++++++++++ Moose Mission Setup/Moose_Create.bat | 78 + .../Moose_Test_CLEANUP/Moose_Test_CLEANUP.lua | 0 .../Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz | Bin 0 -> 199792 bytes .../Moose_Test_DATABASE.lua | 0 .../Moose_Test_DATABASE.miz | Bin 0 -> 129286 bytes .../Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz | Bin 0 -> 134976 bytes .../Moose_Test_DESTROY/Moose_Test_DESTROY.lua | 0 .../Moose_Test_ESCORT/MOOSE_Test_ESCORT.lua | 0 .../Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz | Bin 0 -> 160623 bytes .../Moose_Test_MISSILETRAINER.lua | 0 .../Moose_Test_MISSILETRAINER.miz | Bin 0 -> 219925 bytes .../Moose_Test_SEAD/MOOSE_Test_SEAD.miz | Bin 0 -> 127229 bytes .../Moose_Test_SEAD/Moose_Test_SEAD.lua | 0 .../Moose_Test_SPAWN/MOOSE_Test_SPAWN.lua | 0 .../Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz | Bin 0 -> 152646 bytes .../MOOSE_Test_SPAWN_Repeat.lua | 0 .../MOOSE_Test_SPAWN_Repeat.miz | Bin 0 -> 126790 bytes .../MOOSE_Test_TASK_Pickup_and_Deploy.lua | 0 .../MOOSE_Test_TASK_Pickup_and_Deploy.miz | Bin 0 -> 133391 bytes .../Moose_Test_WRAPPER/Moose_Test_WRAPPER.lua | 0 .../Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz | Bin 0 -> 142410 bytes .../Documentation}/Base.html | 0 .../Documentation}/CARGO.html | 0 .../Documentation/CleanUp.html | 0 .../Documentation}/Client.html | 0 .../Documentation}/DCSAirbase.html | 0 .../Documentation}/DCSCoalitionObject.html | 0 .../Documentation}/DCSCommand.html | 0 .../Documentation}/DCSController.html | 0 .../Documentation}/DCSGroup.html | 0 .../Documentation}/DCSObject.html | 0 .../Documentation}/DCSTask.html | 0 .../Documentation}/DCSTypes.html | 0 .../Documentation}/DCSUnit.html | 0 .../Documentation}/DCSWorld.html | 0 .../Documentation}/DCStimer.html | 0 .../Documentation}/DEPLOYTASK.html | 0 .../Documentation}/DESTROYBASETASK.html | 0 .../Documentation}/DESTROYGROUPSTASK.html | 0 .../Documentation}/DESTROYRADARSTASK.html | 0 .../Documentation}/DESTROYUNITTYPESTASK.html | 0 .../Documentation}/Database.html | 0 .../Documentation}/Escort.html | 0 .../Documentation}/Event.html | 0 .../Documentation}/GOHOMETASK.html | 0 .../Documentation}/Group.html | 0 .../Documentation}/MISSION.html | 0 .../Documentation}/MOVEMENT.html | 0 .../Documentation}/Menu.html | 0 .../Documentation}/Message.html | 0 .../Documentation}/MissileTrainer.html | 0 .../Documentation}/NOTASK.html | 0 .../Documentation}/PICKUPTASK.html | 0 .../Documentation}/ROUTETASK.html | 0 .../Documentation}/STAGE.html | 0 .../Documentation}/Scheduler.html | 0 .../Documentation}/Scoring.html | 0 .../Documentation}/Sead.html | 0 .../Documentation}/Set.html | 0 .../Documentation}/Spawn.html | 0 .../Documentation}/StaticObject.html | 0 .../Documentation}/TASK.html | 0 .../Documentation}/Unit.html | 0 .../Documentation}/Zone.html | 0 .../Documentation}/env.html | 0 .../Documentation}/index.html | 0 .../Documentation}/land.html | 0 .../Documentation}/routines.html | 0 .../Documentation}/stylesheet.css | 0 ...ent - Part 1 - Tools and Installation.pptx | Bin ...rt 2 - Using Eclipse and MOOSE - Copy.pptx | Bin ...BASE - UNIT - CLIENT - GROUP - ZONE, .pptx | Bin ...d - MOOSE - Escorting - Part 2 - APIs.pptx | Bin .../DCS World - MOOSE - Missile Trainer.pptx | Bin ...ld - MOOSE - Spawning - Part 2 - APIs.pptx | Bin .../Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz | Bin 99751 -> 0 bytes .../Moose_Test_DATABASE.miz | Bin 104270 -> 0 bytes .../Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz | Bin 35094 -> 0 bytes .../Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz | Bin 144763 -> 0 bytes .../Moose_Test_MISSILETRAINER.miz | Bin 228634 -> 0 bytes .../Moose_Test_SEAD/MOOSE_Test_SEAD.miz | Bin 20851 -> 0 bytes .../Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz | Bin 48753 -> 0 bytes .../MOOSE_Test_SPAWN_Repeat.miz | Bin 103488 -> 0 bytes .../MOOSE_Test_TASK_Pickup_and_Deploy.miz | Bin 33259 -> 0 bytes .../Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz | Bin 140334 -> 0 bytes Trash/Install.bat | 4 - Trash/Manual.md | 71 - Trash/README.md | 71 - Trash/Trace.lua | 287 - Trash/config.ld | 10 - 152 files changed, 16809 insertions(+), 517 deletions(-) delete mode 100644 Embedded/Moose_Create_Embedded.bat delete mode 100644 Loaders/MOOSE-Dynamic Loader.miz delete mode 100644 Loaders/MOOSE-Template.miz delete mode 100644 MissionScripting/MissionScripting.lua rename {Dcs => Moose Development/Dcs}/DCSAirbase.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSCoalitionObject.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSCommand.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSController.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSGroup.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSObject.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSStaticObject.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSTask.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSTime.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSTypes.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSUnit.lua (100%) rename {Dcs => Moose Development/Dcs}/DCScountry.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSenv.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSland.lua (100%) rename {Dcs => Moose Development/Dcs}/DCStimer.lua (100%) rename {Dcs => Moose Development/Dcs}/DCSworld.lua (100%) rename {Dcs => Moose Development/Dcs}/Moose_Test_WRAPPER.lua (100%) rename {Maths => Moose Development/Maths}/Bearing calculation.ggb (100%) rename {Maths => Moose Development/Maths}/MOOSE - ESCORT - Velocity and Direction Vector Calculation.ggb (100%) rename {Moose => Moose Development/Moose}/Base.lua (100%) rename {Moose => Moose Development/Moose}/Cargo.lua (100%) rename {Moose => Moose Development/Moose}/CleanUp.lua (100%) rename {Moose => Moose Development/Moose}/Client.lua (100%) rename {Moose => Moose Development/Moose}/Database.lua (100%) rename {Moose => Moose Development/Moose}/DeployTask.lua (100%) rename {Moose => Moose Development/Moose}/DestroyBaseTask.lua (100%) rename {Moose => Moose Development/Moose}/DestroyGroupsTask.lua (100%) rename {Moose => Moose Development/Moose}/DestroyRadarsTask.lua (100%) rename {Moose => Moose Development/Moose}/DestroyUnitTypesTask.lua (100%) rename {Moose => Moose Development/Moose}/Escort.lua (100%) rename {Moose => Moose Development/Moose}/Event.lua (100%) rename {Moose => Moose Development/Moose}/GoHomeTask.lua (100%) rename {Moose => Moose Development/Moose}/Group.lua (100%) rename {Moose => Moose Development/Moose}/Menu.lua (100%) rename {Moose => Moose Development/Moose}/Message.lua (100%) rename {Moose => Moose Development/Moose}/MissileTrainer.lua (100%) rename {Moose => Moose Development/Moose}/Mission.lua (100%) rename {Moose => Moose Development/Moose}/Moose.lua (100%) rename {Moose => Moose Development/Moose}/Movement.lua (100%) rename {Moose => Moose Development/Moose}/NoTask.lua (100%) rename {Moose => Moose Development/Moose}/PickupTask.lua (100%) rename {Moose => Moose Development/Moose}/RouteTask.lua (100%) rename {Moose => Moose Development/Moose}/Routines.lua (100%) rename {Moose => Moose Development/Moose}/Scheduler.lua (100%) rename {Moose => Moose Development/Moose}/Scoring.lua (100%) rename {Moose => Moose Development/Moose}/Sead.lua (100%) rename {Moose => Moose Development/Moose}/Set.lua (100%) rename {Moose => Moose Development/Moose}/Spawn.lua (100%) rename {Moose => Moose Development/Moose}/Stage.lua (100%) rename {Moose => Moose Development/Moose}/StatHandler.lua (100%) rename {Moose => Moose Development/Moose}/Task.lua (100%) rename {Moose => Moose Development/Moose}/Unit.lua (100%) rename {Moose => Moose Development/Moose}/Zone.lua (100%) rename Loaders/Moose_Load_Dynamic.lua => Moose Mission Setup/Moose Create Dynamic/Moose_Dynamic_Loader.lua (100%) rename Loaders/Moose_Load_Embedded.lua => Moose Mission Setup/Moose Create Static/Moose_Static_Loader.lua (100%) create mode 100644 Moose Mission Setup/Moose Mission Update/Moose_Update_Missions.bat rename Embedded/Moose_Embedded.lua => Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua (99%) create mode 100644 Moose Mission Setup/Moose.lua create mode 100644 Moose Mission Setup/Moose_Create.bat rename {Test Missions => Moose Test Missions}/Moose_Test_CLEANUP/Moose_Test_CLEANUP.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz rename {Test Missions => Moose Test Missions}/Moose_Test_DATABASE/Moose_Test_DATABASE.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.miz create mode 100644 Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz rename {Test Missions => Moose Test Missions}/Moose_Test_DESTROY/Moose_Test_DESTROY.lua (100%) rename {Test Missions => Moose Test Missions}/Moose_Test_ESCORT/MOOSE_Test_ESCORT.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz rename {Test Missions => Moose Test Missions}/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz create mode 100644 Moose Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz rename {Test Missions => Moose Test Missions}/Moose_Test_SEAD/Moose_Test_SEAD.lua (100%) rename {Test Missions => Moose Test Missions}/Moose_Test_SPAWN/MOOSE_Test_SPAWN.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz rename {Test Missions => Moose Test Missions}/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz rename {Test Missions => Moose Test Missions}/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz rename {Test Missions => Moose Test Missions}/Moose_Test_WRAPPER/Moose_Test_WRAPPER.lua (100%) create mode 100644 Moose Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz rename {Documentation => Moose Training/Documentation}/Base.html (100%) rename {Documentation => Moose Training/Documentation}/CARGO.html (100%) rename Documentation/CLEANUP.html => Moose Training/Documentation/CleanUp.html (100%) rename {Documentation => Moose Training/Documentation}/Client.html (100%) rename {Documentation => Moose Training/Documentation}/DCSAirbase.html (100%) rename {Documentation => Moose Training/Documentation}/DCSCoalitionObject.html (100%) rename {Documentation => Moose Training/Documentation}/DCSCommand.html (100%) rename {Documentation => Moose Training/Documentation}/DCSController.html (100%) rename {Documentation => Moose Training/Documentation}/DCSGroup.html (100%) rename {Documentation => Moose Training/Documentation}/DCSObject.html (100%) rename {Documentation => Moose Training/Documentation}/DCSTask.html (100%) rename {Documentation => Moose Training/Documentation}/DCSTypes.html (100%) rename {Documentation => Moose Training/Documentation}/DCSUnit.html (100%) rename {Documentation => Moose Training/Documentation}/DCSWorld.html (100%) rename {Documentation => Moose Training/Documentation}/DCStimer.html (100%) rename {Documentation => Moose Training/Documentation}/DEPLOYTASK.html (100%) rename {Documentation => Moose Training/Documentation}/DESTROYBASETASK.html (100%) rename {Documentation => Moose Training/Documentation}/DESTROYGROUPSTASK.html (100%) rename {Documentation => Moose Training/Documentation}/DESTROYRADARSTASK.html (100%) rename {Documentation => Moose Training/Documentation}/DESTROYUNITTYPESTASK.html (100%) rename {Documentation => Moose Training/Documentation}/Database.html (100%) rename {Documentation => Moose Training/Documentation}/Escort.html (100%) rename {Documentation => Moose Training/Documentation}/Event.html (100%) rename {Documentation => Moose Training/Documentation}/GOHOMETASK.html (100%) rename {Documentation => Moose Training/Documentation}/Group.html (100%) rename {Documentation => Moose Training/Documentation}/MISSION.html (100%) rename {Documentation => Moose Training/Documentation}/MOVEMENT.html (100%) rename {Documentation => Moose Training/Documentation}/Menu.html (100%) rename {Documentation => Moose Training/Documentation}/Message.html (100%) rename {Documentation => Moose Training/Documentation}/MissileTrainer.html (100%) rename {Documentation => Moose Training/Documentation}/NOTASK.html (100%) rename {Documentation => Moose Training/Documentation}/PICKUPTASK.html (100%) rename {Documentation => Moose Training/Documentation}/ROUTETASK.html (100%) rename {Documentation => Moose Training/Documentation}/STAGE.html (100%) rename {Documentation => Moose Training/Documentation}/Scheduler.html (100%) rename {Documentation => Moose Training/Documentation}/Scoring.html (100%) rename {Documentation => Moose Training/Documentation}/Sead.html (100%) rename {Documentation => Moose Training/Documentation}/Set.html (100%) rename {Documentation => Moose Training/Documentation}/Spawn.html (100%) rename {Documentation => Moose Training/Documentation}/StaticObject.html (100%) rename {Documentation => Moose Training/Documentation}/TASK.html (100%) rename {Documentation => Moose Training/Documentation}/Unit.html (100%) rename {Documentation => Moose Training/Documentation}/Zone.html (100%) rename {Documentation => Moose Training/Documentation}/env.html (100%) rename {Documentation => Moose Training/Documentation}/index.html (100%) rename {Documentation => Moose Training/Documentation}/land.html (100%) rename {Documentation => Moose Training/Documentation}/routines.html (100%) rename {Documentation => Moose Training/Documentation}/stylesheet.css (100%) rename {Presentations => Moose Training/Presentations}/DCS World - MOOSE - Development - Part 1 - Tools and Installation.pptx (100%) rename {Presentations => Moose Training/Presentations}/DCS World - MOOSE - Development - Part 2 - Using Eclipse and MOOSE - Copy.pptx (100%) rename {Presentations => Moose Training/Presentations}/DCS World - MOOSE - Development - Part 3 - The DATABASE - UNIT - CLIENT - GROUP - ZONE, .pptx (100%) rename {Presentations => Moose Training/Presentations}/DCS World - MOOSE - Escorting - Part 2 - APIs.pptx (100%) rename {Presentations => Moose Training/Presentations}/DCS World - MOOSE - Missile Trainer.pptx (100%) rename {Presentations => Moose Training/Presentations}/DCS World - MOOSE - Spawning - Part 2 - APIs.pptx (100%) delete mode 100644 Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz delete mode 100644 Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.miz delete mode 100644 Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz delete mode 100644 Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz delete mode 100644 Test Missions/Moose_Test_MISSILETRAINER/Moose_Test_MISSILETRAINER.miz delete mode 100644 Test Missions/Moose_Test_SEAD/MOOSE_Test_SEAD.miz delete mode 100644 Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz delete mode 100644 Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz delete mode 100644 Test Missions/Moose_Test_TASK_Pickup_and_Deploy/MOOSE_Test_TASK_Pickup_and_Deploy.miz delete mode 100644 Test Missions/Moose_Test_WRAPPER/Moose_Test_WRAPPER.miz delete mode 100644 Trash/Install.bat delete mode 100644 Trash/Manual.md delete mode 100644 Trash/README.md delete mode 100644 Trash/Trace.lua delete mode 100644 Trash/config.ld diff --git a/Embedded/Moose_Create_Embedded.bat b/Embedded/Moose_Create_Embedded.bat deleted file mode 100644 index 673cf37b3..000000000 --- a/Embedded/Moose_Create_Embedded.bat +++ /dev/null @@ -1,36 +0,0 @@ -del Moose_Embedded.lua - -echo env.info( 'Moose Embedded' ) > Moose_Embedded.lua - -copy /b Moose_Embedded.lua + ..\Moose\Routines.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Base.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Event.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Menu.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Group.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Unit.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Zone.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Client.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Database.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Moose.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Scheduler.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Scoring.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Cargo.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Message.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Stage.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Task.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\GoHomeTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\DestroyBaseTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\DestroyGroupsTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\DestroyRadarsTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\DestroyUnitTypesTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\PickupTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\DeployTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\NoTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\RouteTask.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Mission.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\CleanUp.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Spawn.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Movement.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Sead.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\Escort.lua Moose_Embedded.lua -copy /b Moose_Embedded.lua + ..\Moose\MissileTrainer.lua Moose_Embedded.lua diff --git a/Loaders/MOOSE-Dynamic Loader.miz b/Loaders/MOOSE-Dynamic Loader.miz deleted file mode 100644 index fd2191d99f1eb66b5447b5f3170eb28dc215f1e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16648 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

lXlHj(Or#77)+Hh=W<8c9s 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 diff --git a/MissionScripting/MissionScripting.lua b/MissionScripting/MissionScripting.lua deleted file mode 100644 index 993b711a4..000000000 --- a/MissionScripting/MissionScripting.lua +++ /dev/null @@ -1,37 +0,0 @@ ---Initialization script for the Mission lua Environment (SSE) - -dofile('Scripts/ScriptingSystem.lua') - -Include = {} - -Include.LoadPath = 'Scripts/MOOSE' -Include.Files = {} - -Include.File = function( IncludeFile ) - if not Include.Files[ IncludeFile ] then - Include.Files[IncludeFile] = IncludeFile - dofile( Include.LoadPath .. "/" .. IncludeFile .. ".lua" ) - env.info( "Include:" .. IncludeFile .. " loaded." ) - end -end - -Include.File( "Database" ) ---Include.File( "StatHandler" ) - ---Sanitize Mission Scripting environment ---This makes unavailable some unsecure functions. ---Mission downloaded from server to client may contain potentialy harmful lua code that may use these functions. ---You can remove the code below and make availble these functions at your own risk. - -local function sanitizeModule(name) - _G[name] = nil - package.loaded[name] = nil -end - -do - --sanitizeModule('os') - --sanitizeModule('io') - sanitizeModule('lfs') - require = nil - loadlib = nil -end \ No newline at end of file diff --git a/Dcs/DCSAirbase.lua b/Moose Development/Dcs/DCSAirbase.lua similarity index 100% rename from Dcs/DCSAirbase.lua rename to Moose Development/Dcs/DCSAirbase.lua diff --git a/Dcs/DCSCoalitionObject.lua b/Moose Development/Dcs/DCSCoalitionObject.lua similarity index 100% rename from Dcs/DCSCoalitionObject.lua rename to Moose Development/Dcs/DCSCoalitionObject.lua diff --git a/Dcs/DCSCommand.lua b/Moose Development/Dcs/DCSCommand.lua similarity index 100% rename from Dcs/DCSCommand.lua rename to Moose Development/Dcs/DCSCommand.lua diff --git a/Dcs/DCSController.lua b/Moose Development/Dcs/DCSController.lua similarity index 100% rename from Dcs/DCSController.lua rename to Moose Development/Dcs/DCSController.lua diff --git a/Dcs/DCSGroup.lua b/Moose Development/Dcs/DCSGroup.lua similarity index 100% rename from Dcs/DCSGroup.lua rename to Moose Development/Dcs/DCSGroup.lua diff --git a/Dcs/DCSObject.lua b/Moose Development/Dcs/DCSObject.lua similarity index 100% rename from Dcs/DCSObject.lua rename to Moose Development/Dcs/DCSObject.lua diff --git a/Dcs/DCSStaticObject.lua b/Moose Development/Dcs/DCSStaticObject.lua similarity index 100% rename from Dcs/DCSStaticObject.lua rename to Moose Development/Dcs/DCSStaticObject.lua diff --git a/Dcs/DCSTask.lua b/Moose Development/Dcs/DCSTask.lua similarity index 100% rename from Dcs/DCSTask.lua rename to Moose Development/Dcs/DCSTask.lua diff --git a/Dcs/DCSTime.lua b/Moose Development/Dcs/DCSTime.lua similarity index 100% rename from Dcs/DCSTime.lua rename to Moose Development/Dcs/DCSTime.lua diff --git a/Dcs/DCSTypes.lua b/Moose Development/Dcs/DCSTypes.lua similarity index 100% rename from Dcs/DCSTypes.lua rename to Moose Development/Dcs/DCSTypes.lua diff --git a/Dcs/DCSUnit.lua b/Moose Development/Dcs/DCSUnit.lua similarity index 100% rename from Dcs/DCSUnit.lua rename to Moose Development/Dcs/DCSUnit.lua diff --git a/Dcs/DCScountry.lua b/Moose Development/Dcs/DCScountry.lua similarity index 100% rename from Dcs/DCScountry.lua rename to Moose Development/Dcs/DCScountry.lua diff --git a/Dcs/DCSenv.lua b/Moose Development/Dcs/DCSenv.lua similarity index 100% rename from Dcs/DCSenv.lua rename to Moose Development/Dcs/DCSenv.lua diff --git a/Dcs/DCSland.lua b/Moose Development/Dcs/DCSland.lua similarity index 100% rename from Dcs/DCSland.lua rename to Moose Development/Dcs/DCSland.lua diff --git a/Dcs/DCStimer.lua b/Moose Development/Dcs/DCStimer.lua similarity index 100% rename from Dcs/DCStimer.lua rename to Moose Development/Dcs/DCStimer.lua diff --git a/Dcs/DCSworld.lua b/Moose Development/Dcs/DCSworld.lua similarity index 100% rename from Dcs/DCSworld.lua rename to Moose Development/Dcs/DCSworld.lua diff --git a/Dcs/Moose_Test_WRAPPER.lua b/Moose Development/Dcs/Moose_Test_WRAPPER.lua similarity index 100% rename from Dcs/Moose_Test_WRAPPER.lua rename to Moose Development/Dcs/Moose_Test_WRAPPER.lua diff --git a/Maths/Bearing calculation.ggb b/Moose Development/Maths/Bearing calculation.ggb similarity index 100% rename from Maths/Bearing calculation.ggb rename to Moose Development/Maths/Bearing calculation.ggb diff --git a/Maths/MOOSE - ESCORT - Velocity and Direction Vector Calculation.ggb b/Moose Development/Maths/MOOSE - ESCORT - Velocity and Direction Vector Calculation.ggb similarity index 100% rename from Maths/MOOSE - ESCORT - Velocity and Direction Vector Calculation.ggb rename to Moose Development/Maths/MOOSE - ESCORT - Velocity and Direction Vector Calculation.ggb diff --git a/Moose/Base.lua b/Moose Development/Moose/Base.lua similarity index 100% rename from Moose/Base.lua rename to Moose Development/Moose/Base.lua diff --git a/Moose/Cargo.lua b/Moose Development/Moose/Cargo.lua similarity index 100% rename from Moose/Cargo.lua rename to Moose Development/Moose/Cargo.lua diff --git a/Moose/CleanUp.lua b/Moose Development/Moose/CleanUp.lua similarity index 100% rename from Moose/CleanUp.lua rename to Moose Development/Moose/CleanUp.lua diff --git a/Moose/Client.lua b/Moose Development/Moose/Client.lua similarity index 100% rename from Moose/Client.lua rename to Moose Development/Moose/Client.lua diff --git a/Moose/Database.lua b/Moose Development/Moose/Database.lua similarity index 100% rename from Moose/Database.lua rename to Moose Development/Moose/Database.lua diff --git a/Moose/DeployTask.lua b/Moose Development/Moose/DeployTask.lua similarity index 100% rename from Moose/DeployTask.lua rename to Moose Development/Moose/DeployTask.lua diff --git a/Moose/DestroyBaseTask.lua b/Moose Development/Moose/DestroyBaseTask.lua similarity index 100% rename from Moose/DestroyBaseTask.lua rename to Moose Development/Moose/DestroyBaseTask.lua diff --git a/Moose/DestroyGroupsTask.lua b/Moose Development/Moose/DestroyGroupsTask.lua similarity index 100% rename from Moose/DestroyGroupsTask.lua rename to Moose Development/Moose/DestroyGroupsTask.lua diff --git a/Moose/DestroyRadarsTask.lua b/Moose Development/Moose/DestroyRadarsTask.lua similarity index 100% rename from Moose/DestroyRadarsTask.lua rename to Moose Development/Moose/DestroyRadarsTask.lua diff --git a/Moose/DestroyUnitTypesTask.lua b/Moose Development/Moose/DestroyUnitTypesTask.lua similarity index 100% rename from Moose/DestroyUnitTypesTask.lua rename to Moose Development/Moose/DestroyUnitTypesTask.lua diff --git a/Moose/Escort.lua b/Moose Development/Moose/Escort.lua similarity index 100% rename from Moose/Escort.lua rename to Moose Development/Moose/Escort.lua diff --git a/Moose/Event.lua b/Moose Development/Moose/Event.lua similarity index 100% rename from Moose/Event.lua rename to Moose Development/Moose/Event.lua diff --git a/Moose/GoHomeTask.lua b/Moose Development/Moose/GoHomeTask.lua similarity index 100% rename from Moose/GoHomeTask.lua rename to Moose Development/Moose/GoHomeTask.lua diff --git a/Moose/Group.lua b/Moose Development/Moose/Group.lua similarity index 100% rename from Moose/Group.lua rename to Moose Development/Moose/Group.lua diff --git a/Moose/Menu.lua b/Moose Development/Moose/Menu.lua similarity index 100% rename from Moose/Menu.lua rename to Moose Development/Moose/Menu.lua diff --git a/Moose/Message.lua b/Moose Development/Moose/Message.lua similarity index 100% rename from Moose/Message.lua rename to Moose Development/Moose/Message.lua diff --git a/Moose/MissileTrainer.lua b/Moose Development/Moose/MissileTrainer.lua similarity index 100% rename from Moose/MissileTrainer.lua rename to Moose Development/Moose/MissileTrainer.lua diff --git a/Moose/Mission.lua b/Moose Development/Moose/Mission.lua similarity index 100% rename from Moose/Mission.lua rename to Moose Development/Moose/Mission.lua diff --git a/Moose/Moose.lua b/Moose Development/Moose/Moose.lua similarity index 100% rename from Moose/Moose.lua rename to Moose Development/Moose/Moose.lua diff --git a/Moose/Movement.lua b/Moose Development/Moose/Movement.lua similarity index 100% rename from Moose/Movement.lua rename to Moose Development/Moose/Movement.lua diff --git a/Moose/NoTask.lua b/Moose Development/Moose/NoTask.lua similarity index 100% rename from Moose/NoTask.lua rename to Moose Development/Moose/NoTask.lua diff --git a/Moose/PickupTask.lua b/Moose Development/Moose/PickupTask.lua similarity index 100% rename from Moose/PickupTask.lua rename to Moose Development/Moose/PickupTask.lua diff --git a/Moose/RouteTask.lua b/Moose Development/Moose/RouteTask.lua similarity index 100% rename from Moose/RouteTask.lua rename to Moose Development/Moose/RouteTask.lua diff --git a/Moose/Routines.lua b/Moose Development/Moose/Routines.lua similarity index 100% rename from Moose/Routines.lua rename to Moose Development/Moose/Routines.lua diff --git a/Moose/Scheduler.lua b/Moose Development/Moose/Scheduler.lua similarity index 100% rename from Moose/Scheduler.lua rename to Moose Development/Moose/Scheduler.lua diff --git a/Moose/Scoring.lua b/Moose Development/Moose/Scoring.lua similarity index 100% rename from Moose/Scoring.lua rename to Moose Development/Moose/Scoring.lua diff --git a/Moose/Sead.lua b/Moose Development/Moose/Sead.lua similarity index 100% rename from Moose/Sead.lua rename to Moose Development/Moose/Sead.lua diff --git a/Moose/Set.lua b/Moose Development/Moose/Set.lua similarity index 100% rename from Moose/Set.lua rename to Moose Development/Moose/Set.lua diff --git a/Moose/Spawn.lua b/Moose Development/Moose/Spawn.lua similarity index 100% rename from Moose/Spawn.lua rename to Moose Development/Moose/Spawn.lua diff --git a/Moose/Stage.lua b/Moose Development/Moose/Stage.lua similarity index 100% rename from Moose/Stage.lua rename to Moose Development/Moose/Stage.lua diff --git a/Moose/StatHandler.lua b/Moose Development/Moose/StatHandler.lua similarity index 100% rename from Moose/StatHandler.lua rename to Moose Development/Moose/StatHandler.lua diff --git a/Moose/Task.lua b/Moose Development/Moose/Task.lua similarity index 100% rename from Moose/Task.lua rename to Moose Development/Moose/Task.lua diff --git a/Moose/Unit.lua b/Moose Development/Moose/Unit.lua similarity index 100% rename from Moose/Unit.lua rename to Moose Development/Moose/Unit.lua diff --git a/Moose/Zone.lua b/Moose Development/Moose/Zone.lua similarity index 100% rename from Moose/Zone.lua rename to Moose Development/Moose/Zone.lua diff --git a/Loaders/Moose_Load_Dynamic.lua b/Moose Mission Setup/Moose Create Dynamic/Moose_Dynamic_Loader.lua similarity index 100% rename from Loaders/Moose_Load_Dynamic.lua rename to Moose Mission Setup/Moose Create Dynamic/Moose_Dynamic_Loader.lua diff --git a/Loaders/Moose_Load_Embedded.lua b/Moose Mission Setup/Moose Create Static/Moose_Static_Loader.lua similarity index 100% rename from Loaders/Moose_Load_Embedded.lua rename to Moose Mission Setup/Moose Create Static/Moose_Static_Loader.lua diff --git a/Moose Mission Setup/Moose Mission Update/Moose_Update_Missions.bat b/Moose Mission Setup/Moose Mission Update/Moose_Update_Missions.bat new file mode 100644 index 000000000..3403b852c --- /dev/null +++ b/Moose Mission Setup/Moose Mission Update/Moose_Update_Missions.bat @@ -0,0 +1,8 @@ +echo off + +rem Update Missions with a new version of Moose.lua +rem Run this batch file with the following command arguments in Eclipse: "${resource_loc:/Moose/Moose Development/Moose}" "${current_date}" + +echo Path to Mission Files: %1 + +For /R %1 %%G IN (*.miz) do 7z u "%%G" "l10n\DEFAULT\Moose.lua" diff --git a/Embedded/Moose_Embedded.lua b/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua similarity index 99% rename from Embedded/Moose_Embedded.lua rename to Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua index 05b36b49a..589c17048 100644 --- a/Embedded/Moose_Embedded.lua +++ b/Moose Mission Setup/Moose Mission Update/l10n/DEFAULT/Moose.lua @@ -1,4 +1,29 @@ -env.info( 'Moose Embedded' ) +env.info( '*** MOOSE STATIC INCLUDE START *** ' ) +env.info( 'Moose Generation Timestamp: 20160525_1055' ) +local base = _G +env.info("Loading MOOSE " .. base.timer.getAbsTime() ) + +Include = {} + +Include.Path = function() + local str = debug.getinfo(2, "S").source + return str:match("(.*/)"):sub(1,-2):gsub("\\","/") +end + +Include.File = function( IncludeFile ) +end + +Include.ProgramPath = "Scripts/Moose/Moose/" +Include.MissionPath = Include.Path() + +env.info( "Include.ProgramPath = " .. Include.ProgramPath) +env.info( "Include.MissionPath = " .. Include.MissionPath) + +Include.Files = {} + +Include.File( "Moose" ) + +env.info("Loaded MOOSE Include Engine") --- Various routines -- @module routines -- @author Flightcontrol @@ -16668,3 +16693,4 @@ function MISSILETRAINER:_TrackMissiles() return true end +env.info( '*** MOOSE INCLUDE END *** ' ) diff --git a/Moose Mission Setup/Moose.lua b/Moose Mission Setup/Moose.lua new file mode 100644 index 000000000..589c17048 --- /dev/null +++ b/Moose Mission Setup/Moose.lua @@ -0,0 +1,16696 @@ +env.info( '*** MOOSE STATIC INCLUDE START *** ' ) +env.info( 'Moose Generation Timestamp: 20160525_1055' ) +local base = _G +env.info("Loading MOOSE " .. base.timer.getAbsTime() ) + +Include = {} + +Include.Path = function() + local str = debug.getinfo(2, "S").source + return str:match("(.*/)"):sub(1,-2):gsub("\\","/") +end + +Include.File = function( IncludeFile ) +end + +Include.ProgramPath = "Scripts/Moose/Moose/" +Include.MissionPath = Include.Path() + +env.info( "Include.ProgramPath = " .. Include.ProgramPath) +env.info( "Include.MissionPath = " .. Include.MissionPath) + +Include.Files = {} + +Include.File( "Moose" ) + +env.info("Loaded MOOSE Include Engine") +--- Various routines +-- @module routines +-- @author Flightcontrol + +--Include.File( "Trace" ) +--Include.File( "Message" ) + + +env.setErrorMessageBoxEnabled(false) + +--- Extract of MIST functions. +-- @author Grimes + +routines = {} + + +-- don't change these +routines.majorVersion = 3 +routines.minorVersion = 3 +routines.build = 22 + +----------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------- +-- Utils- conversion, Lua utils, etc. +routines.utils = {} + +--from http://lua-users.org/wiki/CopyTable +routines.utils.deepCopy = function(object) + local lookup_table = {} + local function _copy(object) + if type(object) ~= "table" then + return object + elseif lookup_table[object] then + return lookup_table[object] + end + local new_table = {} + lookup_table[object] = new_table + for index, value in pairs(object) do + new_table[_copy(index)] = _copy(value) + end + return setmetatable(new_table, getmetatable(object)) + end + local objectreturn = _copy(object) + return objectreturn +end + + +-- porting in Slmod's serialize_slmod2 +routines.utils.oneLineSerialize = function(tbl) -- serialization of a table all on a single line, no comments, made to replace old get_table_string function + + lookup_table = {} + + local function _Serialize( tbl ) + + if type(tbl) == 'table' then --function only works for tables! + + if lookup_table[tbl] then + return lookup_table[object] + end + + local tbl_str = {} + + lookup_table[tbl] = tbl_str + + tbl_str[#tbl_str + 1] = '{' + + for ind,val in pairs(tbl) do -- serialize its fields + local ind_str = {} + if type(ind) == "number" then + ind_str[#ind_str + 1] = '[' + ind_str[#ind_str + 1] = tostring(ind) + ind_str[#ind_str + 1] = ']=' + else --must be a string + ind_str[#ind_str + 1] = '[' + ind_str[#ind_str + 1] = routines.utils.basicSerialize(ind) + ind_str[#ind_str + 1] = ']=' + end + + local val_str = {} + if ((type(val) == 'number') or (type(val) == 'boolean')) then + val_str[#val_str + 1] = tostring(val) + val_str[#val_str + 1] = ',' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'string' then + val_str[#val_str + 1] = routines.utils.basicSerialize(val) + val_str[#val_str + 1] = ',' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'nil' then -- won't ever happen, right? + val_str[#val_str + 1] = 'nil,' + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + elseif type(val) == 'table' then + if ind == "__index" then + -- tbl_str[#tbl_str + 1] = "__index" + -- tbl_str[#tbl_str + 1] = ',' --I think this is right, I just added it + else + + val_str[#val_str + 1] = _Serialize(val) + val_str[#val_str + 1] = ',' --I think this is right, I just added it + tbl_str[#tbl_str + 1] = table.concat(ind_str) + tbl_str[#tbl_str + 1] = table.concat(val_str) + end + elseif type(val) == 'function' then + -- tbl_str[#tbl_str + 1] = "function " .. tostring(ind) + -- tbl_str[#tbl_str + 1] = ',' --I think this is right, I just added it + else +-- env.info('unable to serialize value type ' .. routines.utils.basicSerialize(type(val)) .. ' at index ' .. tostring(ind)) +-- env.info( debug.traceback() ) + end + + end + tbl_str[#tbl_str + 1] = '}' + return table.concat(tbl_str) + else + return tostring(tbl) + end + end + + local objectreturn = _Serialize(tbl) + return objectreturn +end + +--porting in Slmod's "safestring" basic serialize +routines.utils.basicSerialize = function(s) + if s == nil then + return "\"\"" + else + if ((type(s) == 'number') or (type(s) == 'boolean') or (type(s) == 'function') or (type(s) == 'table') or (type(s) == 'userdata') ) then + return tostring(s) + elseif type(s) == 'string' then + s = string.format('%q', s) + return s + end + end +end + + +routines.utils.toDegree = function(angle) + return angle*180/math.pi +end + +routines.utils.toRadian = function(angle) + return angle*math.pi/180 +end + +routines.utils.metersToNM = function(meters) + return meters/1852 +end + +routines.utils.metersToFeet = function(meters) + return meters/0.3048 +end + +routines.utils.NMToMeters = function(NM) + return NM*1852 +end + +routines.utils.feetToMeters = function(feet) + return feet*0.3048 +end + +routines.utils.mpsToKnots = function(mps) + return mps*3600/1852 +end + +routines.utils.mpsToKmph = function(mps) + return mps*3.6 +end + +routines.utils.knotsToMps = function(knots) + return knots*1852/3600 +end + +routines.utils.kmphToMps = function(kmph) + return kmph/3.6 +end + +function routines.utils.makeVec2(Vec3) + if Vec3.z then + return {x = Vec3.x, y = Vec3.z} + else + return {x = Vec3.x, y = Vec3.y} -- it was actually already vec2. + end +end + +function routines.utils.makeVec3(Vec2, y) + if not Vec2.z then + if not y then + y = 0 + end + return {x = Vec2.x, y = y, z = Vec2.y} + else + return {x = Vec2.x, y = Vec2.y, z = Vec2.z} -- it was already Vec3, actually. + end +end + +function routines.utils.makeVec3GL(Vec2, offset) + local adj = offset or 0 + + if not Vec2.z then + return {x = Vec2.x, y = (land.getHeight(Vec2) + adj), z = Vec2.y} + else + return {x = Vec2.x, y = (land.getHeight({x = Vec2.x, y = Vec2.z}) + adj), z = Vec2.z} + end +end + +routines.utils.zoneToVec3 = function(zone) + local new = {} + if type(zone) == 'table' and zone.point then + new.x = zone.point.x + new.y = zone.point.y + new.z = zone.point.z + return new + elseif type(zone) == 'string' then + zone = trigger.misc.getZone(zone) + if zone then + new.x = zone.point.x + new.y = zone.point.y + new.z = zone.point.z + return new + end + end +end + +-- gets heading-error corrected direction from point along vector vec. +function routines.utils.getDir(vec, point) + local dir = math.atan2(vec.z, vec.x) + dir = dir + routines.getNorthCorrection(point) + if dir < 0 then + dir = dir + 2*math.pi -- put dir in range of 0 to 2*pi + end + return dir +end + +-- gets distance in meters between two points (2 dimensional) +function routines.utils.get2DDist(point1, point2) + point1 = routines.utils.makeVec3(point1) + point2 = routines.utils.makeVec3(point2) + return routines.vec.mag({x = point1.x - point2.x, y = 0, z = point1.z - point2.z}) +end + +-- gets distance in meters between two points (3 dimensional) +function routines.utils.get3DDist(point1, point2) + return routines.vec.mag({x = point1.x - point2.x, y = point1.y - point2.y, z = point1.z - point2.z}) +end + + + +-- From http://lua-users.org/wiki/SimpleRound +-- use negative idp for rounding ahead of decimal place, positive for rounding after decimal place +routines.utils.round = function(num, idp) + local mult = 10^(idp or 0) + return math.floor(num * mult + 0.5) / mult +end + +-- porting in Slmod's dostring +routines.utils.dostring = function(s) + local f, err = loadstring(s) + if f then + return true, f() + else + return false, err + end +end + + +--3D Vector manipulation +routines.vec = {} + +routines.vec.add = function(vec1, vec2) + return {x = vec1.x + vec2.x, y = vec1.y + vec2.y, z = vec1.z + vec2.z} +end + +routines.vec.sub = function(vec1, vec2) + return {x = vec1.x - vec2.x, y = vec1.y - vec2.y, z = vec1.z - vec2.z} +end + +routines.vec.scalarMult = function(vec, mult) + return {x = vec.x*mult, y = vec.y*mult, z = vec.z*mult} +end + +routines.vec.scalar_mult = routines.vec.scalarMult + +routines.vec.dp = function(vec1, vec2) + return vec1.x*vec2.x + vec1.y*vec2.y + vec1.z*vec2.z +end + +routines.vec.cp = function(vec1, vec2) + return { x = vec1.y*vec2.z - vec1.z*vec2.y, y = vec1.z*vec2.x - vec1.x*vec2.z, z = vec1.x*vec2.y - vec1.y*vec2.x} +end + +routines.vec.mag = function(vec) + return (vec.x^2 + vec.y^2 + vec.z^2)^0.5 +end + +routines.vec.getUnitVec = function(vec) + local mag = routines.vec.mag(vec) + return { x = vec.x/mag, y = vec.y/mag, z = vec.z/mag } +end + +routines.vec.rotateVec2 = function(vec2, theta) + return { x = vec2.x*math.cos(theta) - vec2.y*math.sin(theta), y = vec2.x*math.sin(theta) + vec2.y*math.cos(theta)} +end +--------------------------------------------------------------------------------------------------------------------------- + + + + +-- acc- the accuracy of each easting/northing. 0, 1, 2, 3, 4, or 5. +routines.tostringMGRS = function(MGRS, acc) + if acc == 0 then + return MGRS.UTMZone .. ' ' .. MGRS.MGRSDigraph + else + return MGRS.UTMZone .. ' ' .. MGRS.MGRSDigraph .. ' ' .. string.format('%0' .. acc .. 'd', routines.utils.round(MGRS.Easting/(10^(5-acc)), 0)) + .. ' ' .. string.format('%0' .. acc .. 'd', routines.utils.round(MGRS.Northing/(10^(5-acc)), 0)) + end +end + +--[[acc: +in DM: decimal point of minutes. +In DMS: decimal point of seconds. +position after the decimal of the least significant digit: +So: +42.32 - acc of 2. +]] +routines.tostringLL = function(lat, lon, acc, DMS) + + local latHemi, lonHemi + if lat > 0 then + latHemi = 'N' + else + latHemi = 'S' + end + + if lon > 0 then + lonHemi = 'E' + else + lonHemi = 'W' + end + + lat = math.abs(lat) + lon = math.abs(lon) + + local latDeg = math.floor(lat) + local latMin = (lat - latDeg)*60 + + local lonDeg = math.floor(lon) + local lonMin = (lon - lonDeg)*60 + + if DMS then -- degrees, minutes, and seconds. + local oldLatMin = latMin + latMin = math.floor(latMin) + local latSec = routines.utils.round((oldLatMin - latMin)*60, acc) + + local oldLonMin = lonMin + lonMin = math.floor(lonMin) + local lonSec = routines.utils.round((oldLonMin - lonMin)*60, acc) + + if latSec == 60 then + latSec = 0 + latMin = latMin + 1 + end + + if lonSec == 60 then + lonSec = 0 + lonMin = lonMin + 1 + end + + local secFrmtStr -- create the formatting string for the seconds place + if acc <= 0 then -- no decimal place. + secFrmtStr = '%02d' + else + local width = 3 + acc -- 01.310 - that's a width of 6, for example. + secFrmtStr = '%0' .. width .. '.' .. acc .. 'f' + end + + return string.format('%02d', latDeg) .. ' ' .. string.format('%02d', latMin) .. '\' ' .. string.format(secFrmtStr, latSec) .. '"' .. latHemi .. ' ' + .. string.format('%02d', lonDeg) .. ' ' .. string.format('%02d', lonMin) .. '\' ' .. string.format(secFrmtStr, lonSec) .. '"' .. lonHemi + + else -- degrees, decimal minutes. + latMin = routines.utils.round(latMin, acc) + lonMin = routines.utils.round(lonMin, acc) + + if latMin == 60 then + latMin = 0 + latDeg = latDeg + 1 + end + + if lonMin == 60 then + lonMin = 0 + lonDeg = lonDeg + 1 + end + + local minFrmtStr -- create the formatting string for the minutes place + if acc <= 0 then -- no decimal place. + minFrmtStr = '%02d' + else + local width = 3 + acc -- 01.310 - that's a width of 6, for example. + minFrmtStr = '%0' .. width .. '.' .. acc .. 'f' + end + + return string.format('%02d', latDeg) .. ' ' .. string.format(minFrmtStr, latMin) .. '\'' .. latHemi .. ' ' + .. string.format('%02d', lonDeg) .. ' ' .. string.format(minFrmtStr, lonMin) .. '\'' .. lonHemi + + end +end + +--[[ required: az - radian + required: dist - meters + optional: alt - meters (set to false or nil if you don't want to use it). + optional: metric - set true to get dist and alt in km and m. + precision will always be nearest degree and NM or km.]] +routines.tostringBR = function(az, dist, alt, metric) + az = routines.utils.round(routines.utils.toDegree(az), 0) + + if metric then + dist = routines.utils.round(dist/1000, 2) + else + dist = routines.utils.round(routines.utils.metersToNM(dist), 2) + end + + local s = string.format('%03d', az) .. ' for ' .. dist + + if alt then + if metric then + s = s .. ' at ' .. routines.utils.round(alt, 0) + else + s = s .. ' at ' .. routines.utils.round(routines.utils.metersToFeet(alt), 0) + end + end + return s +end + +routines.getNorthCorrection = function(point) --gets the correction needed for true north + if not point.z then --Vec2; convert to Vec3 + point.z = point.y + point.y = 0 + end + local lat, lon = coord.LOtoLL(point) + local north_posit = coord.LLtoLO(lat + 1, lon) + return math.atan2(north_posit.z - point.z, north_posit.x - point.x) +end + + +-- the main area +do + -- THE MAIN FUNCTION -- Accessed 100 times/sec. + routines.main = function() + timer.scheduleFunction(routines.main, {}, timer.getTime() + 2) --reschedule first in case of Lua error + ---------------------------------------------------------------------------------------------------------- + --area to add new stuff in + + routines.do_scheduled_functions() + end -- end of routines.main + + timer.scheduleFunction(routines.main, {}, timer.getTime() + 2) + +end + + +do + local Tasks = {} + local task_id = 0 + --[[ routines.scheduleFunction: + int id = routines.schedule_task(f function, vars table, t number, rep number, st number) + id - integer id of this function task + f - function to run + vars - table of vars for that function + t - time to run function + rep - time between repetitions of this function (OPTIONAL) + st - time when repetitions of this function will stop automatically (OPTIONAL) + ]] + + --- Schedule a function + -- @param #function f + -- @param #table parameters + -- @param #Time t + -- @param #Time rep seconds + -- @param #Time st + routines.scheduleFunction = function(f, vars, t, rep, st) + --verify correct types + assert(type(f) == 'function', 'variable 1, expected function, got ' .. type(f)) + assert(type(vars) == 'table' or vars == nil, 'variable 2, expected table or nil, got ' .. type(f)) + assert(type(t) == 'number', 'variable 3, expected number, got ' .. type(t)) + assert(type(rep) == 'number' or rep == nil, 'variable 4, expected number or nil, got ' .. type(rep)) + assert(type(st) == 'number' or st == nil, 'variable 5, expected number or nil, got ' .. type(st)) + if not vars then + vars = {} + end + task_id = task_id + 1 + table.insert(Tasks, {f = f, vars = vars, t = t, rep = rep, st = st, id = task_id}) + return task_id + end + + -- removes a scheduled function based on the function's id. returns true if successful, false if not successful. + routines.removeFunction = function(id) + local i = 1 + while i <= #Tasks do + if Tasks[i].id == id then + table.remove(Tasks, i) + else + i = i + 1 + end + end + end + + routines.errhandler = function(errmsg) + + env.info( "Error in scheduled function:" .. errmsg ) + env.info( debug.traceback() ) + + return errmsg + end + + -------------------------------------------------------------------------------------------------------------------- + -- not intended for users to use this function. + routines.do_scheduled_functions = function() + local i = 1 + while i <= #Tasks do + if not Tasks[i].rep then -- not a repeated process + if Tasks[i].t <= timer.getTime() then + local Task = Tasks[i] -- local reference + --env.info("do_scheduled_functions:call function " .. i ) + table.remove(Tasks, i) + local err, errmsg = xpcall(function() Task.f( unpack(Task.vars, 1, table.maxn(Task.vars))) end, routines.errhandler ) + if not err then + --env.info('routines.scheduleFunction, error in scheduled function: ' .. errmsg) + end + --Task.f(unpack(Task.vars, 1, table.maxn(Task.vars))) -- do the task, do not increment i + else + i = i + 1 + end + else + if Tasks[i].st and Tasks[i].st <= timer.getTime() then --if a stoptime was specified, and the stop time exceeded + --env.info("do_scheduled_functions:remove repeated") + table.remove(Tasks, i) -- stop time exceeded, do not execute, do not increment i + elseif Tasks[i].t <= timer.getTime() then + local Task = Tasks[i] -- local reference + Task.t = timer.getTime() + Task.rep --schedule next run + --env.info("do_scheduled_functions:call function " .. i ) + local err, errmsg = xpcall(function() Task.f( unpack(Task.vars, 1, table.maxn(Task.vars))) end, routines.errhandler ) + if not err then + --env.info('routines.scheduleFunction, error in scheduled function: ' .. errmsg) + end + --Tasks[i].f(unpack(Tasks[i].vars, 1, table.maxn(Tasks[i].vars))) -- do the task + i = i + 1 + else + i = i + 1 + end + end + end + + end + +end + +do + local idNum = 0 + + --Simplified event handler + routines.addEventHandler = function(f) --id is optional! + local handler = {} + idNum = idNum + 1 + handler.id = idNum + handler.f = f + handler.onEvent = function(self, event) + self.f(event) + end + world.addEventHandler(handler) + end + + routines.removeEventHandler = function(id) + for key, handler in pairs(world.eventHandlers) do + if handler.id and handler.id == id then + world.eventHandlers[key] = nil + return true + end + end + return false + end +end + +-- need to return a Vec3 or Vec2? +function routines.getRandPointInCircle(point, radius, innerRadius) + local theta = 2*math.pi*math.random() + local rad = math.random() + math.random() + if rad > 1 then + rad = 2 - rad + end + + local radMult + if innerRadius and innerRadius <= radius then + radMult = (radius - innerRadius)*rad + innerRadius + else + radMult = radius*rad + end + + if not point.z then --might as well work with vec2/3 + point.z = point.y + end + + local rndCoord + if radius > 0 then + rndCoord = {x = math.cos(theta)*radMult + point.x, y = math.sin(theta)*radMult + point.z} + else + rndCoord = {x = point.x, y = point.z} + end + return rndCoord +end + +routines.goRoute = function(group, path) + local misTask = { + id = 'Mission', + params = { + route = { + points = routines.utils.deepCopy(path), + }, + }, + } + if type(group) == 'string' then + group = Group.getByName(group) + end + local groupCon = group:getController() + if groupCon then + groupCon:setTask(misTask) + return true + end + + Controller.setTask(groupCon, misTask) + return false +end + + +-- Useful atomic functions from mist, ported. + +routines.ground = {} +routines.fixedWing = {} +routines.heli = {} + +routines.ground.buildWP = function(point, overRideForm, overRideSpeed) + + local wp = {} + wp.x = point.x + + if point.z then + wp.y = point.z + else + wp.y = point.y + end + local form, speed + + if point.speed and not overRideSpeed then + wp.speed = point.speed + elseif type(overRideSpeed) == 'number' then + wp.speed = overRideSpeed + else + wp.speed = routines.utils.kmphToMps(20) + end + + if point.form and not overRideForm then + form = point.form + else + form = overRideForm + end + + if not form then + wp.action = 'Cone' + else + form = string.lower(form) + if form == 'off_road' or form == 'off road' then + wp.action = 'Off Road' + elseif form == 'on_road' or form == 'on road' then + wp.action = 'On Road' + elseif form == 'rank' or form == 'line_abrest' or form == 'line abrest' or form == 'lineabrest'then + wp.action = 'Rank' + elseif form == 'cone' then + wp.action = 'Cone' + elseif form == 'diamond' then + wp.action = 'Diamond' + elseif form == 'vee' then + wp.action = 'Vee' + elseif form == 'echelon_left' or form == 'echelon left' or form == 'echelonl' then + wp.action = 'EchelonL' + elseif form == 'echelon_right' or form == 'echelon right' or form == 'echelonr' then + wp.action = 'EchelonR' + else + wp.action = 'Cone' -- if nothing matched + end + end + + wp.type = 'Turning Point' + + return wp + +end + +routines.fixedWing.buildWP = function(point, WPtype, speed, alt, altType) + + local wp = {} + wp.x = point.x + + if point.z then + wp.y = point.z + else + wp.y = point.y + end + + if alt and type(alt) == 'number' then + wp.alt = alt + else + wp.alt = 2000 + end + + if altType then + altType = string.lower(altType) + if altType == 'radio' or 'agl' then + wp.alt_type = 'RADIO' + elseif altType == 'baro' or 'asl' then + wp.alt_type = 'BARO' + end + else + wp.alt_type = 'RADIO' + end + + if point.speed then + speed = point.speed + end + + if point.type then + WPtype = point.type + end + + if not speed then + wp.speed = routines.utils.kmphToMps(500) + else + wp.speed = speed + end + + if not WPtype then + wp.action = 'Turning Point' + else + WPtype = string.lower(WPtype) + if WPtype == 'flyover' or WPtype == 'fly over' or WPtype == 'fly_over' then + wp.action = 'Fly Over Point' + elseif WPtype == 'turningpoint' or WPtype == 'turning point' or WPtype == 'turning_point' then + wp.action = 'Turning Point' + else + wp.action = 'Turning Point' + end + end + + wp.type = 'Turning Point' + return wp +end + +routines.heli.buildWP = function(point, WPtype, speed, alt, altType) + + local wp = {} + wp.x = point.x + + if point.z then + wp.y = point.z + else + wp.y = point.y + end + + if alt and type(alt) == 'number' then + wp.alt = alt + else + wp.alt = 500 + end + + if altType then + altType = string.lower(altType) + if altType == 'radio' or 'agl' then + wp.alt_type = 'RADIO' + elseif altType == 'baro' or 'asl' then + wp.alt_type = 'BARO' + end + else + wp.alt_type = 'RADIO' + end + + if point.speed then + speed = point.speed + end + + if point.type then + WPtype = point.type + end + + if not speed then + wp.speed = routines.utils.kmphToMps(200) + else + wp.speed = speed + end + + if not WPtype then + wp.action = 'Turning Point' + else + WPtype = string.lower(WPtype) + if WPtype == 'flyover' or WPtype == 'fly over' or WPtype == 'fly_over' then + wp.action = 'Fly Over Point' + elseif WPtype == 'turningpoint' or WPtype == 'turning point' or WPtype == 'turning_point' then + wp.action = 'Turning Point' + else + wp.action = 'Turning Point' + end + end + + wp.type = 'Turning Point' + return wp +end + +routines.groupToRandomPoint = function(vars) + local group = vars.group --Required + local point = vars.point --required + local radius = vars.radius or 0 + local innerRadius = vars.innerRadius + local form = vars.form or 'Cone' + local heading = vars.heading or math.random()*2*math.pi + local headingDegrees = vars.headingDegrees + local speed = vars.speed or routines.utils.kmphToMps(20) + + + local useRoads + if not vars.disableRoads then + useRoads = true + else + useRoads = false + end + + local path = {} + + if headingDegrees then + heading = headingDegrees*math.pi/180 + end + + if heading >= 2*math.pi then + heading = heading - 2*math.pi + end + + local rndCoord = routines.getRandPointInCircle(point, radius, innerRadius) + + local offset = {} + local posStart = routines.getLeadPos(group) + + offset.x = routines.utils.round(math.sin(heading - (math.pi/2)) * 50 + rndCoord.x, 3) + offset.z = routines.utils.round(math.cos(heading + (math.pi/2)) * 50 + rndCoord.y, 3) + path[#path + 1] = routines.ground.buildWP(posStart, form, speed) + + + if useRoads == true and ((point.x - posStart.x)^2 + (point.z - posStart.z)^2)^0.5 > radius * 1.3 then + path[#path + 1] = routines.ground.buildWP({['x'] = posStart.x + 11, ['z'] = posStart.z + 11}, 'off_road', speed) + path[#path + 1] = routines.ground.buildWP(posStart, 'on_road', speed) + path[#path + 1] = routines.ground.buildWP(offset, 'on_road', speed) + else + path[#path + 1] = routines.ground.buildWP({['x'] = posStart.x + 25, ['z'] = posStart.z + 25}, form, speed) + end + + path[#path + 1] = routines.ground.buildWP(offset, form, speed) + path[#path + 1] = routines.ground.buildWP(rndCoord, form, speed) + + routines.goRoute(group, path) + + return +end + +routines.groupRandomDistSelf = function(gpData, dist, form, heading, speed) + local pos = routines.getLeadPos(gpData) + local fakeZone = {} + fakeZone.radius = dist or math.random(300, 1000) + fakeZone.point = {x = pos.x, y, pos.y, z = pos.z} + routines.groupToRandomZone(gpData, fakeZone, form, heading, speed) + + return +end + +routines.groupToRandomZone = function(gpData, zone, form, heading, speed) + if type(gpData) == 'string' then + gpData = Group.getByName(gpData) + end + + if type(zone) == 'string' then + zone = trigger.misc.getZone(zone) + elseif type(zone) == 'table' and not zone.radius then + zone = trigger.misc.getZone(zone[math.random(1, #zone)]) + end + + if speed then + speed = routines.utils.kmphToMps(speed) + end + + local vars = {} + vars.group = gpData + vars.radius = zone.radius + vars.form = form + vars.headingDegrees = heading + vars.speed = speed + vars.point = routines.utils.zoneToVec3(zone) + + routines.groupToRandomPoint(vars) + + return +end + +routines.isTerrainValid = function(coord, terrainTypes) -- vec2/3 and enum or table of acceptable terrain types + if coord.z then + coord.y = coord.z + end + local typeConverted = {} + + if type(terrainTypes) == 'string' then -- if its a string it does this check + for constId, constData in pairs(land.SurfaceType) do + if string.lower(constId) == string.lower(terrainTypes) or string.lower(constData) == string.lower(terrainTypes) then + table.insert(typeConverted, constId) + end + end + elseif type(terrainTypes) == 'table' then -- if its a table it does this check + for typeId, typeData in pairs(terrainTypes) do + for constId, constData in pairs(land.SurfaceType) do + if string.lower(constId) == string.lower(typeData) or string.lower(constData) == string.lower(typeId) then + table.insert(typeConverted, constId) + end + end + end + end + for validIndex, validData in pairs(typeConverted) do + if land.getSurfaceType(coord) == land.SurfaceType[validData] then + return true + end + end + return false +end + +routines.groupToPoint = function(gpData, point, form, heading, speed, useRoads) + if type(point) == 'string' then + point = trigger.misc.getZone(point) + end + if speed then + speed = routines.utils.kmphToMps(speed) + end + + local vars = {} + vars.group = gpData + vars.form = form + vars.headingDegrees = heading + vars.speed = speed + vars.disableRoads = useRoads + vars.point = routines.utils.zoneToVec3(point) + routines.groupToRandomPoint(vars) + + return +end + + +routines.getLeadPos = function(group) + if type(group) == 'string' then -- group name + group = Group.getByName(group) + end + + local units = group:getUnits() + + local leader = units[1] + if not leader then -- SHOULD be good, but if there is a bug, this code future-proofs it then. + local lowestInd = math.huge + for ind, unit in pairs(units) do + if ind < lowestInd then + lowestInd = ind + leader = unit + end + end + end + if leader and Unit.isExist(leader) then -- maybe a little too paranoid now... + return leader:getPosition().p + end +end + +--[[ vars for routines.getMGRSString: +vars.units - table of unit names (NOT unitNameTable- maybe this should change). +vars.acc - integer between 0 and 5, inclusive +]] +routines.getMGRSString = function(vars) + local units = vars.units + local acc = vars.acc or 5 + local avgPos = routines.getAvgPos(units) + if avgPos then + return routines.tostringMGRS(coord.LLtoMGRS(coord.LOtoLL(avgPos)), acc) + end +end + +--[[ vars for routines.getLLString +vars.units - table of unit names (NOT unitNameTable- maybe this should change). +vars.acc - integer, number of numbers after decimal place +vars.DMS - if true, output in degrees, minutes, seconds. Otherwise, output in degrees, minutes. + + +]] +routines.getLLString = function(vars) + local units = vars.units + local acc = vars.acc or 3 + local DMS = vars.DMS + local avgPos = routines.getAvgPos(units) + if avgPos then + local lat, lon = coord.LOtoLL(avgPos) + return routines.tostringLL(lat, lon, acc, DMS) + end +end + +--[[ +vars.zone - table of a zone name. +vars.ref - vec3 ref point, maybe overload for vec2 as well? +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +]] +routines.getBRStringZone = function(vars) + local zone = trigger.misc.getZone( vars.zone ) + local ref = routines.utils.makeVec3(vars.ref, 0) -- turn it into Vec3 if it is not already. + local alt = vars.alt + local metric = vars.metric + if zone then + local vec = {x = zone.point.x - ref.x, y = zone.point.y - ref.y, z = zone.point.z - ref.z} + local dir = routines.utils.getDir(vec, ref) + local dist = routines.utils.get2DDist(zone.point, ref) + if alt then + alt = zone.y + end + return routines.tostringBR(dir, dist, alt, metric) + else + env.info( 'routines.getBRStringZone: error: zone is nil' ) + end +end + +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - vec3 ref point, maybe overload for vec2 as well? +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +]] +routines.getBRString = function(vars) + local units = vars.units + local ref = routines.utils.makeVec3(vars.ref, 0) -- turn it into Vec3 if it is not already. + local alt = vars.alt + local metric = vars.metric + local avgPos = routines.getAvgPos(units) + if avgPos then + local vec = {x = avgPos.x - ref.x, y = avgPos.y - ref.y, z = avgPos.z - ref.z} + local dir = routines.utils.getDir(vec, ref) + local dist = routines.utils.get2DDist(avgPos, ref) + if alt then + alt = avgPos.y + end + return routines.tostringBR(dir, dist, alt, metric) + end +end + + +-- Returns the Vec3 coordinates of the average position of the concentration of units most in the heading direction. +--[[ vars for routines.getLeadingPos: +vars.units - table of unit names +vars.heading - direction +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +]] +routines.getLeadingPos = function(vars) + local units = vars.units + local heading = vars.heading + local radius = vars.radius + if vars.headingDegrees then + heading = routines.utils.toRadian(vars.headingDegrees) + end + + local unitPosTbl = {} + for i = 1, #units do + local unit = Unit.getByName(units[i]) + if unit and unit:isExist() then + unitPosTbl[#unitPosTbl + 1] = unit:getPosition().p + end + end + if #unitPosTbl > 0 then -- one more more units found. + -- first, find the unit most in the heading direction + local maxPos = -math.huge + + local maxPosInd -- maxPos - the furthest in direction defined by heading; maxPosInd = + for i = 1, #unitPosTbl do + local rotatedVec2 = routines.vec.rotateVec2(routines.utils.makeVec2(unitPosTbl[i]), heading) + if (not maxPos) or maxPos < rotatedVec2.x then + maxPos = rotatedVec2.x + maxPosInd = i + end + end + + --now, get all the units around this unit... + local avgPos + if radius then + local maxUnitPos = unitPosTbl[maxPosInd] + local avgx, avgy, avgz, totNum = 0, 0, 0, 0 + for i = 1, #unitPosTbl do + if routines.utils.get2DDist(maxUnitPos, unitPosTbl[i]) <= radius then + avgx = avgx + unitPosTbl[i].x + avgy = avgy + unitPosTbl[i].y + avgz = avgz + unitPosTbl[i].z + totNum = totNum + 1 + end + end + avgPos = { x = avgx/totNum, y = avgy/totNum, z = avgz/totNum} + else + avgPos = unitPosTbl[maxPosInd] + end + + return avgPos + end +end + + +--[[ vars for routines.getLeadingMGRSString: +vars.units - table of unit names +vars.heading - direction +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +vars.acc - number, 0 to 5. +]] +routines.getLeadingMGRSString = function(vars) + local pos = routines.getLeadingPos(vars) + if pos then + local acc = vars.acc or 5 + return routines.tostringMGRS(coord.LLtoMGRS(coord.LOtoLL(pos)), acc) + end +end + +--[[ vars for routines.getLeadingLLString: +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +vars.acc - number of digits after decimal point (can be negative) +vars.DMS - boolean, true if you want DMS. +]] +routines.getLeadingLLString = function(vars) + local pos = routines.getLeadingPos(vars) + if pos then + local acc = vars.acc or 3 + local DMS = vars.DMS + local lat, lon = coord.LOtoLL(pos) + return routines.tostringLL(lat, lon, acc, DMS) + end +end + + + +--[[ vars for routines.getLeadingBRString: +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees +vars.metric - boolean, if true, use km instead of NM. +vars.alt - boolean, if true, include altitude. +vars.ref - vec3/vec2 reference point. +]] +routines.getLeadingBRString = function(vars) + local pos = routines.getLeadingPos(vars) + if pos then + local ref = vars.ref + local alt = vars.alt + local metric = vars.metric + + local vec = {x = pos.x - ref.x, y = pos.y - ref.y, z = pos.z - ref.z} + local dir = routines.utils.getDir(vec, ref) + local dist = routines.utils.get2DDist(pos, ref) + if alt then + alt = pos.y + end + return routines.tostringBR(dir, dist, alt, metric) + end +end + +--[[ vars for routines.message.add + vars.text = 'Hello World' + vars.displayTime = 20 + vars.msgFor = {coa = {'red'}, countries = {'Ukraine', 'Georgia'}, unitTypes = {'A-10C'}} + +]] + +--[[ vars for routines.msgMGRS +vars.units - table of unit names (NOT unitNameTable- maybe this should change). +vars.acc - integer between 0 and 5, inclusive +vars.text - text in the message +vars.displayTime - self explanatory +vars.msgFor - scope +]] +routines.msgMGRS = function(vars) + local units = vars.units + local acc = vars.acc + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getMGRSString{units = units, acc = acc} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } +end + +--[[ vars for routines.msgLL +vars.units - table of unit names (NOT unitNameTable- maybe this should change) (Yes). +vars.acc - integer, number of numbers after decimal place +vars.DMS - if true, output in degrees, minutes, seconds. Otherwise, output in degrees, minutes. +vars.text - text in the message +vars.displayTime - self explanatory +vars.msgFor - scope +]] +routines.msgLL = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local acc = vars.acc + local DMS = vars.DMS + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLLString{units = units, acc = acc, DMS = DMS} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + +end + + +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - vec3 ref point, maybe overload for vec2 as well? +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgBR = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local ref = vars.ref -- vec2/vec3 will be handled in routines.getBRString + local alt = vars.alt + local metric = vars.metric + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getBRString{units = units, ref = ref, alt = alt, metric = metric} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + +end + + +-------------------------------------------------------------------------------------------- +-- basically, just sub-types of routines.msgBR... saves folks the work of getting the ref point. +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - string red, blue +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgBullseye = function(vars) + if string.lower(vars.ref) == 'red' then + vars.ref = routines.DBs.missionData.bullseye.red + routines.msgBR(vars) + elseif string.lower(vars.ref) == 'blue' then + vars.ref = routines.DBs.missionData.bullseye.blue + routines.msgBR(vars) + end +end + +--[[ +vars.units- table of unit names (NOT unitNameTable- maybe this should change). +vars.ref - unit name of reference point +vars.alt - boolean, if used, includes altitude in string +vars.metric - boolean, gives distance in km instead of NM. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] + +routines.msgBRA = function(vars) + if Unit.getByName(vars.ref) then + vars.ref = Unit.getByName(vars.ref):getPosition().p + if not vars.alt then + vars.alt = true + end + routines.msgBR(vars) + end +end +-------------------------------------------------------------------------------------------- + +--[[ vars for routines.msgLeadingMGRS: +vars.units - table of unit names +vars.heading - direction +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees (optional) +vars.acc - number, 0 to 5. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgLeadingMGRS = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local heading = vars.heading + local radius = vars.radius + local headingDegrees = vars.headingDegrees + local acc = vars.acc + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLeadingMGRSString{units = units, heading = heading, radius = radius, headingDegrees = headingDegrees, acc = acc} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + + +end +--[[ vars for routines.msgLeadingLL: +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees (optional) +vars.acc - number of digits after decimal point (can be negative) +vars.DMS - boolean, true if you want DMS. (optional) +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgLeadingLL = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local heading = vars.heading + local radius = vars.radius + local headingDegrees = vars.headingDegrees + local acc = vars.acc + local DMS = vars.DMS + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLeadingLLString{units = units, heading = heading, radius = radius, headingDegrees = headingDegrees, acc = acc, DMS = DMS} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } + +end + +--[[ +vars.units - table of unit names +vars.heading - direction, number +vars.radius - number +vars.headingDegrees - boolean, switches heading to degrees (optional) +vars.metric - boolean, if true, use km instead of NM. (optional) +vars.alt - boolean, if true, include altitude. (optional) +vars.ref - vec3/vec2 reference point. +vars.text - text of the message +vars.displayTime +vars.msgFor - scope +]] +routines.msgLeadingBR = function(vars) + local units = vars.units -- technically, I don't really need to do this, but it helps readability. + local heading = vars.heading + local radius = vars.radius + local headingDegrees = vars.headingDegrees + local metric = vars.metric + local alt = vars.alt + local ref = vars.ref -- vec2/vec3 will be handled in routines.getBRString + local text = vars.text + local displayTime = vars.displayTime + local msgFor = vars.msgFor + + local s = routines.getLeadingBRString{units = units, heading = heading, radius = radius, headingDegrees = headingDegrees, metric = metric, alt = alt, ref = ref} + local newText + if string.find(text, '%%s') then -- look for %s + newText = string.format(text, s) -- insert the coordinates into the message + else -- else, just append to the end. + newText = text .. s + end + + routines.message.add{ + text = newText, + displayTime = displayTime, + msgFor = msgFor + } +end + + +function spairs(t, order) + -- collect the keys + local keys = {} + for k in pairs(t) do keys[#keys+1] = k end + + -- if order function given, sort by it by passing the table and keys a, b, + -- otherwise just sort the keys + if order then + table.sort(keys, function(a,b) return order(t, a, b) end) + else + table.sort(keys) + end + + -- return the iterator function + local i = 0 + return function() + i = i + 1 + if keys[i] then + return keys[i], t[keys[i]] + end + end +end + + +function routines.IsPartOfGroupInZones( CargoGroup, LandingZones ) +--trace.f() + + local CurrentZoneID = nil + + if CargoGroup then + local CargoUnits = CargoGroup:getUnits() + for CargoUnitID, CargoUnit in pairs( CargoUnits ) do + if CargoUnit and CargoUnit:getLife() >= 1.0 then + CurrentZoneID = routines.IsUnitInZones( CargoUnit, LandingZones ) + if CurrentZoneID then + break + end + end + end + end + +--trace.r( "", "", { CurrentZoneID } ) + return CurrentZoneID +end + + + +function routines.IsUnitInZones( TransportUnit, LandingZones ) +--trace.f("", "routines.IsUnitInZones" ) + + local TransportZoneResult = nil + local TransportZonePos = nil + local TransportZone = nil + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + if TransportUnit then + local TransportUnitPos = TransportUnit:getPosition().p + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + TransportZone = trigger.misc.getZone( LandingZoneName ) + if TransportZone then + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = LandingZoneID + break + end + end + end + else + TransportZone = trigger.misc.getZone( LandingZones ) + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = 1 + end + end + if TransportZoneResult then + --trace.i( "routines", "TransportZone:" .. TransportZoneResult ) + else + --trace.i( "routines", "TransportZone:nil logic" ) + end + return TransportZoneResult + else + --trace.i( "routines", "TransportZone:nil hard" ) + return nil + end +end + +function routines.IsUnitNearZonesRadius( TransportUnit, LandingZones, ZoneRadius ) +--trace.f("", "routines.IsUnitInZones" ) + + local TransportZoneResult = nil + local TransportZonePos = nil + local TransportZone = nil + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + if TransportUnit then + local TransportUnitPos = TransportUnit:getPosition().p + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + TransportZone = trigger.misc.getZone( LandingZoneName ) + if TransportZone then + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= ZoneRadius ) then + TransportZoneResult = LandingZoneID + break + end + end + end + else + TransportZone = trigger.misc.getZone( LandingZones ) + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportUnitPos.x - TransportZonePos.x)^2 + (TransportUnitPos.z - TransportZonePos.z)^2)^0.5 <= ZoneRadius ) then + TransportZoneResult = 1 + end + end + if TransportZoneResult then + --trace.i( "routines", "TransportZone:" .. TransportZoneResult ) + else + --trace.i( "routines", "TransportZone:nil logic" ) + end + return TransportZoneResult + else + --trace.i( "routines", "TransportZone:nil hard" ) + return nil + end +end + + +function routines.IsStaticInZones( TransportStatic, LandingZones ) +--trace.f() + + local TransportZoneResult = nil + local TransportZonePos = nil + local TransportZone = nil + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + local TransportStaticPos = TransportStatic:getPosition().p + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + TransportZone = trigger.misc.getZone( LandingZoneName ) + if TransportZone then + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportStaticPos.x - TransportZonePos.x)^2 + (TransportStaticPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = LandingZoneID + break + end + end + end + else + TransportZone = trigger.misc.getZone( LandingZones ) + TransportZonePos = {radius = TransportZone.radius, x = TransportZone.point.x, y = TransportZone.point.y, z = TransportZone.point.z} + if ((( TransportStaticPos.x - TransportZonePos.x)^2 + (TransportStaticPos.z - TransportZonePos.z)^2)^0.5 <= TransportZonePos.radius) then + TransportZoneResult = 1 + end + end + +--trace.r( "", "", { TransportZoneResult } ) + return TransportZoneResult +end + + +function routines.IsUnitInRadius( CargoUnit, ReferencePosition, Radius ) +--trace.f() + + local Valid = true + + -- fill-up some local variables to support further calculations to determine location of units within the zone. + local CargoPos = CargoUnit:getPosition().p + local ReferenceP = ReferencePosition.p + + if (((CargoPos.x - ReferenceP.x)^2 + (CargoPos.z - ReferenceP.z)^2)^0.5 <= Radius) then + else + Valid = false + end + + return Valid +end + +function routines.IsPartOfGroupInRadius( CargoGroup, ReferencePosition, Radius ) +--trace.f() + + local Valid = true + + Valid = routines.ValidateGroup( CargoGroup, "CargoGroup", Valid ) + + -- fill-up some local variables to support further calculations to determine location of units within the zone + local CargoUnits = CargoGroup:getUnits() + for CargoUnitId, CargoUnit in pairs( CargoUnits ) do + local CargoUnitPos = CargoUnit:getPosition().p +-- env.info( 'routines.IsPartOfGroupInRadius: CargoUnitPos.x = ' .. CargoUnitPos.x .. ' CargoUnitPos.z = ' .. CargoUnitPos.z ) + local ReferenceP = ReferencePosition.p +-- env.info( 'routines.IsPartOfGroupInRadius: ReferenceGroupPos.x = ' .. ReferenceGroupPos.x .. ' ReferenceGroupPos.z = ' .. ReferenceGroupPos.z ) + + if ((( CargoUnitPos.x - ReferenceP.x)^2 + (CargoUnitPos.z - ReferenceP.z)^2)^0.5 <= Radius) then + else + Valid = false + break + end + end + + return Valid +end + + +function routines.ValidateString( Variable, VariableName, Valid ) +--trace.f() + + if type( Variable ) == "string" then + if Variable == "" then + error( "routines.ValidateString: error: " .. VariableName .. " must be filled out!" ) + Valid = false + end + else + error( "routines.ValidateString: error: " .. VariableName .. " is not a string." ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.ValidateNumber( Variable, VariableName, Valid ) +--trace.f() + + if type( Variable ) == "number" then + else + error( "routines.ValidateNumber: error: " .. VariableName .. " is not a number." ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid + +end + +function routines.ValidateGroup( Variable, VariableName, Valid ) +--trace.f() + + if Variable == nil then + error( "routines.ValidateGroup: error: " .. VariableName .. " is a nil value!" ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.ValidateZone( LandingZones, VariableName, Valid ) +--trace.f() + + if LandingZones == nil then + error( "routines.ValidateGroup: error: " .. VariableName .. " is a nil value!" ) + Valid = false + end + + if type( LandingZones ) == "table" then + for LandingZoneID, LandingZoneName in pairs( LandingZones ) do + if trigger.misc.getZone( LandingZoneName ) == nil then + error( "routines.ValidateGroup: error: Zone " .. LandingZoneName .. " does not exist!" ) + Valid = false + break + end + end + else + if trigger.misc.getZone( LandingZones ) == nil then + error( "routines.ValidateGroup: error: Zone " .. LandingZones .. " does not exist!" ) + Valid = false + end + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.ValidateEnumeration( Variable, VariableName, Enum, Valid ) +--trace.f() + + local ValidVariable = false + + for EnumId, EnumData in pairs( Enum ) do + if Variable == EnumData then + ValidVariable = true + break + end + end + + if ValidVariable then + else + error( 'TransportValidateEnum: " .. VariableName .. " is not a valid type.' .. Variable ) + Valid = false + end + +--trace.r( "", "", { Valid } ) + return Valid +end + +function routines.getGroupRoute(groupIdent, task) -- same as getGroupPoints but returns speed and formation type along with vec2 of point} + -- refactor to search by groupId and allow groupId and groupName as inputs + local gpId = groupIdent + if type(groupIdent) == 'string' and not tonumber(groupIdent) then + gpId = _DATABASE.Templates.Groups[groupIdent].groupId + end + + for coa_name, coa_data in pairs(env.mission.coalition) do + if (coa_name == 'red' or coa_name == 'blue') and type(coa_data) == 'table' then + if coa_data.country then --there is a country table + for cntry_id, cntry_data in pairs(coa_data.country) do + for obj_type_name, obj_type_data in pairs(cntry_data) do + if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" then -- only these types have points + if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then --there's a group! + for group_num, group_data in pairs(obj_type_data.group) do + if group_data and group_data.groupId == gpId then -- this is the group we are looking for + if group_data.route and group_data.route.points and #group_data.route.points > 0 then + local points = {} + + for point_num, point in pairs(group_data.route.points) do + local routeData = {} + if not point.point then + routeData.x = point.x + routeData.y = point.y + else + routeData.point = point.point --it's possible that the ME could move to the point = Vec2 notation. + end + routeData.form = point.action + routeData.speed = point.speed + routeData.alt = point.alt + routeData.alt_type = point.alt_type + routeData.airdromeId = point.airdromeId + routeData.helipadId = point.helipadId + routeData.type = point.type + routeData.action = point.action + if task then + routeData.task = point.task + end + points[point_num] = routeData + end + + return points + end + return + end --if group_data and group_data.name and group_data.name == 'groupname' + end --for group_num, group_data in pairs(obj_type_data.group) do + end --if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then + end --if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" or obj_type_name == "static" then + end --for obj_type_name, obj_type_data in pairs(cntry_data) do + end --for cntry_id, cntry_data in pairs(coa_data.country) do + end --if coa_data.country then --there is a country table + end --if coa_name == 'red' or coa_name == 'blue' and type(coa_data) == 'table' then + end --for coa_name, coa_data in pairs(mission.coalition) do +end + +routines.ground.patrolRoute = function(vars) + + + local tempRoute = {} + local useRoute = {} + local gpData = vars.gpData + if type(gpData) == 'string' then + gpData = Group.getByName(gpData) + end + + local useGroupRoute + if not vars.useGroupRoute then + useGroupRoute = vars.gpData + else + useGroupRoute = vars.useGroupRoute + end + local routeProvided = false + if not vars.route then + if useGroupRoute then + tempRoute = routines.getGroupRoute(useGroupRoute) + end + else + useRoute = vars.route + local posStart = routines.getLeadPos(gpData) + useRoute[1] = routines.ground.buildWP(posStart, useRoute[1].action, useRoute[1].speed) + routeProvided = true + end + + + local overRideSpeed = vars.speed or 'default' + local pType = vars.pType + local offRoadForm = vars.offRoadForm or 'default' + local onRoadForm = vars.onRoadForm or 'default' + + if routeProvided == false and #tempRoute > 0 then + local posStart = routines.getLeadPos(gpData) + + + useRoute[#useRoute + 1] = routines.ground.buildWP(posStart, offRoadForm, overRideSpeed) + for i = 1, #tempRoute do + local tempForm = tempRoute[i].action + local tempSpeed = tempRoute[i].speed + + if offRoadForm == 'default' then + tempForm = tempRoute[i].action + end + if onRoadForm == 'default' then + onRoadForm = 'On Road' + end + if (string.lower(tempRoute[i].action) == 'on road' or string.lower(tempRoute[i].action) == 'onroad' or string.lower(tempRoute[i].action) == 'on_road') then + tempForm = onRoadForm + else + tempForm = offRoadForm + end + + if type(overRideSpeed) == 'number' then + tempSpeed = overRideSpeed + end + + + useRoute[#useRoute + 1] = routines.ground.buildWP(tempRoute[i], tempForm, tempSpeed) + end + + if pType and string.lower(pType) == 'doubleback' then + local curRoute = routines.utils.deepCopy(useRoute) + for i = #curRoute, 2, -1 do + useRoute[#useRoute + 1] = routines.ground.buildWP(curRoute[i], curRoute[i].action, curRoute[i].speed) + end + end + + useRoute[1].action = useRoute[#useRoute].action -- make it so the first WP matches the last WP + end + + local cTask3 = {} + local newPatrol = {} + newPatrol.route = useRoute + newPatrol.gpData = gpData:getName() + cTask3[#cTask3 + 1] = 'routines.ground.patrolRoute(' + cTask3[#cTask3 + 1] = routines.utils.oneLineSerialize(newPatrol) + cTask3[#cTask3 + 1] = ')' + cTask3 = table.concat(cTask3) + local tempTask = { + id = 'WrappedAction', + params = { + action = { + id = 'Script', + params = { + command = cTask3, + + }, + }, + }, + } + + + useRoute[#useRoute].task = tempTask + routines.goRoute(gpData, useRoute) + + return +end + +routines.ground.patrol = function(gpData, pType, form, speed) + local vars = {} + + if type(gpData) == 'table' and gpData:getName() then + gpData = gpData:getName() + end + + vars.useGroupRoute = gpData + vars.gpData = gpData + vars.pType = pType + vars.offRoadForm = form + vars.speed = speed + + routines.ground.patrolRoute(vars) + + return +end + +function routines.GetUnitHeight( CheckUnit ) +--trace.f( "routines" ) + + local UnitPoint = CheckUnit:getPoint() + local UnitPosition = { x = UnitPoint.x, y = UnitPoint.z } + local UnitHeight = UnitPoint.y + + local LandHeight = land.getHeight( UnitPosition ) + + --env.info(( 'CarrierHeight: LandHeight = ' .. LandHeight .. ' CarrierHeight = ' .. CarrierHeight )) + + --trace.f( "routines", "Unit Height = " .. UnitHeight - LandHeight ) + + return UnitHeight - LandHeight + +end + + + +Su34Status = { status = {} } +boardMsgRed = { statusMsg = "" } +boardMsgAll = { timeMsg = "" } +SpawnSettings = {} +Su34MenuPath = {} +Su34Menus = 0 + + +function Su34AttackCarlVinson(groupName) +--trace.menu("", "Su34AttackCarlVinson") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34.getController(groupSu34) + local groupCarlVinson = Group.getByName("US Carl Vinson #001") + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + if groupCarlVinson ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupCarlVinson:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = true}}) + end + Su34Status.status[groupName] = 1 + MessageToRed( string.format('%s: ',groupName) .. 'Attacking carrier Carl Vinson. ', 10, 'RedStatus' .. groupName ) +end + +function Su34AttackWest(groupName) +--trace.f("","Su34AttackWest") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34.getController(groupSu34) + local groupShipWest1 = Group.getByName("US Ship West #001") + local groupShipWest2 = Group.getByName("US Ship West #002") + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + if groupShipWest1 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipWest1:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = true}}) + end + if groupShipWest2 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipWest2:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = true}}) + end + Su34Status.status[groupName] = 2 + MessageToRed( string.format('%s: ',groupName) .. 'Attacking invading ships in the west. ', 10, 'RedStatus' .. groupName ) +end + +function Su34AttackNorth(groupName) +--trace.menu("","Su34AttackNorth") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34.getController(groupSu34) + local groupShipNorth1 = Group.getByName("US Ship North #001") + local groupShipNorth2 = Group.getByName("US Ship North #002") + local groupShipNorth3 = Group.getByName("US Ship North #003") + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + if groupShipNorth1 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipNorth1:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = false}}) + end + if groupShipNorth2 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipNorth2:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = false}}) + end + if groupShipNorth3 ~= nil then + controllerSu34.pushTask(controllerSu34,{id = 'AttackGroup', params = { groupId = groupShipNorth3:getID(), expend = AI.Task.WeaponExpend.ALL, attackQtyLimit = false}}) + end + Su34Status.status[groupName] = 3 + MessageToRed( string.format('%s: ',groupName) .. 'Attacking invading ships in the north. ', 10, 'RedStatus' .. groupName ) +end + +function Su34Orbit(groupName) +--trace.menu("","Su34Orbit") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34:getController() + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + controllerSu34:pushTask( {id = 'ControlledTask', params = { task = { id = 'Orbit', params = { pattern = AI.Task.OrbitPattern.RACE_TRACK } }, stopCondition = { duration = 600 } } } ) + Su34Status.status[groupName] = 4 + MessageToRed( string.format('%s: ',groupName) .. 'In orbit and awaiting further instructions. ', 10, 'RedStatus' .. groupName ) +end + +function Su34TakeOff(groupName) +--trace.menu("","Su34TakeOff") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34:getController() + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE ) + Su34Status.status[groupName] = 8 + MessageToRed( string.format('%s: ',groupName) .. 'Take-Off. ', 10, 'RedStatus' .. groupName ) +end + +function Su34Hold(groupName) +--trace.menu("","Su34Hold") + local groupSu34 = Group.getByName( groupName ) + local controllerSu34 = groupSu34:getController() + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + controllerSu34.setOption( controllerSu34, AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE ) + Su34Status.status[groupName] = 5 + MessageToRed( string.format('%s: ',groupName) .. 'Holding Weapons. ', 10, 'RedStatus' .. groupName ) +end + +function Su34RTB(groupName) +--trace.menu("","Su34RTB") + Su34Status.status[groupName] = 6 + MessageToRed( string.format('%s: ',groupName) .. 'Return to Krasnodar. ', 10, 'RedStatus' .. groupName ) +end + +function Su34Destroyed(groupName) +--trace.menu("","Su34Destroyed") + Su34Status.status[groupName] = 7 + MessageToRed( string.format('%s: ',groupName) .. 'Destroyed. ', 30, 'RedStatus' .. groupName ) +end + +function GroupAlive( groupName ) +--trace.menu("","GroupAlive") + local groupTest = Group.getByName( groupName ) + + local groupExists = false + + if groupTest then + groupExists = groupTest:isExist() + end + + --trace.r( "", "", { groupExists } ) + return groupExists +end + +function Su34IsDead() +--trace.f() + +end + +function Su34OverviewStatus() +--trace.menu("","Su34OverviewStatus") + local msg = "" + local currentStatus = 0 + local Exists = false + + for groupName, currentStatus in pairs(Su34Status.status) do + + env.info(('Su34 Overview Status: GroupName = ' .. groupName )) + Alive = GroupAlive( groupName ) + + if Alive then + if currentStatus == 1 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Attacking carrier Carl Vinson. " + elseif currentStatus == 2 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Attacking supporting ships in the west. " + elseif currentStatus == 3 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Attacking invading ships in the north. " + elseif currentStatus == 4 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "In orbit and awaiting further instructions. " + elseif currentStatus == 5 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Holding Weapons. " + elseif currentStatus == 6 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Return to Krasnodar. " + elseif currentStatus == 7 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Destroyed. " + elseif currentStatus == 8 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Take-Off. " + end + else + if currentStatus == 7 then + msg = msg .. string.format("%s: ",groupName) + msg = msg .. "Destroyed. " + else + Su34Destroyed(groupName) + end + end + end + + boardMsgRed.statusMsg = msg +end + + +function UpdateBoardMsg() +--trace.f() + Su34OverviewStatus() + MessageToRed( boardMsgRed.statusMsg, 15, 'RedStatus' ) +end + +function MusicReset( flg ) +--trace.f() + trigger.action.setUserFlag(95,flg) +end + +function PlaneActivate(groupNameFormat, flg) +--trace.f() + local groupName = groupNameFormat .. string.format("#%03d", trigger.misc.getUserFlag(flg)) + --trigger.action.outText(groupName,10) + trigger.action.activateGroup(Group.getByName(groupName)) +end + +function Su34Menu(groupName) +--trace.f() + + --env.info(( 'Su34Menu(' .. groupName .. ')' )) + local groupSu34 = Group.getByName( groupName ) + + if Su34Status.status[groupName] == 1 or + Su34Status.status[groupName] == 2 or + Su34Status.status[groupName] == 3 or + Su34Status.status[groupName] == 4 or + Su34Status.status[groupName] == 5 then + if Su34MenuPath[groupName] == nil then + if planeMenuPath == nil then + planeMenuPath = missionCommands.addSubMenuForCoalition( + coalition.side.RED, + "SU-34 anti-ship flights", + nil + ) + end + Su34MenuPath[groupName] = missionCommands.addSubMenuForCoalition( + coalition.side.RED, + "Flight " .. groupName, + planeMenuPath + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Attack carrier Carl Vinson", + Su34MenuPath[groupName], + Su34AttackCarlVinson, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Attack ships in the west", + Su34MenuPath[groupName], + Su34AttackWest, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Attack ships in the north", + Su34MenuPath[groupName], + Su34AttackNorth, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Hold position and await instructions", + Su34MenuPath[groupName], + Su34Orbit, + groupName + ) + + missionCommands.addCommandForCoalition( + coalition.side.RED, + "Report status", + Su34MenuPath[groupName], + Su34OverviewStatus + ) + end + else + if Su34MenuPath[groupName] then + missionCommands.removeItemForCoalition(coalition.side.RED, Su34MenuPath[groupName]) + end + end +end + +--- Obsolete function, but kept to rework in framework. + +function ChooseInfantry ( TeleportPrefixTable, TeleportMax ) +--trace.f("Spawn") + --env.info(( 'ChooseInfantry: ' )) + + TeleportPrefixTableCount = #TeleportPrefixTable + TeleportPrefixTableIndex = math.random( 1, TeleportPrefixTableCount ) + + --env.info(( 'ChooseInfantry: TeleportPrefixTableIndex = ' .. TeleportPrefixTableIndex .. ' TeleportPrefixTableCount = ' .. TeleportPrefixTableCount .. ' TeleportMax = ' .. TeleportMax )) + + local TeleportFound = false + local TeleportLoop = true + local Index = TeleportPrefixTableIndex + local TeleportPrefix = '' + + while TeleportLoop do + TeleportPrefix = TeleportPrefixTable[Index] + if SpawnSettings[TeleportPrefix] then + if SpawnSettings[TeleportPrefix]['SpawnCount'] - 1 < TeleportMax then + SpawnSettings[TeleportPrefix]['SpawnCount'] = SpawnSettings[TeleportPrefix]['SpawnCount'] + 1 + TeleportFound = true + else + TeleportFound = false + end + else + SpawnSettings[TeleportPrefix] = {} + SpawnSettings[TeleportPrefix]['SpawnCount'] = 0 + TeleportFound = true + end + if TeleportFound then + TeleportLoop = false + else + if Index < TeleportPrefixTableCount then + Index = Index + 1 + else + TeleportLoop = false + end + end + --env.info(( 'ChooseInfantry: Loop 1 - TeleportPrefix = ' .. TeleportPrefix .. ' Index = ' .. Index )) + end + + if TeleportFound == false then + TeleportLoop = true + Index = 1 + while TeleportLoop do + TeleportPrefix = TeleportPrefixTable[Index] + if SpawnSettings[TeleportPrefix] then + if SpawnSettings[TeleportPrefix]['SpawnCount'] - 1 < TeleportMax then + SpawnSettings[TeleportPrefix]['SpawnCount'] = SpawnSettings[TeleportPrefix]['SpawnCount'] + 1 + TeleportFound = true + else + TeleportFound = false + end + else + SpawnSettings[TeleportPrefix] = {} + SpawnSettings[TeleportPrefix]['SpawnCount'] = 0 + TeleportFound = true + end + if TeleportFound then + TeleportLoop = false + else + if Index < TeleportPrefixTableIndex then + Index = Index + 1 + else + TeleportLoop = false + end + end + --env.info(( 'ChooseInfantry: Loop 2 - TeleportPrefix = ' .. TeleportPrefix .. ' Index = ' .. Index )) + end + end + + local TeleportGroupName = '' + if TeleportFound == true then + TeleportGroupName = TeleportPrefix .. string.format("#%03d", SpawnSettings[TeleportPrefix]['SpawnCount'] ) + else + TeleportGroupName = '' + end + + --env.info(('ChooseInfantry: TeleportGroupName = ' .. TeleportGroupName )) + --env.info(('ChooseInfantry: return')) + + return TeleportGroupName +end + +SpawnedInfantry = 0 + +function LandCarrier ( CarrierGroup, LandingZonePrefix ) +--trace.f() + --env.info(( 'LandCarrier: ' )) + --env.info(( 'LandCarrier: CarrierGroup = ' .. CarrierGroup:getName() )) + --env.info(( 'LandCarrier: LandingZone = ' .. LandingZonePrefix )) + + local controllerGroup = CarrierGroup:getController() + + local LandingZone = trigger.misc.getZone(LandingZonePrefix) + local LandingZonePos = {} + LandingZonePos.x = LandingZone.point.x + math.random(LandingZone.radius * -1, LandingZone.radius) + LandingZonePos.y = LandingZone.point.z + math.random(LandingZone.radius * -1, LandingZone.radius) + + controllerGroup:pushTask( { id = 'Land', params = { point = LandingZonePos, durationFlag = true, duration = 10 } } ) + + --env.info(( 'LandCarrier: end' )) +end + +EscortCount = 0 +function EscortCarrier ( CarrierGroup, EscortPrefix, EscortLastWayPoint, EscortEngagementDistanceMax, EscortTargetTypes ) +--trace.f() + --env.info(( 'EscortCarrier: ' )) + --env.info(( 'EscortCarrier: CarrierGroup = ' .. CarrierGroup:getName() )) + --env.info(( 'EscortCarrier: EscortPrefix = ' .. EscortPrefix )) + + local CarrierName = CarrierGroup:getName() + + local EscortMission = {} + local CarrierMission = {} + + local EscortMission = SpawnMissionGroup( EscortPrefix ) + local CarrierMission = SpawnMissionGroup( CarrierGroup:getName() ) + + if EscortMission ~= nil and CarrierMission ~= nil then + + EscortCount = EscortCount + 1 + EscortMissionName = string.format( EscortPrefix .. '#Escort %s', CarrierName ) + EscortMission.name = EscortMissionName + EscortMission.groupId = nil + EscortMission.lateActivation = false + EscortMission.taskSelected = false + + local EscortUnits = #EscortMission.units + for u = 1, EscortUnits do + EscortMission.units[u].name = string.format( EscortPrefix .. '#Escort %s %02d', CarrierName, u ) + EscortMission.units[u].unitId = nil + end + + + EscortMission.route.points[1].task = { id = "ComboTask", + params = + { + tasks = + { + [1] = + { + enabled = true, + auto = false, + id = "Escort", + number = 1, + params = + { + lastWptIndexFlagChangedManually = false, + groupId = CarrierGroup:getID(), + lastWptIndex = nil, + lastWptIndexFlag = false, + engagementDistMax = EscortEngagementDistanceMax, + targetTypes = EscortTargetTypes, + pos = + { + y = 20, + x = 20, + z = 0, + } -- end of ["pos"] + } -- end of ["params"] + } -- end of [1] + } -- end of ["tasks"] + } -- end of ["params"] + } -- end of ["task"] + + SpawnGroupAdd( EscortPrefix, EscortMission ) + + end +end + +function SendMessageToCarrier( CarrierGroup, CarrierMessage ) +--trace.f() + + if CarrierGroup ~= nil then + MessageToGroup( CarrierGroup, CarrierMessage, 30, 'Carrier/' .. CarrierGroup:getName() ) + end + +end + +function MessageToGroup( MsgGroup, MsgText, MsgTime, MsgName ) +--trace.f() + + if type(MsgGroup) == 'string' then + --env.info( 'MessageToGroup: Converted MsgGroup string "' .. MsgGroup .. '" into a Group structure.' ) + MsgGroup = Group.getByName( MsgGroup ) + end + + if MsgGroup ~= nil then + local MsgTable = {} + MsgTable.text = MsgText + MsgTable.displayTime = MsgTime + MsgTable.msgFor = { units = { MsgGroup:getUnits()[1]:getName() } } + MsgTable.name = MsgName + --routines.message.add( MsgTable ) + --env.info(('MessageToGroup: Message sent to ' .. MsgGroup:getUnits()[1]:getName() .. ' -> ' .. MsgText )) + end +end + +function MessageToUnit( UnitName, MsgText, MsgTime, MsgName ) +--trace.f() + + if UnitName ~= nil then + local MsgTable = {} + MsgTable.text = MsgText + MsgTable.displayTime = MsgTime + MsgTable.msgFor = { units = { UnitName } } + MsgTable.name = MsgName + --routines.message.add( MsgTable ) + end +end + +function MessageToAll( MsgText, MsgTime, MsgName ) +--trace.f() + + MESSAGE:New( MsgText, "Message", MsgTime, MsgName ):ToCoalition( coalition.side.RED ):ToCoalition( coalition.side.BLUE ) +end + +function MessageToRed( MsgText, MsgTime, MsgName ) +--trace.f() + + MESSAGE:New( MsgText, "To Red Coalition", MsgTime, MsgName ):ToCoalition( coalition.side.RED ) +end + +function MessageToBlue( MsgText, MsgTime, MsgName ) +--trace.f() + + MESSAGE:New( MsgText, "To Blue Coalition", MsgTime, MsgName ):ToCoalition( coalition.side.RED ) +end + +function getCarrierHeight( CarrierGroup ) +--trace.f() + + if CarrierGroup ~= nil then + if table.getn(CarrierGroup:getUnits()) == 1 then + local CarrierUnit = CarrierGroup:getUnits()[1] + local CurrentPoint = CarrierUnit:getPoint() + + local CurrentPosition = { x = CurrentPoint.x, y = CurrentPoint.z } + local CarrierHeight = CurrentPoint.y + + local LandHeight = land.getHeight( CurrentPosition ) + + --env.info(( 'CarrierHeight: LandHeight = ' .. LandHeight .. ' CarrierHeight = ' .. CarrierHeight )) + + return CarrierHeight - LandHeight + else + return 999999 + end + else + return 999999 + end + +end + +function GetUnitHeight( CheckUnit ) +--trace.f() + + local UnitPoint = CheckUnit:getPoint() + local UnitPosition = { x = CurrentPoint.x, y = CurrentPoint.z } + local UnitHeight = CurrentPoint.y + + local LandHeight = land.getHeight( CurrentPosition ) + + --env.info(( 'CarrierHeight: LandHeight = ' .. LandHeight .. ' CarrierHeight = ' .. CarrierHeight )) + + return UnitHeight - LandHeight + +end + + +_MusicTable = {} +_MusicTable.Files = {} +_MusicTable.Queue = {} +_MusicTable.FileCnt = 0 + + +function MusicRegister( SndRef, SndFile, SndTime ) +--trace.f() + + env.info(( 'MusicRegister: SndRef = ' .. SndRef )) + env.info(( 'MusicRegister: SndFile = ' .. SndFile )) + env.info(( 'MusicRegister: SndTime = ' .. SndTime )) + + + _MusicTable.FileCnt = _MusicTable.FileCnt + 1 + + _MusicTable.Files[_MusicTable.FileCnt] = {} + _MusicTable.Files[_MusicTable.FileCnt].Ref = SndRef + _MusicTable.Files[_MusicTable.FileCnt].File = SndFile + _MusicTable.Files[_MusicTable.FileCnt].Time = SndTime + + if not _MusicTable.Function then + _MusicTable.Function = routines.scheduleFunction( MusicScheduler, { }, timer.getTime() + 10, 10) + end + +end + +function MusicToPlayer( SndRef, PlayerName, SndContinue ) +--trace.f() + + --env.info(( 'MusicToPlayer: SndRef = ' .. SndRef )) + + local PlayerUnits = AlivePlayerUnits() + for PlayerUnitIdx, PlayerUnit in pairs(PlayerUnits) do + local PlayerUnitName = PlayerUnit:getPlayerName() + --env.info(( 'MusicToPlayer: PlayerUnitName = ' .. PlayerUnitName )) + if PlayerName == PlayerUnitName then + PlayerGroup = PlayerUnit:getGroup() + if PlayerGroup then + --env.info(( 'MusicToPlayer: PlayerGroup = ' .. PlayerGroup:getName() )) + MusicToGroup( SndRef, PlayerGroup, SndContinue ) + end + break + end + end + + --env.info(( 'MusicToPlayer: end' )) + +end + +function MusicToGroup( SndRef, SndGroup, SndContinue ) +--trace.f() + + --env.info(( 'MusicToGroup: SndRef = ' .. SndRef )) + + if SndGroup ~= nil then + if _MusicTable and _MusicTable.FileCnt > 0 then + if SndGroup:isExist() then + if MusicCanStart(SndGroup:getUnit(1):getPlayerName()) then + --env.info(( 'MusicToGroup: OK for Sound.' )) + local SndIdx = 0 + if SndRef == '' then + --env.info(( 'MusicToGroup: SndRef as empty. Queueing at random.' )) + SndIdx = math.random( 1, _MusicTable.FileCnt ) + else + for SndIdx = 1, _MusicTable.FileCnt do + if _MusicTable.Files[SndIdx].Ref == SndRef then + break + end + end + end + --env.info(( 'MusicToGroup: SndIdx = ' .. SndIdx )) + --env.info(( 'MusicToGroup: Queueing Music ' .. _MusicTable.Files[SndIdx].File .. ' for Group ' .. SndGroup:getID() )) + trigger.action.outSoundForGroup( SndGroup:getID(), _MusicTable.Files[SndIdx].File ) + MessageToGroup( SndGroup, 'Playing ' .. _MusicTable.Files[SndIdx].File, 15, 'Music-' .. SndGroup:getUnit(1):getPlayerName() ) + + local SndQueueRef = SndGroup:getUnit(1):getPlayerName() + if _MusicTable.Queue[SndQueueRef] == nil then + _MusicTable.Queue[SndQueueRef] = {} + end + _MusicTable.Queue[SndQueueRef].Start = timer.getTime() + _MusicTable.Queue[SndQueueRef].PlayerName = SndGroup:getUnit(1):getPlayerName() + _MusicTable.Queue[SndQueueRef].Group = SndGroup + _MusicTable.Queue[SndQueueRef].ID = SndGroup:getID() + _MusicTable.Queue[SndQueueRef].Ref = SndIdx + _MusicTable.Queue[SndQueueRef].Continue = SndContinue + _MusicTable.Queue[SndQueueRef].Type = Group + end + end + end + end +end + +function MusicCanStart(PlayerName) +--trace.f() + + --env.info(( 'MusicCanStart:' )) + + local MusicOut = false + + if _MusicTable['Queue'] ~= nil and _MusicTable.FileCnt > 0 then + --env.info(( 'MusicCanStart: PlayerName = ' .. PlayerName )) + local PlayerFound = false + local MusicStart = 0 + local MusicTime = 0 + for SndQueueIdx, SndQueue in pairs( _MusicTable.Queue ) do + if SndQueue.PlayerName == PlayerName then + PlayerFound = true + MusicStart = SndQueue.Start + MusicTime = _MusicTable.Files[SndQueue.Ref].Time + break + end + end + if PlayerFound then + --env.info(( 'MusicCanStart: MusicStart = ' .. MusicStart )) + --env.info(( 'MusicCanStart: MusicTime = ' .. MusicTime )) + --env.info(( 'MusicCanStart: timer.getTime() = ' .. timer.getTime() )) + + if MusicStart + MusicTime <= timer.getTime() then + MusicOut = true + end + else + MusicOut = true + end + end + + if MusicOut then + --env.info(( 'MusicCanStart: true' )) + else + --env.info(( 'MusicCanStart: false' )) + end + + return MusicOut +end + +function MusicScheduler() +--trace.scheduled("", "MusicScheduler") + + --env.info(( 'MusicScheduler:' )) + if _MusicTable['Queue'] ~= nil and _MusicTable.FileCnt > 0 then + --env.info(( 'MusicScheduler: Walking Sound Queue.')) + for SndQueueIdx, SndQueue in pairs( _MusicTable.Queue ) do + if SndQueue.Continue then + if MusicCanStart(SndQueue.PlayerName) then + --env.info(('MusicScheduler: MusicToGroup')) + MusicToPlayer( '', SndQueue.PlayerName, true ) + end + end + end + end + +end + + +env.info(( 'Init: Scripts Loaded v1.1' )) + +--- BASE classes. +-- +-- @{#BASE} class +-- ============== +-- The @{#BASE} class is the super class for most of the classes defined within MOOSE. +-- +-- It handles: +-- +-- * The construction and inheritance of child classes. +-- * The tracing of objects during mission execution within the DCS.log file (under saved games folder). +-- +-- Note: Normally you would not use the BASE class unless you are extending the MOOSE framework with new classes. +-- +-- BASE Trace functionality +-- ======================== +-- The BASE class contains trace methods to trace progress within a mission execution of a certain object. +-- Note that these trace methods are inherited by each MOOSE class interiting BASE. +-- As such, each object created from derived class from BASE can use the tracing functions to trace its execution. +-- +-- Trace a function call +-- --------------------- +-- There are basically 3 types of tracing methods available within BASE: +-- +-- * @{#BASE.F}: Trace the beginning of a function and its given parameters. +-- * @{#BASE.T}: Trace further logic within a function giving optional variables or parameters. +-- * @{#BASE.E}: Trace an execption within a function giving optional variables or parameters. An exception will always be traced. +-- +-- Tracing levels +-- -------------- +-- There are 3 tracing levels within MOOSE. +-- These tracing levels were defined to avoid bulks of tracing to be generated by lots of objects. +-- +-- As such, the F and T methods have additional variants to trace level 2 and 3 respectively: +-- +-- * @{#BASE.F2}: Trace the beginning of a function and its given parameters with tracing level 2. +-- * @{#BASE.F3}: Trace the beginning of a function and its given parameters with tracing level 3. +-- * @{#BASE.T2}: Trace further logic within a function giving optional variables or parameters with tracing level 2. +-- * @{#BASE.T3}: Trace further logic within a function giving optional variables or parameters with tracing level 3. +-- +-- BASE Inheritance support +-- ======================== +-- The following methods are available to support inheritance: +-- +-- * @{#BASE.Inherit}: Inherits from a class. +-- * @{#BASE.Inherited}: Returns the parent class from the class. +-- +-- Future +-- ====== +-- Further methods may be added to BASE whenever there is a need to make "overall" functions available within MOOSE. +-- +-- ==== +-- +-- @module Base +-- @author FlightControl + +Include.File( "Routines" ) + +local _TraceOn = true +local _TraceLevel = 1 +local _TraceClass = { + --DATABASE = true, + --SEAD = true, + --DESTROYBASETASK = true, + --MOVEMENT = true, + --SPAWN = true, + --STAGE = true, + --ZONE = true, + --GROUP = true, + --UNIT = true, + --CLIENT = true, + --CARGO = true, + --CARGO_GROUP = true, + --CARGO_PACKAGE = true, + --CARGO_SLINGLOAD = true, + --CARGO_ZONE = true, + --CLEANUP = true, + --MENU_CLIENT = true, + --MENU_CLIENT_COMMAND = true, + --ESCORT = true, + } +local _TraceClassMethod = {} + +--- The BASE Class +-- @type BASE +-- @field ClassName The name of the class. +-- @field ClassID The ID number of the class. +BASE = { + ClassName = "BASE", + ClassID = 0, + Events = {} +} + +--- The Formation Class +-- @type FORMATION +-- @field Cone A cone formation. +FORMATION = { + Cone = "Cone" +} + + + +--- The base constructor. This is the top top class of all classed defined within the MOOSE. +-- Any new class needs to be derived from this class for proper inheritance. +-- @param #BASE self +-- @return #BASE The new instance of the BASE class. +-- @usage +-- function TASK:New() +-- +-- local self = BASE:Inherit( self, BASE:New() ) +-- +-- -- assign Task default values during construction +-- self.TaskBriefing = "Task: No Task." +-- self.Time = timer.getTime() +-- self.ExecuteStage = _TransportExecuteStage.NONE +-- +-- return self +-- end +-- @todo need to investigate if the deepCopy is really needed... Don't think so. + +function BASE:New() + local Child = routines.utils.deepCopy( self ) + local Parent = {} + setmetatable( Child, Parent ) + Child.__index = Child + self.ClassID = self.ClassID + 1 + Child.ClassID = self.ClassID + --Child.AddEvent( Child, S_EVENT_BIRTH, Child.EventBirth ) + return Child +end + +--- This is the worker method to inherit from a parent class. +-- @param #BASE self +-- @param Child is the Child class that inherits. +-- @param #BASE Parent is the Parent class that the Child inherits from. +-- @return #BASE Child +function BASE:Inherit( Child, Parent ) + local Child = routines.utils.deepCopy( Child ) + local Parent = routines.utils.deepCopy( Parent ) + if Child ~= nil then + setmetatable( Child, Parent ) + Child.__index = Child + end + --Child.ClassName = Child.ClassName .. '.' .. Child.ClassID + self:T( 'Inherited from ' .. Parent.ClassName ) + return Child +end + +--- This is the worker method to retrieve the Parent class. +-- @param #BASE self +-- @param #BASE Child is the Child class from which the Parent class needs to be retrieved. +-- @return #BASE +function BASE:Inherited( Child ) + local Parent = getmetatable( Child ) +-- env.info('Inherited class of ' .. Child.ClassName .. ' is ' .. Parent.ClassName ) + return Parent +end + +--- Get the ClassName + ClassID of the class instance. +-- The ClassName + ClassID is formatted as '%s#%09d'. +-- @param #BASE self +-- @return #string The ClassName + ClassID of the class instance. +function BASE:GetClassNameAndID() + return string.format( '%s#%09d', self:GetClassName(), self:GetClassID() ) +end + +--- Get the ClassName of the class instance. +-- @param #BASE self +-- @return #string The ClassName of the class instance. +function BASE:GetClassName() + return self.ClassName +end + +--- Get the ClassID of the class instance. +-- @param #BASE self +-- @return #string The ClassID of the class instance. +function BASE:GetClassID() + return self.ClassID +end + +--- Set a new listener for the class. +-- @param self +-- @param DCSTypes#Event Event +-- @param #function EventFunction +-- @return #BASE +function BASE:AddEvent( Event, EventFunction ) + self:F( Event ) + + self.Events[#self.Events+1] = {} + self.Events[#self.Events].Event = Event + self.Events[#self.Events].EventFunction = EventFunction + self.Events[#self.Events].EventEnabled = false + + return self +end + +--- Returns the event dispatcher +-- @param #BASE self +-- @return Event#EVENT +function BASE:Event() + + return _EVENTDISPATCHER +end + + + + + +--- Enable the event listeners for the class. +-- @param #BASE self +-- @return #BASE +function BASE:EnableEvents() + self:F( #self.Events ) + + for EventID, Event in pairs( self.Events ) do + Event.Self = self + Event.EventEnabled = true + end + self.Events.Handler = world.addEventHandler( self ) + + return self +end + + +--- Disable the event listeners for the class. +-- @param #BASE self +-- @return #BASE +function BASE:DisableEvents() + self:F() + + world.removeEventHandler( self ) + for EventID, Event in pairs( self.Events ) do + Event.Self = nil + Event.EventEnabled = false + end + + return self +end + + +local BaseEventCodes = { + "S_EVENT_SHOT", + "S_EVENT_HIT", + "S_EVENT_TAKEOFF", + "S_EVENT_LAND", + "S_EVENT_CRASH", + "S_EVENT_EJECTION", + "S_EVENT_REFUELING", + "S_EVENT_DEAD", + "S_EVENT_PILOT_DEAD", + "S_EVENT_BASE_CAPTURED", + "S_EVENT_MISSION_START", + "S_EVENT_MISSION_END", + "S_EVENT_TOOK_CONTROL", + "S_EVENT_REFUELING_STOP", + "S_EVENT_BIRTH", + "S_EVENT_HUMAN_FAILURE", + "S_EVENT_ENGINE_STARTUP", + "S_EVENT_ENGINE_SHUTDOWN", + "S_EVENT_PLAYER_ENTER_UNIT", + "S_EVENT_PLAYER_LEAVE_UNIT", + "S_EVENT_PLAYER_COMMENT", + "S_EVENT_SHOOTING_START", + "S_EVENT_SHOOTING_END", + "S_EVENT_MAX", +} + +--onEvent( {[1]="S_EVENT_BIRTH",[2]={["subPlace"]=5,["time"]=0,["initiator"]={["id_"]=16884480,},["place"]={["id_"]=5000040,},["id"]=15,["IniUnitName"]="US F-15C@RAMP-Air Support Mountains#001-01",},} +-- Event = { +-- id = enum world.event, +-- time = Time, +-- initiator = Unit, +-- target = Unit, +-- place = Unit, +-- subPlace = enum world.BirthPlace, +-- weapon = Weapon +-- } + +--- Creation of a Birth Event. +-- @param #BASE self +-- @param DCSTypes#Time EventTime The time stamp of the event. +-- @param DCSObject#Object Initiator The initiating object of the event. +-- @param #string IniUnitName The initiating unit name. +-- @param place +-- @param subplace +function BASE:CreateEventBirth( EventTime, Initiator, IniUnitName, place, subplace ) + self:F( { EventTime, Initiator, IniUnitName, place, subplace } ) + + local Event = { + id = world.event.S_EVENT_BIRTH, + time = EventTime, + initiator = Initiator, + IniUnitName = IniUnitName, + place = place, + subplace = subplace + } + + world.onEvent( Event ) +end + +--- Creation of a Crash Event. +-- @param #BASE self +-- @param DCSTypes#Time EventTime The time stamp of the event. +-- @param DCSObject#Object Initiator The initiating object of the event. +function BASE:CreateEventCrash( EventTime, Initiator ) + self:F( { EventTime, Initiator } ) + + local Event = { + id = world.event.S_EVENT_CRASH, + time = EventTime, + initiator = Initiator, + } + + world.onEvent( Event ) +end + +-- TODO: Complete DCSTypes#Event structure. +--- The main event handling function... This function captures all events generated for the class. +-- @param #BASE self +-- @param DCSTypes#Event event +function BASE:onEvent(event) + --self:F( { BaseEventCodes[event.id], event } ) + + if self then + for EventID, EventObject in pairs( self.Events ) do + if EventObject.EventEnabled then + --env.info( 'onEvent Table EventObject.Self = ' .. tostring(EventObject.Self) ) + --env.info( 'onEvent event.id = ' .. tostring(event.id) ) + --env.info( 'onEvent EventObject.Event = ' .. tostring(EventObject.Event) ) + if event.id == EventObject.Event then + if self == EventObject.Self then + if event.initiator and event.initiator:isExist() then + event.IniUnitName = event.initiator:getName() + end + if event.target and event.target:isExist() then + event.TgtUnitName = event.target:getName() + end + --self:T( { BaseEventCodes[event.id], event } ) + --EventObject.EventFunction( self, event ) + end + end + end + end + end +end + +-- Trace section + +-- Log a trace (only shown when trace is on) +-- TODO: Make trace function using variable parameters. + +--- Set trace level +-- @param #BASE self +-- @param #number Level +function BASE:TraceLevel( Level ) + _TraceLevel = Level + self:E( "Tracing level " .. Level ) +end + +--- Set tracing for a class +-- @param #BASE self +-- @param #string Class +function BASE:TraceClass( Class ) + _TraceClass[Class] = true + _TraceClassMethod[Class] = {} + self:E( "Tracing class " .. Class ) +end + +--- Set tracing for a specific method of class +-- @param #BASE self +-- @param #string Class +-- @param #string Method +function BASE:TraceClassMethod( Class, Method ) + if not _TraceClassMethod[Class] then + _TraceClassMethod[Class] = {} + _TraceClassMethod[Class].Method = {} + end + _TraceClassMethod[Class].Method[Method] = true + self:E( "Tracing method " .. Method .. " of class " .. Class ) +end + +--- Trace a function call. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:F( Arguments ) + + if _TraceOn and ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then + + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + local Function = "function" + if DebugInfoCurrent.name then + Function = DebugInfoCurrent.name + end + + if _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName].Method[Function] then + local LineCurrent = DebugInfoCurrent.currentline + local LineFrom = 0 + if DebugInfoFrom then + LineFrom = DebugInfoFrom.currentline + end + env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "F", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) ) + end + end +end + +--- Trace a function call level 2. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:F2( Arguments ) + + if _TraceLevel >= 2 then + self:F( Arguments ) + end + +end + +--- Trace a function call level 3. Must be at the beginning of the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:F3( Arguments ) + + if _TraceLevel >= 3 then + self:F( Arguments ) + end + +end + +--- Trace a function logic. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:T( Arguments ) + + if _TraceOn and ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then + + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + local Function = "function" + if DebugInfoCurrent.name then + Function = DebugInfoCurrent.name + end + + if _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName].Method[Function] then + local LineCurrent = DebugInfoCurrent.currentline + local LineFrom = 0 + if DebugInfoFrom then + LineFrom = DebugInfoFrom.currentline + end + env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s" , LineCurrent, LineFrom, "T", self.ClassName, self.ClassID, routines.utils.oneLineSerialize( Arguments ) ) ) + end + end +end + +--- Trace a function logic level 2. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:T2( Arguments ) + + if _TraceLevel >= 2 then + self:T( Arguments ) + end + +end + +--- Trace a function logic level 3. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:T3( Arguments ) + + if _TraceLevel >= 3 then + self:T( Arguments ) + end + +end + +--- Log an exception which will be traced always. Can be anywhere within the function logic. +-- @param #BASE self +-- @param Arguments A #table or any field. +function BASE:E( Arguments ) + + local DebugInfoCurrent = debug.getinfo( 2, "nl" ) + local DebugInfoFrom = debug.getinfo( 3, "l" ) + + local Function = "function" + if DebugInfoCurrent.name then + Function = DebugInfoCurrent.name + end + + local LineCurrent = DebugInfoCurrent.currentline + local LineFrom = DebugInfoFrom.currentline + + env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) ) +end + + + +--- The EVENT class models an efficient event handling process between other classes and its units, weapons. +-- @module Event +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) + +--- The EVENT structure +-- @type EVENT +-- @field #EVENT.Events Events +EVENT = { + ClassName = "EVENT", + ClassID = 0, +} + +local _EVENTCODES = { + "S_EVENT_SHOT", + "S_EVENT_HIT", + "S_EVENT_TAKEOFF", + "S_EVENT_LAND", + "S_EVENT_CRASH", + "S_EVENT_EJECTION", + "S_EVENT_REFUELING", + "S_EVENT_DEAD", + "S_EVENT_PILOT_DEAD", + "S_EVENT_BASE_CAPTURED", + "S_EVENT_MISSION_START", + "S_EVENT_MISSION_END", + "S_EVENT_TOOK_CONTROL", + "S_EVENT_REFUELING_STOP", + "S_EVENT_BIRTH", + "S_EVENT_HUMAN_FAILURE", + "S_EVENT_ENGINE_STARTUP", + "S_EVENT_ENGINE_SHUTDOWN", + "S_EVENT_PLAYER_ENTER_UNIT", + "S_EVENT_PLAYER_LEAVE_UNIT", + "S_EVENT_PLAYER_COMMENT", + "S_EVENT_SHOOTING_START", + "S_EVENT_SHOOTING_END", + "S_EVENT_MAX", +} + +--- The Event structure +-- @type EVENTDATA +-- @field id +-- @field initiator +-- @field target +-- @field weapon +-- @field IniDCSUnit +-- @field IniDCSUnitName +-- @field IniDCSGroup +-- @field IniDCSGroupName +-- @field TgtDCSUnit +-- @field TgtDCSUnitName +-- @field TgtDCSGroup +-- @field TgtDCSGroupName +-- @field Weapon +-- @field WeaponName +-- @field WeaponTgtDCSUnit + +--- The Events structure +-- @type EVENT.Events +-- @field #number IniUnit + +function EVENT:New() + local self = BASE:Inherit( self, BASE:New() ) + self:F() + self.EventHandler = world.addEventHandler( self ) + return self +end + +function EVENT:EventText( EventID ) + + local EventText = _EVENTCODES[EventID] + + return EventText +end + + +--- Initializes the Events structure for the event +-- @param #EVENT self +-- @param DCSWorld#world.event EventID +-- @param #string EventClass +-- @return #EVENT.Events +function EVENT:Init( EventID, EventClass ) + self:F3( { _EVENTCODES[EventID], EventClass } ) + if not self.Events[EventID] then + self.Events[EventID] = {} + end + if not self.Events[EventID][EventClass] then + self.Events[EventID][EventClass] = {} + end + return self.Events[EventID][EventClass] +end + + +--- Create an OnDead event handler for a group +-- @param #EVENT self +-- @param #table EventTemplate +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @param #function OnEventFunction +-- @return #EVENT +function EVENT:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, OnEventFunction ) + self:F2( EventTemplate.name ) + + for EventUnitID, EventUnit in pairs( EventTemplate.units ) do + OnEventFunction( self, EventUnit.name, EventFunction, EventSelf ) + end + return self +end + +--- Set a new listener for an S_EVENT_X event independent from a unit or a weapon. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @param EventID +-- @return #EVENT +function EVENT:OnEventGeneric( EventFunction, EventSelf, EventID ) + self:F2( { EventID } ) + + local Event = self:Init( EventID, EventSelf:GetClassNameAndID() ) + Event.EventFunction = EventFunction + Event.EventSelf = EventSelf + return self +end + + +--- Set a new listener for an S_EVENT_X event +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @param EventID +-- @return #EVENT +function EVENT:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, EventID ) + self:F2( EventDCSUnitName ) + + local Event = self:Init( EventID, EventSelf:GetClassNameAndID() ) + if not Event.IniUnit then + Event.IniUnit = {} + end + Event.IniUnit[EventDCSUnitName] = {} + Event.IniUnit[EventDCSUnitName].EventFunction = EventFunction + Event.IniUnit[EventDCSUnitName].EventSelf = EventSelf + return self +end + + +--- Create an OnBirth event handler for a group +-- @param #EVENT self +-- @param Group#GROUP EventGroup +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnBirthForTemplate( EventTemplate, EventFunction, EventSelf ) + self:F( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, self.OnBirthForUnit ) + + return self +end + +--- Set a new listener for an S_EVENT_BIRTH event, and registers the unit born. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf +-- @return #EVENT +function EVENT:OnBirth( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_BIRTH ) + + return self +end + +--- Set a new listener for an S_EVENT_BIRTH event. +-- @param #EVENT self +-- @param #string EventDCSUnitName The id of the unit for the event to be handled. +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf +-- @return #EVENT +function EVENT:OnBirthForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_BIRTH ) + + return self +end + +--- Create an OnCrash event handler for a group +-- @param #EVENT self +-- @param Group#GROUP EventGroup +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnCrashForTemplate( EventTemplate, EventFunction, EventSelf ) + self:F( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, self.OnCrashForUnit ) + + return self +end + +--- Set a new listener for an S_EVENT_CRASH event. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf +-- @return #EVENT +function EVENT:OnCrash( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_CRASH ) + + return self +end + +--- Set a new listener for an S_EVENT_CRASH event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnCrashForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_CRASH ) + + return self +end + +--- Create an OnDead event handler for a group +-- @param #EVENT self +-- @param Group#GROUP EventGroup +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnDeadForTemplate( EventTemplate, EventFunction, EventSelf ) + self:F( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, self.OnDeadForUnit ) + + return self +end + +--- Set a new listener for an S_EVENT_DEAD event. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf +-- @return #EVENT +function EVENT:OnDead( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_DEAD ) + + return self +end + + +--- Set a new listener for an S_EVENT_DEAD event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnDeadForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_DEAD ) + + return self +end + +--- Set a new listener for an S_EVENT_PILOT_DEAD event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnPilotDeadForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_PILOT_DEAD ) + + return self +end + +--- Create an OnDead event handler for a group +-- @param #EVENT self +-- @param #table EventTemplate +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnLandForTemplate( EventTemplate, EventFunction, EventSelf ) + self:F( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, self.OnLandForUnit ) + + return self +end + +--- Set a new listener for an S_EVENT_LAND event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnLandForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_LAND ) + + return self +end + +--- Create an OnDead event handler for a group +-- @param #EVENT self +-- @param #table EventTemplate +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnTakeOffForTemplate( EventTemplate, EventFunction, EventSelf ) + self:F( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, self.OnTakeOffForUnit ) + + return self +end + +--- Set a new listener for an S_EVENT_TAKEOFF event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnTakeOffForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_TAKEOFF ) + + return self +end + +--- Create an OnDead event handler for a group +-- @param #EVENT self +-- @param #table EventTemplate +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnEngineShutDownForTemplate( EventTemplate, EventFunction, EventSelf ) + self:F( EventTemplate.name ) + + self:OnEventForTemplate( EventTemplate, EventFunction, EventSelf, self.OnEngineShutDownForUnit ) + + return self +end + +--- Set a new listener for an S_EVENT_ENGINE_SHUTDOWN event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnEngineShutDownForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_ENGINE_SHUTDOWN ) + + return self +end + +--- Set a new listener for an S_EVENT_ENGINE_STARTUP event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnEngineStartUpForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_ENGINE_STARTUP ) + + return self +end + +--- Set a new listener for an S_EVENT_SHOT event. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnShot( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_SHOT ) + + return self +end + +--- Set a new listener for an S_EVENT_SHOT event for a unit. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnShotForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_SHOT ) + + return self +end + +--- Set a new listener for an S_EVENT_HIT event. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnHit( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_HIT ) + + return self +end + +--- Set a new listener for an S_EVENT_HIT event. +-- @param #EVENT self +-- @param #string EventDCSUnitName +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnHitForUnit( EventDCSUnitName, EventFunction, EventSelf ) + self:F( EventDCSUnitName ) + + self:OnEventForUnit( EventDCSUnitName, EventFunction, EventSelf, world.event.S_EVENT_HIT ) + + return self +end + +--- Set a new listener for an S_EVENT_PLAYER_ENTER_UNIT event. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnPlayerEnterUnit( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_PLAYER_ENTER_UNIT ) + + return self +end + +--- Set a new listener for an S_EVENT_PLAYER_LEAVE_UNIT event. +-- @param #EVENT self +-- @param #function EventFunction The function to be called when the event occurs for the unit. +-- @param Base#BASE EventSelf The self instance of the class for which the event is. +-- @return #EVENT +function EVENT:OnPlayerLeaveUnit( EventFunction, EventSelf ) + self:F() + + self:OnEventGeneric( EventFunction, EventSelf, world.event.S_EVENT_PLAYER_LEAVE_UNIT ) + + return self +end + + + +function EVENT:onEvent( Event ) + self:F( { _EVENTCODES[Event.id], Event } ) + + if self and self.Events and self.Events[Event.id] then + if Event.initiator and Event.initiator:getCategory() == Object.Category.UNIT then + Event.IniDCSUnit = Event.initiator + Event.IniDCSGroup = Event.IniDCSUnit:getGroup() + Event.IniDCSUnitName = Event.IniDCSUnit:getName() + Event.IniDCSGroupName = "" + if Event.IniDCSGroup and Event.IniDCSGroup:isExist() then + Event.IniDCSGroupName = Event.IniDCSGroup:getName() + end + end + if Event.target then + if Event.target and Event.target:getCategory() == Object.Category.UNIT then + Event.TgtDCSUnit = Event.target + Event.TgtDCSGroup = Event.TgtDCSUnit:getGroup() + Event.TgtDCSUnitName = Event.TgtDCSUnit:getName() + Event.TgtDCSGroupName = "" + if Event.TgtDCSGroup and Event.TgtDCSGroup:isExist() then + Event.TgtDCSGroupName = Event.TgtDCSGroup:getName() + end + end + end + if Event.weapon then + Event.Weapon = Event.weapon + Event.WeaponName = Event.Weapon:getTypeName() + --Event.WeaponTgtDCSUnit = Event.Weapon:getTarget() + end + self:E( { _EVENTCODES[Event.id], Event } ) + for ClassName, EventData in pairs( self.Events[Event.id] ) do + if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then + self:T2( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } ) + EventData.IniUnit[Event.IniDCSUnitName].EventFunction( EventData.IniUnit[Event.IniDCSUnitName].EventSelf, Event ) + else + if Event.IniDCSUnit and not EventData.IniUnit then + self:T2( { "Calling event function for class ", ClassName } ) + EventData.EventFunction( EventData.EventSelf, Event ) + end + end + end + end +end + +--- Encapsulation of DCS World Menu system in a set of MENU classes. +-- @module Menu + +Include.File( "Routines" ) +Include.File( "Base" ) + +--- The MENU class +-- @type MENU +-- @extends Base#BASE +MENU = { + ClassName = "MENU", + MenuPath = nil, + MenuText = "", + MenuParentPath = nil +} + +--- +function MENU:New( MenuText, MenuParentPath ) + + -- Arrange meta tables + local Child = BASE:Inherit( self, BASE:New() ) + + Child.MenuPath = nil + Child.MenuText = MenuText + Child.MenuParentPath = MenuParentPath + return Child +end + +--- The COMMANDMENU class +-- @type COMMANDMENU +-- @extends Menu#MENU +COMMANDMENU = { + ClassName = "COMMANDMENU", + CommandMenuFunction = nil, + CommandMenuArgument = nil +} + +function COMMANDMENU:New( MenuText, ParentMenu, CommandMenuFunction, CommandMenuArgument ) + + -- Arrange meta tables + + local MenuParentPath = nil + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local Child = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) ) + + Child.MenuPath = missionCommands.addCommand( MenuText, MenuParentPath, CommandMenuFunction, CommandMenuArgument ) + Child.CommandMenuFunction = CommandMenuFunction + Child.CommandMenuArgument = CommandMenuArgument + return Child +end + +--- The SUBMENU class +-- @type SUBMENU +-- @extends Menu#MENU +SUBMENU = { + ClassName = "SUBMENU" +} + +function SUBMENU:New( MenuText, ParentMenu ) + + -- Arrange meta tables + local MenuParentPath = nil + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local Child = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) ) + + Child.MenuPath = missionCommands.addSubMenu( MenuText, MenuParentPath ) + return Child +end + +-- This local variable is used to cache the menus registered under clients. +-- Menus don't dissapear when clients are destroyed and restarted. +-- So every menu for a client created must be tracked so that program logic accidentally does not create +-- the same menus twice during initialization logic. +-- These menu classes are handling this logic with this variable. +local _MENUCLIENTS = {} + +--- The MENU_CLIENT class +-- @type MENU_CLIENT +-- @extends Menu#MENU +MENU_CLIENT = { + ClassName = "MENU_CLIENT" +} + +--- Creates a new menu item for a group +-- @param self +-- @param Client#CLIENT MenuClient The Client owning the menu. +-- @param #string MenuText The text for the menu. +-- @param #table ParentMenu The parent menu. +-- @return #MENU_CLIENT self +function MENU_CLIENT:New( MenuClient, MenuText, ParentMenu ) + + -- Arrange meta tables + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) ) + self:F( { MenuClient, MenuText, ParentMenu } ) + + self.MenuClient = MenuClient + self.MenuClientGroupID = MenuClient:GetClientGroupID() + self.MenuParentPath = MenuParentPath + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self.Menus = {} + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + self:T( { MenuClient:GetClientGroupName(), MenuPath[table.concat(MenuParentPath)], MenuParentPath, MenuText } ) + + local MenuPathID = table.concat(MenuParentPath) .. "/" .. MenuText + if MenuPath[MenuPathID] then + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), MenuPath[MenuPathID] ) + end + + self.MenuPath = missionCommands.addSubMenuForGroup( self.MenuClient:GetClientGroupID(), MenuText, MenuParentPath ) + MenuPath[MenuPathID] = self.MenuPath + + self:T( { MenuClient:GetClientGroupName(), self.MenuPath } ) + + if ParentMenu and ParentMenu.Menus then + ParentMenu.Menus[self.MenuPath] = self + end + return self +end + +--- Removes the sub menus recursively of this MENU_CLIENT. +-- @param #MENU_CLIENT self +-- @return #MENU_CLIENT self +function MENU_CLIENT:RemoveSubMenus() + self:F( self.MenuPath ) + + for MenuID, Menu in pairs( self.Menus ) do + Menu:Remove() + end + +end + +--- Removes the sub menus recursively of this MENU_CLIENT. +-- @param #MENU_CLIENT self +-- @return #MENU_CLIENT self +function MENU_CLIENT:Remove() + self:F( self.MenuPath ) + + self:RemoveSubMenus() + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + if MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] then + MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] = nil + end + + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), self.MenuPath ) + self.ParentMenu.Menus[self.MenuPath] = nil + return nil +end + + +--- The MENU_CLIENT_COMMAND class +-- @type MENU_CLIENT_COMMAND +-- @extends Menu#MENU +MENU_CLIENT_COMMAND = { + ClassName = "MENU_CLIENT_COMMAND" +} + +--- Creates a new radio command item for a group +-- @param self +-- @param Client#CLIENT MenuClient The Client owning the menu. +-- @param MenuText The text for the menu. +-- @param ParentMenu The parent menu. +-- @param CommandMenuFunction A function that is called when the menu key is pressed. +-- @param CommandMenuArgument An argument for the function. +-- @return Menu#MENU_CLIENT_COMMAND self +function MENU_CLIENT_COMMAND:New( MenuClient, MenuText, ParentMenu, CommandMenuFunction, CommandMenuArgument ) + + -- Arrange meta tables + + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) ) + + self.MenuClient = MenuClient + self.MenuClientGroupID = MenuClient:GetClientGroupID() + self.MenuParentPath = MenuParentPath + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + self:T( { MenuClient:GetClientGroupName(), MenuPath[table.concat(MenuParentPath)], MenuParentPath, MenuText, CommandMenuFunction, CommandMenuArgument } ) + + local MenuPathID = table.concat(MenuParentPath) .. "/" .. MenuText + if MenuPath[MenuPathID] then + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), MenuPath[MenuPathID] ) + end + + self.MenuPath = missionCommands.addCommandForGroup( self.MenuClient:GetClientGroupID(), MenuText, MenuParentPath, CommandMenuFunction, CommandMenuArgument ) + MenuPath[MenuPathID] = self.MenuPath + + self.CommandMenuFunction = CommandMenuFunction + self.CommandMenuArgument = CommandMenuArgument + + ParentMenu.Menus[self.MenuPath] = self + + return self +end + +function MENU_CLIENT_COMMAND:Remove() + self:F( self.MenuPath ) + + if not _MENUCLIENTS[self.MenuClientGroupID] then + _MENUCLIENTS[self.MenuClientGroupID] = {} + end + + local MenuPath = _MENUCLIENTS[self.MenuClientGroupID] + + if MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] then + MenuPath[table.concat(self.MenuParentPath) .. "/" .. self.MenuText] = nil + end + + missionCommands.removeItemForGroup( self.MenuClient:GetClientGroupID(), self.MenuPath ) + self.ParentMenu.Menus[self.MenuPath] = nil + return nil +end + + +--- The MENU_COALITION class +-- @type MENU_COALITION +-- @extends Menu#MENU +MENU_COALITION = { + ClassName = "MENU_COALITION" +} + +--- Creates a new coalition menu item +-- @param #MENU_COALITION self +-- @param DCSCoalition#coalition.side MenuCoalition The coalition owning the menu. +-- @param #string MenuText The text for the menu. +-- @param #table ParentMenu The parent menu. +-- @return #MENU_COALITION self +function MENU_COALITION:New( MenuCoalition, MenuText, ParentMenu ) + + -- Arrange meta tables + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) ) + self:F( { MenuCoalition, MenuText, ParentMenu } ) + + self.MenuCoalition = MenuCoalition + self.MenuParentPath = MenuParentPath + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self.Menus = {} + + self:T( { MenuParentPath, MenuText } ) + + self.MenuPath = missionCommands.addSubMenuForCoalition( self.MenuCoalition, MenuText, MenuParentPath ) + + self:T( { self.MenuPath } ) + + if ParentMenu and ParentMenu.Menus then + ParentMenu.Menus[self.MenuPath] = self + end + return self +end + +--- Removes the sub menus recursively of this MENU_COALITION. +-- @param #MENU_COALITION self +-- @return #MENU_COALITION self +function MENU_COALITION:RemoveSubMenus() + self:F( self.MenuPath ) + + for MenuID, Menu in pairs( self.Menus ) do + Menu:Remove() + end + +end + +--- Removes the sub menus recursively of this MENU_COALITION. +-- @param #MENU_COALITION self +-- @return #MENU_COALITION self +function MENU_COALITION:Remove() + self:F( self.MenuPath ) + + self:RemoveSubMenus() + missionCommands.removeItemForCoalition( self.MenuCoalition, self.MenuPath ) + self.ParentMenu.Menus[self.MenuPath] = nil + + return nil +end + + +--- The MENU_COALITION_COMMAND class +-- @type MENU_COALITION_COMMAND +-- @extends Menu#MENU +MENU_COALITION_COMMAND = { + ClassName = "MENU_COALITION_COMMAND" +} + +--- Creates a new radio command item for a group +-- @param #MENU_COALITION_COMMAND self +-- @param DCSCoalition#coalition.side MenuCoalition The coalition owning the menu. +-- @param MenuText The text for the menu. +-- @param ParentMenu The parent menu. +-- @param CommandMenuFunction A function that is called when the menu key is pressed. +-- @param CommandMenuArgument An argument for the function. +-- @return #MENU_COALITION_COMMAND self +function MENU_COALITION_COMMAND:New( MenuCoalition, MenuText, ParentMenu, CommandMenuFunction, CommandMenuArgument ) + + -- Arrange meta tables + + local MenuParentPath = {} + if ParentMenu ~= nil then + MenuParentPath = ParentMenu.MenuPath + end + + local self = BASE:Inherit( self, MENU:New( MenuText, MenuParentPath ) ) + + self.MenuCoalition = MenuCoalition + self.MenuParentPath = MenuParentPath + self.MenuText = MenuText + self.ParentMenu = ParentMenu + + self:T( { MenuParentPath, MenuText, CommandMenuFunction, CommandMenuArgument } ) + + self.MenuPath = missionCommands.addCommandForCoalition( self.MenuCoalition, MenuText, MenuParentPath, CommandMenuFunction, CommandMenuArgument ) + + self.CommandMenuFunction = CommandMenuFunction + self.CommandMenuArgument = CommandMenuArgument + + ParentMenu.Menus[self.MenuPath] = self + + return self +end + +--- Removes a radio command item for a coalition +-- @param #MENU_COALITION_COMMAND self +-- @return #MENU_COALITION_COMMAND self +function MENU_COALITION_COMMAND:Remove() + self:F( self.MenuPath ) + + missionCommands.removeItemForCoalition( self.MenuCoalition, self.MenuPath ) + self.ParentMenu.Menus[self.MenuPath] = nil + return nil +end +--- GROUP class. +-- +-- @{GROUP} class +-- ============== +-- The @{GROUP} class is a wrapper class to handle the DCS Group objects: +-- +-- * Support all DCS Group APIs. +-- * Enhance with Group specific APIs not in the DCS Group API set. +-- * Handle local Group Controller. +-- * Manage the "state" of the DCS Group. +-- +-- +-- GROUP reference methods +-- ======================= +-- For each DCS Group object alive within a running mission, a GROUP wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Group objects are spawned (using the @{SPAWN} class). +-- +-- The GROUP class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference +-- using the DCS Group or the DCS GroupName. +-- +-- Another thing to know is that GROUP objects do not "contain" the DCS Group object. +-- The GROUP methods will reference the DCS Group object by name when it is needed during API execution. +-- If the DCS Group object does not exist or is nil, the GROUP methods will return nil and log an exception in the DCS.log file. +-- +-- The GROUP class provides the following functions to retrieve quickly the relevant GROUP instance: +-- +-- * @{#GROUP.Find}(): Find a GROUP instance from the _DATABASE object using a DCS Group object. +-- * @{#GROUP.FindByName}(): Find a GROUP instance from the _DATABASE object using a DCS Group name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these GROUP OBJECT REFERENCES! (make the GROUP object references nil). +-- @module Group +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Message" ) +Include.File( "Unit" ) + +--- The GROUP class +-- @type GROUP +-- @extends Base#BASE +-- @field DCSGroup#Group DCSGroup The DCS group class. +-- @field #string GroupName The name of the group. +GROUP = { + ClassName = "GROUP", + GroupName = "", + GroupID = 0, + Controller = nil, + DCSGroup = nil, + WayPointFunctions = {}, + } + +--- A DCSGroup +-- @type DCSGroup +-- @field id_ The ID of the group in DCS + +--- Create a new GROUP from a DCSGroup +-- @param #GROUP self +-- @param DCSGroup#Group GroupName The DCS Group name +-- @return #GROUP self +function GROUP:Register( GroupName ) + local self = BASE:Inherit( self, BASE:New() ) + self:F2( GroupName ) + self.GroupName = GroupName + return self +end + +-- Reference methods. + +--- Find the GROUP wrapper class instance using the DCS Group. +-- @param #GROUP self +-- @param DCSGroup#Group DCSGroup The DCS Group. +-- @return #GROUP The GROUP. +function GROUP:Find( DCSGroup ) + + local GroupName = DCSGroup:getName() -- Group#GROUP + local GroupFound = _DATABASE:FindGroup( GroupName ) + return GroupFound +end + +--- Find the created GROUP using the DCS Group Name. +-- @param #GROUP self +-- @param #string GroupName The DCS Group Name. +-- @return #GROUP The GROUP. +function GROUP:FindByName( GroupName ) + + local GroupFound = _DATABASE:FindGroup( GroupName ) + return GroupFound +end + +-- DCS Group methods support. + +--- Returns the DCS Group. +-- @param #GROUP self +-- @return DCSGroup#Group The DCS Group. +function GROUP:GetDCSGroup() + local DCSGroup = Group.getByName( self.GroupName ) + + if DCSGroup then + return DCSGroup + end + + return nil +end + + +--- Returns if the DCS Group is alive. +-- When the group exists at run-time, this method will return true, otherwise false. +-- @param #GROUP self +-- @return #boolean true if the DCS Group is alive. +function GROUP:IsAlive() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupIsAlive = DCSGroup:isExist() + self:T3( GroupIsAlive ) + return GroupIsAlive + end + + return nil +end + +--- Destroys the DCS Group and all of its DCS Units. +-- Note that this destroy method also raises a destroy event at run-time. +-- So all event listeners will catch the destroy event of this DCS Group. +-- @param #GROUP self +function GROUP:Destroy() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + for Index, UnitData in pairs( DCSGroup:getUnits() ) do + self:CreateEventCrash( timer.getTime(), UnitData ) + end + DCSGroup:destroy() + DCSGroup = nil + end + + return nil +end + +--- Returns category of the DCS Group. +-- @param #GROUP self +-- @return DCSGroup#Group.Category The category ID +function GROUP:GetCategory() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T3( GroupCategory ) + return GroupCategory + end + + return nil +end + +--- Returns the category name of the DCS Group. +-- @param #GROUP self +-- @return #string Category name = Helicopter, Airplane, Ground Unit, Ship +function GROUP:GetCategoryName() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local CategoryNames = { + [Group.Category.AIRPLANE] = "Airplane", + [Group.Category.HELICOPTER] = "Helicopter", + [Group.Category.GROUND] = "Ground Unit", + [Group.Category.SHIP] = "Ship", + } + local GroupCategory = DCSGroup:getCategory() + self:T3( GroupCategory ) + + return CategoryNames[GroupCategory] + end + + return nil +end + + +--- Returns the coalition of the DCS Group. +-- @param #GROUP self +-- @return DCSCoalitionObject#coalition.side The coalition side of the DCS Group. +function GROUP:GetCoalition() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local GroupCoalition = DCSGroup:getCoalition() + self:T3( GroupCoalition ) + return GroupCoalition + end + + return nil +end + +--- Returns the name of the DCS Group. +-- @param #GROUP self +-- @return #string The DCS Group name. +function GROUP:GetName() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupName = DCSGroup:getName() + self:T3( GroupName ) + return GroupName + end + + return nil +end + +--- Returns the DCS Group identifier. +-- @param #GROUP self +-- @return #number The identifier of the DCS Group. +function GROUP:GetID() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupID = DCSGroup:getID() + self:T3( GroupID ) + return GroupID + end + + return nil +end + +--- Returns the UNIT wrapper class with number UnitNumber. +-- If the underlying DCS Unit does not exist, the method will return nil. . +-- @param #GROUP self +-- @param #number UnitNumber The number of the UNIT wrapper class to be returned. +-- @return Unit#UNIT The UNIT wrapper class. +function GROUP:GetUnit( UnitNumber ) + self:F2( { self.GroupName, UnitNumber } ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local UnitFound = UNIT:Find( DCSGroup:getUnit( UnitNumber ) ) + self:T3( UnitFound.UnitName ) + self:T2( UnitFound ) + return UnitFound + end + + return nil +end + +--- Returns the DCS Unit with number UnitNumber. +-- If the underlying DCS Unit does not exist, the method will return nil. . +-- @param #GROUP self +-- @param #number UnitNumber The number of the DCS Unit to be returned. +-- @return DCSUnit#Unit The DCS Unit. +function GROUP:GetDCSUnit( UnitNumber ) + self:F2( { self.GroupName, UnitNumber } ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local DCSUnitFound = DCSGroup:getUnit( UnitNumber ) + self:T3( DCSUnitFound ) + return DCSUnitFound + end + + return nil +end + +--- Returns current size of the DCS Group. +-- If some of the DCS Units of the DCS Group are destroyed the size of the DCS Group is changed. +-- @param #GROUP self +-- @return #number The DCS Group size. +function GROUP:GetSize() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupSize = DCSGroup:getSize() + self:T3( GroupSize ) + return GroupSize + end + + return nil +end + +--- +--- Returns the initial size of the DCS Group. +-- If some of the DCS Units of the DCS Group are destroyed, the initial size of the DCS Group is unchanged. +-- @param #GROUP self +-- @return #number The DCS Group initial size. +function GROUP:GetInitialSize() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupInitialSize = DCSGroup:getInitialSize() + self:T3( GroupInitialSize ) + return GroupInitialSize + end + + return nil +end + +--- Returns the UNITs wrappers of the DCS Units of the DCS Group. +-- @param #GROUP self +-- @return #table The UNITs wrappers. +function GROUP:GetUnits() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local DCSUnits = DCSGroup:getUnits() + local Units = {} + for Index, UnitData in pairs( DCSUnits ) do + Units[#Units+1] = UNIT:Find( UnitData ) + end + self:T3( Units ) + return Units + end + + return nil +end + + +--- Returns the DCS Units of the DCS Group. +-- @param #GROUP self +-- @return #table The DCS Units. +function GROUP:GetDCSUnits() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local DCSUnits = DCSGroup:getUnits() + self:T3( DCSUnits ) + return DCSUnits + end + + return nil +end + +--- Get the controller for the GROUP. +-- @param #GROUP self +-- @return DCSController#Controller +function GROUP:_GetController() + self:F2( { self.GroupName } ) + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupController = DCSGroup:getController() + self:T3( GroupController ) + return GroupController + end + + return nil +end + + +--- Retrieve the group mission and allow to place function hooks within the mission waypoint plan. +-- Use the method @{Group#GROUP:WayPointFunction} to define the hook functions for specific waypoints. +-- Use the method @{Group@GROUP:WayPointExecute) to start the execution of the new mission plan. +-- Note that when WayPointInitialize is called, the Mission of the group is RESTARTED! +-- @param #GROUP self +-- @return #GROUP +function GROUP:WayPointInitialize() + + self.WayPoints = self:GetTaskRoute() + + return self +end + + +--- Registers a waypoint function that will be executed when the group moves over the WayPoint. +-- @param #GROUP self +-- @param #number WayPoint The waypoint number. Note that the start waypoint on the route is WayPoint 1! +-- @param #number WayPointIndex When defining multiple WayPoint functions for one WayPoint, use WayPointIndex to set the sequence of actions. +-- @param #function WayPointFunction The waypoint function to be called when the group moves over the waypoint. The waypoint function takes variable parameters. +-- @return #GROUP +function GROUP:WayPointFunction( WayPoint, WayPointIndex, WayPointFunction, ... ) + self:F2( { WayPoint, WayPointIndex, WayPointFunction } ) + + table.insert( self.WayPoints[WayPoint].task.params.tasks, WayPointIndex ) + self.WayPoints[WayPoint].task.params.tasks[WayPointIndex] = self:TaskFunction( WayPoint, WayPointIndex, WayPointFunction, arg ) + return self +end + + +function GROUP:TaskFunction( WayPoint, WayPointIndex, FunctionString, FunctionArguments ) + + local DCSTask + + local DCSScript = {} + DCSScript[#DCSScript+1] = "local MissionGroup = GROUP:Find( ... ) " + + if FunctionArguments.n > 0 then + DCSScript[#DCSScript+1] = FunctionString .. "( MissionGroup, " .. table.concat( FunctionArguments, "," ) .. ")" + else + DCSScript[#DCSScript+1] = FunctionString .. "( MissionGroup )" + end + + DCSTask = self:TaskWrappedAction( + self:CommandDoScript( + table.concat( DCSScript ) + ), WayPointIndex + ) + + self:T3( DCSTask ) + + return DCSTask + +end + + + +--- Executes the WayPoint plan. +-- The function gets a WayPoint parameter, that you can use to restart the mission at a specific WayPoint. +-- Note that when the WayPoint parameter is used, the new start mission waypoint of the group will be 1! +-- @param #GROUP self +-- @param #number WayPoint The WayPoint from where to execute the mission. +-- @param #WaitTime The amount seconds to wait before initiating the mission. +-- @return #GROUP +function GROUP:WayPointExecute( WayPoint, WaitTime ) + + if not WayPoint then + WayPoint = 1 + end + + -- When starting the mission from a certain point, the TaskPoints need to be deleted before the given WayPoint. + for TaskPointID = 1, WayPoint - 1 do + table.remove( self.WayPoints, 1 ) + end + + self:T3( self.WayPoints ) + + self:SetTask( self:TaskRoute( self.WayPoints ), WaitTime ) + + return self +end + + +--- Activates a GROUP. +-- @param #GROUP self +function GROUP:Activate() + self:F2( { self.GroupName } ) + trigger.action.activateGroup( self:GetDCSGroup() ) + return self:GetDCSGroup() +end + + +--- Gets the type name of the group. +-- @param #GROUP self +-- @return #string The type name of the group. +function GROUP:GetTypeName() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupTypeName = DCSGroup:getUnit(1):getTypeName() + self:T3( GroupTypeName ) + return( GroupTypeName ) + end + + return nil +end + +--- Gets the CallSign of the first DCS Unit of the DCS Group. +-- @param #GROUP self +-- @return #string The CallSign of the first DCS Unit of the DCS Group. +function GROUP:GetCallsign() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupCallSign = DCSGroup:getUnit(1):getCallsign() + self:T3( GroupCallSign ) + return GroupCallSign + end + + return nil +end + +--- Returns the current point (Vec2 vector) of the first DCS Unit in the DCS Group. +-- @return DCSTypes#Vec2 Current Vec2 point of the first DCS Unit of the DCS Group. +function GROUP:GetPointVec2() + self:F2( self.GroupName ) + + local GroupPointVec2 = self:GetUnit(1):GetPointVec2() + self:T3( GroupPointVec2 ) + return GroupPointVec2 +end + +--- Returns the current point (Vec3 vector) of the first DCS Unit in the DCS Group. +-- @return DCSTypes#Vec3 Current Vec3 point of the first DCS Unit of the DCS Group. +function GROUP:GetPointVec3() + self:F2( self.GroupName ) + + local GroupPointVec3 = self:GetUnit(1):GetPointVec3() + self:T3( GroupPointVec3 ) + return GroupPointVec3 +end + + + +-- Is Functions + +--- Returns if the group is of an air category. +-- If the group is a helicopter or a plane, then this method will return true, otherwise false. +-- @param #GROUP self +-- @return #boolean Air category evaluation result. +function GROUP:IsAir() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local IsAirResult = DCSGroup:getCategory() == Group.Category.AIRPLANE or DCSGroup:getCategory() == Group.Category.HELICOPTER + self:T3( IsAirResult ) + return IsAirResult + end + + return nil +end + +--- Returns if the DCS Group contains Helicopters. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains Helicopters. +function GROUP:IsHelicopter() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.HELICOPTER + end + + return nil +end + +--- Returns if the DCS Group contains AirPlanes. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains AirPlanes. +function GROUP:IsAirPlane() + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.AIRPLANE + end + + return nil +end + +--- Returns if the DCS Group contains Ground troops. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains Ground troops. +function GROUP:IsGround() + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.GROUND + end + + return nil +end + +--- Returns if the DCS Group contains Ships. +-- @param #GROUP self +-- @return #boolean true if DCS Group contains Ships. +function GROUP:IsShip() + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupCategory = DCSGroup:getCategory() + self:T2( GroupCategory ) + return GroupCategory == Group.Category.SHIP + end + + return nil +end + +--- Returns if all units of the group are on the ground or landed. +-- If all units of this group are on the ground, this function will return true, otherwise false. +-- @param #GROUP self +-- @return #boolean All units on the ground result. +function GROUP:AllOnGround() + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local AllOnGroundResult = true + + for Index, UnitData in pairs( DCSGroup:getUnits() ) do + if UnitData:inAir() then + AllOnGroundResult = false + end + end + + self:T3( AllOnGroundResult ) + return AllOnGroundResult + end + + return nil +end + +--- Returns the current maximum velocity of the group. +-- Each unit within the group gets evaluated, and the maximum velocity (= the unit which is going the fastest) is returned. +-- @param #GROUP self +-- @return #number Maximum velocity found. +function GROUP:GetMaxVelocity() + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local MaxVelocity = 0 + + for Index, UnitData in pairs( DCSGroup:getUnits() ) do + + local Velocity = UnitData:getVelocity() + local VelocityTotal = math.abs( Velocity.x ) + math.abs( Velocity.y ) + math.abs( Velocity.z ) + + if VelocityTotal < MaxVelocity then + MaxVelocity = VelocityTotal + end + end + + return MaxVelocity + end + + return nil +end + +--- Returns the current minimum height of the group. +-- Each unit within the group gets evaluated, and the minimum height (= the unit which is the lowest elevated) is returned. +-- @param #GROUP self +-- @return #number Minimum height found. +function GROUP:GetMinHeight() + self:F2() + +end + +--- Returns the current maximum height of the group. +-- Each unit within the group gets evaluated, and the maximum height (= the unit which is the highest elevated) is returned. +-- @param #GROUP self +-- @return #number Maximum height found. +function GROUP:GetMaxHeight() + self:F2() + +end + +-- Tasks + +--- Popping current Task from the group. +-- @param #GROUP self +-- @return Group#GROUP self +function GROUP:PopCurrentTask() + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local Controller = self:_GetController() + Controller:popTask() + return self + end + + return nil +end + +--- Pushing Task on the queue from the group. +-- @param #GROUP self +-- @return Group#GROUP self +function GROUP:PushTask( DCSTask, WaitTime ) + self:F2() + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local Controller = self:_GetController() + + -- When a group SPAWNs, it takes about a second to get the group in the simulator. Setting tasks to unspawned groups provides unexpected results. + -- Therefore we schedule the functions to set the mission and options for the Group. + -- Controller:pushTask( DCSTask ) + + if WaitTime then + routines.scheduleFunction( Controller.pushTask, { Controller, DCSTask }, timer.getTime() + WaitTime ) + else + Controller:pushTask( DCSTask ) + end + + return self + end + + return nil +end + +--- Clearing the Task Queue and Setting the Task on the queue from the group. +-- @param #GROUP self +-- @return Group#GROUP self +function GROUP:SetTask( DCSTask, WaitTime ) + self:F2( { DCSTask } ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + + local Controller = self:_GetController() + + -- When a group SPAWNs, it takes about a second to get the group in the simulator. Setting tasks to unspawned groups provides unexpected results. + -- Therefore we schedule the functions to set the mission and options for the Group. + -- Controller.setTask( Controller, DCSTask ) + + if not WaitTime then + WaitTime = 1 + end + routines.scheduleFunction( Controller.setTask, { Controller, DCSTask }, timer.getTime() + WaitTime ) + + return self + end + + return nil +end + + +--- Return a condition section for a controlled task +-- @param #GROUP self +-- @param DCSTime#Time time +-- @param #string userFlag +-- @param #boolean userFlagValue +-- @param #string condition +-- @param DCSTime#Time duration +-- @param #number lastWayPoint +-- return DCSTask#Task +function GROUP:TaskCondition( time, userFlag, userFlagValue, condition, duration, lastWayPoint ) + self:F2( { time, userFlag, userFlagValue, condition, duration, lastWayPoint } ) + + local DCSStopCondition = {} + DCSStopCondition.time = time + DCSStopCondition.userFlag = userFlag + DCSStopCondition.userFlagValue = userFlagValue + DCSStopCondition.condition = condition + DCSStopCondition.duration = duration + DCSStopCondition.lastWayPoint = lastWayPoint + + self:T3( { DCSStopCondition } ) + return DCSStopCondition +end + +--- Return a Controlled Task taking a Task and a TaskCondition +-- @param #GROUP self +-- @param DCSTask#Task DCSTask +-- @param #DCSStopCondition DCSStopCondition +-- @return DCSTask#Task +function GROUP:TaskControlled( DCSTask, DCSStopCondition ) + self:F2( { DCSTask, DCSStopCondition } ) + + local DCSTaskControlled + + DCSTaskControlled = { + id = 'ControlledTask', + params = { + task = DCSTask, + stopCondition = DCSStopCondition + } + } + + self:T3( { DCSTaskControlled } ) + return DCSTaskControlled +end + +--- Return a Combo Task taking an array of Tasks +-- @param #GROUP self +-- @param #list DCSTasks +-- @return DCSTask#Task +function GROUP:TaskCombo( DCSTasks ) + self:F2( { DCSTasks } ) + + local DCSTaskCombo + + DCSTaskCombo = { + id = 'ComboTask', + params = { + tasks = DCSTasks + } + } + + self:T3( { DCSTaskCombo } ) + return DCSTaskCombo +end + +--- Return a WrappedAction Task taking a Command +-- @param #GROUP self +-- @param DCSCommand#Command DCSCommand +-- @return DCSTask#Task +function GROUP:TaskWrappedAction( DCSCommand, Index ) + self:F2( { DCSCommand } ) + + local DCSTaskWrappedAction + + DCSTaskWrappedAction = { + id = "WrappedAction", + enabled = true, + number = Index, + auto = false, + params = { + action = DCSCommand, + }, + } + + self:T3( { DCSTaskWrappedAction } ) + return DCSTaskWrappedAction +end + +--- Executes a command action +-- @param #GROUP self +-- @param DCSCommand#Command DCSCommand +-- @return #GROUP self +function GROUP:SetCommand( DCSCommand ) + self:F2( DCSCommand ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local Controller = self:_GetController() + Controller:setCommand( DCSCommand ) + return self + end + + return nil +end + +--- Perform a switch waypoint command +-- @param #GROUP self +-- @param #number FromWayPoint +-- @param #number ToWayPoint +-- @return DCSTask#Task +function GROUP:CommandSwitchWayPoint( FromWayPoint, ToWayPoint, Index ) + self:F2( { FromWayPoint, ToWayPoint, Index } ) + + local CommandSwitchWayPoint = { + id = 'SwitchWaypoint', + params = { + fromWaypointIndex = FromWayPoint, + goToWaypointIndex = ToWayPoint, + }, + } + + self:T3( { CommandSwitchWayPoint } ) + return CommandSwitchWayPoint +end + + +--- Orbit at a specified position at a specified alititude during a specified duration with a specified speed. +-- @param #GROUP self +-- @param DCSTypes#Vec2 Point The point to hold the position. +-- @param #number Altitude The altitude to hold the position. +-- @param #number Speed The speed flying when holding the position. +-- @return #GROUP self +function GROUP:TaskOrbitCircleAtVec2( Point, Altitude, Speed ) + self:F2( { self.GroupName, Point, Altitude, Speed } ) + +-- pattern = enum AI.Task.OribtPattern, +-- point = Vec2, +-- point2 = Vec2, +-- speed = Distance, +-- altitude = Distance + + local LandHeight = land.getHeight( Point ) + + self:T3( { LandHeight } ) + + local DCSTask = { id = 'Orbit', + params = { pattern = AI.Task.OrbitPattern.CIRCLE, + point = Point, + speed = Speed, + altitude = Altitude + LandHeight + } + } + + +-- local AITask = { id = 'ControlledTask', +-- params = { task = { id = 'Orbit', +-- params = { pattern = AI.Task.OrbitPattern.CIRCLE, +-- point = Point, +-- speed = Speed, +-- altitude = Altitude + LandHeight +-- } +-- }, +-- stopCondition = { duration = Duration +-- } +-- } +-- } +-- ) + + return DCSTask +end + +--- Orbit at the current position of the first unit of the group at a specified alititude +-- @param #GROUP self +-- @param #number Altitude The altitude to hold the position. +-- @param #number Speed The speed flying when holding the position. +-- @return #GROUP self +function GROUP:TaskOrbitCircle( Altitude, Speed ) + self:F2( { self.GroupName, Altitude, Speed } ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local GroupPoint = self:GetPointVec2() + return self:TaskOrbitCircleAtVec2( GroupPoint, Altitude, Speed ) + end + + return nil +end + + + +--- Hold position at the current position of the first unit of the group. +-- @param #GROUP self +-- @param #number Duration The maximum duration in seconds to hold the position. +-- @return #GROUP self +function GROUP:TaskHoldPosition() + self:F2( { self.GroupName } ) + + return self:TaskOrbitCircle( 30, 10 ) +end + + +--- Land the group at a Vec2Point. +-- @param #GROUP self +-- @param DCSTypes#Vec2 Point The point where to land. +-- @param #number Duration The duration in seconds to stay on the ground. +-- @return #GROUP self +function GROUP:TaskLandAtVec2( Point, Duration ) + self:F2( { self.GroupName, Point, Duration } ) + + local DCSTask + + if Duration and Duration > 0 then + DCSTask = { id = 'Land', params = { point = Point, durationFlag = true, duration = Duration } } + else + DCSTask = { id = 'Land', params = { point = Point, durationFlag = false } } + end + + self:T3( DCSTask ) + return DCSTask +end + +--- Land the group at a @{Zone#ZONE). +-- @param #GROUP self +-- @param Zone#ZONE Zone The zone where to land. +-- @param #number Duration The duration in seconds to stay on the ground. +-- @return #GROUP self +function GROUP:TaskLandAtZone( Zone, Duration, RandomPoint ) + self:F2( { self.GroupName, Zone, Duration, RandomPoint } ) + + local Point + if RandomPoint then + Point = Zone:GetRandomPointVec2() + else + Point = Zone:GetPointVec2() + end + + local DCSTask = self:TaskLandAtVec2( Point, Duration ) + + self:T3( DCSTask ) + return DCSTask +end + + +--- Attack the Unit. +-- @param #GROUP self +-- @param Unit#UNIT The unit. +-- @return DCSTask#Task The DCS task structure. +function GROUP:TaskAttackUnit( AttackUnit ) + self:F2( { self.GroupName, AttackUnit } ) + +-- AttackUnit = { +-- id = 'AttackUnit', +-- params = { +-- unitId = Unit.ID, +-- weaponType = number, +-- expend = enum AI.Task.WeaponExpend +-- attackQty = number, +-- direction = Azimuth, +-- attackQtyLimit = boolean, +-- groupAttack = boolean, +-- } +-- } + + local DCSTask + DCSTask = { id = 'AttackUnit', + params = { unitId = AttackUnit:GetID(), + expend = AI.Task.WeaponExpend.TWO, + groupAttack = true, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Attack a Group. +-- @param #GROUP self +-- @param Group#GROUP AttackGroup The Group to be attacked. +-- @return DCSTask#Task The DCS task structure. +function GROUP:TaskAttackGroup( AttackGroup ) + self:F2( { self.GroupName, AttackGroup } ) + +-- AttackGroup = { +-- id = 'AttackGroup', +-- params = { +-- groupId = Group.ID, +-- weaponType = number, +-- expend = enum AI.Task.WeaponExpend, +-- attackQty = number, +-- directionEnabled = boolean, +-- direction = Azimuth, +-- altitudeEnabled = boolean, +-- altitude = Distance, +-- attackQtyLimit = boolean, +-- } +-- } + + local DCSTask + DCSTask = { id = 'AttackGroup', + params = { groupId = AttackGroup:GetID(), + expend = AI.Task.WeaponExpend.TWO, + }, + }, + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Fires at a VEC2 point. +-- @param #GROUP self +-- @param DCSTypes#Vec2 The point to fire at. +-- @param DCSTypes#Distance Radius The radius of the zone to deploy the fire at. +-- @return DCSTask#Task The DCS task structure. +function GROUP:TaskFireAtPoint( PointVec2, Radius ) + self:F2( { self.GroupName, PointVec2, Radius } ) + +-- FireAtPoint = { +-- id = 'FireAtPoint', +-- params = { +-- point = Vec2, +-- radius = Distance, +-- } +-- } + + local DCSTask + DCSTask = { id = 'FireAtPoint', + params = { point = PointVec2, + radius = Radius, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + + + +--- Move the group to a Vec2 Point, wait for a defined duration and embark a group. +-- @param #GROUP self +-- @param DCSTypes#Vec2 Point The point where to wait. +-- @param #number Duration The duration in seconds to wait. +-- @param #GROUP EmbarkingGroup The group to be embarked. +-- @return DCSTask#Task The DCS task structure +function GROUP:TaskEmbarkingAtVec2( Point, Duration, EmbarkingGroup ) + self:F2( { self.GroupName, Point, Duration, EmbarkingGroup.DCSGroup } ) + + local DCSTask + DCSTask = { id = 'Embarking', + params = { x = Point.x, + y = Point.y, + duration = Duration, + groupsForEmbarking = { EmbarkingGroup.GroupID }, + durationFlag = true, + distributionFlag = false, + distribution = {}, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Move to a defined Vec2 Point, and embark to a group when arrived within a defined Radius. +-- @param #GROUP self +-- @param DCSTypes#Vec2 Point The point where to wait. +-- @param #number Radius The radius of the embarking zone around the Point. +-- @return DCSTask#Task The DCS task structure. +function GROUP:TaskEmbarkToTransportAtVec2( Point, Radius ) + self:F2( { self.GroupName, Point, Radius } ) + + local DCSTask --DCSTask#Task + DCSTask = { id = 'EmbarkToTransport', + params = { x = Point.x, + y = Point.y, + zoneRadius = Radius, + } + } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Return a Misson task from a mission template. +-- @param #GROUP self +-- @param #table TaskMission A table containing the mission task. +-- @return DCSTask#Task +function GROUP:TaskMission( TaskMission ) + self:F2( Points ) + + local DCSTask + DCSTask = { id = 'Mission', params = { TaskMission, }, } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Return a Misson task to follow a given route defined by Points. +-- @param #GROUP self +-- @param #table Points A table of route points. +-- @return DCSTask#Task +function GROUP:TaskRoute( Points ) + self:F2( Points ) + + local DCSTask + DCSTask = { id = 'Mission', params = { route = { points = Points, }, }, } + + self:T3( { DCSTask } ) + return DCSTask +end + +--- Make the DCS Group to fly to a given point and hover. +-- @param #GROUP self +-- @param DCSTypes#Vec3 Point The destination point in Vec3 format. +-- @param #number Speed The speed to travel. +-- @return #GROUP self +function GROUP:TaskRouteToVec2( Point, Speed ) + self:F2( { Point, Speed } ) + + local GroupPoint = self:GetUnit( 1 ):GetPointVec2() + + local PointFrom = {} + PointFrom.x = GroupPoint.x + PointFrom.y = GroupPoint.y + PointFrom.type = "Turning Point" + PointFrom.action = "Turning Point" + PointFrom.speed = Speed + PointFrom.speed_locked = true + PointFrom.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local PointTo = {} + PointTo.x = Point.x + PointTo.y = Point.y + PointTo.type = "Turning Point" + PointTo.action = "Fly Over Point" + PointTo.speed = Speed + PointTo.speed_locked = true + PointTo.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local Points = { PointFrom, PointTo } + + self:T3( Points ) + + self:Route( Points ) + + return self +end + +--- Make the DCS Group to fly to a given point and hover. +-- @param #GROUP self +-- @param DCSTypes#Vec3 Point The destination point in Vec3 format. +-- @param #number Speed The speed to travel. +-- @return #GROUP self +function GROUP:TaskRouteToVec3( Point, Speed ) + self:F2( { Point, Speed } ) + + local GroupPoint = self:GetUnit( 1 ):GetPointVec3() + + local PointFrom = {} + PointFrom.x = GroupPoint.x + PointFrom.y = GroupPoint.z + PointFrom.alt = GroupPoint.y + PointFrom.alt_type = "BARO" + PointFrom.type = "Turning Point" + PointFrom.action = "Turning Point" + PointFrom.speed = Speed + PointFrom.speed_locked = true + PointFrom.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local PointTo = {} + PointTo.x = Point.x + PointTo.y = Point.z + PointTo.alt = Point.y + PointTo.alt_type = "BARO" + PointTo.type = "Turning Point" + PointTo.action = "Fly Over Point" + PointTo.speed = Speed + PointTo.speed_locked = true + PointTo.properties = { + ["vnav"] = 1, + ["scale"] = 0, + ["angle"] = 0, + ["vangle"] = 0, + ["steer"] = 2, + } + + + local Points = { PointFrom, PointTo } + + self:T3( Points ) + + self:Route( Points ) + + return self +end + + + +--- Make the group to follow a given route. +-- @param #GROUP self +-- @param #table GoPoints A table of Route Points. +-- @return #GROUP self +function GROUP:Route( GoPoints ) + self:F2( GoPoints ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + local Points = routines.utils.deepCopy( GoPoints ) + local MissionTask = { id = 'Mission', params = { route = { points = Points, }, }, } + local Controller = self:_GetController() + --Controller.setTask( Controller, MissionTask ) + routines.scheduleFunction( Controller.setTask, { Controller, MissionTask}, timer.getTime() + 1 ) + return self + end + + return nil +end + + + +--- Route the group to a given zone. +-- The group final destination point can be randomized. +-- A speed can be given in km/h. +-- A given formation can be given. +-- @param #GROUP self +-- @param Zone#ZONE Zone The zone where to route to. +-- @param #boolean Randomize Defines whether to target point gets randomized within the Zone. +-- @param #number Speed The speed. +-- @param Base#FORMATION Formation The formation string. +function GROUP:TaskRouteToZone( Zone, Randomize, Speed, Formation ) + self:F2( Zone ) + + local DCSGroup = self:GetDCSGroup() + + if DCSGroup then + + local GroupPoint = self:GetPointVec2() + + local PointFrom = {} + PointFrom.x = GroupPoint.x + PointFrom.y = GroupPoint.y + PointFrom.type = "Turning Point" + PointFrom.action = "Cone" + PointFrom.speed = 20 / 1.6 + + + local PointTo = {} + local ZonePoint + + if Randomize then + ZonePoint = Zone:GetRandomPointVec2() + else + ZonePoint = Zone:GetPointVec2() + end + + PointTo.x = ZonePoint.x + PointTo.y = ZonePoint.y + PointTo.type = "Turning Point" + + if Formation then + PointTo.action = Formation + else + PointTo.action = "Cone" + end + + if Speed then + PointTo.speed = Speed + else + PointTo.speed = 20 / 1.6 + end + + local Points = { PointFrom, PointTo } + + self:T3( Points ) + + self:Route( Points ) + + return self + end + + return nil +end + +-- Commands + +--- Do Script command +-- @param #GROUP self +-- @param #string DoScript +-- @return #DCSCommand +function GROUP:CommandDoScript( DoScript ) + + local DCSDoScript = { + id = "Script", + params = { + command = DoScript, + }, + } + + self:T3( DCSDoScript ) + return DCSDoScript +end + + +--- Return the mission template of the group. +-- @param #GROUP self +-- @return #table The MissionTemplate +function GROUP:GetTaskMission() + self:F2( self.GroupName ) + + return routines.utils.deepCopy( _DATABASE.Templates.Groups[self.GroupName].Template ) +end + +--- Return the mission route of the group. +-- @param #GROUP self +-- @return #table The mission route defined by points. +function GROUP:GetTaskRoute() + self:F2( self.GroupName ) + + return routines.utils.deepCopy( _DATABASE.Templates.Groups[self.GroupName].Template.route.points ) +end + +--- Return the route of a group by using the @{Database#DATABASE} class. +-- @param #GROUP self +-- @param #number Begin The route point from where the copy will start. The base route point is 0. +-- @param #number End The route point where the copy will end. The End point is the last point - the End point. The last point has base 0. +-- @param #boolean Randomize Randomization of the route, when true. +-- @param #number Radius When randomization is on, the randomization is within the radius. +function GROUP:CopyRoute( Begin, End, Randomize, Radius ) + self:F2( { Begin, End } ) + + local Points = {} + + -- Could be a Spawned Group + local GroupName = string.match( self:GetName(), ".*#" ) + if GroupName then + GroupName = GroupName:sub( 1, -2 ) + else + GroupName = self:GetName() + end + + self:T3( { GroupName } ) + + local Template = _DATABASE.Templates.Groups[GroupName].Template + + if Template then + if not Begin then + Begin = 0 + end + if not End then + End = 0 + end + + for TPointID = Begin + 1, #Template.route.points - End do + if Template.route.points[TPointID] then + Points[#Points+1] = routines.utils.deepCopy( Template.route.points[TPointID] ) + if Randomize then + if not Radius then + Radius = 500 + end + Points[#Points].x = Points[#Points].x + math.random( Radius * -1, Radius ) + Points[#Points].y = Points[#Points].y + math.random( Radius * -1, Radius ) + end + end + end + return Points + end + + return nil +end + + +function GROUP:GetDetectedTargets() + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + return self:_GetController():getDetectedTargets() + end + + return nil +end + +function GROUP:IsTargetDetected( DCSObject ) + self:F2( self.GroupName ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + + local TargetIsDetected, TargetIsVisible, TargetLastTime, TargetKnowType, TargetKnowDistance, TargetLastPos, TargetLastVelocity + = self:_GetController().isTargetDetected( self:_GetController(), DCSObject, + Controller.Detection.VISUAL, + Controller.Detection.OPTIC, + Controller.Detection.RADAR, + Controller.Detection.IRST, + Controller.Detection.RWR, + Controller.Detection.DLINK + ) + return TargetIsDetected, TargetIsVisible, TargetLastTime, TargetKnowType, TargetKnowDistance, TargetLastPos, TargetLastVelocity + end + + return nil +end + +-- Options + +--- Can the GROUP hold their weapons? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROEHoldFirePossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() or self:IsGround() or self:IsShip() then + return true + end + + return false + end + + return nil +end + +--- Holding weapons. +-- @param Group#GROUP self +-- @return Group#GROUP self +function GROUP:OptionROEHoldFire() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD ) + elseif self:IsGround() then + Controller:setOption( AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.WEAPON_HOLD ) + elseif self:IsShip() then + Controller:setOption( AI.Option.Naval.id.ROE, AI.Option.Naval.val.ROE.WEAPON_HOLD ) + end + + return self + end + + return nil +end + +--- Can the GROUP attack returning on enemy fire? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROEReturnFirePossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() or self:IsGround() or self:IsShip() then + return true + end + + return false + end + + return nil +end + +--- Return fire. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROEReturnFire() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.RETURN_FIRE ) + elseif self:IsGround() then + Controller:setOption( AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.RETURN_FIRE ) + elseif self:IsShip() then + Controller:setOption( AI.Option.Naval.id.ROE, AI.Option.Naval.val.ROE.RETURN_FIRE ) + end + + return self + end + + return nil +end + +--- Can the GROUP attack designated targets? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROEOpenFirePossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() or self:IsGround() or self:IsShip() then + return true + end + + return false + end + + return nil +end + +--- Openfire. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROEOpenFire() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.OPEN_FIRE ) + elseif self:IsGround() then + Controller:setOption( AI.Option.Ground.id.ROE, AI.Option.Ground.val.ROE.OPEN_FIRE ) + elseif self:IsShip() then + Controller:setOption( AI.Option.Naval.id.ROE, AI.Option.Naval.val.ROE.OPEN_FIRE ) + end + + return self + end + + return nil +end + +--- Can the GROUP attack targets of opportunity? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROEWeaponFreePossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + +--- Weapon free. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROEWeaponFree() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_FREE ) + end + + return self + end + + return nil +end + +--- Can the GROUP ignore enemy fire? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROTNoReactionPossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + + +--- No evasion on enemy threats. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROTNoReaction() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.NO_REACTION ) + end + + return self + end + + return nil +end + +--- Can the GROUP evade using passive defenses? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROTPassiveDefensePossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + +--- Evasion passive defense. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROTPassiveDefense() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.PASSIVE_DEFENCE ) + end + + return self + end + + return nil +end + +--- Can the GROUP evade on enemy fire? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROTEvadeFirePossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + + +--- Evade on fire. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROTEvadeFire() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE ) + end + + return self + end + + return nil +end + +--- Can the GROUP evade on fire using vertical manoeuvres? +-- @param #GROUP self +-- @return #boolean +function GROUP:OptionROTVerticalPossible() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + if self:IsAir() then + return true + end + + return false + end + + return nil +end + + +--- Evade on fire using vertical manoeuvres. +-- @param #GROUP self +-- @return #GROUP self +function GROUP:OptionROTVertical() + self:F2( { self.GroupName } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + local Controller = self:_GetController() + + if self:IsAir() then + Controller:setOption( AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.BYPASS_AND_ESCAPE ) + end + + return self + end + + return nil +end + +-- Message APIs + +--- Returns a message for a coalition or a client. +-- @param #GROUP self +-- @param #string Message The message text +-- @param #Duration Duration The duration of the message. +-- @return Message#MESSAGE +function GROUP:Message( Message, Duration ) + self:F2( { Message, Duration } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + return MESSAGE:New( Message, self:GetCallsign() .. " (" .. self:GetTypeName() .. ")", Duration, self:GetClassNameAndID() ) + end + + return nil +end + +--- Send a message to all coalitions. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #GROUP self +-- @param #string Message The message text +-- @param #Duration Duration The duration of the message. +function GROUP:MessageToAll( Message, Duration ) + self:F2( { Message, Duration } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + self:Message( Message, Duration ):ToAll() + end + + return nil +end + +--- Send a message to the red coalition. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #GROUP self +-- @param #string Message The message text +-- @param #Duration Duration The duration of the message. +function GROUP:MessageToRed( Message, Duration ) + self:F2( { Message, Duration } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + self:Message( Message, Duration ):ToRed() + end + + return nil +end + +--- Send a message to the blue coalition. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #GROUP self +-- @param #string Message The message text +-- @param #Duration Duration The duration of the message. +function GROUP:MessageToBlue( Message, Duration ) + self:F2( { Message, Duration } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + self:Message( Message, Duration ):ToBlue() + end + + return nil +end + +--- Send a message to a client. +-- The message will appear in the message area. The message will begin with the callsign of the group and the type of the first unit sending the message. +-- @param #GROUP self +-- @param #string Message The message text +-- @param #Duration Duration The duration of the message. +-- @param Client#CLIENT Client The client object receiving the message. +function GROUP:MessageToClient( Message, Duration, Client ) + self:F2( { Message, Duration } ) + + local DCSGroup = self:GetDCSGroup() + if DCSGroup then + self:Message( Message, Duration ):ToClient( Client ) + end + + return nil +end +--- UNIT Class +-- +-- @{UNIT} class +-- ============== +-- The @{UNIT} class is a wrapper class to handle the DCS Unit objects: +-- +-- * Support all DCS Unit APIs. +-- * Enhance with Unit specific APIs not in the DCS Unit API set. +-- * Handle local Unit Controller. +-- * Manage the "state" of the DCS Unit. +-- +-- +-- UNIT reference methods +-- ====================== +-- For each DCS Unit object alive within a running mission, a UNIT wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts), and dynamically when new DCS Unit objects are spawned (using the @{SPAWN} class). +-- +-- The UNIT class **does not contain a :New()** method, rather it provides **:Find()** methods to retrieve the object reference +-- using the DCS Unit or the DCS UnitName. +-- +-- Another thing to know is that UNIT objects do not "contain" the DCS Unit object. +-- The UNIT methods will reference the DCS Unit object by name when it is needed during API execution. +-- If the DCS Unit object does not exist or is nil, the UNIT methods will return nil and log an exception in the DCS.log file. +-- +-- The UNIT class provides the following functions to retrieve quickly the relevant UNIT instance: +-- +-- * @{#UNIT.Find}(): Find a UNIT instance from the _DATABASE object using a DCS Unit object. +-- * @{#UNIT.FindByName}(): Find a UNIT instance from the _DATABASE object using a DCS Unit name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these UNIT OBJECT REFERENCES! (make the UNIT object references nil). +-- +-- DCS UNIT APIs +-- ============= +-- The DCS Unit APIs are used extensively within MOOSE. The UNIT class has for each DCS Unit API a corresponding method. +-- To be able to distinguish easily in your code the difference between a UNIT API call and a DCS Unit API call, +-- the first letter of the method is also capitalized. So, by example, the DCS Unit method @{DCSUnit#Unit.getName}() +-- is implemented in the UNIT class as @{#UNIT.GetName}(). +-- +-- Additional UNIT APIs +-- ==================== +-- The UNIT class comes with additional methods. Find below a summary. +-- +-- Smoke, Flare Units +-- ------------------ +-- The UNIT class provides methods to smoke or flare units easily. +-- The @{#UNIT.SmokeBlue}(), @{#UNIT.SmokeGreen}(),@{#UNIT.SmokeOrange}(), @{#UNIT.SmokeRed}(), @{#UNIT.SmokeRed}() methods +-- will smoke the unit in the corresponding color. Note that smoking a unit is done at the current position of the DCS Unit. +-- When the DCS Unit moves for whatever reason, the smoking will still continue! +-- The @{#UNIT.FlareGreen}(), @{#UNIT.FlareRed}(), @{#UNIT.FlareWhite}(), @{#UNIT.FlareYellow}() +-- methods will fire off a flare in the air with the corresponding color. Note that a flare is a one-off shot and its effect is of very short duration. +-- +-- Position, Point +-- --------------- +-- The UNIT class provides methods to obtain the current point or position of the DCS Unit. +-- The @{#UNIT.GetPointVec2}(), @{#UNIT.GetPointVec3}() will obtain the current location of the DCS Unit in a Vec2 (2D) or a Vec3 (3D) vector respectively. +-- If you want to obtain the complete 3D position including oriëntation and direction vectors, consult the @{#UNIT.GetPositionVec3}() method respectively. +-- +-- Alive +-- ----- +-- The @{#UNIT.IsAlive}(), @{#UNIT.IsActive}() methods determines if the DCS Unit is alive, meaning, it is existing and active. +-- +-- Test for other units in radius +-- ------------------------------ +-- One can test if another DCS Unit is within a given radius of the current DCS Unit, by using the @{#UNIT.OtherUnitInRadius}() method. +-- +-- More functions will be added +-- ---------------------------- +-- During the MOOSE development, more functions will be added. A complete list of the current functions is below. +-- +-- +-- +-- +-- @module Unit +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Message" ) + +--- The UNIT class +-- @type UNIT +-- @extends Base#BASE +-- @field #UNIT.FlareColor FlareColor +-- @field #UNIT.SmokeColor SmokeColor +UNIT = { + ClassName="UNIT", + CategoryName = { + [Unit.Category.AIRPLANE] = "Airplane", + [Unit.Category.HELICOPTER] = "Helicoper", + [Unit.Category.GROUND_UNIT] = "Ground Unit", + [Unit.Category.SHIP] = "Ship", + [Unit.Category.STRUCTURE] = "Structure", + }, + FlareColor = { + Green = trigger.flareColor.Green, + Red = trigger.flareColor.Red, + White = trigger.flareColor.White, + Yellow = trigger.flareColor.Yellow + }, + SmokeColor = { + Green = trigger.smokeColor.Green, + Red = trigger.smokeColor.Red, + White = trigger.smokeColor.White, + Orange = trigger.smokeColor.Orange, + Blue = trigger.smokeColor.Blue + }, + } + +--- FlareColor +-- @type UNIT.FlareColor +-- @field Green +-- @field Red +-- @field White +-- @field Yellow + +--- SmokeColor +-- @type UNIT.SmokeColor +-- @field Green +-- @field Red +-- @field White +-- @field Orange +-- @field Blue + +-- Registration. + +--- Create a new UNIT from DCSUnit. +-- @param #UNIT self +-- @param DCSUnit#Unit DCSUnit +-- @param Database#DATABASE Database +-- @return Unit#UNIT +function UNIT:Register( UnitName ) + + local self = BASE:Inherit( self, BASE:New() ) + self:F2( UnitName ) + self.UnitName = UnitName + return self +end + +-- Reference methods. + +--- Finds a UNIT from the _DATABASE using a DCSUnit object. +-- @param #UNIT self +-- @param DCSUnit#Unit DCSUnit An existing DCS Unit object reference. +-- @return Unit#UNIT self +function UNIT:Find( DCSUnit ) + + local UnitName = DCSUnit:getName() + local UnitFound = _DATABASE:FindUnit( UnitName ) + return UnitFound +end + +--- Find a UNIT in the _DATABASE using the name of an existing DCS Unit. +-- @param #UNIT self +-- @param #string UnitName The Unit Name. +-- @return Unit#UNIT self +function UNIT:FindByName( UnitName ) + + local UnitFound = _DATABASE:FindUnit( UnitName ) + return UnitFound +end + +function UNIT:GetDCSUnit() + local DCSUnit = Unit.getByName( self.UnitName ) + + if DCSUnit then + return DCSUnit + end + + return nil +end + +--- Returns coalition of the Unit. +-- @param Unit#UNIT self +-- @return DCSCoalitionObject#coalition.side The side of the coalition. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetCoalition() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitCoalition = DCSUnit:getCoalition() + self:T3( UnitCoalition ) + return UnitCoalition + end + + return nil +end + +--- Returns country of the Unit. +-- @param Unit#UNIT self +-- @return DCScountry#country.id The country identifier. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetCountry() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitCountry = DCSUnit:getCountry() + self:T3( UnitCountry ) + return UnitCountry + end + + return nil +end + + +--- Returns DCS Unit object name. +-- The function provides access to non-activated units too. +-- @param Unit#UNIT self +-- @return #string The name of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetName() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitName = self.UnitName + return UnitName + end + + return nil +end + + +--- Returns if the unit is alive. +-- @param Unit#UNIT self +-- @return #boolean true if Unit is alive. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:IsAlive() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitIsAlive = DCSUnit:isExist() + return UnitIsAlive + end + + return false +end + +--- Returns if the unit is activated. +-- @param Unit#UNIT self +-- @return #boolean true if Unit is activated. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:IsActive() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + + local UnitIsActive = DCSUnit:isActive() + return UnitIsActive + end + + return nil +end + +--- Returns name of the player that control the unit or nil if the unit is controlled by A.I. +-- @param Unit#UNIT self +-- @return #string Player Name +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPlayerName() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + + local PlayerName = DCSUnit:getPlayerName() + if PlayerName == nil then + PlayerName = "" + end + return PlayerName + end + + return nil +end + +--- Returns the unit's unique identifier. +-- @param Unit#UNIT self +-- @return DCSUnit#Unit.ID Unit ID +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetID() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitID = DCSUnit:getID() + return UnitID + end + + return nil +end + +--- Returns the unit's number in the group. +-- The number is the same number the unit has in ME. +-- It may not be changed during the mission. +-- If any unit in the group is destroyed, the numbers of another units will not be changed. +-- @param Unit#UNIT self +-- @return #number The Unit number. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetNumber() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitNumber = DCSUnit:getNumber() + return UnitNumber + end + + return nil +end + +--- Returns the unit's group if it exist and nil otherwise. +-- @param Unit#UNIT self +-- @return Group#GROUP The Group of the Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetGroup() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitGroup = DCSUnit:getGroup() + return UnitGroup + end + + return nil +end + + +--- Returns the unit's callsign - the localized string. +-- @param Unit#UNIT self +-- @return #string The Callsign of the Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetCallSign() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitCallSign = DCSUnit:getCallsign() + return UnitCallSign + end + + return nil +end + +--- Returns the unit's health. Dead units has health <= 1.0. +-- @param Unit#UNIT self +-- @return #number The Unit's health value. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetLife() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitLife = DCSUnit:getLife() + return UnitLife + end + + return nil +end + +--- Returns the Unit's initial health. +-- @param Unit#UNIT self +-- @return #number The Unit's initial health value. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetLife0() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitLife0 = DCSUnit:getLife0() + return UnitLife0 + end + + return nil +end + +--- Returns relative amount of fuel (from 0.0 to 1.0) the unit has in its internal tanks. If there are additional fuel tanks the value may be greater than 1.0. +-- @param Unit#UNIT self +-- @return #number The relative amount of fuel (from 0.0 to 1.0). +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetFuel() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitFuel = DCSUnit:getFuel() + return UnitFuel + end + + return nil +end + +--- Returns the Unit's ammunition. +-- @param Unit#UNIT self +-- @return DCSUnit#Unit.Ammo +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetAmmo() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitAmmo = DCSUnit:getAmmo() + return UnitAmmo + end + + return nil +end + +--- Returns the unit sensors. +-- @param Unit#UNIT self +-- @return DCSUnit#Unit.Sensors +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetSensors() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitSensors = DCSUnit:getSensors() + return UnitSensors + end + + return nil +end + +-- Need to add here a function per sensortype +-- unit:hasSensors(Unit.SensorType.RADAR, Unit.RadarType.AS) + +--- Returns two values: +-- +-- * First value indicates if at least one of the unit's radar(s) is on. +-- * Second value is the object of the radar's interest. Not nil only if at least one radar of the unit is tracking a target. +-- @param Unit#UNIT self +-- @return #boolean Indicates if at least one of the unit's radar(s) is on. +-- @return DCSObject#Object The object of the radar's interest. Not nil only if at least one radar of the unit is tracking a target. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetRadar() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitRadarOn, UnitRadarObject = DCSUnit:getRadar() + return UnitRadarOn, UnitRadarObject + end + + return nil, nil +end + +-- Need to add here functions to check if radar is on and which object etc. + +--- Returns unit descriptor. Descriptor type depends on unit category. +-- @param Unit#UNIT self +-- @return DCSUnit#Unit.Desc The Unit descriptor. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetDesc() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitDesc = DCSUnit:getDesc() + return UnitDesc + end + + return nil +end + + +--- Returns the type name of the DCS Unit. +-- @param Unit#UNIT self +-- @return #string The type name of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetTypeName() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitTypeName = DCSUnit:getTypeName() + self:T3( UnitTypeName ) + return UnitTypeName + end + + return nil +end + + + +--- Returns the prefix name of the DCS Unit. A prefix name is a part of the name before a '#'-sign. +-- DCS Units spawned with the @{SPAWN} class contain a '#'-sign to indicate the end of the (base) DCS Unit name. +-- The spawn sequence number and unit number are contained within the name after the '#' sign. +-- @param Unit#UNIT self +-- @return #string The name of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPrefix() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitPrefix = string.match( self.UnitName, ".*#" ):sub( 1, -2 ) + self:T3( UnitPrefix ) + return UnitPrefix + end + + return nil +end + + + +--- Returns the @{DCSTypes#Vec2} vector indicating the point in 2D of the DCS Unit within the mission. +-- @param Unit#UNIT self +-- @return DCSTypes#Vec2 The 2D point vector of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPointVec2() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitPointVec3 = DCSUnit:getPosition().p + + local UnitPointVec2 = {} + UnitPointVec2.x = UnitPointVec3.x + UnitPointVec2.y = UnitPointVec3.z + + self:T3( UnitPointVec2 ) + return UnitPointVec2 + end + + return nil +end + + +--- Returns the @{DCSTypes#Vec3} vector indicating the point in 3D of the DCS Unit within the mission. +-- @param Unit#UNIT self +-- @return DCSTypes#Vec3 The 3D point vector of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPointVec3() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitPointVec3 = DCSUnit:getPosition().p + self:T3( UnitPointVec3 ) + return UnitPointVec3 + end + + return nil +end + +--- Returns the @{DCSTypes#Position3} position vectors indicating the point and direction vectors in 3D of the DCS Unit within the mission. +-- @param Unit#UNIT self +-- @return DCSTypes#Position The 3D position vectors of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetPositionVec3() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitPosition = DCSUnit:getPosition() + self:T3( UnitPosition ) + return UnitPosition + end + + return nil +end + +--- Returns the DCS Unit velocity vector. +-- @param Unit#UNIT self +-- @return DCSTypes#Vec3 The velocity vector +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetVelocity() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitVelocityVec3 = DCSUnit:getVelocity() + self:T3( UnitVelocityVec3 ) + return UnitVelocityVec3 + end + + return nil +end + +--- Returns true if the DCS Unit is in the air. +-- @param Unit#UNIT self +-- @return #boolean true if in the air. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:InAir() + self:F2( self.UnitName ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitInAir = DCSUnit:inAir() + self:T3( UnitInAir ) + return UnitInAir + end + + return nil +end + +--- Returns the altitude of the DCS Unit. +-- @param Unit#UNIT self +-- @return DCSTypes#Distance The altitude of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:GetAltitude() + self:F2() + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitPointVec3 = DCSUnit:getPoint() --DCSTypes#Vec3 + return UnitPointVec3.y + end + + return nil +end + +--- Returns true if there is an **other** DCS Unit within a radius of the current 2D point of the DCS Unit. +-- @param Unit#UNIT self +-- @param Unit#UNIT AwaitUnit The other UNIT wrapper object. +-- @param Radius The radius in meters with the DCS Unit in the centre. +-- @return true If the other DCS Unit is within the radius of the 2D point of the DCS Unit. +-- @return #nil The DCS Unit is not existing or alive. +function UNIT:OtherUnitInRadius( AwaitUnit, Radius ) + self:F2( { self.UnitName, AwaitUnit.UnitName, Radius } ) + + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitPos = self:GetPointVec3() + local AwaitUnitPos = AwaitUnit:GetPointVec3() + + if (((UnitPos.x - AwaitUnitPos.x)^2 + (UnitPos.z - AwaitUnitPos.z)^2)^0.5 <= Radius) then + self:T3( "true" ) + return true + else + self:T3( "false" ) + return false + end + end + + return nil +end + +--- Returns the DCS Unit category name as defined within the DCS Unit Descriptor. +-- @param Unit#UNIT self +-- @return #string The DCS Unit Category Name +function UNIT:GetCategoryName() + local DCSUnit = self:GetDCSUnit() + + if DCSUnit then + local UnitCategoryName = self.CategoryName[ self:GetDesc().category ] + return UnitCategoryName + end + + return nil +end + +--- Signal a flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:Flare( FlareColor ) + self:F2() + trigger.action.signalFlare( self:GetPointVec3(), FlareColor , 0 ) +end + +--- Signal a white flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareWhite() + self:F2() + trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.White , 0 ) +end + +--- Signal a yellow flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareYellow() + self:F2() + trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Yellow , 0 ) +end + +--- Signal a green flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareGreen() + self:F2() + trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Green , 0 ) +end + +--- Signal a red flare at the position of the UNIT. +-- @param #UNIT self +function UNIT:FlareRed() + self:F2() + trigger.action.signalFlare( self:GetPointVec3(), trigger.flareColor.Red, 0 ) +end + +--- Smoke the UNIT. +-- @param #UNIT self +function UNIT:Smoke( SmokeColor ) + self:F2() + trigger.action.smoke( self:GetPointVec3(), SmokeColor ) +end + +--- Smoke the UNIT Green. +-- @param #UNIT self +function UNIT:SmokeGreen() + self:F2() + trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Green ) +end + +--- Smoke the UNIT Red. +-- @param #UNIT self +function UNIT:SmokeRed() + self:F2() + trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Red ) +end + +--- Smoke the UNIT White. +-- @param #UNIT self +function UNIT:SmokeWhite() + self:F2() + trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.White ) +end + +--- Smoke the UNIT Orange. +-- @param #UNIT self +function UNIT:SmokeOrange() + self:F2() + trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Orange ) +end + +--- Smoke the UNIT Blue. +-- @param #UNIT self +function UNIT:SmokeBlue() + self:F2() + trigger.action.smoke( self:GetPointVec3(), trigger.smokeColor.Blue ) +end + +-- Is methods + +--- Returns if the unit is of an air category. +-- If the unit is a helicopter or a plane, then this method will return true, otherwise false. +-- @param #UNIT self +-- @return #boolean Air category evaluation result. +function UNIT:IsAir() + self:F2() + + local UnitDescriptor = self.DCSUnit:getDesc() + self:T3( { UnitDescriptor.category, Unit.Category.AIRPLANE, Unit.Category.HELICOPTER } ) + + local IsAirResult = ( UnitDescriptor.category == Unit.Category.AIRPLANE ) or ( UnitDescriptor.category == Unit.Category.HELICOPTER ) + + self:T3( IsAirResult ) + return IsAirResult +end + +--- ZONE Classes +-- @module Zone + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Message" ) + +--- The ZONE class +-- @type ZONE +-- @Extends Base#BASE +ZONE = { + ClassName="ZONE", + } + +function ZONE:New( ZoneName ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( ZoneName ) + + local Zone = trigger.misc.getZone( ZoneName ) + + if not Zone then + error( "Zone " .. ZoneName .. " does not exist." ) + return nil + end + + self.Zone = Zone + self.ZoneName = ZoneName + + return self +end + +function ZONE:GetPointVec2() + self:F( self.ZoneName ) + + local Zone = trigger.misc.getZone( self.ZoneName ) + local Point = { x = Zone.point.x, y = Zone.point.z } + + self:T( { Zone, Point } ) + + return Point +end + +function ZONE:GetPointVec3( Height ) + self:F( self.ZoneName ) + + local Zone = trigger.misc.getZone( self.ZoneName ) + local Point = { x = Zone.point.x, y = land.getHeight( self:GetPointVec2() ) + Height, z = Zone.point.z } + + self:T( { Zone, Point } ) + + return Point +end + +function ZONE:GetRandomPointVec2() + self:F( self.ZoneName ) + + local Point = {} + + local Zone = trigger.misc.getZone( self.ZoneName ) + + local angle = math.random() * math.pi*2; + Point.x = Zone.point.x + math.cos( angle ) * math.random() * Zone.radius; + Point.y = Zone.point.z + math.sin( angle ) * math.random() * Zone.radius; + + self:T( { Zone, Point } ) + + return Point +end + +function ZONE:GetRadius() + self:F( self.ZoneName ) + + local Zone = trigger.misc.getZone( self.ZoneName ) + + self:T( { Zone } ) + + return Zone.radius +end + +--- The CLIENT models client units in multi player missions. +-- +-- @{#CLIENT} class +-- ================ +-- Clients are those **Units** defined within the Mission Editor that have the skillset defined as __Client__ or __Player__. +-- Note that clients are NOT the same as Units, they are NOT necessarily alive. +-- The @{CLIENT} class is a wrapper class to handle the DCS Unit objects that have the skillset defined as __Client__ or __Player__: +-- +-- * Wraps the DCS Unit objects with skill level set to Player or Client. +-- * Support all DCS Unit APIs. +-- * Enhance with Unit specific APIs not in the DCS Group API set. +-- * When player joins Unit, execute alive init logic. +-- * Handles messages to players. +-- * Manage the "state" of the DCS Unit. +-- +-- Clients are being used by the @{MISSION} class to follow players and register their successes. +-- +-- CLIENT reference methods +-- ======================= +-- For each DCS Unit having skill level Player or Client, a CLIENT wrapper object (instance) will be created within the _@{DATABASE} object. +-- This is done at the beginning of the mission (when the mission starts). +-- +-- The CLIENT class does not contain a :New() method, rather it provides :Find() methods to retrieve the object reference +-- using the DCS Unit or the DCS UnitName. +-- +-- Another thing to know is that CLIENT objects do not "contain" the DCS Unit object. +-- The CLIENT methods will reference the DCS Unit object by name when it is needed during API execution. +-- If the DCS Unit object does not exist or is nil, the CLIENT methods will return nil and log an exception in the DCS.log file. +-- +-- The CLIENT class provides the following functions to retrieve quickly the relevant CLIENT instance: +-- +-- * @{#CLIENT.Find}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit object. +-- * @{#CLIENT.FindByName}(): Find a CLIENT instance from the _DATABASE object using a DCS Unit name. +-- +-- IMPORTANT: ONE SHOULD NEVER SANATIZE these CLIENT OBJECT REFERENCES! (make the CLIENT object references nil). +-- +-- @module Client +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Cargo" ) +Include.File( "Message" ) + + +--- The CLIENT class +-- @type CLIENT +-- @extends Unit#UNIT +CLIENT = { + ONBOARDSIDE = { + NONE = 0, + LEFT = 1, + RIGHT = 2, + BACK = 3, + FRONT = 4 + }, + ClassName = "CLIENT", + ClientName = nil, + ClientAlive = false, + ClientTransport = false, + ClientBriefingShown = false, + _Menus = {}, + _Tasks = {}, + Messages = { + } +} + + +--- Finds a CLIENT from the _DATABASE using the relevant DCS Unit. +-- @param #CLIENT self +-- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor. +-- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client. +-- @return #CLIENT +-- @usage +-- -- Create new Clients. +-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' ) +-- Mission:AddGoal( DeploySA6TroopsGoal ) +-- +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() ) +function CLIENT:Find( DCSUnit ) + local ClientName = DCSUnit:getName() + local ClientFound = _DATABASE:FindClient( ClientName ) + + if ClientFound then + ClientFound:F( ClientName ) + return ClientFound + end + + error( "CLIENT not found for: " .. ClientName ) +end + + +--- Finds a CLIENT from the _DATABASE using the relevant Client Unit Name. +-- As an optional parameter, a briefing text can be given also. +-- @param #CLIENT self +-- @param #string ClientName Name of the DCS **Unit** as defined within the Mission Editor. +-- @param #string ClientBriefing Text that describes the briefing of the mission when a Player logs into the Client. +-- @return #CLIENT +-- @usage +-- -- Create new Clients. +-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' ) +-- Mission:AddGoal( DeploySA6TroopsGoal ) +-- +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 1' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 3' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*HOT-Deploy Troops 2' ):Transport() ) +-- Mission:AddClient( CLIENT:FindByName( 'RU MI-8MTV2*RAMP-Deploy Troops 4' ):Transport() ) +function CLIENT:FindByName( ClientName, ClientBriefing ) + local ClientFound = _DATABASE:FindClient( ClientName ) + + if ClientFound then + ClientFound:F( { ClientName, ClientBriefing } ) + ClientFound:AddBriefing( ClientBriefing ) + ClientFound.MessageSwitch = true + + return ClientFound + end + + error( "CLIENT not found for: " .. ClientName ) +end + +function CLIENT:Register( ClientName ) + local self = BASE:Inherit( self, UNIT:Register( ClientName ) ) + + self:F( ClientName ) + self.ClientName = ClientName + self.MessageSwitch = true + self.ClientAlive2 = false + + self.AliveCheckScheduler = routines.scheduleFunction( self._AliveCheckScheduler, { self }, timer.getTime() + 1, 5 ) + + return self +end + + +--- Transport defines that the Client is a Transport. Transports show cargo. +-- @param #CLIENT self +-- @return #CLIENT +function CLIENT:Transport() + self:F() + + self.ClientTransport = true + return self +end + +--- AddBriefing adds a briefing to a CLIENT when a player joins a mission. +-- @param #CLIENT self +-- @param #string ClientBriefing is the text defining the Mission briefing. +-- @return #CLIENT self +function CLIENT:AddBriefing( ClientBriefing ) + self:F( ClientBriefing ) + self.ClientBriefing = ClientBriefing + self.ClientBriefingShown = false + + return self +end + +--- Show the briefing of the MISSION to the CLIENT. +-- @param #CLIENT self +-- @return #CLIENT self +function CLIENT:ShowBriefing() + self:F( { self.ClientName, self.ClientBriefingShown } ) + + if not self.ClientBriefingShown then + self.ClientBriefingShown = true + local Briefing = "" + if self.MissionBriefing then + Briefing = Briefing .. self.MissionBriefing + end + if self.ClientBriefing then + Briefing = Briefing .. "\n" .. self.ClientBriefing + end + Briefing = Briefing .. "\nPress [LEFT ALT]+[B] to view the complete mission briefing." + self:Message( Briefing, 30, self.ClientName .. '/MissionBriefing', "Briefing" ) + end + + return self +end + + + +--- Resets a CLIENT. +-- @param #CLIENT self +-- @param #string ClientName Name of the Group as defined within the Mission Editor. The Group must have a Unit with the type Client. +function CLIENT:Reset( ClientName ) + self:F() + self._Menus = {} +end + +-- Is Functions + +--- Checks if the CLIENT is a multi-seated UNIT. +-- @param #CLIENT self +-- @return #boolean true if multi-seated. +function CLIENT:IsMultiSeated() + self:F( self.ClientName ) + + local ClientMultiSeatedTypes = { + ["Mi-8MT"] = "Mi-8MT", + ["UH-1H"] = "UH-1H", + ["P-51B"] = "P-51B" + } + + if self:IsAlive() then + local ClientTypeName = self:GetClientGroupUnit():GetTypeName() + if ClientMultiSeatedTypes[ClientTypeName] then + return true + end + end + + return false +end + +--- Checks for a client alive event and calls a function on a continuous basis. +-- @param #CLIENT self +-- @param #function CallBack Function. +-- @return #CLIENT +function CLIENT:Alive( CallBack, ... ) + self:F() + + self.ClientCallBack = CallBack + self.ClientParameters = arg + + return self +end + +--- @param #CLIENT self +function CLIENT:_AliveCheckScheduler() + self:F( { self.ClientName, self.ClientAlive2, self.ClientBriefingShown } ) + + if self:IsAlive() then -- Polymorphic call of UNIT + if self.ClientAlive2 == false then + self:ShowBriefing() + if self.ClientCallBack then + self:T("Calling Callback function") + self.ClientCallBack( self, unpack( self.ClientParameters ) ) + end + self.ClientAlive2 = true + end + else + if self.ClientAlive2 == true then + self.ClientAlive2 = false + end + end +end + +--- Return the DCSGroup of a Client. +-- This function is modified to deal with a couple of bugs in DCS 1.5.3 +-- @param #CLIENT self +-- @return DCSGroup#Group +function CLIENT:GetDCSGroup() + self:F3() + +-- local ClientData = Group.getByName( self.ClientName ) +-- if ClientData and ClientData:isExist() then +-- self:T( self.ClientName .. " : group found!" ) +-- return ClientData +-- else +-- return nil +-- end + + local ClientUnit = Unit.getByName( self.ClientName ) + + local CoalitionsData = { AlivePlayersRed = coalition.getPlayers( coalition.side.RED ), AlivePlayersBlue = coalition.getPlayers( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + self:T3( { "CoalitionData:", CoalitionData } ) + for UnitId, UnitData in pairs( CoalitionData ) do + self:T3( { "UnitData:", UnitData } ) + if UnitData and UnitData:isExist() then + + --self:E(self.ClientName) + if ClientUnit then + local ClientGroup = ClientUnit:getGroup() + if ClientGroup then + self:T3( "ClientGroup = " .. self.ClientName ) + if ClientGroup:isExist() and UnitData:getGroup():isExist() then + if ClientGroup:getID() == UnitData:getGroup():getID() then + self:T3( "Normal logic" ) + self:T3( self.ClientName .. " : group found!" ) + self.ClientGroupID = ClientGroup:getID() + self.ClientGroupName = ClientGroup:getName() + return ClientGroup + end + else + -- Now we need to resolve the bugs in DCS 1.5 ... + -- Consult the database for the units of the Client Group. (ClientGroup:getUnits() returns nil) + self:T3( "Bug 1.5 logic" ) + local ClientGroupTemplate = _DATABASE.Templates.Units[self.ClientName].GroupTemplate + self.ClientGroupID = ClientGroupTemplate.groupId + self.ClientGroupName = _DATABASE.Templates.Units[self.ClientName].GroupName + self:T3( self.ClientName .. " : group found in bug 1.5 resolvement logic!" ) + return ClientGroup + end + -- else + -- error( "Client " .. self.ClientName .. " not found!" ) + end + else + --self:E( { "Client not found!", self.ClientName } ) + end + end + end + end + + -- For non player clients + if ClientUnit then + local ClientGroup = ClientUnit:getGroup() + if ClientGroup then + self:T3( "ClientGroup = " .. self.ClientName ) + if ClientGroup:isExist() then + self:T3( "Normal logic" ) + self:T3( self.ClientName .. " : group found!" ) + return ClientGroup + end + end + end + + self.ClientGroupID = nil + self.ClientGroupUnit = nil + + return nil +end + + +-- TODO: Check DCSTypes#Group.ID +--- Get the group ID of the client. +-- @param #CLIENT self +-- @return DCSTypes#Group.ID +function CLIENT:GetClientGroupID() + + local ClientGroup = self:GetDCSGroup() + + --self:E( self.ClientGroupID ) -- Determined in GetDCSGroup() + return self.ClientGroupID +end + + +--- Get the name of the group of the client. +-- @param #CLIENT self +-- @return #string +function CLIENT:GetClientGroupName() + + local ClientGroup = self:GetDCSGroup() + + self:T( self.ClientGroupName ) -- Determined in GetDCSGroup() + return self.ClientGroupName +end + +--- Returns the UNIT of the CLIENT. +-- @param #CLIENT self +-- @return Unit#UNIT +function CLIENT:GetClientGroupUnit() + self:F2() + + local ClientDCSUnit = Unit.getByName( self.ClientName ) + + self:T( self.ClientDCSUnit ) + if ClientDCSUnit and ClientDCSUnit:isExist() then + local ClientUnit = _DATABASE:FindUnit( self.ClientName ) + self:T2( ClientUnit ) + return ClientUnit + end +end + +--- Returns the DCSUnit of the CLIENT. +-- @param #CLIENT self +-- @return DCSTypes#Unit +function CLIENT:GetClientGroupDCSUnit() + self:F2() + + local ClientDCSUnit = Unit.getByName( self.ClientName ) + + if ClientDCSUnit and ClientDCSUnit:isExist() then + self:T2( ClientDCSUnit ) + return ClientDCSUnit + end +end + + +--- Evaluates if the CLIENT is a transport. +-- @param #CLIENT self +-- @return #boolean true is a transport. +function CLIENT:IsTransport() + self:F() + return self.ClientTransport +end + +--- Shows the @{Cargo#CARGO} contained within the CLIENT to the player as a message. +-- The @{Cargo#CARGO} is shown using the @{Message#MESSAGE} distribution system. +-- @param #CLIENT self +function CLIENT:ShowCargo() + self:F() + + local CargoMsg = "" + + for CargoName, Cargo in pairs( CARGOS ) do + if self == Cargo:IsLoadedInClient() then + CargoMsg = CargoMsg .. Cargo.CargoName .. " Type:" .. Cargo.CargoType .. " Weight: " .. Cargo.CargoWeight .. "\n" + end + end + + if CargoMsg == "" then + CargoMsg = "empty" + end + + self:Message( CargoMsg, 15, self.ClientName .. "/Cargo", "Co-Pilot: Cargo Status", 30 ) + +end + +-- TODO (1) I urgently need to revise this. +--- A local function called by the DCS World Menu system to switch off messages. +function CLIENT.SwitchMessages( PrmTable ) + PrmTable[1].MessageSwitch = PrmTable[2] +end + +--- The main message driver for the CLIENT. +-- This function displays various messages to the Player logged into the CLIENT through the DCS World Messaging system. +-- @param #CLIENT self +-- @param #string Message is the text describing the message. +-- @param #number MessageDuration is the duration in seconds that the Message should be displayed. +-- @param #string MessageId is a text identifying the Message in the MessageQueue. The Message system overwrites Messages with the same MessageId +-- @param #string MessageCategory is the category of the message (the title). +-- @param #number MessageInterval is the interval in seconds between the display of the @{Message#MESSAGE} when the CLIENT is in the air. +function CLIENT:Message( Message, MessageDuration, MessageId, MessageCategory, MessageInterval ) + self:F( { Message, MessageDuration, MessageId, MessageCategory, MessageInterval } ) + + if not self.MenuMessages then + if self:GetClientGroupID() then + self.MenuMessages = MENU_CLIENT:New( self, 'Messages' ) + self.MenuRouteMessageOn = MENU_CLIENT_COMMAND:New( self, 'Messages On', self.MenuMessages, CLIENT.SwitchMessages, { self, true } ) + self.MenuRouteMessageOff = MENU_CLIENT_COMMAND:New( self,'Messages Off', self.MenuMessages, CLIENT.SwitchMessages, { self, false } ) + end + end + + if self.MessageSwitch == true then + if MessageCategory == nil then + MessageCategory = "Messages" + end + if self.Messages[MessageId] == nil then + self.Messages[MessageId] = {} + self.Messages[MessageId].MessageId = MessageId + self.Messages[MessageId].MessageTime = timer.getTime() + self.Messages[MessageId].MessageDuration = MessageDuration + if MessageInterval == nil then + self.Messages[MessageId].MessageInterval = 600 + else + self.Messages[MessageId].MessageInterval = MessageInterval + end + MESSAGE:New( Message, MessageCategory, MessageDuration, MessageId ):ToClient( self ) + else + if self:GetClientGroupDCSUnit() and not self:GetClientGroupDCSUnit():inAir() then + if timer.getTime() - self.Messages[MessageId].MessageTime >= self.Messages[MessageId].MessageDuration + 10 then + MESSAGE:New( Message, MessageCategory, MessageDuration, MessageId ):ToClient( self ) + self.Messages[MessageId].MessageTime = timer.getTime() + end + else + if timer.getTime() - self.Messages[MessageId].MessageTime >= self.Messages[MessageId].MessageDuration + self.Messages[MessageId].MessageInterval then + MESSAGE:New( Message, MessageCategory, MessageDuration, MessageId ):ToClient( self ) + self.Messages[MessageId].MessageTime = timer.getTime() + end + end + end + end +end +--- Manage sets of units and groups. +-- +-- @{#Database} class +-- ================== +-- Mission designers can use the DATABASE class to build sets of units belonging to certain: +-- +-- * Coalitions +-- * Categories +-- * Countries +-- * Unit types +-- * Starting with certain prefix strings. +-- +-- This list will grow over time. Planned developments are to include filters and iterators. +-- Additional filters will be added around @{Zone#ZONEs}, Radiuses, Active players, ... +-- More iterators will be implemented in the near future ... +-- +-- Administers the Initial Sets of the Mission Templates as defined within the Mission Editor. +-- +-- DATABASE construction methods: +-- ================================= +-- Create a new DATABASE object with the @{#DATABASE.New} method: +-- +-- * @{#DATABASE.New}: Creates a new DATABASE object. +-- +-- +-- DATABASE filter criteria: +-- ========================= +-- You can set filter criteria to define the set of units within the database. +-- Filter criteria are defined by: +-- +-- * @{#DATABASE.FilterCoalitions}: Builds the DATABASE with the units belonging to the coalition(s). +-- * @{#DATABASE.FilterCategories}: Builds the DATABASE with the units belonging to the category(ies). +-- * @{#DATABASE.FilterTypes}: Builds the DATABASE with the units belonging to the unit type(s). +-- * @{#DATABASE.FilterCountries}: Builds the DATABASE with the units belonging to the country(ies). +-- * @{#DATABASE.FilterUnitPrefixes}: Builds the DATABASE with the units starting with the same prefix string(s). +-- +-- Once the filter criteria have been set for the DATABASE, you can start filtering using: +-- +-- * @{#DATABASE.FilterStart}: Starts the filtering of the units within the database. +-- +-- Planned filter criteria within development are (so these are not yet available): +-- +-- * @{#DATABASE.FilterGroupPrefixes}: Builds the DATABASE with the groups of the units starting with the same prefix string(s). +-- * @{#DATABASE.FilterZones}: Builds the DATABASE with the units within a @{Zone#ZONE}. +-- +-- +-- DATABASE iterators: +-- =================== +-- Once the filters have been defined and the DATABASE has been built, you can iterate the database with the available iterator methods. +-- The iterator methods will walk the DATABASE set, and call for each element within the set a function that you provide. +-- The following iterator methods are currently available within the DATABASE: +-- +-- * @{#DATABASE.ForEachAliveUnit}: Calls a function for each alive unit it finds within the DATABASE. +-- +-- Planned iterators methods in development are (so these are not yet available): +-- +-- * @{#DATABASE.ForEachUnit}: Calls a function for each unit contained within the DATABASE. +-- * @{#DATABASE.ForEachGroup}: Calls a function for each group contained within the DATABASE. +-- * @{#DATABASE.ForEachUnitInZone}: Calls a function for each unit within a certain zone contained within the DATABASE. +-- +-- ==== +-- @module Database +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Menu" ) +Include.File( "Group" ) +Include.File( "Unit" ) +Include.File( "Event" ) +Include.File( "Client" ) + +--- DATABASE class +-- @type DATABASE +-- @extends Base#BASE +DATABASE = { + ClassName = "DATABASE", + Templates = { + Units = {}, + Groups = {}, + ClientsByName = {}, + ClientsByID = {}, + }, + DCSUnits = {}, + DCSGroups = {}, + UNITS = {}, + GROUPS = {}, + NavPoints = {}, + Statics = {}, + Players = {}, + PlayersAlive = {}, + CLIENTS = {}, + ClientsAlive = {}, + Filter = { + Coalitions = nil, + Categories = nil, + Types = nil, + Countries = nil, + UnitPrefixes = nil, + GroupPrefixes = nil, + }, + FilterMeta = { + Coalitions = { + red = coalition.side.RED, + blue = coalition.side.BLUE, + neutral = coalition.side.NEUTRAL, + }, + Categories = { + plane = Unit.Category.AIRPLANE, + helicopter = Unit.Category.HELICOPTER, + ground = Unit.Category.GROUND_UNIT, + ship = Unit.Category.SHIP, + structure = Unit.Category.STRUCTURE, + }, + }, +} + +local _DATABASECoalition = + { + [1] = "Red", + [2] = "Blue", + } + +local _DATABASECategory = + { + [Unit.Category.AIRPLANE] = "Plane", + [Unit.Category.HELICOPTER] = "Helicopter", + [Unit.Category.GROUND_UNIT] = "Vehicle", + [Unit.Category.SHIP] = "Ship", + [Unit.Category.STRUCTURE] = "Structure", + } + + +--- Creates a new DATABASE object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. +-- @param #DATABASE self +-- @return #DATABASE +-- @usage +-- -- Define a new DATABASE Object. This DBObject will contain a reference to all Group and Unit Templates defined within the ME and the DCSRTE. +-- DBObject = DATABASE:New() +function DATABASE:New() + + -- Inherits from BASE + local self = BASE:Inherit( self, BASE:New() ) + + _EVENTDISPATCHER:OnBirth( self._EventOnBirth, self ) + _EVENTDISPATCHER:OnDead( self._EventOnDeadOrCrash, self ) + _EVENTDISPATCHER:OnCrash( self._EventOnDeadOrCrash, self ) + + + -- Add database with registered clients and already alive players + + -- Follow alive players and clients + _EVENTDISPATCHER:OnPlayerEnterUnit( self._EventOnPlayerEnterUnit, self ) + _EVENTDISPATCHER:OnPlayerLeaveUnit( self._EventOnPlayerLeaveUnit, self ) + + + return self +end + +--- Finds a Unit based on the Unit Name. +-- @param #DATABASE self +-- @param #string UnitName +-- @return Unit#UNIT The found Unit. +function DATABASE:FindUnit( UnitName ) + + local UnitFound = self.UNITS[UnitName] + return UnitFound +end + +--- Adds a Unit based on the Unit Name in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddUnit( DCSUnit, DCSUnitName ) + + self.DCSUnits[DCSUnitName] = DCSUnit + self.UNITS[DCSUnitName] = UNIT:Register( DCSUnitName ) +end + +--- Deletes a Unit from the DATABASE based on the Unit Name. +-- @param #DATABASE self +function DATABASE:DeleteUnit( DCSUnitName ) + + self.DCSUnits[DCSUnitName] = nil +end + +--- Finds a CLIENT based on the ClientName. +-- @param #DATABASE self +-- @param #string ClientName +-- @return Client#CLIENT The found CLIENT. +function DATABASE:FindClient( ClientName ) + + local ClientFound = self.CLIENTS[ClientName] + return ClientFound +end + +--- Adds a CLIENT based on the ClientName in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddClient( ClientName ) + + self.CLIENTS[ClientName] = CLIENT:Register( ClientName ) + self:E( self.CLIENTS[ClientName]:GetClassNameAndID() ) +end + +--- Finds a GROUP based on the GroupName. +-- @param #DATABASE self +-- @param #string GroupName +-- @return Group#GROUP The found GROUP. +function DATABASE:FindGroup( GroupName ) + + local GroupFound = self.GROUPS[GroupName] + return GroupFound +end + +--- Adds a GROUP based on the GroupName in the DATABASE. +-- @param #DATABASE self +function DATABASE:AddGroup( DCSGroup, GroupName ) + + self.DCSGroups[GroupName] = DCSGroup + self.GROUPS[GroupName] = GROUP:Register( GroupName ) +end + +--- Instantiate new Groups within the DCSRTE. +-- This method expects EXACTLY the same structure as a structure within the ME, and needs 2 additional fields defined: +-- SpawnCountryID, SpawnCategoryID +-- This method is used by the SPAWN class. +-- @param #DATABASE self +-- @param #table SpawnTemplate +-- @return #DATABASE self +function DATABASE:Spawn( SpawnTemplate ) + self:F( SpawnTemplate.name ) + + self:T( { SpawnTemplate.SpawnCountryID, SpawnTemplate.SpawnCategoryID } ) + + -- Copy the spawn variables of the template in temporary storage, nullify, and restore the spawn variables. + local SpawnCoalitionID = SpawnTemplate.SpawnCoalitionID + local SpawnCountryID = SpawnTemplate.SpawnCountryID + local SpawnCategoryID = SpawnTemplate.SpawnCategoryID + + -- Nullify + SpawnTemplate.SpawnCoalitionID = nil + SpawnTemplate.SpawnCountryID = nil + SpawnTemplate.SpawnCategoryID = nil + + self:_RegisterGroup( SpawnTemplate ) + coalition.addGroup( SpawnCountryID, SpawnCategoryID, SpawnTemplate ) + + -- Restore + SpawnTemplate.SpawnCoalitionID = SpawnCoalitionID + SpawnTemplate.SpawnCountryID = SpawnCountryID + SpawnTemplate.SpawnCategoryID = SpawnCategoryID + + + local SpawnGroup = GROUP:Register( SpawnTemplate.name ) + return SpawnGroup +end + + +--- Set a status to a Group within the Database, this to check crossing events for example. +function DATABASE:SetStatusGroup( GroupName, Status ) + self:F( Status ) + + self.Templates.Groups[GroupName].Status = Status +end + + +--- Get a status to a Group within the Database, this to check crossing events for example. +function DATABASE:GetStatusGroup( GroupName ) + self:F( Status ) + + if self.Templates.Groups[GroupName] then + return self.Templates.Groups[GroupName].Status + else + return "" + end +end + +--- Private method that registers new Group Templates within the DATABASE Object. +-- @param #DATABASE self +-- @param #table GroupTemplate +-- @return #DATABASE self +function DATABASE:_RegisterGroup( GroupTemplate ) + + local GroupTemplateName = env.getValueDictByKey(GroupTemplate.name) + + if not self.Templates.Groups[GroupTemplateName] then + self.Templates.Groups[GroupTemplateName] = {} + self.Templates.Groups[GroupTemplateName].Status = nil + end + + -- Delete the spans from the route, it is not needed and takes memory. + if GroupTemplate.route and GroupTemplate.route.spans then + GroupTemplate.route.spans = nil + end + + self.Templates.Groups[GroupTemplateName].GroupName = GroupTemplateName + self.Templates.Groups[GroupTemplateName].Template = GroupTemplate + self.Templates.Groups[GroupTemplateName].groupId = GroupTemplate.groupId + self.Templates.Groups[GroupTemplateName].UnitCount = #GroupTemplate.units + self.Templates.Groups[GroupTemplateName].Units = GroupTemplate.units + + self:T( { "Group", self.Templates.Groups[GroupTemplateName].GroupName, self.Templates.Groups[GroupTemplateName].UnitCount } ) + + for unit_num, UnitTemplate in pairs( GroupTemplate.units ) do + + local UnitTemplateName = env.getValueDictByKey(UnitTemplate.name) + self.Templates.Units[UnitTemplateName] = {} + self.Templates.Units[UnitTemplateName].UnitName = UnitTemplateName + self.Templates.Units[UnitTemplateName].Template = UnitTemplate + self.Templates.Units[UnitTemplateName].GroupName = GroupTemplateName + self.Templates.Units[UnitTemplateName].GroupTemplate = GroupTemplate + self.Templates.Units[UnitTemplateName].GroupId = GroupTemplate.groupId + self:E( {"skill",UnitTemplate.skill}) + if UnitTemplate.skill and (UnitTemplate.skill == "Client" or UnitTemplate.skill == "Player") then + self.Templates.ClientsByName[UnitTemplateName] = UnitTemplate + self.Templates.ClientsByID[UnitTemplate.unitId] = UnitTemplate + end + self:E( { "Unit", self.Templates.Units[UnitTemplateName].UnitName } ) + end +end + +--- Private method that registers all alive players in the mission. +-- @param #DATABASE self +-- @return #DATABASE self +function DATABASE:_RegisterPlayers() + + local CoalitionsData = { AlivePlayersRed = coalition.getPlayers( coalition.side.RED ), AlivePlayersBlue = coalition.getPlayers( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + for UnitId, UnitData in pairs( CoalitionData ) do + self:T3( { "UnitData:", UnitData } ) + if UnitData and UnitData:isExist() then + local UnitName = UnitData:getName() + if not self.PlayersAlive[UnitName] then + self:E( { "Add player for unit:", UnitName, UnitData:getPlayerName() } ) + self.PlayersAlive[UnitName] = UnitData:getPlayerName() + end + end + end + end + + return self +end + +--- Private method that registers all datapoints within in the mission. +-- @param #DATABASE self +-- @return #DATABASE self +function DATABASE:_RegisterDatabase() + + local CoalitionsData = { GroupsRed = coalition.getGroups( coalition.side.RED ), GroupsBlue = coalition.getGroups( coalition.side.BLUE ) } + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + for DCSGroupId, DCSGroup in pairs( CoalitionData ) do + + if DCSGroup:isExist() then + local DCSGroupName = DCSGroup:getName() + + self:E( { "Register Group:", DCSGroup, DCSGroupName } ) + self:AddGroup( DCSGroup, DCSGroupName ) + + for DCSUnitId, DCSUnit in pairs( DCSGroup:getUnits() ) do + + local DCSUnitName = DCSUnit:getName() + self:E( { "Register Unit:", DCSUnit, DCSUnitName } ) + self:AddUnit( DCSUnit, DCSUnitName ) + end + else + self:E( { "Group does not exist: ", DCSGroup } ) + end + + end + end + + for ClientName, ClientTemplate in pairs( self.Templates.ClientsByName ) do + self:E( { "Adding Client:", ClientName } ) + self:AddClient( ClientName ) + end + + return self +end + +--- Events + +--- Handles the OnBirth event for the alive units set. +-- @param #DATABASE self +-- @param Event#EVENTDATA Event +function DATABASE:_EventOnBirth( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + if self:_IsIncludeDCSUnit( Event.IniDCSUnit ) then + self:AddUnit( Event.IniDCSUnit, Event.IniDCSUnitName ) + self:AddGroup( Event.IniDCSGroup, Event.IniDCSGroupName ) + self:_EventOnPlayerEnterUnit( Event ) + end + end +end + +--- Handles the OnDead or OnCrash event for alive units set. +-- @param #DATABASE self +-- @param Event#EVENTDATA Event +function DATABASE:_EventOnDeadOrCrash( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + if self.DCSUnits[Event.IniDCSUnitName] then + self:DeleteUnit( Event.IniDCSUnitName ) + -- add logic to correctly remove a group once all units are destroyed... + end + end +end + +--- Handles the OnPlayerEnterUnit event to fill the active players table (with the unit filter applied). +-- @param #DATABASE self +-- @param Event#EVENTDATA Event +function DATABASE:_EventOnPlayerEnterUnit( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + if self:_IsIncludeDCSUnit( Event.IniDCSUnit ) then + if not self.PlayersAlive[Event.IniDCSUnitName] then + self:E( { "Add player for unit:", Event.IniDCSUnitName, Event.IniDCSUnit:getPlayerName() } ) + self.PlayersAlive[Event.IniDCSUnitName] = Event.IniDCSUnit:getPlayerName() + self.ClientsAlive[Event.IniDCSUnitName] = self.CLIENTS[ Event.IniDCSUnitName ] + end + end + end +end + +--- Handles the OnPlayerLeaveUnit event to clean the active players table. +-- @param #DATABASE self +-- @param Event#EVENTDATA Event +function DATABASE:_EventOnPlayerLeaveUnit( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + if self:_IsIncludeDCSUnit( Event.IniDCSUnit ) then + if self.PlayersAlive[Event.IniDCSUnitName] then + self:E( { "Cleaning player for unit:", Event.IniDCSUnitName, Event.IniDCSUnit:getPlayerName() } ) + self.PlayersAlive[Event.IniDCSUnitName] = nil + self.ClientsAlive[Event.IniDCSUnitName] = nil + end + end + end +end + +--- Iterators + +--- Interate the DATABASE and call an interator function for the given set, providing the Object for each element within the set and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive player in the database. +-- @return #DATABASE self +function DATABASE:ForEach( IteratorFunction, arg, Set ) + self:F( arg ) + + local function CoRoutine() + local Count = 0 + for ObjectID, Object in pairs( Set ) do + self:T2( Object ) + IteratorFunction( Object, unpack( arg ) ) + Count = Count + 1 + if Count % 10 == 0 then + coroutine.yield( false ) + end + end + return true + end + + local co = coroutine.create( CoRoutine ) + + local function Schedule() + + local status, res = coroutine.resume( co ) + self:T( { status, res } ) + + if status == false then + error( res ) + end + if res == false then + return true -- resume next time the loop + end + + return false + end + + local Scheduler = SCHEDULER:New( self, Schedule, {}, 0.001, 0.001, 0 ) + + return self +end + + +--- Interate the DATABASE and call an interator function for each **alive** unit, providing the Unit and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive unit in the database. The function needs to accept a UNIT parameter. +-- @return #DATABASE self +function DATABASE:ForEachDCSUnit( IteratorFunction, ... ) + self:F( arg ) + + self:ForEach( IteratorFunction, arg, self.DCSUnits ) + + return self +end + +--- Interate the DATABASE and call an interator function for each **alive** player, providing the Unit of the player and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive player in the database. The function needs to accept a UNIT parameter. +-- @return #DATABASE self +function DATABASE:ForEachPlayer( IteratorFunction, ... ) + self:F( arg ) + + self:ForEach( IteratorFunction, arg, self.PlayersAlive ) + + return self +end + + +--- Interate the DATABASE and call an interator function for each client, providing the Client to the function and optional parameters. +-- @param #DATABASE self +-- @param #function IteratorFunction The function that will be called when there is an alive player in the database. The function needs to accept a CLIENT parameter. +-- @return #DATABASE self +function DATABASE:ForEachClient( IteratorFunction, ... ) + self:F( arg ) + + self:ForEach( IteratorFunction, arg, self.CLIENTS ) + + return self +end + + +function DATABASE:ScanEnvironment() + self:F() + + self.Navpoints = {} + self.UNITS = {} + --Build routines.db.units and self.Navpoints + for coa_name, coa_data in pairs(env.mission.coalition) do + + if (coa_name == 'red' or coa_name == 'blue') and type(coa_data) == 'table' then + --self.Units[coa_name] = {} + + ---------------------------------------------- + -- build nav points DB + self.Navpoints[coa_name] = {} + if coa_data.nav_points then --navpoints + for nav_ind, nav_data in pairs(coa_data.nav_points) do + + if type(nav_data) == 'table' then + self.Navpoints[coa_name][nav_ind] = routines.utils.deepCopy(nav_data) + + self.Navpoints[coa_name][nav_ind]['name'] = nav_data.callsignStr -- name is a little bit more self-explanatory. + self.Navpoints[coa_name][nav_ind]['point'] = {} -- point is used by SSE, support it. + self.Navpoints[coa_name][nav_ind]['point']['x'] = nav_data.x + self.Navpoints[coa_name][nav_ind]['point']['y'] = 0 + self.Navpoints[coa_name][nav_ind]['point']['z'] = nav_data.y + end + end + end + ------------------------------------------------- + if coa_data.country then --there is a country table + for cntry_id, cntry_data in pairs(coa_data.country) do + + local countryName = string.lower(cntry_data.name) + --self.Units[coa_name][countryName] = {} + --self.Units[coa_name][countryName]["countryId"] = cntry_data.id + + if type(cntry_data) == 'table' then --just making sure + + for obj_type_name, obj_type_data in pairs(cntry_data) do + + if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" or obj_type_name == "static" then --should be an unncessary check + + local category = obj_type_name + + if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then --there's a group! + + --self.Units[coa_name][countryName][category] = {} + + for group_num, GroupTemplate in pairs(obj_type_data.group) do + + if GroupTemplate and GroupTemplate.units and type(GroupTemplate.units) == 'table' then --making sure again- this is a valid group + self:_RegisterGroup( GroupTemplate ) + end --if GroupTemplate and GroupTemplate.units then + end --for group_num, GroupTemplate in pairs(obj_type_data.group) do + end --if ((type(obj_type_data) == 'table') and obj_type_data.group and (type(obj_type_data.group) == 'table') and (#obj_type_data.group > 0)) then + end --if obj_type_name == "helicopter" or obj_type_name == "ship" or obj_type_name == "plane" or obj_type_name == "vehicle" or obj_type_name == "static" then + end --for obj_type_name, obj_type_data in pairs(cntry_data) do + end --if type(cntry_data) == 'table' then + end --for cntry_id, cntry_data in pairs(coa_data.country) do + end --if coa_data.country then --there is a country table + end --if coa_name == 'red' or coa_name == 'blue' and type(coa_data) == 'table' then + end --for coa_name, coa_data in pairs(mission.coalition) do + + self:_RegisterDatabase() + self:_RegisterPlayers() + + return self +end + + +--- +-- @param #DATABASE self +-- @param DCSUnit#Unit DCSUnit +-- @return #DATABASE self +function DATABASE:_IsIncludeDCSUnit( DCSUnit ) + self:F( DCSUnit ) + local DCSUnitInclude = true + + if self.Filter.Coalitions then + local DCSUnitCoalition = false + for CoalitionID, CoalitionName in pairs( self.Filter.Coalitions ) do + self:T( { "Coalition:", DCSUnit:getCoalition(), self.FilterMeta.Coalitions[CoalitionName], CoalitionName } ) + if self.FilterMeta.Coalitions[CoalitionName] and self.FilterMeta.Coalitions[CoalitionName] == DCSUnit:getCoalition() then + DCSUnitCoalition = true + end + end + DCSUnitInclude = DCSUnitInclude and DCSUnitCoalition + end + + if self.Filter.Categories then + local DCSUnitCategory = false + for CategoryID, CategoryName in pairs( self.Filter.Categories ) do + self:T( { "Category:", DCSUnit:getDesc().category, self.FilterMeta.Categories[CategoryName], CategoryName } ) + if self.FilterMeta.Categories[CategoryName] and self.FilterMeta.Categories[CategoryName] == DCSUnit:getDesc().category then + DCSUnitCategory = true + end + end + DCSUnitInclude = DCSUnitInclude and DCSUnitCategory + end + + if self.Filter.Types then + local DCSUnitType = false + for TypeID, TypeName in pairs( self.Filter.Types ) do + self:T( { "Type:", DCSUnit:getTypeName(), TypeName } ) + if TypeName == DCSUnit:getTypeName() then + DCSUnitType = true + end + end + DCSUnitInclude = DCSUnitInclude and DCSUnitType + end + + if self.Filter.Countries then + local DCSUnitCountry = false + for CountryID, CountryName in pairs( self.Filter.Countries ) do + self:T( { "Country:", DCSUnit:getCountry(), CountryName } ) + if country.id[CountryName] == DCSUnit:getCountry() then + DCSUnitCountry = true + end + end + DCSUnitInclude = DCSUnitInclude and DCSUnitCountry + end + + if self.Filter.UnitPrefixes then + local DCSUnitPrefix = false + for UnitPrefixId, UnitPrefix in pairs( self.Filter.UnitPrefixes ) do + self:T( { "Unit Prefix:", string.find( DCSUnit:getName(), UnitPrefix, 1 ), UnitPrefix } ) + if string.find( DCSUnit:getName(), UnitPrefix, 1 ) then + DCSUnitPrefix = true + end + end + DCSUnitInclude = DCSUnitInclude and DCSUnitPrefix + end + + self:T( DCSUnitInclude ) + return DCSUnitInclude +end + +--- +-- @param #DATABASE self +-- @param DCSUnit#Unit DCSUnit +-- @return #DATABASE self +function DATABASE:_IsAliveDCSUnit( DCSUnit ) + self:F( DCSUnit ) + local DCSUnitAlive = false + if DCSUnit and DCSUnit:isExist() and DCSUnit:isActive() then + if self.DCSUnits[DCSUnit:getName()] then + DCSUnitAlive = true + end + end + self:T( DCSUnitAlive ) + return DCSUnitAlive +end + +--- +-- @param #DATABASE self +-- @param DCSGroup#Group DCSGroup +-- @return #DATABASE self +function DATABASE:_IsAliveDCSGroup( DCSGroup ) + self:F( DCSGroup ) + local DCSGroupAlive = false + if DCSGroup and DCSGroup:isExist() then + if self.DCSGroups[DCSGroup:getName()] then + DCSGroupAlive = true + end + end + self:T( DCSGroupAlive ) + return DCSGroupAlive +end + + +--- Traces the current database contents in the log ... (for debug reasons). +-- @param #DATABASE self +-- @return #DATABASE self +function DATABASE:TraceDatabase() + self:F() + + self:T( { "DCSUnits:", self.DCSUnits } ) +end + + +--- The main include file for the MOOSE system. + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Database" ) +Include.File( "Event" ) + +-- The order of the declarations is important here. Don't touch it. + +--- Declare the event dispatcher based on the EVENT class +_EVENTDISPATCHER = EVENT:New() -- #EVENT + +--- Declare the main database object, which is used internally by the MOOSE classes. +_DATABASE = DATABASE:New():ScanEnvironment() -- Database#DATABASE + +--- Models time events calling event handing functions. +-- @module Scheduler +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Cargo" ) +Include.File( "Message" ) + + +--- The SCHEDULER class +-- @type SCHEDULER +-- @extends Base#BASE +SCHEDULER = { + ClassName = "SCHEDULER", +} + + +--- SCHEDULER constructor. +-- @param #SCHEDULER self +-- @param #table TimeEventObject +-- @param #function TimeEventFunction +-- @param #table TimeEventFunctionArguments +-- @param #number StartSeconds +-- @param #number RepeatSecondsInterval +-- @param #number RandomizationFactor +-- @param #number StopSeconds +-- @return #SCHEDULER +function SCHEDULER:New( TimeEventObject, TimeEventFunction, TimeEventFunctionArguments, StartSeconds, RepeatSecondsInterval, RandomizationFactor, StopSeconds ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { TimeEventObject, TimeEventFunction, TimeEventFunctionArguments, StartSeconds, RepeatSecondsInterval, RandomizationFactor, StopSeconds } ) + + self.TimeEventObject = TimeEventObject + self.TimeEventFunction = TimeEventFunction + self.TimeEventFunctionArguments = TimeEventFunctionArguments + self.StartSeconds = StartSeconds + + if RepeatSecondsInterval then + self.RepeatSecondsInterval = RepeatSecondsInterval + else + self.RepeatSecondsInterval = 0 + end + + if RandomizationFactor then + self.RandomizationFactor = RandomizationFactor + else + self.RandomizationFactor = 0 + end + + if StopSeconds then + self.StopSeconds = StopSeconds + end + + self.Repeat = false + + self.StartTime = timer.getTime() + + self:Start() + + return self +end + +function SCHEDULER:Scheduler() + self:F( self.TimeEventFunctionArguments ) + + local ErrorHandler = function( errmsg ) + + env.info( "Error in SCHEDULER function:" .. errmsg ) + env.info( debug.traceback() ) + + return errmsg + end + + local Status, Result + if self.TimeEventObject then + Status, Result = xpcall( function() return self.TimeEventFunction( self.TimeEventObject, unpack( self.TimeEventFunctionArguments ) ) end, ErrorHandler ) + else + Status, Result = xpcall( function() return self.TimeEventFunction( unpack( self.TimeEventFunctionArguments ) ) end, ErrorHandler ) + end + + self:T( { Status, Result } ) + + if Status and Status == true and Result and Result == true then + if self.Repeat and ( not self.StopSeconds or ( self.StopSeconds and timer.getTime() <= self.StartTime + self.StopSeconds ) ) then + timer.scheduleFunction( + self.Scheduler, + self, + timer.getTime() + self.RepeatSecondsInterval + math.random( - ( self.RandomizationFactor * self.RepeatSecondsInterval / 2 ), ( self.RandomizationFactor * self.RepeatSecondsInterval / 2 ) ) + 0.01 + ) + end + end + +end + +function SCHEDULER:Start() + self:F( self.TimeEventObject ) + + self.Repeat = true + timer.scheduleFunction( self.Scheduler, self, timer.getTime() + self.StartSeconds + .01 ) + + return self +end + +function SCHEDULER:Stop() + self:F( self.TimeEventObject ) + + self.Repeat = false +end + + + + + + +--- Scoring system for MOOSE. +-- This scoring class calculates the hits and kills that players make within a simulation session. +-- Scoring is calculated using a defined algorithm. +-- With a small change in MissionScripting.lua, the scoring can also be logged in a CSV file, that can then be uploaded +-- to a database or a BI tool to publish the scoring results to the player community. +-- @module Scoring +-- @author FlightControl + + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Menu" ) +Include.File( "Group" ) +Include.File( "Event" ) + + +--- The Scoring class +-- @type SCORING +-- @field Players A collection of the current players that have joined the game. +-- @extends Base#BASE +SCORING = { + ClassName = "SCORING", + ClassID = 0, + Players = {}, +} + +local _SCORINGCoalition = + { + [1] = "Red", + [2] = "Blue", + } + +local _SCORINGCategory = + { + [Unit.Category.AIRPLANE] = "Plane", + [Unit.Category.HELICOPTER] = "Helicopter", + [Unit.Category.GROUND_UNIT] = "Vehicle", + [Unit.Category.SHIP] = "Ship", + [Unit.Category.STRUCTURE] = "Structure", + } + +--- Creates a new SCORING object to administer the scoring achieved by players. +-- @param #SCORING self +-- @param #string GameName The name of the game. This name is also logged in the CSV score file. +-- @return #SCORING self +-- @usage +-- -- Define a new scoring object for the mission Gori Valley. +-- ScoringObject = SCORING:New( "Gori Valley" ) +function SCORING:New( GameName ) + + -- Inherits from BASE + local self = BASE:Inherit( self, BASE:New() ) + + if GameName then + self.GameName = GameName + else + error( "A game name must be given to register the scoring results" ) + end + + + _EVENTDISPATCHER:OnDead( self._EventOnDeadOrCrash, self ) + _EVENTDISPATCHER:OnCrash( self._EventOnDeadOrCrash, self ) + _EVENTDISPATCHER:OnHit( self._EventOnHit, self ) + + self.SchedulerId = routines.scheduleFunction( SCORING._FollowPlayersScheduled, { self }, 0, 5 ) + + self:ScoreMenu() + + return self + +end + +--- Creates a score radio menu. Can be accessed using Radio -> F10. +-- @param #SCORING self +-- @return #SCORING self +function SCORING:ScoreMenu() + self.Menu = SUBMENU:New( 'Scoring' ) + self.AllScoresMenu = COMMANDMENU:New( 'Score All Active Players', self.Menu, SCORING.ReportScoreAll, self ) + --- = COMMANDMENU:New('Your Current Score', ReportScore, SCORING.ReportScorePlayer, self ) + return self +end + +--- Follows new players entering Clients within the DCSRTE. +-- TODO: Need to see if i can catch this also with an event. It will eliminate the schedule ... +function SCORING:_FollowPlayersScheduled() + self:F3( "_FollowPlayersScheduled" ) + + local ClientUnit = 0 + local CoalitionsData = { AlivePlayersRed = coalition.getPlayers(coalition.side.RED), AlivePlayersBlue = coalition.getPlayers(coalition.side.BLUE) } + local unitId + local unitData + local AlivePlayerUnits = {} + + for CoalitionId, CoalitionData in pairs( CoalitionsData ) do + self:T3( { "_FollowPlayersScheduled", CoalitionData } ) + for UnitId, UnitData in pairs( CoalitionData ) do + self:_AddPlayerFromUnit( UnitData ) + end + end +end + + +--- Track DEAD or CRASH events for the scoring. +-- @param #SCORING self +-- @param Event#EVENTDATA Event +function SCORING:_EventOnDeadOrCrash( Event ) + self:F( { Event } ) + + local TargetUnit = nil + local TargetGroup = nil + local TargetUnitName = "" + local TargetGroupName = "" + local TargetPlayerName = "" + local TargetCoalition = nil + local TargetCategory = nil + local TargetType = nil + local TargetUnitCoalition = nil + local TargetUnitCategory = nil + local TargetUnitType = nil + + if Event.IniDCSUnit then + + TargetUnit = Event.IniDCSUnit + TargetUnitName = Event.IniDCSUnitName + TargetGroup = Event.IniDCSGroup + TargetGroupName = Event.IniDCSGroupName + TargetPlayerName = TargetUnit:getPlayerName() + + TargetCoalition = TargetUnit:getCoalition() + --TargetCategory = TargetUnit:getCategory() + TargetCategory = TargetUnit:getDesc().category -- Workaround + TargetType = TargetUnit:getTypeName() + + TargetUnitCoalition = _SCORINGCoalition[TargetCoalition] + TargetUnitCategory = _SCORINGCategory[TargetCategory] + TargetUnitType = TargetType + + self:T( { TargetUnitName, TargetGroupName, TargetPlayerName, TargetCoalition, TargetCategory, TargetType } ) + end + + for PlayerName, PlayerData in pairs( self.Players ) do + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Something got killed" ) + + -- Some variables + local InitUnitName = PlayerData.UnitName + local InitUnitType = PlayerData.UnitType + local InitCoalition = PlayerData.UnitCoalition + local InitCategory = PlayerData.UnitCategory + local InitUnitCoalition = _SCORINGCoalition[InitCoalition] + local InitUnitCategory = _SCORINGCategory[InitCategory] + + self:T( { InitUnitName, InitUnitType, InitUnitCoalition, InitCoalition, InitUnitCategory, InitCategory } ) + + -- What is he hitting? + if TargetCategory then + if PlayerData and PlayerData.Hit and PlayerData.Hit[TargetCategory] and PlayerData.Hit[TargetCategory][TargetUnitName] then -- Was there a hit for this unit for this player before registered??? + if not PlayerData.Kill[TargetCategory] then + PlayerData.Kill[TargetCategory] = {} + end + if not PlayerData.Kill[TargetCategory][TargetType] then + PlayerData.Kill[TargetCategory][TargetType] = {} + PlayerData.Kill[TargetCategory][TargetType].Score = 0 + PlayerData.Kill[TargetCategory][TargetType].ScoreKill = 0 + PlayerData.Kill[TargetCategory][TargetType].Penalty = 0 + PlayerData.Kill[TargetCategory][TargetType].PenaltyKill = 0 + end + + if InitCoalition == TargetCoalition then + PlayerData.Penalty = PlayerData.Penalty + 25 + PlayerData.Kill[TargetCategory][TargetType].Penalty = PlayerData.Kill[TargetCategory][TargetType].Penalty + 25 + PlayerData.Kill[TargetCategory][TargetType].PenaltyKill = PlayerData.Kill[TargetCategory][TargetType].PenaltyKill + 1 + MESSAGE:New( "Player '" .. PlayerName .. "' killed a friendly " .. TargetUnitCategory .. " ( " .. TargetType .. " ) " .. + PlayerData.Kill[TargetCategory][TargetType].PenaltyKill .. " times. Penalty: -" .. PlayerData.Kill[TargetCategory][TargetType].Penalty .. + ". Score Total:" .. PlayerData.Score - PlayerData.Penalty, + "", 5, "/PENALTY" .. PlayerName .. "/" .. InitUnitName ):ToAll() + self:ScoreCSV( PlayerName, "KILL_PENALTY", 1, -125, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + else + PlayerData.Score = PlayerData.Score + 10 + PlayerData.Kill[TargetCategory][TargetType].Score = PlayerData.Kill[TargetCategory][TargetType].Score + 10 + PlayerData.Kill[TargetCategory][TargetType].ScoreKill = PlayerData.Kill[TargetCategory][TargetType].ScoreKill + 1 + MESSAGE:New( "Player '" .. PlayerName .. "' killed an enemy " .. TargetUnitCategory .. " ( " .. TargetType .. " ) " .. + PlayerData.Kill[TargetCategory][TargetType].ScoreKill .. " times. Score: " .. PlayerData.Kill[TargetCategory][TargetType].Score .. + ". Score Total:" .. PlayerData.Score - PlayerData.Penalty, + "", 5, "/SCORE" .. PlayerName .. "/" .. InitUnitName ):ToAll() + self:ScoreCSV( PlayerName, "KILL_SCORE", 1, 10, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + end + end + end + end + end +end + + + +--- Add a new player entering a Unit. +function SCORING:_AddPlayerFromUnit( UnitData ) + self:F( UnitData ) + + if UnitData and UnitData:isExist() then + local UnitName = UnitData:getName() + local PlayerName = UnitData:getPlayerName() + local UnitDesc = UnitData:getDesc() + local UnitCategory = UnitDesc.category + local UnitCoalition = UnitData:getCoalition() + local UnitTypeName = UnitData:getTypeName() + + self:T( { PlayerName, UnitName, UnitCategory, UnitCoalition, UnitTypeName } ) + + if self.Players[PlayerName] == nil then -- I believe this is the place where a Player gets a life in a mission when he enters a unit ... + self.Players[PlayerName] = {} + self.Players[PlayerName].Hit = {} + self.Players[PlayerName].Kill = {} + self.Players[PlayerName].Mission = {} + + -- for CategoryID, CategoryName in pairs( SCORINGCategory ) do + -- self.Players[PlayerName].Hit[CategoryID] = {} + -- self.Players[PlayerName].Kill[CategoryID] = {} + -- end + self.Players[PlayerName].HitPlayers = {} + self.Players[PlayerName].HitUnits = {} + self.Players[PlayerName].Score = 0 + self.Players[PlayerName].Penalty = 0 + self.Players[PlayerName].PenaltyCoalition = 0 + self.Players[PlayerName].PenaltyWarning = 0 + end + + if not self.Players[PlayerName].UnitCoalition then + self.Players[PlayerName].UnitCoalition = UnitCoalition + else + if self.Players[PlayerName].UnitCoalition ~= UnitCoalition then + self.Players[PlayerName].Penalty = self.Players[PlayerName].Penalty + 50 + self.Players[PlayerName].PenaltyCoalition = self.Players[PlayerName].PenaltyCoalition + 1 + MESSAGE:New( "Player '" .. PlayerName .. "' changed coalition from " .. _SCORINGCoalition[self.Players[PlayerName].UnitCoalition] .. " to " .. _SCORINGCoalition[UnitCoalition] .. + "(changed " .. self.Players[PlayerName].PenaltyCoalition .. " times the coalition). 50 Penalty points added.", + "", + 2, + "/PENALTYCOALITION" .. PlayerName + ):ToAll() + self:ScoreCSV( PlayerName, "COALITION_PENALTY", 1, -50, self.Players[PlayerName].UnitName, _SCORINGCoalition[self.Players[PlayerName].UnitCoalition], _SCORINGCategory[self.Players[PlayerName].UnitCategory], self.Players[PlayerName].UnitType, + UnitName, _SCORINGCoalition[UnitCoalition], _SCORINGCategory[UnitCategory], UnitData:getTypeName() ) + end + end + self.Players[PlayerName].UnitName = UnitName + self.Players[PlayerName].UnitCoalition = UnitCoalition + self.Players[PlayerName].UnitCategory = UnitCategory + self.Players[PlayerName].UnitType = UnitTypeName + + if self.Players[PlayerName].Penalty > 100 then + if self.Players[PlayerName].PenaltyWarning < 1 then + MESSAGE:New( "Player '" .. PlayerName .. "': WARNING! If you continue to commit FRATRICIDE and have a PENALTY score higher than 150, you will be COURT MARTIALED and DISMISSED from this mission! \nYour total penalty is: " .. self.Players[PlayerName].Penalty, + "", + 30, + "/PENALTYCOALITION" .. PlayerName + ):ToAll() + self.Players[PlayerName].PenaltyWarning = self.Players[PlayerName].PenaltyWarning + 1 + end + end + + if self.Players[PlayerName].Penalty > 150 then + ClientGroup = GROUP:NewFromDCSUnit( UnitData ) + ClientGroup:Destroy() + MESSAGE:New( "Player '" .. PlayerName .. "' committed FRATRICIDE, he will be COURT MARTIALED and is DISMISSED from this mission!", + "", + 10, + "/PENALTYCOALITION" .. PlayerName + ):ToAll() + end + + end +end + + +--- Registers Scores the players completing a Mission Task. +function SCORING:_AddMissionTaskScore( PlayerUnit, MissionName, Score ) + self:F( { PlayerUnit, MissionName, Score } ) + + local PlayerName = PlayerUnit:getPlayerName() + + if not self.Players[PlayerName].Mission[MissionName] then + self.Players[PlayerName].Mission[MissionName] = {} + self.Players[PlayerName].Mission[MissionName].ScoreTask = 0 + self.Players[PlayerName].Mission[MissionName].ScoreMission = 0 + end + + self:T( PlayerName ) + self:T( self.Players[PlayerName].Mission[MissionName] ) + + self.Players[PlayerName].Score = self.Players[PlayerName].Score + Score + self.Players[PlayerName].Mission[MissionName].ScoreTask = self.Players[PlayerName].Mission[MissionName].ScoreTask + Score + + MESSAGE:New( "Player '" .. PlayerName .. "' has finished another Task in Mission '" .. MissionName .. "'. " .. + Score .. " Score points added.", + "", 20, "/SCORETASK" .. PlayerName ):ToAll() + + self:ScoreCSV( PlayerName, "TASK_" .. MissionName:gsub( ' ', '_' ), 1, Score, PlayerUnit:getName() ) +end + + +--- Registers Mission Scores for possible multiple players that contributed in the Mission. +function SCORING:_AddMissionScore( MissionName, Score ) + self:F( { MissionName, Score } ) + + for PlayerName, PlayerData in pairs( self.Players ) do + + if PlayerData.Mission[MissionName] then + PlayerData.Score = PlayerData.Score + Score + PlayerData.Mission[MissionName].ScoreMission = PlayerData.Mission[MissionName].ScoreMission + Score + MESSAGE:New( "Player '" .. PlayerName .. "' has finished Mission '" .. MissionName .. "'. " .. + Score .. " Score points added.", + "", 20, "/SCOREMISSION" .. PlayerName ):ToAll() + self:ScoreCSV( PlayerName, "MISSION_" .. MissionName:gsub( ' ', '_' ), 1, Score ) + end + end +end + +--- Handles the OnHit event for the scoring. +-- @param #SCORING self +-- @param Event#EVENTDATA Event +function SCORING:_EventOnHit( Event ) + self:F( { Event } ) + + local InitUnit = nil + local InitUnitName = "" + local InitGroup = nil + local InitGroupName = "" + local InitPlayerName = nil + + local InitCoalition = nil + local InitCategory = nil + local InitType = nil + local InitUnitCoalition = nil + local InitUnitCategory = nil + local InitUnitType = nil + + local TargetUnit = nil + local TargetUnitName = "" + local TargetGroup = nil + local TargetGroupName = "" + local TargetPlayerName = "" + + local TargetCoalition = nil + local TargetCategory = nil + local TargetType = nil + local TargetUnitCoalition = nil + local TargetUnitCategory = nil + local TargetUnitType = nil + + if Event.IniDCSUnit then + + InitUnit = Event.IniDCSUnit + InitUnitName = Event.IniDCSUnitName + InitGroup = Event.IniDCSGroup + InitGroupName = Event.IniDCSGroupName + InitPlayerName = InitUnit:getPlayerName() + + InitCoalition = InitUnit:getCoalition() + --TODO: Workaround Client DCS Bug + --InitCategory = InitUnit:getCategory() + InitCategory = InitUnit:getDesc().category + InitType = InitUnit:getTypeName() + + InitUnitCoalition = _SCORINGCoalition[InitCoalition] + InitUnitCategory = _SCORINGCategory[InitCategory] + InitUnitType = InitType + + self:T( { InitUnitName, InitGroupName, InitPlayerName, InitCoalition, InitCategory, InitType , InitUnitCoalition, InitUnitCategory, InitUnitType } ) + end + + + if Event.TgtDCSUnit then + + TargetUnit = Event.TgtDCSUnit + TargetUnitName = Event.TgtDCSUnitName + TargetGroup = Event.TgtDCSGroup + TargetGroupName = Event.TgtDCSGroupName + TargetPlayerName = TargetUnit:getPlayerName() + + TargetCoalition = TargetUnit:getCoalition() + --TODO: Workaround Client DCS Bug + --TargetCategory = TargetUnit:getCategory() + TargetCategory = TargetUnit:getDesc().category + TargetType = TargetUnit:getTypeName() + + TargetUnitCoalition = _SCORINGCoalition[TargetCoalition] + TargetUnitCategory = _SCORINGCategory[TargetCategory] + TargetUnitType = TargetType + + self:T( { TargetUnitName, TargetGroupName, TargetPlayerName, TargetCoalition, TargetCategory, TargetType, TargetUnitCoalition, TargetUnitCategory, TargetUnitType } ) + end + + if InitPlayerName ~= nil then -- It is a player that is hitting something + self:_AddPlayerFromUnit( InitUnit ) + if self.Players[InitPlayerName] then -- This should normally not happen, but i'll test it anyway. + if TargetPlayerName ~= nil then -- It is a player hitting another player ... + self:_AddPlayerFromUnit( TargetUnit ) + self.Players[InitPlayerName].HitPlayers = self.Players[InitPlayerName].HitPlayers + 1 + end + + self:T( "Hitting Something" ) + -- What is he hitting? + if TargetCategory then + if not self.Players[InitPlayerName].Hit[TargetCategory] then + self.Players[InitPlayerName].Hit[TargetCategory] = {} + end + if not self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName] then + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName] = {} + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Score = 0 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Penalty = 0 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].ScoreHit = 0 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].PenaltyHit = 0 + end + local Score = 0 + if InitCoalition == TargetCoalition then + self.Players[InitPlayerName].Penalty = self.Players[InitPlayerName].Penalty + 10 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Penalty = self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Penalty + 10 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].PenaltyHit = self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].PenaltyHit + 1 + MESSAGE:New( "Player '" .. InitPlayerName .. "' hit a friendly " .. TargetUnitCategory .. " ( " .. TargetType .. " ) " .. + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].PenaltyHit .. " times. Penalty: -" .. self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Penalty .. + ". Score Total:" .. self.Players[InitPlayerName].Score - self.Players[InitPlayerName].Penalty, + "", + 2, + "/PENALTY" .. InitPlayerName .. "/" .. InitUnitName + ):ToAll() + self:ScoreCSV( InitPlayerName, "HIT_PENALTY", 1, -25, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + else + self.Players[InitPlayerName].Score = self.Players[InitPlayerName].Score + 10 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Score = self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Score + 1 + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].ScoreHit = self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].ScoreHit + 1 + MESSAGE:New( "Player '" .. InitPlayerName .. "' hit a target " .. TargetUnitCategory .. " ( " .. TargetType .. " ) " .. + self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].ScoreHit .. " times. Score: " .. self.Players[InitPlayerName].Hit[TargetCategory][TargetUnitName].Score .. + ". Score Total:" .. self.Players[InitPlayerName].Score - self.Players[InitPlayerName].Penalty, + "", + 2, + "/SCORE" .. InitPlayerName .. "/" .. InitUnitName + ):ToAll() + self:ScoreCSV( InitPlayerName, "HIT_SCORE", 1, 1, InitUnitName, InitUnitCoalition, InitUnitCategory, InitUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + end + end + end + elseif InitPlayerName == nil then -- It is an AI hitting a player??? + + end +end + + +function SCORING:ReportScoreAll() + + env.info( "Hello World " ) + + local ScoreMessage = "" + local PlayerMessage = "" + + self:T( "Score Report" ) + + for PlayerName, PlayerData in pairs( self.Players ) do + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local PlayerScore = 0 + local PlayerPenalty = 0 + + ScoreMessage = ":\n" + + local ScoreMessageHits = "" + + for CategoryID, CategoryName in pairs( _SCORINGCategory ) do + self:T( CategoryName ) + if PlayerData.Hit[CategoryID] then + local Score = 0 + local ScoreHit = 0 + local Penalty = 0 + local PenaltyHit = 0 + self:T( "Hit scores exist for player " .. PlayerName ) + for UnitName, UnitData in pairs( PlayerData.Hit[CategoryID] ) do + Score = Score + UnitData.Score + ScoreHit = ScoreHit + UnitData.ScoreHit + Penalty = Penalty + UnitData.Penalty + PenaltyHit = UnitData.PenaltyHit + end + local ScoreMessageHit = string.format( "%s:%d ", CategoryName, Score - Penalty ) + self:T( ScoreMessageHit ) + ScoreMessageHits = ScoreMessageHits .. ScoreMessageHit + PlayerScore = PlayerScore + Score + PlayerPenalty = PlayerPenalty + Penalty + else + --ScoreMessageHits = ScoreMessageHits .. string.format( "%s:%d ", string.format(CategoryName, 1, 1), 0 ) + end + end + if ScoreMessageHits ~= "" then + ScoreMessage = ScoreMessage .. " Hits: " .. ScoreMessageHits .. "\n" + end + + local ScoreMessageKills = "" + for CategoryID, CategoryName in pairs( _SCORINGCategory ) do + self:T( "Kill scores exist for player " .. PlayerName ) + if PlayerData.Kill[CategoryID] then + local Score = 0 + local ScoreKill = 0 + local Penalty = 0 + local PenaltyKill = 0 + + for UnitName, UnitData in pairs( PlayerData.Kill[CategoryID] ) do + Score = Score + UnitData.Score + ScoreKill = ScoreKill + UnitData.ScoreKill + Penalty = Penalty + UnitData.Penalty + PenaltyKill = PenaltyKill + UnitData.PenaltyKill + end + + local ScoreMessageKill = string.format( " %s:%d ", CategoryName, Score - Penalty ) + self:T( ScoreMessageKill ) + ScoreMessageKills = ScoreMessageKills .. ScoreMessageKill + + PlayerScore = PlayerScore + Score + PlayerPenalty = PlayerPenalty + Penalty + else + --ScoreMessageKills = ScoreMessageKills .. string.format( "%s:%d ", string.format(CategoryName, 1, 1), 0 ) + end + end + if ScoreMessageKills ~= "" then + ScoreMessage = ScoreMessage .. " Kills: " .. ScoreMessageKills .. "\n" + end + + local ScoreMessageCoalitionChangePenalties = "" + if PlayerData.PenaltyCoalition ~= 0 then + ScoreMessageCoalitionChangePenalties = ScoreMessageCoalitionChangePenalties .. string.format( " -%d (%d changed)", PlayerData.Penalty, PlayerData.PenaltyCoalition ) + PlayerPenalty = PlayerPenalty + PlayerData.Penalty + end + if ScoreMessageCoalitionChangePenalties ~= "" then + ScoreMessage = ScoreMessage .. " Coalition Penalties: " .. ScoreMessageCoalitionChangePenalties .. "\n" + end + + local ScoreMessageMission = "" + local ScoreMission = 0 + local ScoreTask = 0 + for MissionName, MissionData in pairs( PlayerData.Mission ) do + ScoreMission = ScoreMission + MissionData.ScoreMission + ScoreTask = ScoreTask + MissionData.ScoreTask + ScoreMessageMission = ScoreMessageMission .. "'" .. MissionName .. "'; " + end + PlayerScore = PlayerScore + ScoreMission + ScoreTask + + if ScoreMessageMission ~= "" then + ScoreMessage = ScoreMessage .. " Tasks: " .. ScoreTask .. " Mission: " .. ScoreMission .. " ( " .. ScoreMessageMission .. ")\n" + end + + PlayerMessage = PlayerMessage .. string.format( "Player '%s' Score:%d (%d Score -%d Penalties)%s", PlayerName, PlayerScore - PlayerPenalty, PlayerScore, PlayerPenalty, ScoreMessage ) + end + end + MESSAGE:New( PlayerMessage, "Player Scores", 30, "AllPlayerScores"):ToAll() +end + + +function SCORING:ReportScorePlayer() + + env.info( "Hello World " ) + + local ScoreMessage = "" + local PlayerMessage = "" + + self:T( "Score Report" ) + + for PlayerName, PlayerData in pairs( self.Players ) do + if PlayerData then -- This should normally not happen, but i'll test it anyway. + self:T( "Score Player: " .. PlayerName ) + + -- Some variables + local InitUnitCoalition = _SCORINGCoalition[PlayerData.UnitCoalition] + local InitUnitCategory = _SCORINGCategory[PlayerData.UnitCategory] + local InitUnitType = PlayerData.UnitType + local InitUnitName = PlayerData.UnitName + + local PlayerScore = 0 + local PlayerPenalty = 0 + + ScoreMessage = "" + + local ScoreMessageHits = "" + + for CategoryID, CategoryName in pairs( _SCORINGCategory ) do + self:T( CategoryName ) + if PlayerData.Hit[CategoryID] then + local Score = 0 + local ScoreHit = 0 + local Penalty = 0 + local PenaltyHit = 0 + self:T( "Hit scores exist for player " .. PlayerName ) + for UnitName, UnitData in pairs( PlayerData.Hit[CategoryID] ) do + Score = Score + UnitData.Score + ScoreHit = ScoreHit + UnitData.ScoreHit + Penalty = Penalty + UnitData.Penalty + PenaltyHit = UnitData.PenaltyHit + end + local ScoreMessageHit = string.format( "\n %s = %d score(%d;-%d) hits(#%d;#-%d)", CategoryName, Score - Penalty, Score, Penalty, ScoreHit, PenaltyHit ) + self:T( ScoreMessageHit ) + ScoreMessageHits = ScoreMessageHits .. ScoreMessageHit + PlayerScore = PlayerScore + Score + PlayerPenalty = PlayerPenalty + Penalty + else + --ScoreMessageHits = ScoreMessageHits .. string.format( "%s:%d ", string.format(CategoryName, 1, 1), 0 ) + end + end + if ScoreMessageHits ~= "" then + ScoreMessage = ScoreMessage .. "\n Hits: " .. ScoreMessageHits .. " " + end + + local ScoreMessageKills = "" + for CategoryID, CategoryName in pairs( _SCORINGCategory ) do + self:T( "Kill scores exist for player " .. PlayerName ) + if PlayerData.Kill[CategoryID] then + local Score = 0 + local ScoreKill = 0 + local Penalty = 0 + local PenaltyKill = 0 + + for UnitName, UnitData in pairs( PlayerData.Kill[CategoryID] ) do + Score = Score + UnitData.Score + ScoreKill = ScoreKill + UnitData.ScoreKill + Penalty = Penalty + UnitData.Penalty + PenaltyKill = PenaltyKill + UnitData.PenaltyKill + end + + local ScoreMessageKill = string.format( "\n %s = %d score(%d;-%d) hits(#%d;#-%d)", CategoryName, Score - Penalty, Score, Penalty, ScoreKill, PenaltyKill ) + self:T( ScoreMessageKill ) + ScoreMessageKills = ScoreMessageKills .. ScoreMessageKill + + PlayerScore = PlayerScore + Score + PlayerPenalty = PlayerPenalty + Penalty + else + --ScoreMessageKills = ScoreMessageKills .. string.format( "%s:%d ", string.format(CategoryName, 1, 1), 0 ) + end + end + if ScoreMessageKills ~= "" then + ScoreMessage = ScoreMessage .. "\n Kills: " .. ScoreMessageKills .. " " + end + + local ScoreMessageCoalitionChangePenalties = "" + if PlayerData.PenaltyCoalition ~= 0 then + ScoreMessageCoalitionChangePenalties = ScoreMessageCoalitionChangePenalties .. string.format( " -%d (%d changed)", PlayerData.Penalty, PlayerData.PenaltyCoalition ) + PlayerPenalty = PlayerPenalty + PlayerData.Penalty + end + if ScoreMessageCoalitionChangePenalties ~= "" then + ScoreMessage = ScoreMessage .. "\n Coalition: " .. ScoreMessageCoalitionChangePenalties .. " " + end + + local ScoreMessageMission = "" + local ScoreMission = 0 + local ScoreTask = 0 + for MissionName, MissionData in pairs( PlayerData.Mission ) do + ScoreMission = ScoreMission + MissionData.ScoreMission + ScoreTask = ScoreTask + MissionData.ScoreTask + ScoreMessageMission = ScoreMessageMission .. "'" .. MissionName .. "'; " + end + PlayerScore = PlayerScore + ScoreMission + ScoreTask + + if ScoreMessageMission ~= "" then + ScoreMessage = ScoreMessage .. "\n Tasks: " .. ScoreTask .. " Mission: " .. ScoreMission .. " ( " .. ScoreMessageMission .. ") " + end + + PlayerMessage = PlayerMessage .. string.format( "Player '%s' Score = %d ( %d Score, -%d Penalties ):%s", PlayerName, PlayerScore - PlayerPenalty, PlayerScore, PlayerPenalty, ScoreMessage ) + end + end + MESSAGE:New( PlayerMessage, "Player Scores", 30, "AllPlayerScores"):ToAll() + +end + + +function SCORING:SecondsToClock(sSeconds) + local nSeconds = sSeconds + if nSeconds == 0 then + --return nil; + return "00:00:00"; + else + nHours = string.format("%02.f", math.floor(nSeconds/3600)); + nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); + nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); + return nHours..":"..nMins..":"..nSecs + end +end + +--- Opens a score CSV file to log the scores. +-- @param #SCORING self +-- @param #string ScoringCSV +-- @return #SCORING self +-- @usage +-- -- Open a new CSV file to log the scores of the game Gori Valley. Let the name of the CSV file begin with "Player Scores". +-- ScoringObject = SCORING:New( "Gori Valley" ) +-- ScoringObject:OpenCSV( "Player Scores" ) +function SCORING:OpenCSV( ScoringCSV ) + self:F( ScoringCSV ) + + if lfs and io and os then + if ScoringCSV then + self.ScoringCSV = ScoringCSV + local fdir = lfs.writedir() .. [[Logs\]] .. self.ScoringCSV .. " " .. os.date( "%Y-%m-%d %H-%M-%S" ) .. ".csv" + + self.CSVFile, self.err = io.open( fdir, "w+" ) + if not self.CSVFile then + error( "Error: Cannot open CSV file in " .. lfs.writedir() ) + end + + self.CSVFile:write( '"GameName","RunTime","Time","PlayerName","ScoreType","PlayerUnitCoaltion","PlayerUnitCategory","PlayerUnitType","PlayerUnitName","TargetUnitCoalition","TargetUnitCategory","TargetUnitType","TargetUnitName","Times","Score"\n' ) + + self.RunTime = os.date("%y-%m-%d_%H-%M-%S") + else + error( "A string containing the CSV file name must be given." ) + end + else + self:E( "The MissionScripting.lua file has not been changed to allow lfs, io and os modules to be used..." ) + end + return self +end + + +--- Registers a score for a player. +-- @param #SCORING self +-- @param #string PlayerName The name of the player. +-- @param #string ScoreType The type of the score. +-- @param #string ScoreTimes The amount of scores achieved. +-- @param #string ScoreAmount The score given. +-- @param #string PlayerUnitName The unit name of the player. +-- @param #string PlayerUnitCoalition The coalition of the player unit. +-- @param #string PlayerUnitCategory The category of the player unit. +-- @param #string PlayerUnitType The type of the player unit. +-- @param #string TargetUnitName The name of the target unit. +-- @param #string TargetUnitCoalition The coalition of the target unit. +-- @param #string TargetUnitCategory The category of the target unit. +-- @param #string TargetUnitType The type of the target unit. +-- @return #SCORING self +function SCORING:ScoreCSV( PlayerName, ScoreType, ScoreTimes, ScoreAmount, PlayerUnitName, PlayerUnitCoalition, PlayerUnitCategory, PlayerUnitType, TargetUnitName, TargetUnitCoalition, TargetUnitCategory, TargetUnitType ) + --write statistic information to file + local ScoreTime = self:SecondsToClock( timer.getTime() ) + PlayerName = PlayerName:gsub( '"', '_' ) + + if PlayerUnitName and PlayerUnitName ~= '' then + local PlayerUnit = Unit.getByName( PlayerUnitName ) + + if PlayerUnit then + if not PlayerUnitCategory then + --PlayerUnitCategory = SCORINGCategory[PlayerUnit:getCategory()] + PlayerUnitCategory = _SCORINGCategory[PlayerUnit:getDesc().category] + end + + if not PlayerUnitCoalition then + PlayerUnitCoalition = _SCORINGCoalition[PlayerUnit:getCoalition()] + end + + if not PlayerUnitType then + PlayerUnitType = PlayerUnit:getTypeName() + end + else + PlayerUnitName = '' + PlayerUnitCategory = '' + PlayerUnitCoalition = '' + PlayerUnitType = '' + end + else + PlayerUnitName = '' + PlayerUnitCategory = '' + PlayerUnitCoalition = '' + PlayerUnitType = '' + end + + if not TargetUnitCoalition then + TargetUnitCoalition = '' + end + + if not TargetUnitCategory then + TargetUnitCategory = '' + end + + if not TargetUnitType then + TargetUnitType = '' + end + + if not TargetUnitName then + TargetUnitName = '' + end + + if lfs and io and os then + self.CSVFile:write( + '"' .. self.GameName .. '"' .. ',' .. + '"' .. self.RunTime .. '"' .. ',' .. + '' .. ScoreTime .. '' .. ',' .. + '"' .. PlayerName .. '"' .. ',' .. + '"' .. ScoreType .. '"' .. ',' .. + '"' .. PlayerUnitCoalition .. '"' .. ',' .. + '"' .. PlayerUnitCategory .. '"' .. ',' .. + '"' .. PlayerUnitType .. '"' .. ',' .. + '"' .. PlayerUnitName .. '"' .. ',' .. + '"' .. TargetUnitCoalition .. '"' .. ',' .. + '"' .. TargetUnitCategory .. '"' .. ',' .. + '"' .. TargetUnitType .. '"' .. ',' .. + '"' .. TargetUnitName .. '"' .. ',' .. + '' .. ScoreTimes .. '' .. ',' .. + '' .. ScoreAmount + ) + + self.CSVFile:write( "\n" ) + end +end + + +function SCORING:CloseCSV() + if lfs and io and os then + self.CSVFile:close() + end +end + +--- CARGO Classes +-- @module CARGO + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Message" ) + +--- Clients are those Groups defined within the Mission Editor that have the skillset defined as "Client" or "Player". +-- These clients are defined within the Mission Orchestration Framework (MOF) + +CARGOS = {} + + +CARGO_ZONE = { + ClassName="CARGO_ZONE", + CargoZoneName = '', + CargoHostUnitName = '', + SIGNAL = { + TYPE = { + SMOKE = { ID = 1, TEXT = "smoke" }, + FLARE = { ID = 2, TEXT = "flare" } + }, + COLOR = { + GREEN = { ID = 1, TRIGGERCOLOR = trigger.smokeColor.Green, TEXT = "A green" }, + RED = { ID = 2, TRIGGERCOLOR = trigger.smokeColor.Red, TEXT = "A red" }, + WHITE = { ID = 3, TRIGGERCOLOR = trigger.smokeColor.White, TEXT = "A white" }, + ORANGE = { ID = 4, TRIGGERCOLOR = trigger.smokeColor.Orange, TEXT = "An orange" }, + BLUE = { ID = 5, TRIGGERCOLOR = trigger.smokeColor.Blue, TEXT = "A blue" }, + YELLOW = { ID = 6, TRIGGERCOLOR = trigger.flareColor.Yellow, TEXT = "A yellow" } + } + } +} + +--- Creates a new zone where cargo can be collected or deployed. +-- The zone functionality is useful to smoke or indicate routes for cargo pickups or deployments. +-- Provide the zone name as declared in the mission file into the CargoZoneName in the :New method. +-- An optional parameter is the CargoHostName, which is a Group declared with Late Activation switched on in the mission file. +-- The CargoHostName is the "host" of the cargo zone: +-- +-- * It will smoke the zone position when a client is approaching the zone. +-- * Depending on the cargo type, it will assist in the delivery of the cargo by driving to and from the client. +-- +-- @param #CARGO_ZONE self +-- @param #string CargoZoneName The name of the zone as declared within the mission editor. +-- @param #string CargoHostName The name of the Group "hosting" the zone. The Group MUST NOT be a static, and must be a "mobile" unit. +function CARGO_ZONE:New( CargoZoneName, CargoHostName ) local self = BASE:Inherit( self, ZONE:New( CargoZoneName ) ) + self:F( { CargoZoneName, CargoHostName } ) + + self.CargoZoneName = CargoZoneName + self.SignalHeight = 2 + --self.CargoZone = trigger.misc.getZone( CargoZoneName ) + + + if CargoHostName then + self.CargoHostName = CargoHostName + end + + self:T( self.CargoZoneName ) + + return self +end + +function CARGO_ZONE:Spawn() + self:F( self.CargoHostName ) + + if self.CargoHostName then -- Only spawn a host in the zone when there is one given as a parameter in the New function. + if self.CargoHostSpawn then + local CargoHostGroup = self.CargoHostSpawn:GetGroupFromIndex() + if CargoHostGroup and CargoHostGroup:IsAlive() then + else + self.CargoHostSpawn:ReSpawn( 1 ) + end + else + self:T( "Initialize CargoHostSpawn" ) + self.CargoHostSpawn = SPAWN:New( self.CargoHostName ):Limit( 1, 1 ) + self.CargoHostSpawn:ReSpawn( 1 ) + end + end + + return self +end + +function CARGO_ZONE:GetHostUnit() + self:F( self ) + + if self.CargoHostName then + + -- A Host has been given, signal the host + local CargoHostGroup = self.CargoHostSpawn:GetGroupFromIndex() + local CargoHostUnit + if CargoHostGroup and CargoHostGroup:IsAlive() then + CargoHostUnit = CargoHostGroup:GetUnit(1) + else + CargoHostUnit = StaticObject.getByName( self.CargoHostName ) + end + + return CargoHostUnit + end + + return nil +end + +function CARGO_ZONE:ReportCargosToClient( Client, CargoType ) + self:F() + + local SignalUnit = self:GetHostUnit() + + if SignalUnit then + + local SignalUnitTypeName = SignalUnit:getTypeName() + + local HostMessage = "" + + local IsCargo = false + for CargoID, Cargo in pairs( CARGOS ) do + if Cargo.CargoType == Task.CargoType then + if Cargo:IsStatusNone() then + HostMessage = HostMessage .. " - " .. Cargo.CargoName .. " - " .. Cargo.CargoType .. " (" .. Cargo.Weight .. "kg)" .. "\n" + IsCargo = true + end + end + end + + if not IsCargo then + HostMessage = "No Cargo Available." + end + + Client:Message( HostMessage, 20, Mission.Name .. "/StageHosts." .. SignalUnitTypeName, SignalUnitTypeName .. ": Reporting Cargo", 10 ) + end +end + + +function CARGO_ZONE:Signal() + self:F() + + local Signalled = false + + if self.SignalType then + + if self.CargoHostName then + + -- A Host has been given, signal the host + + local SignalUnit = self:GetHostUnit() + + if SignalUnit then + + self:T( 'Signalling Unit' ) + local SignalVehiclePos = SignalUnit:GetPointVec3() + SignalVehiclePos.y = SignalVehiclePos.y + 2 + + if self.SignalType.ID == CARGO_ZONE.SIGNAL.TYPE.SMOKE.ID then + + trigger.action.smoke( SignalVehiclePos, self.SignalColor.TRIGGERCOLOR ) + Signalled = true + + elseif self.SignalType.ID == CARGO_ZONE.SIGNAL.TYPE.FLARE.ID then + + trigger.action.signalFlare( SignalVehiclePos, self.SignalColor.TRIGGERCOLOR , 0 ) + Signalled = false + + end + end + + else + + local ZonePointVec3 = self:GetPointVec3( self.SignalHeight ) -- Get the zone position + the landheight + 2 meters + + if self.SignalType.ID == CARGO_ZONE.SIGNAL.TYPE.SMOKE.ID then + + trigger.action.smoke( ZonePointVec3, self.SignalColor.TRIGGERCOLOR ) + Signalled = true + + elseif self.SignalType.ID == CARGO_ZONE.SIGNAL.TYPE.FLARE.ID then + trigger.action.signalFlare( ZonePointVec3, self.SignalColor.TRIGGERCOLOR, 0 ) + Signalled = false + + end + end + end + + return Signalled + +end + +function CARGO_ZONE:WhiteSmoke( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.SMOKE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.WHITE + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:BlueSmoke( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.SMOKE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.BLUE + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:RedSmoke( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.SMOKE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.RED + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:OrangeSmoke( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.SMOKE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.ORANGE + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:GreenSmoke( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.SMOKE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.GREEN + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + + +function CARGO_ZONE:WhiteFlare( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.FLARE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.WHITE + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:RedFlare( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.FLARE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.RED + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:GreenFlare( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.FLARE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.GREEN + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + +function CARGO_ZONE:YellowFlare( SignalHeight ) + self:F() + + self.SignalType = CARGO_ZONE.SIGNAL.TYPE.FLARE + self.SignalColor = CARGO_ZONE.SIGNAL.COLOR.YELLOW + + if SignalHeight then + self.SignalHeight = SignalHeight + end + + return self +end + + +function CARGO_ZONE:GetCargoHostUnit() + self:F( self ) + + if self.CargoHostSpawn then + local CargoHostGroup = self.CargoHostSpawn:GetGroupFromIndex(1) + if CargoHostGroup and CargoHostGroup:IsAlive() then + local CargoHostUnit = CargoHostGroup:GetUnit(1) + if CargoHostUnit and CargoHostUnit:IsAlive() then + return CargoHostUnit + end + end + end + + return nil +end + +function CARGO_ZONE:GetCargoZoneName() + self:F() + + return self.CargoZoneName +end + +CARGO = { + ClassName = "CARGO", + STATUS = { + NONE = 0, + LOADED = 1, + UNLOADED = 2, + LOADING = 3 + }, + CargoClient = nil +} + +--- Add Cargo to the mission... Cargo functionality needs to be reworked a bit, so this is still under construction. I need to make a CARGO Class... +function CARGO:New( CargoType, CargoName, CargoWeight ) local self = BASE:Inherit( self, BASE:New() ) + self:F( { CargoType, CargoName, CargoWeight } ) + + + self.CargoType = CargoType + self.CargoName = CargoName + self.CargoWeight = CargoWeight + + self:StatusNone() + + return self +end + +function CARGO:Spawn( Client ) + self:F() + + return self + +end + +function CARGO:IsNear( Client, LandingZone ) + self:F() + + local Near = true + + return Near + +end + + +function CARGO:IsLoadingToClient() + self:F() + + if self:IsStatusLoading() then + return self.CargoClient + end + + return nil + +end + + +function CARGO:IsLoadedInClient() + self:F() + + if self:IsStatusLoaded() then + return self.CargoClient + end + + return nil + +end + + +function CARGO:UnLoad( Client, TargetZoneName ) + self:F() + + self:StatusUnLoaded() + + return self +end + +function CARGO:OnBoard( Client, LandingZone ) + self:F() + + local Valid = true + + self.CargoClient = Client + local ClientUnit = Client:GetClientGroupDCSUnit() + + return Valid +end + +function CARGO:OnBoarded( Client, LandingZone ) + self:F() + + local OnBoarded = true + + return OnBoarded +end + +function CARGO:Load( Client ) + self:F() + + self:StatusLoaded( Client ) + + return self +end + +function CARGO:IsLandingRequired() + self:F() + return true +end + +function CARGO:IsSlingLoad() + self:F() + return false +end + + +function CARGO:StatusNone() + self:F() + + self.CargoClient = nil + self.CargoStatus = CARGO.STATUS.NONE + + return self +end + +function CARGO:StatusLoading( Client ) + self:F() + + self.CargoClient = Client + self.CargoStatus = CARGO.STATUS.LOADING + self:T( "Cargo " .. self.CargoName .. " loading to Client: " .. self.CargoClient:GetClientGroupName() ) + + return self +end + +function CARGO:StatusLoaded( Client ) + self:F() + + self.CargoClient = Client + self.CargoStatus = CARGO.STATUS.LOADED + self:T( "Cargo " .. self.CargoName .. " loaded in Client: " .. self.CargoClient:GetClientGroupName() ) + + return self +end + +function CARGO:StatusUnLoaded() + self:F() + + self.CargoClient = nil + self.CargoStatus = CARGO.STATUS.UNLOADED + + return self +end + + +function CARGO:IsStatusNone() + self:F() + + return self.CargoStatus == CARGO.STATUS.NONE +end + +function CARGO:IsStatusLoading() + self:F() + + return self.CargoStatus == CARGO.STATUS.LOADING +end + +function CARGO:IsStatusLoaded() + self:F() + + return self.CargoStatus == CARGO.STATUS.LOADED +end + +function CARGO:IsStatusUnLoaded() + self:F() + + return self.CargoStatus == CARGO.STATUS.UNLOADED +end + + +CARGO_GROUP = { + ClassName = "CARGO_GROUP" +} + + +function CARGO_GROUP:New( CargoType, CargoName, CargoWeight, CargoGroupTemplate, CargoZone ) local self = BASE:Inherit( self, CARGO:New( CargoType, CargoName, CargoWeight ) ) + self:F( { CargoType, CargoName, CargoWeight, CargoGroupTemplate, CargoZone } ) + + self.CargoSpawn = SPAWN:NewWithAlias( CargoGroupTemplate, CargoName ) + self.CargoZone = CargoZone + + CARGOS[self.CargoName] = self + + return self + +end + +function CARGO_GROUP:Spawn( Client ) + self:F( { Client } ) + + local SpawnCargo = true + + if self:IsStatusNone() then + local CargoGroup = Group.getByName( self.CargoName ) + if CargoGroup and CargoGroup:isExist() then + SpawnCargo = false + end + + elseif self:IsStatusLoading() then + + local Client = self:IsLoadingToClient() + if Client and Client:GetDCSGroup() then + SpawnCargo = false + else + local CargoGroup = Group.getByName( self.CargoName ) + if CargoGroup and CargoGroup:isExist() then + SpawnCargo = false + end + end + + elseif self:IsStatusLoaded() then + + local ClientLoaded = self:IsLoadedInClient() + -- Now test if another Client is alive (not this one), and it has the CARGO, then this cargo does not need to be initialized and spawned. + if ClientLoaded and ClientLoaded ~= Client then + local ClientGroup = Client:GetDCSGroup() + if ClientLoaded:GetClientGroupDCSUnit() and ClientLoaded:GetClientGroupDCSUnit():isExist() then + SpawnCargo = false + else + self:StatusNone() + end + else + -- Same Client, but now in initialize, so set back the status to None. + self:StatusNone() + end + + elseif self:IsStatusUnLoaded() then + + SpawnCargo = false + + end + + if SpawnCargo then + if self.CargoZone:GetCargoHostUnit() then + --- ReSpawn the Cargo from the CargoHost + self.CargoGroupName = self.CargoSpawn:SpawnFromUnit( self.CargoZone:GetCargoHostUnit(), 60, 30, 1 ):GetName() + else + --- ReSpawn the Cargo in the CargoZone without a host ... + self:T( self.CargoZone ) + self.CargoGroupName = self.CargoSpawn:SpawnInZone( self.CargoZone, true, 1 ):GetName() + end + self:StatusNone() + end + + self:T( { self.CargoGroupName, CARGOS[self.CargoName].CargoGroupName } ) + + return self +end + +function CARGO_GROUP:IsNear( Client, LandingZone ) + self:F() + + local Near = false + + if self.CargoGroupName then + local CargoGroup = Group.getByName( self.CargoGroupName ) + if routines.IsPartOfGroupInRadius( CargoGroup, Client:GetPositionVec3(), 250 ) then + Near = true + end + end + + return Near + +end + + +function CARGO_GROUP:OnBoard( Client, LandingZone, OnBoardSide ) + self:F() + + local Valid = true + + local ClientUnit = Client:GetClientGroupDCSUnit() + + local CarrierPos = ClientUnit:getPoint() + local CarrierPosMove = ClientUnit:getPoint() + local CarrierPosOnBoard = ClientUnit:getPoint() + + local CargoGroup = Group.getByName( self.CargoGroupName ) + + local CargoUnit = CargoGroup:getUnit(1) + local CargoPos = CargoUnit:getPoint() + + self.CargoInAir = CargoUnit:inAir() + + self:T( self.CargoInAir ) + + -- Only move the group to the carrier when the cargo is not in the air + -- (eg. cargo can be on a oil derrick, moving the cargo on the oil derrick will drop the cargo on the sea). + if not self.CargoInAir then + + local Points = {} + + self:T( 'CargoPos x = ' .. CargoPos.x .. " z = " .. CargoPos.z ) + self:T( 'CarrierPosMove x = ' .. CarrierPosMove.x .. " z = " .. CarrierPosMove.z ) + + Points[#Points+1] = routines.ground.buildWP( CargoPos, "Cone", 10 ) + + self:T( 'Points[1] x = ' .. Points[1].x .. " y = " .. Points[1].y ) + + if OnBoardSide == nil then + OnBoardSide = CLIENT.ONBOARDSIDE.NONE + end + + if OnBoardSide == CLIENT.ONBOARDSIDE.LEFT then + + self:T( "TransportCargoOnBoard: Onboarding LEFT" ) + CarrierPosMove.z = CarrierPosMove.z - 25 + CarrierPosOnBoard.z = CarrierPosOnBoard.z - 5 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.RIGHT then + + self:T( "TransportCargoOnBoard: Onboarding RIGHT" ) + CarrierPosMove.z = CarrierPosMove.z + 25 + CarrierPosOnBoard.z = CarrierPosOnBoard.z + 5 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.BACK then + + self:T( "TransportCargoOnBoard: Onboarding BACK" ) + CarrierPosMove.x = CarrierPosMove.x - 25 + CarrierPosOnBoard.x = CarrierPosOnBoard.x - 5 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.FRONT then + + self:T( "TransportCargoOnBoard: Onboarding FRONT" ) + CarrierPosMove.x = CarrierPosMove.x + 25 + CarrierPosOnBoard.x = CarrierPosOnBoard.x + 5 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.NONE then + + self:T( "TransportCargoOnBoard: Onboarding CENTRAL" ) + Points[#Points+1] = routines.ground.buildWP( CarrierPos, "Cone", 10 ) + + end + self:T( "TransportCargoOnBoard: Routing " .. self.CargoGroupName ) + + routines.scheduleFunction( routines.goRoute, { self.CargoGroupName, Points}, timer.getTime() + 4 ) + end + + self:StatusLoading( Client ) + + return Valid + +end + + +function CARGO_GROUP:OnBoarded( Client, LandingZone ) + self:F() + + local OnBoarded = false + + local CargoGroup = Group.getByName( self.CargoGroupName ) + + if not self.CargoInAir then + if routines.IsPartOfGroupInRadius( CargoGroup, Client:GetPositionVec3(), 25 ) then + CargoGroup:destroy() + self:StatusLoaded( Client ) + OnBoarded = true + end + else + CargoGroup:destroy() + self:StatusLoaded( Client ) + OnBoarded = true + end + + return OnBoarded +end + + +function CARGO_GROUP:UnLoad( Client, TargetZoneName ) + self:F() + + self:T( 'self.CargoName = ' .. self.CargoName ) + + local CargoGroup = self.CargoSpawn:SpawnFromUnit( Client:GetClientGroupUnit(), 60, 30 ) + + self.CargoGroupName = CargoGroup:GetName() + self:T( 'self.CargoGroupName = ' .. self.CargoGroupName ) + + CargoGroup:TaskRouteToZone( ZONE:New( TargetZoneName ), true ) + + self:StatusUnLoaded() + + return self +end + + +CARGO_PACKAGE = { + ClassName = "CARGO_PACKAGE" +} + + +function CARGO_PACKAGE:New( CargoType, CargoName, CargoWeight, CargoClient ) local self = BASE:Inherit( self, CARGO:New( CargoType, CargoName, CargoWeight ) ) + self:F( { CargoType, CargoName, CargoWeight, CargoClient } ) + + self.CargoClient = CargoClient + + CARGOS[self.CargoName] = self + + return self + +end + + +function CARGO_PACKAGE:Spawn( Client ) + self:F( { self, Client } ) + + -- this needs to be checked thoroughly + + local CargoClientGroup = self.CargoClient:GetDCSGroup() + if not CargoClientGroup then + if not self.CargoClientSpawn then + self.CargoClientSpawn = SPAWN:New( self.CargoClient:GetClientGroupName() ):Limit( 1, 1 ) + end + self.CargoClientSpawn:ReSpawn( 1 ) + end + + local SpawnCargo = true + + if self:IsStatusNone() then + + elseif self:IsStatusLoading() or self:IsStatusLoaded() then + + local CargoClientLoaded = self:IsLoadedInClient() + if CargoClientLoaded and CargoClientLoaded:GetDCSGroup() then + SpawnCargo = false + end + + elseif self:IsStatusUnLoaded() then + + SpawnCargo = false + + else + + end + + if SpawnCargo then + self:StatusLoaded( self.CargoClient ) + end + + return self +end + + +function CARGO_PACKAGE:IsNear( Client, LandingZone ) + self:F() + + local Near = false + + if self.CargoClient and self.CargoClient:GetDCSGroup() then + self:T( self.CargoClient.ClientName ) + self:T( 'Client Exists.' ) + + if routines.IsUnitInRadius( self.CargoClient:GetClientGroupDCSUnit(), Client:GetPositionVec3(), 150 ) then + Near = true + end + end + + return Near + +end + + +function CARGO_PACKAGE:OnBoard( Client, LandingZone, OnBoardSide ) + self:F() + + local Valid = true + + local ClientUnit = Client:GetClientGroupDCSUnit() + + local CarrierPos = ClientUnit:getPoint() + local CarrierPosMove = ClientUnit:getPoint() + local CarrierPosOnBoard = ClientUnit:getPoint() + local CarrierPosMoveAway = ClientUnit:getPoint() + + local CargoHostGroup = self.CargoClient:GetDCSGroup() + local CargoHostName = self.CargoClient:GetDCSGroup():getName() + + local CargoHostUnits = CargoHostGroup:getUnits() + local CargoPos = CargoHostUnits[1]:getPoint() + + local Points = {} + + self:T( 'CargoPos x = ' .. CargoPos.x .. " z = " .. CargoPos.z ) + self:T( 'CarrierPosMove x = ' .. CarrierPosMove.x .. " z = " .. CarrierPosMove.z ) + + Points[#Points+1] = routines.ground.buildWP( CargoPos, "Cone", 10 ) + + self:T( 'Points[1] x = ' .. Points[1].x .. " y = " .. Points[1].y ) + + if OnBoardSide == nil then + OnBoardSide = CLIENT.ONBOARDSIDE.NONE + end + + if OnBoardSide == CLIENT.ONBOARDSIDE.LEFT then + + self:T( "TransportCargoOnBoard: Onboarding LEFT" ) + CarrierPosMove.z = CarrierPosMove.z - 25 + CarrierPosOnBoard.z = CarrierPosOnBoard.z - 5 + CarrierPosMoveAway.z = CarrierPosMoveAway.z - 20 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosMoveAway, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.RIGHT then + + self:T( "TransportCargoOnBoard: Onboarding RIGHT" ) + CarrierPosMove.z = CarrierPosMove.z + 25 + CarrierPosOnBoard.z = CarrierPosOnBoard.z + 5 + CarrierPosMoveAway.z = CarrierPosMoveAway.z + 20 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosMoveAway, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.BACK then + + self:T( "TransportCargoOnBoard: Onboarding BACK" ) + CarrierPosMove.x = CarrierPosMove.x - 25 + CarrierPosOnBoard.x = CarrierPosOnBoard.x - 5 + CarrierPosMoveAway.x = CarrierPosMoveAway.x - 20 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosMoveAway, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.FRONT then + + self:T( "TransportCargoOnBoard: Onboarding FRONT" ) + CarrierPosMove.x = CarrierPosMove.x + 25 + CarrierPosOnBoard.x = CarrierPosOnBoard.x + 5 + CarrierPosMoveAway.x = CarrierPosMoveAway.x + 20 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosMoveAway, "Cone", 10 ) + + elseif OnBoardSide == CLIENT.ONBOARDSIDE.NONE then + + self:T( "TransportCargoOnBoard: Onboarding FRONT" ) + CarrierPosMove.x = CarrierPosMove.x + 25 + CarrierPosOnBoard.x = CarrierPosOnBoard.x + 5 + CarrierPosMoveAway.x = CarrierPosMoveAway.x + 20 + Points[#Points+1] = routines.ground.buildWP( CarrierPosMove, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosOnBoard, "Cone", 10 ) + Points[#Points+1] = routines.ground.buildWP( CarrierPosMoveAway, "Cone", 10 ) + + end + self:T( "Routing " .. CargoHostName ) + + routines.scheduleFunction( routines.goRoute, { CargoHostName, Points}, timer.getTime() + 4 ) + + return Valid + +end + + +function CARGO_PACKAGE:OnBoarded( Client, LandingZone ) + self:F() + + local OnBoarded = false + + if self.CargoClient and self.CargoClient:GetDCSGroup() then + if routines.IsUnitInRadius( self.CargoClient:GetClientGroupDCSUnit(), self.CargoClient:GetPositionVec3(), 10 ) then + + -- Switch Cargo from self.CargoClient to Client ... Each cargo can have only one client. So assigning the new client for the cargo is enough. + self:StatusLoaded( Client ) + + -- All done, onboarded the Cargo to the new Client. + OnBoarded = true + end + end + + return OnBoarded +end + + +function CARGO_PACKAGE:UnLoad( Client, TargetZoneName ) + self:F() + + self:T( 'self.CargoName = ' .. self.CargoName ) + --self:T( 'self.CargoHostName = ' .. self.CargoHostName ) + + --self.CargoSpawn:FromCarrier( Client:GetDCSGroup(), TargetZoneName, self.CargoHostName ) + self:StatusUnLoaded() + + return Cargo +end + + +CARGO_SLINGLOAD = { + ClassName = "CARGO_SLINGLOAD" +} + + +function CARGO_SLINGLOAD:New( CargoType, CargoName, CargoWeight, CargoZone, CargoHostName, CargoCountryID ) + local self = BASE:Inherit( self, CARGO:New( CargoType, CargoName, CargoWeight ) ) + self:F( { CargoType, CargoName, CargoWeight, CargoZone, CargoHostName, CargoCountryID } ) + + self.CargoHostName = CargoHostName + + -- Cargo will be initialized around the CargoZone position. + self.CargoZone = CargoZone + + self.CargoCount = 0 + self.CargoStaticName = string.format( "%s#%03d", self.CargoName, self.CargoCount ) + + -- The country ID needs to be correctly set. + self.CargoCountryID = CargoCountryID + + CARGOS[self.CargoName] = self + + return self + +end + + +function CARGO_SLINGLOAD:IsLandingRequired() + self:F() + return false +end + + +function CARGO_SLINGLOAD:IsSlingLoad() + self:F() + return true +end + + +function CARGO_SLINGLOAD:Spawn( Client ) + self:F( { self, Client } ) + + local Zone = trigger.misc.getZone( self.CargoZone ) + + local ZonePos = {} + ZonePos.x = Zone.point.x + math.random( Zone.radius / 2 * -1, Zone.radius / 2 ) + ZonePos.y = Zone.point.z + math.random( Zone.radius / 2 * -1, Zone.radius / 2 ) + + self:T( "Cargo Location = " .. ZonePos.x .. ", " .. ZonePos.y ) + + --[[ + -- This does not work in 1.5.2. + CargoStatic = StaticObject.getByName( self.CargoName ) + if CargoStatic then + CargoStatic:destroy() + end + --]] + + CargoStatic = StaticObject.getByName( self.CargoStaticName ) + + if CargoStatic and CargoStatic:isExist() then + CargoStatic:destroy() + end + + -- I need to make every time a new cargo due to bugs in 1.5.2. + + self.CargoCount = self.CargoCount + 1 + self.CargoStaticName = string.format( "%s#%03d", self.CargoName, self.CargoCount ) + + local CargoTemplate = { + ["category"] = "Cargo", + ["shape_name"] = "ab-212_cargo", + ["type"] = "Cargo1", + ["x"] = ZonePos.x, + ["y"] = ZonePos.y, + ["mass"] = self.CargoWeight, + ["name"] = self.CargoStaticName, + ["canCargo"] = true, + ["heading"] = 0, + } + + coalition.addStaticObject( self.CargoCountryID, CargoTemplate ) + +-- end + + return self +end + + +function CARGO_SLINGLOAD:IsNear( Client, LandingZone ) + self:F() + + local Near = false + + return Near +end + + +function CARGO_SLINGLOAD:IsInLandingZone( Client, LandingZone ) + self:F() + + local Near = false + + local CargoStaticUnit = StaticObject.getByName( self.CargoName ) + if CargoStaticUnit then + if routines.IsStaticInZones( CargoStaticUnit, LandingZone ) then + Near = true + end + end + + return Near +end + + +function CARGO_SLINGLOAD:OnBoard( Client, LandingZone, OnBoardSide ) + self:F() + + local Valid = true + + + return Valid +end + + +function CARGO_SLINGLOAD:OnBoarded( Client, LandingZone ) + self:F() + + local OnBoarded = false + + local CargoStaticUnit = StaticObject.getByName( self.CargoName ) + if CargoStaticUnit then + if not routines.IsStaticInZones( CargoStaticUnit, LandingZone ) then + OnBoarded = true + end + end + + return OnBoarded +end + + +function CARGO_SLINGLOAD:UnLoad( Client, TargetZoneName ) + self:F() + + self:T( 'self.CargoName = ' .. self.CargoName ) + self:T( 'self.CargoGroupName = ' .. self.CargoGroupName ) + + self:StatusUnLoaded() + + return Cargo +end +--- Message System to display Messages for Clients and Coalitions or All. +-- Messages are grouped on the display panel per Category to improve readability for the players. +-- Messages are shown on the display panel for an amount of seconds, and will then disappear. +-- Messages are identified by an ID. The messages with the same ID belonging to the same category will be overwritten if they were still being displayed on the display panel. +-- Messages are created with MESSAGE:@{New}(). +-- Messages are sent to Clients with MESSAGE:@{ToClient}(). +-- Messages are sent to Coalitions with MESSAGE:@{ToCoalition}(). +-- Messages are sent to All Players with MESSAGE:@{ToAll}(). +-- @module Message + +Include.File( "Base" ) + +--- The MESSAGE class +-- @type MESSAGE +MESSAGE = { + ClassName = "MESSAGE", + MessageCategory = 0, + MessageID = 0, +} + + +--- Creates a new MESSAGE object. Note that these MESSAGE objects are not yet displayed on the display panel. You must use the functions @{ToClient} or @{ToCoalition} or @{ToAll} to send these Messages to the respective recipients. +-- @param self +-- @param #string MessageText is the text of the Message. +-- @param #string MessageCategory is a string expressing the Category of the Message. Messages are grouped on the display panel per Category to improve readability. +-- @param #number MessageDuration is a number in seconds of how long the MESSAGE should be shown on the display panel. +-- @param #string MessageID is a string expressing the ID of the Message. +-- @return #MESSAGE +-- @usage +-- -- Create a series of new Messages. +-- -- MessageAll is meant to be sent to all players, for 25 seconds, and is classified as "Score". +-- -- MessageRED is meant to be sent to the RED players only, for 10 seconds, and is classified as "End of Mission", with ID "Win". +-- -- MessageClient1 is meant to be sent to a Client, for 25 seconds, and is classified as "Score", with ID "Score". +-- -- MessageClient1 is meant to be sent to a Client, for 25 seconds, and is classified as "Score", with ID "Score". +-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ) +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ) +-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ) +function MESSAGE:New( MessageText, MessageCategory, MessageDuration, MessageID ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { MessageText, MessageCategory, MessageDuration, MessageID } ) + + -- When no messagecategory is given, we don't show it as a title... + if MessageCategory and MessageCategory ~= "" then + self.MessageCategory = MessageCategory .. ": " + else + self.MessageCategory = "" + end + + self.MessageDuration = MessageDuration + self.MessageID = MessageID + self.MessageTime = timer.getTime() + self.MessageText = MessageText + + self.MessageSent = false + self.MessageGroup = false + self.MessageCoalition = false + + return self +end + +--- Sends a MESSAGE to a Client Group. Note that the Group needs to be defined within the ME with the skillset "Client" or "Player". +-- @param #MESSAGE self +-- @param Client#CLIENT Client is the Group of the Client. +-- @return #MESSAGE +-- @usage +-- -- Send the 2 messages created with the @{New} method to the Client Group. +-- -- Note that the Message of MessageClient2 is overwriting the Message of MessageClient1. +-- ClientGroup = Group.getByName( "ClientGroup" ) +-- +-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- or +-- MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ):ToClient( ClientGroup ) +-- or +-- MessageClient1 = MESSAGE:New( "Congratulations, you've just hit a target", "Score", 25, "Score" ) +-- MessageClient2 = MESSAGE:New( "Congratulations, you've just killed a target", "Score", 25, "Score" ) +-- MessageClient1:ToClient( ClientGroup ) +-- MessageClient2:ToClient( ClientGroup ) +function MESSAGE:ToClient( Client ) + self:F( Client ) + + if Client and Client:GetClientGroupID() then + + local ClientGroupID = Client:GetClientGroupID() + self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration ) + trigger.action.outTextForGroup( ClientGroupID, self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration ) + end + + return self +end + +--- Sends a MESSAGE to the Blue coalition. +-- @param #MESSAGE self +-- @return #MESSAGE +-- @usage +-- -- Send a message created with the @{New} method to the BLUE coalition. +-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToBlue() +-- or +-- MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToBlue() +-- or +-- MessageBLUE = MESSAGE:New( "To the BLUE Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageBLUE:ToBlue() +function MESSAGE:ToBlue() + self:F() + + self:ToCoalition( coalition.side.BLUE ) + + return self +end + +--- Sends a MESSAGE to the Red Coalition. +-- @param #MESSAGE self +-- @return #MESSAGE +-- @usage +-- -- Send a message created with the @{New} method to the RED coalition. +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToRed() +-- or +-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToRed() +-- or +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageRED:ToRed() +function MESSAGE:ToRed( ) + self:F() + + self:ToCoalition( coalition.side.RED ) + + return self +end + +--- Sends a MESSAGE to a Coalition. +-- @param #MESSAGE self +-- @param CoalitionSide needs to be filled out by the defined structure of the standard scripting engine @{coalition.side}. +-- @return #MESSAGE +-- @usage +-- -- Send a message created with the @{New} method to the RED coalition. +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToCoalition( coalition.side.RED ) +-- or +-- MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ):ToCoalition( coalition.side.RED ) +-- or +-- MessageRED = MESSAGE:New( "To the RED Players: You receive a penalty because you've killed one of your own units", "Penalty", 25, "Score" ) +-- MessageRED:ToCoalition( coalition.side.RED ) +function MESSAGE:ToCoalition( CoalitionSide ) + self:F( CoalitionSide ) + + if CoalitionSide then + self:T( self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$","") .. " / " .. self.MessageDuration ) + trigger.action.outTextForCoalition( CoalitionSide, self.MessageCategory .. self.MessageText:gsub("\n$",""):gsub("\n$",""), self.MessageDuration ) + end + + return self +end + +--- Sends a MESSAGE to all players. +-- @param #MESSAGE self +-- @return #MESSAGE +-- @usage +-- -- Send a message created to all players. +-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ):ToAll() +-- or +-- MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ):ToAll() +-- or +-- MessageAll = MESSAGE:New( "To all Players: BLUE has won! Each player of BLUE wins 50 points!", "End of Mission", 25, "Win" ) +-- MessageAll:ToAll() +function MESSAGE:ToAll() + self:F() + + self:ToCoalition( coalition.side.RED ) + self:ToCoalition( coalition.side.BLUE ) + + return self +end + + + +--- The MESSAGEQUEUE class +-- @type MESSAGEQUEUE +MESSAGEQUEUE = { + ClientGroups = {}, + CoalitionSides = {} +} + +function MESSAGEQUEUE:New( RefreshInterval ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { RefreshInterval } ) + + self.RefreshInterval = RefreshInterval + + self.DisplayFunction = routines.scheduleFunction( self._DisplayMessages, { self }, 0, RefreshInterval ) + + return self +end + +--- This function is called automatically by the MESSAGEQUEUE scheduler. +function MESSAGEQUEUE:_DisplayMessages() + + -- First we display all messages that a coalition needs to receive... Also those who are not in a client (CA module clients...). + for CoalitionSideID, CoalitionSideData in pairs( self.CoalitionSides ) do + for MessageID, MessageData in pairs( CoalitionSideData.Messages ) do + if MessageData.MessageSent == false then + --trigger.action.outTextForCoalition( CoalitionSideID, MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration ) + MessageData.MessageSent = true + end + local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime() + if MessageTimeLeft <= 0 then + MessageData = nil + end + end + end + + -- Then we send the messages for each individual client, but also to be included are those Coalition messages for the Clients who belong to a coalition. + -- Because the Client messages will overwrite the Coalition messages (for that Client). + for ClientGroupName, ClientGroupData in pairs( self.ClientGroups ) do + for MessageID, MessageData in pairs( ClientGroupData.Messages ) do + if MessageData.MessageGroup == false then + trigger.action.outTextForGroup( Group.getByName(ClientGroupName):getID(), MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration ) + MessageData.MessageGroup = true + end + local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime() + if MessageTimeLeft <= 0 then + MessageData = nil + end + end + + -- Now check if the Client also has messages that belong to the Coalition of the Client... + for CoalitionSideID, CoalitionSideData in pairs( self.CoalitionSides ) do + for MessageID, MessageData in pairs( CoalitionSideData.Messages ) do + local CoalitionGroup = Group.getByName( ClientGroupName ) + if CoalitionGroup and CoalitionGroup:getCoalition() == CoalitionSideID then + if MessageData.MessageCoalition == false then + trigger.action.outTextForGroup( Group.getByName(ClientGroupName):getID(), MessageData.MessageCategory .. '\n' .. MessageData.MessageText:gsub("\n$",""):gsub("\n$",""), MessageData.MessageDuration ) + MessageData.MessageCoalition = true + end + end + local MessageTimeLeft = ( MessageData.MessageTime + MessageData.MessageDuration ) - timer.getTime() + if MessageTimeLeft <= 0 then + MessageData = nil + end + end + end + end +end + +--- The _MessageQueue object is created when the MESSAGE class module is loaded. +--_MessageQueue = MESSAGEQUEUE:New( 0.5 ) + +--- Stages within a @{TASK} within a @{MISSION}. All of the STAGE functionality is considered internally administered and not to be used by any Mission designer. +-- @module STAGE +-- @author Flightcontrol + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Mission" ) +Include.File( "Client" ) +Include.File( "Task" ) + +--- The STAGE class +-- @type +STAGE = { + ClassName = "STAGE", + MSG = { ID = "None", TIME = 10 }, + FREQUENCY = { NONE = 0, ONCE = 1, REPEAT = -1 }, + + Name = "NoStage", + StageType = '', + WaitTime = 1, + Frequency = 1, + MessageCount = 0, + MessageInterval = 15, + MessageShown = {}, + MessageShow = false, + MessageFlash = false +} + + +function STAGE:New() + local self = BASE:Inherit( self, BASE:New() ) + self:F() + return self +end + +function STAGE:Execute( Mission, Client, Task ) + + local Valid = true + + return Valid +end + +function STAGE:Executing( Mission, Client, Task ) + +end + +function STAGE:Validate( Mission, Client, Task ) + local Valid = true + + return Valid +end + + +STAGEBRIEF = { + ClassName = "BRIEF", + MSG = { ID = "Brief", TIME = 1 }, + Name = "Brief", + StageBriefingTime = 0, + StageBriefingDuration = 1 +} + +function STAGEBRIEF:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +function STAGEBRIEF:Execute( Mission, Client, Task ) + local Valid = BASE:Inherited(self):Execute( Mission, Client, Task ) + self:F() + Client:ShowBriefing() + self.StageBriefingTime = timer.getTime() + return Valid +end + +function STAGEBRIEF:Validate( Mission, Client, Task ) + local Valid = STAGE:Validate( Mission, Client, Task ) + self:T() + + if timer.getTime() - self.StageBriefingTime <= self.StageBriefingDuration then + return 0 + else + self.StageBriefingTime = timer.getTime() + return 1 + end + +end + + +STAGESTART = { + ClassName = "START", + MSG = { ID = "Start", TIME = 1 }, + Name = "Start", + StageStartTime = 0, + StageStartDuration = 1 +} + +function STAGESTART:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +function STAGESTART:Execute( Mission, Client, Task ) + self:F() + local Valid = BASE:Inherited(self):Execute( Mission, Client, Task ) + if Task.TaskBriefing then + Client:Message( Task.TaskBriefing, 30, Mission.Name .. "/Stage", "Command" ) + else + Client:Message( 'Task ' .. Task.TaskNumber .. '.', 30, Mission.Name .. "/Stage", "Command" ) + end + self.StageStartTime = timer.getTime() + return Valid +end + +function STAGESTART:Validate( Mission, Client, Task ) + self:F() + local Valid = STAGE:Validate( Mission, Client, Task ) + + if timer.getTime() - self.StageStartTime <= self.StageStartDuration then + return 0 + else + self.StageStartTime = timer.getTime() + return 1 + end + + return 1 + +end + +STAGE_CARGO_LOAD = { + ClassName = "STAGE_CARGO_LOAD" +} + +function STAGE_CARGO_LOAD:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +function STAGE_CARGO_LOAD:Execute( Mission, Client, Task ) + self:F() + local Valid = BASE:Inherited(self):Execute( Mission, Client, Task ) + + for LoadCargoID, LoadCargo in pairs( Task.Cargos.LoadCargos ) do + LoadCargo:Load( Client ) + end + + if Mission.MissionReportFlash and Client:IsTransport() then + Client:ShowCargo() + end + + return Valid +end + +function STAGE_CARGO_LOAD:Validate( Mission, Client, Task ) + self:F() + local Valid = STAGE:Validate( Mission, Client, Task ) + + return 1 +end + + +STAGE_CARGO_INIT = { + ClassName = "STAGE_CARGO_INIT" +} + +function STAGE_CARGO_INIT:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +function STAGE_CARGO_INIT:Execute( Mission, Client, Task ) + self:F() + local Valid = BASE:Inherited(self):Execute( Mission, Client, Task ) + + for InitLandingZoneID, InitLandingZone in pairs( Task.LandingZones.LandingZones ) do + self:T( InitLandingZone ) + InitLandingZone:Spawn() + end + + + self:T( Task.Cargos.InitCargos ) + for InitCargoID, InitCargoData in pairs( Task.Cargos.InitCargos ) do + self:T( { InitCargoData } ) + InitCargoData:Spawn( Client ) + end + + return Valid +end + + +function STAGE_CARGO_INIT:Validate( Mission, Client, Task ) + self:F() + local Valid = STAGE:Validate( Mission, Client, Task ) + + return 1 +end + + + +STAGEROUTE = { + ClassName = "STAGEROUTE", + MSG = { ID = "Route", TIME = 5 }, + Frequency = STAGE.FREQUENCY.REPEAT, + Name = "Route" +} + +function STAGEROUTE:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + self.MessageSwitch = true + return self +end + + +--- Execute the routing. +-- @param #STAGEROUTE self +-- @param Mission#MISSION Mission +-- @param Client#CLIENT Client +-- @param Task#TASK Task +function STAGEROUTE:Execute( Mission, Client, Task ) + self:F() + local Valid = BASE:Inherited(self):Execute( Mission, Client, Task ) + + local RouteMessage = "Fly to: " + self:T( Task.LandingZones ) + for LandingZoneID, LandingZoneName in pairs( Task.LandingZones.LandingZoneNames ) do + RouteMessage = RouteMessage .. "\n " .. LandingZoneName .. ' at ' .. routines.getBRStringZone( { zone = LandingZoneName, ref = Client:GetClientGroupDCSUnit():getPoint(), true, true } ) .. ' km.' + end + + if Client:IsMultiSeated() then + Client:Message( RouteMessage, self.MSG.TIME, Mission.Name .. "/StageRoute", "Co-Pilot", 20 ) + else + Client:Message( RouteMessage, self.MSG.TIME, Mission.Name .. "/StageRoute", "Command", 20 ) + end + + + if Mission.MissionReportFlash and Client:IsTransport() then + Client:ShowCargo() + end + + return Valid +end + +function STAGEROUTE:Validate( Mission, Client, Task ) + self:F() + local Valid = STAGE:Validate( Mission, Client, Task ) + + -- check if the Client is in the landing zone + self:T( Task.LandingZones.LandingZoneNames ) + Task.CurrentLandingZoneName = routines.IsUnitNearZonesRadius( Client:GetClientGroupDCSUnit(), Task.LandingZones.LandingZoneNames, 500 ) + + if Task.CurrentLandingZoneName then + + Task.CurrentLandingZone = Task.LandingZones.LandingZones[Task.CurrentLandingZoneName].CargoZone + Task.CurrentCargoZone = Task.LandingZones.LandingZones[Task.CurrentLandingZoneName] + + if Task.CurrentCargoZone then + if not Task.Signalled then + Task.Signalled = Task.CurrentCargoZone:Signal() + end + end + + self:T( 1 ) + return 1 + end + + self:T( 0 ) + return 0 +end + + + +STAGELANDING = { + ClassName = "STAGELANDING", + MSG = { ID = "Landing", TIME = 10 }, + Name = "Landing", + Signalled = false +} + +function STAGELANDING:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +--- Execute the landing coordination. +-- @param #STAGELANDING self +-- @param Mission#MISSION Mission +-- @param Client#CLIENT Client +-- @param Task#TASK Task +function STAGELANDING:Execute( Mission, Client, Task ) + self:F() + + if Client:IsMultiSeated() then + Client:Message( "We have arrived at the landing zone.", self.MSG.TIME, Mission.Name .. "/StageArrived", "Co-Pilot", 10 ) + else + Client:Message( "You have arrived at the landing zone.", self.MSG.TIME, Mission.Name .. "/StageArrived", "Command", 10 ) + end + + Task.HostUnit = Task.CurrentCargoZone:GetHostUnit() + + self:T( { Task.HostUnit } ) + + if Task.HostUnit then + + Task.HostUnitName = Task.HostUnit:GetPrefix() + Task.HostUnitTypeName = Task.HostUnit:GetTypeName() + + local HostMessage = "" + Task.CargoNames = "" + + local IsFirst = true + + for CargoID, Cargo in pairs( CARGOS ) do + if Cargo.CargoType == Task.CargoType then + + if Cargo:IsLandingRequired() then + self:T( "Task for cargo " .. Cargo.CargoType .. " requires landing.") + Task.IsLandingRequired = true + end + + if Cargo:IsSlingLoad() then + self:T( "Task for cargo " .. Cargo.CargoType .. " is a slingload.") + Task.IsSlingLoad = true + end + + if IsFirst then + IsFirst = false + Task.CargoNames = Task.CargoNames .. Cargo.CargoName .. "( " .. Cargo.CargoWeight .. " )" + else + Task.CargoNames = Task.CargoNames .. "; " .. Cargo.CargoName .. "( " .. Cargo.CargoWeight .. " )" + end + end + end + + if Task.IsLandingRequired then + HostMessage = "Land the helicopter to " .. Task.TEXT[1] .. " " .. Task.CargoNames .. "." + else + HostMessage = "Use the Radio menu and F6 to find the cargo, then fly or land near the cargo and " .. Task.TEXT[1] .. " " .. Task.CargoNames .. "." + end + + local Host = "Command" + if Task.HostUnitName then + Host = Task.HostUnitName .. " (" .. Task.HostUnitTypeName .. ")" + else + if Client:IsMultiSeated() then + Host = "Co-Pilot" + end + end + + Client:Message( HostMessage, self.MSG.TIME, Mission.Name .. "/STAGELANDING.EXEC." .. Host, Host, 10 ) + + end +end + +function STAGELANDING:Validate( Mission, Client, Task ) + self:F() + + Task.CurrentLandingZoneName = routines.IsUnitNearZonesRadius( Client:GetClientGroupDCSUnit(), Task.LandingZones.LandingZoneNames, 500 ) + if Task.CurrentLandingZoneName then + + -- Client is in de landing zone. + self:T( Task.CurrentLandingZoneName ) + + Task.CurrentLandingZone = Task.LandingZones.LandingZones[Task.CurrentLandingZoneName].CargoZone + Task.CurrentCargoZone = Task.LandingZones.LandingZones[Task.CurrentLandingZoneName] + + if Task.CurrentCargoZone then + if not Task.Signalled then + Task.Signalled = Task.CurrentCargoZone:Signal() + end + end + else + if Task.CurrentLandingZone then + Task.CurrentLandingZone = nil + end + if Task.CurrentCargoZone then + Task.CurrentCargoZone = nil + end + Task.Signalled = false + Task:RemoveCargoMenus( Client ) + self:T( -1 ) + return -1 + end + + + local DCSUnitVelocityVec3 = Client:GetClientGroupDCSUnit():getVelocity() + local DCSUnitVelocity = ( DCSUnitVelocityVec3.x ^2 + DCSUnitVelocityVec3.y ^2 + DCSUnitVelocityVec3.z ^2 ) ^ 0.5 + + local DCSUnitPointVec3 = Client:GetClientGroupDCSUnit():getPoint() + local LandHeight = land.getHeight( { x = DCSUnitPointVec3.x, y = DCSUnitPointVec3.z } ) + local DCSUnitHeight = DCSUnitPointVec3.y - LandHeight + + self:T( { Task.IsLandingRequired, Client:GetClientGroupDCSUnit():inAir() } ) + if Task.IsLandingRequired and not Client:GetClientGroupDCSUnit():inAir() then + self:T( 1 ) + Task.IsInAirTestRequired = true + return 1 + end + + self:T( { DCSUnitVelocity, DCSUnitHeight, LandHeight, Task.CurrentCargoZone.SignalHeight } ) + if Task.IsLandingRequired and DCSUnitVelocity <= 0.05 and DCSUnitHeight <= Task.CurrentCargoZone.SignalHeight then + self:T( 1 ) + Task.IsInAirTestRequired = false + return 1 + end + + self:T( 0 ) + return 0 +end + +STAGELANDED = { + ClassName = "STAGELANDED", + MSG = { ID = "Land", TIME = 10 }, + Name = "Landed", + MenusAdded = false +} + +function STAGELANDED:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +function STAGELANDED:Execute( Mission, Client, Task ) + self:F() + + if Task.IsLandingRequired then + + local Host = "Command" + if Task.HostUnitName then + Host = Task.HostUnitName .. " (" .. Task.HostUnitTypeName .. ")" + else + if Client:IsMultiSeated() then + Host = "Co-Pilot" + end + end + + Client:Message( 'You have landed within the landing zone. Use the radio menu (F10) to ' .. Task.TEXT[1] .. ' the ' .. Task.CargoType .. '.', + self.MSG.TIME, Mission.Name .. "/STAGELANDED.EXEC" .. Host, Host ) + + if not self.MenusAdded then + Task.Cargo = nil + Task:RemoveCargoMenus( Client ) + Task:AddCargoMenus( Client, CARGOS, 250 ) + end + end +end + + + +function STAGELANDED:Validate( Mission, Client, Task ) + self:F() + + if not routines.IsUnitNearZonesRadius( Client:GetClientGroupDCSUnit(), Task.CurrentLandingZoneName, 500 ) then + self:T( "Client is not anymore in the landing zone, go back to stage Route, and remove cargo menus." ) + Task.Signalled = false + Task:RemoveCargoMenus( Client ) + self:T( -2 ) + return -2 + end + + local DCSUnitVelocityVec3 = Client:GetClientGroupDCSUnit():getVelocity() + local DCSUnitVelocity = ( DCSUnitVelocityVec3.x ^2 + DCSUnitVelocityVec3.y ^2 + DCSUnitVelocityVec3.z ^2 ) ^ 0.5 + + local DCSUnitPointVec3 = Client:GetClientGroupDCSUnit():getPoint() + local LandHeight = land.getHeight( { x = DCSUnitPointVec3.x, y = DCSUnitPointVec3.z } ) + local DCSUnitHeight = DCSUnitPointVec3.y - LandHeight + + self:T( { Task.IsLandingRequired, Client:GetClientGroupDCSUnit():inAir() } ) + if Task.IsLandingRequired and Task.IsInAirTestRequired == true and Client:GetClientGroupDCSUnit():inAir() then + self:T( "Client went back in the air. Go back to stage Landing." ) + self:T( -1 ) + return -1 + end + + self:T( { DCSUnitVelocity, DCSUnitHeight, LandHeight, Task.CurrentCargoZone.SignalHeight } ) + if Task.IsLandingRequired and Task.IsInAirTestRequired == false and DCSUnitVelocity >= 2 and DCSUnitHeight >= Task.CurrentCargoZone.SignalHeight then + self:T( "It seems the Client went back in the air and over the boundary limits. Go back to stage Landing." ) + self:T( -1 ) + return -1 + end + + -- Wait until cargo is selected from the menu. + if Task.IsLandingRequired then + if not Task.Cargo then + self:T( 0 ) + return 0 + end + end + + self:T( 1 ) + return 1 +end + +STAGEUNLOAD = { + ClassName = "STAGEUNLOAD", + MSG = { ID = "Unload", TIME = 10 }, + Name = "Unload" +} + +function STAGEUNLOAD:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +--- Coordinate UnLoading +-- @param #STAGEUNLOAD self +-- @param Mission#MISSION Mission +-- @param Client#CLIENT Client +-- @param Task#TASK Task +function STAGEUNLOAD:Execute( Mission, Client, Task ) + self:F() + + if Client:IsMultiSeated() then + Client:Message( 'The ' .. Task.CargoType .. ' are being ' .. Task.TEXT[2] .. ' within the landing zone. Wait until the helicopter is ' .. Task.TEXT[3] .. '.', + self.MSG.TIME, Mission.Name .. "/StageUnLoad", "Co-Pilot" ) + else + Client:Message( 'You are unloading the ' .. Task.CargoType .. ' ' .. Task.TEXT[2] .. ' within the landing zone. Wait until the helicopter is ' .. Task.TEXT[3] .. '.', + self.MSG.TIME, Mission.Name .. "/StageUnLoad", "Command" ) + end + Task:RemoveCargoMenus( Client ) +end + +function STAGEUNLOAD:Executing( Mission, Client, Task ) + self:F() + env.info( 'STAGEUNLOAD:Executing() Task.Cargo.CargoName = ' .. Task.Cargo.CargoName ) + + local TargetZoneName + + if Task.TargetZoneName then + TargetZoneName = Task.TargetZoneName + else + TargetZoneName = Task.CurrentLandingZoneName + end + + if Task.Cargo:UnLoad( Client, TargetZoneName ) then + Task.ExecuteStage = _TransportExecuteStage.SUCCESS + if Mission.MissionReportFlash then + Client:ShowCargo() + end + end +end + +--- Validate UnLoading +-- @param #STAGEUNLOAD self +-- @param Mission#MISSION Mission +-- @param Client#CLIENT Client +-- @param Task#TASK Task +function STAGEUNLOAD:Validate( Mission, Client, Task ) + self:F() + env.info( 'STAGEUNLOAD:Validate()' ) + + if routines.IsUnitNearZonesRadius( Client:GetClientGroupDCSUnit(), Task.CurrentLandingZoneName, 500 ) then + else + Task.ExecuteStage = _TransportExecuteStage.FAILED + Task:RemoveCargoMenus( Client ) + if Client:IsMultiSeated() then + Client:Message( 'The ' .. Task.CargoType .. " haven't been successfully " .. Task.TEXT[3] .. ' within the landing zone. Task and mission has failed.', + _TransportStageMsgTime.DONE, Mission.Name .. "/StageFailure", "Co-Pilot" ) + else + Client:Message( 'The ' .. Task.CargoType .. " haven't been successfully " .. Task.TEXT[3] .. ' within the landing zone. Task and mission has failed.', + _TransportStageMsgTime.DONE, Mission.Name .. "/StageFailure", "Command" ) + end + return 1 + end + + if not Client:GetClientGroupDCSUnit():inAir() then + else + Task.ExecuteStage = _TransportExecuteStage.FAILED + Task:RemoveCargoMenus( Client ) + if Client:IsMultiSeated() then + Client:Message( 'The ' .. Task.CargoType .. " haven't been successfully " .. Task.TEXT[3] .. ' within the landing zone. Task and mission has failed.', + _TransportStageMsgTime.DONE, Mission.Name .. "/StageFailure", "Co-Pilot" ) + else + Client:Message( 'The ' .. Task.CargoType .. " haven't been successfully " .. Task.TEXT[3] .. ' within the landing zone. Task and mission has failed.', + _TransportStageMsgTime.DONE, Mission.Name .. "/StageFailure", "Command" ) + end + return 1 + end + + if Task.ExecuteStage == _TransportExecuteStage.SUCCESS then + if Client:IsMultiSeated() then + Client:Message( 'The ' .. Task.CargoType .. ' have been sucessfully ' .. Task.TEXT[3] .. ' within the landing zone.', _TransportStageMsgTime.DONE, Mission.Name .. "/Stage", "Co-Pilot" ) + else + Client:Message( 'The ' .. Task.CargoType .. ' have been sucessfully ' .. Task.TEXT[3] .. ' within the landing zone.', _TransportStageMsgTime.DONE, Mission.Name .. "/Stage", "Command" ) + end + Task:RemoveCargoMenus( Client ) + Task.MissionTask:AddGoalCompletion( Task.MissionTask.GoalVerb, Task.CargoName, 1 ) -- We set the cargo as one more goal completed in the mission. + return 1 + end + + return 1 +end + +STAGELOAD = { + ClassName = "STAGELOAD", + MSG = { ID = "Load", TIME = 10 }, + Name = "Load" +} + +function STAGELOAD:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + +function STAGELOAD:Execute( Mission, Client, Task ) + self:F() + + if not Task.IsSlingLoad then + + local Host = "Command" + if Task.HostUnitName then + Host = Task.HostUnitName .. " (" .. Task.HostUnitTypeName .. ")" + else + if Client:IsMultiSeated() then + Host = "Co-Pilot" + end + end + + Client:Message( 'The ' .. Task.CargoType .. ' are being ' .. Task.TEXT[2] .. ' within the landing zone. Wait until the helicopter is ' .. Task.TEXT[3] .. '.', + _TransportStageMsgTime.EXECUTING, Mission.Name .. "/STAGELOAD.EXEC." .. Host, Host ) + + -- Route the cargo to the Carrier + + Task.Cargo:OnBoard( Client, Task.CurrentCargoZone, Task.OnBoardSide ) + Task.ExecuteStage = _TransportExecuteStage.EXECUTING + else + Task.ExecuteStage = _TransportExecuteStage.EXECUTING + end +end + +function STAGELOAD:Executing( Mission, Client, Task ) + self:F() + + -- If the Cargo is ready to be loaded, load it into the Client. + + local Host = "Command" + if Task.HostUnitName then + Host = Task.HostUnitName .. " (" .. Task.HostUnitTypeName .. ")" + else + if Client:IsMultiSeated() then + Host = "Co-Pilot" + end + end + + if not Task.IsSlingLoad then + self:T( Task.Cargo.CargoName) + + if Task.Cargo:OnBoarded( Client, Task.CurrentCargoZone ) then + + -- Load the Cargo onto the Client + Task.Cargo:Load( Client ) + + -- Message to the pilot that cargo has been loaded. + Client:Message( "The cargo " .. Task.Cargo.CargoName .. " has been loaded in our helicopter.", + 20, Mission.Name .. "/STAGELANDING.LOADING1." .. Host, Host ) + Task.ExecuteStage = _TransportExecuteStage.SUCCESS + + Client:ShowCargo() + end + else + Client:Message( "Hook the " .. Task.CargoNames .. " onto the helicopter " .. Task.TEXT[3] .. " within the landing zone.", + _TransportStageMsgTime.EXECUTING, Mission.Name .. "/STAGELOAD.LOADING.1." .. Host, Host , 10 ) + for CargoID, Cargo in pairs( CARGOS ) do + self:T( "Cargo.CargoName = " .. Cargo.CargoName ) + + if Cargo:IsSlingLoad() then + local CargoStatic = StaticObject.getByName( Cargo.CargoStaticName ) + if CargoStatic then + self:T( "Cargo is found in the DCS simulator.") + local CargoStaticPosition = CargoStatic:getPosition().p + self:T( "Cargo Position x = " .. CargoStaticPosition.x .. ", y = " .. CargoStaticPosition.y .. ", z = " .. CargoStaticPosition.z ) + local CargoStaticHeight = routines.GetUnitHeight( CargoStatic ) + if CargoStaticHeight > 5 then + self:T( "Cargo is airborne.") + Cargo:StatusLoaded() + Task.Cargo = Cargo + Client:Message( 'The Cargo has been successfully hooked onto the helicopter and is now being sling loaded. Fly outside the landing zone.', + self.MSG.TIME, Mission.Name .. "/STAGELANDING.LOADING.2." .. Host, Host ) + Task.ExecuteStage = _TransportExecuteStage.SUCCESS + break + end + else + self:T( "Cargo not found in the DCS simulator." ) + end + end + end + end + +end + +function STAGELOAD:Validate( Mission, Client, Task ) + self:F() + + self:T( "Task.CurrentLandingZoneName = " .. Task.CurrentLandingZoneName ) + + local Host = "Command" + if Task.HostUnitName then + Host = Task.HostUnitName .. " (" .. Task.HostUnitTypeName .. ")" + else + if Client:IsMultiSeated() then + Host = "Co-Pilot" + end + end + + if not Task.IsSlingLoad then + if not routines.IsUnitNearZonesRadius( Client:GetClientGroupDCSUnit(), Task.CurrentLandingZoneName, 500 ) then + Task:RemoveCargoMenus( Client ) + Task.ExecuteStage = _TransportExecuteStage.FAILED + Task.CargoName = nil + Client:Message( "The " .. Task.CargoType .. " loading has been aborted. You flew outside the pick-up zone while loading. ", + self.MSG.TIME, Mission.Name .. "/STAGELANDING.VALIDATE.1." .. Host, Host ) + self:T( -1 ) + return -1 + end + + local DCSUnitVelocityVec3 = Client:GetClientGroupDCSUnit():getVelocity() + local DCSUnitVelocity = ( DCSUnitVelocityVec3.x ^2 + DCSUnitVelocityVec3.y ^2 + DCSUnitVelocityVec3.z ^2 ) ^ 0.5 + + local DCSUnitPointVec3 = Client:GetClientGroupDCSUnit():getPoint() + local LandHeight = land.getHeight( { x = DCSUnitPointVec3.x, y = DCSUnitPointVec3.z } ) + local DCSUnitHeight = DCSUnitPointVec3.y - LandHeight + + self:T( { Task.IsLandingRequired, Client:GetClientGroupDCSUnit():inAir() } ) + if Task.IsLandingRequired and Task.IsInAirTestRequired == true and Client:GetClientGroupDCSUnit():inAir() then + Task:RemoveCargoMenus( Client ) + Task.ExecuteStage = _TransportExecuteStage.FAILED + Task.CargoName = nil + Client:Message( "The " .. Task.CargoType .. " loading has been aborted. Re-start the " .. Task.TEXT[3] .. " process. Don't fly outside the pick-up zone.", + self.MSG.TIME, Mission.Name .. "/STAGELANDING.VALIDATE.1." .. Host, Host ) + self:T( -1 ) + return -1 + end + + self:T( { DCSUnitVelocity, DCSUnitHeight, LandHeight, Task.CurrentCargoZone.SignalHeight } ) + if Task.IsLandingRequired and Task.IsInAirTestRequired == false and DCSUnitVelocity >= 2 and DCSUnitHeight >= Task.CurrentCargoZone.SignalHeight then + Task:RemoveCargoMenus( Client ) + Task.ExecuteStage = _TransportExecuteStage.FAILED + Task.CargoName = nil + Client:Message( "The " .. Task.CargoType .. " loading has been aborted. Re-start the " .. Task.TEXT[3] .. " process. Don't fly outside the pick-up zone.", + self.MSG.TIME, Mission.Name .. "/STAGELANDING.VALIDATE.1." .. Host, Host ) + self:T( -1 ) + return -1 + end + + if Task.ExecuteStage == _TransportExecuteStage.SUCCESS then + Task:RemoveCargoMenus( Client ) + Client:Message( "Good Job. The " .. Task.CargoType .. " has been sucessfully " .. Task.TEXT[3] .. " within the landing zone.", + self.MSG.TIME, Mission.Name .. "/STAGELANDING.VALIDATE.3." .. Host, Host ) + Task.MissionTask:AddGoalCompletion( Task.MissionTask.GoalVerb, Task.CargoName, 1 ) + self:T( 1 ) + return 1 + end + + else + if Task.ExecuteStage == _TransportExecuteStage.SUCCESS then + CargoStatic = StaticObject.getByName( Task.Cargo.CargoStaticName ) + if CargoStatic and not routines.IsStaticInZones( CargoStatic, Task.CurrentLandingZoneName ) then + Client:Message( "Good Job. The " .. Task.CargoType .. " has been sucessfully " .. Task.TEXT[3] .. " and flown outside of the landing zone.", + self.MSG.TIME, Mission.Name .. "/STAGELANDING.VALIDATE.4." .. Host, Host ) + Task.MissionTask:AddGoalCompletion( Task.MissionTask.GoalVerb, Task.Cargo.CargoName, 1 ) + self:T( 1 ) + return 1 + end + end + + end + + + self:T( 0 ) + return 0 +end + + +STAGEDONE = { + ClassName = "STAGEDONE", + MSG = { ID = "Done", TIME = 10 }, + Name = "Done" +} + +function STAGEDONE:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'AI' + return self +end + +function STAGEDONE:Execute( Mission, Client, Task ) + self:F() + +end + +function STAGEDONE:Validate( Mission, Client, Task ) + self:F() + + Task:Done() + + return 0 +end + +STAGEARRIVE = { + ClassName = "STAGEARRIVE", + MSG = { ID = "Arrive", TIME = 10 }, + Name = "Arrive" +} + +function STAGEARRIVE:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'CLIENT' + return self +end + + +--- Execute Arrival +-- @param #STAGEARRIVE self +-- @param Mission#MISSION Mission +-- @param Client#CLIENT Client +-- @param Task#TASK Task +function STAGEARRIVE:Execute( Mission, Client, Task ) + self:F() + + if Client:IsMultiSeated() then + Client:Message( 'We have arrived at ' .. Task.CurrentLandingZoneName .. ".", self.MSG.TIME, Mission.Name .. "/Stage", "Co-Pilot" ) + else + Client:Message( 'We have arrived at ' .. Task.CurrentLandingZoneName .. ".", self.MSG.TIME, Mission.Name .. "/Stage", "Command" ) + end + +end + +function STAGEARRIVE:Validate( Mission, Client, Task ) + self:F() + + Task.CurrentLandingZoneID = routines.IsUnitInZones( Client:GetClientGroupDCSUnit(), Task.LandingZones ) + if ( Task.CurrentLandingZoneID ) then + else + return -1 + end + + return 1 +end + +STAGEGROUPSDESTROYED = { + ClassName = "STAGEGROUPSDESTROYED", + DestroyGroupSize = -1, + Frequency = STAGE.FREQUENCY.REPEAT, + MSG = { ID = "DestroyGroup", TIME = 10 }, + Name = "GroupsDestroyed" +} + +function STAGEGROUPSDESTROYED:New() + local self = BASE:Inherit( self, STAGE:New() ) + self:F() + self.StageType = 'AI' + return self +end + +--function STAGEGROUPSDESTROYED:Execute( Mission, Client, Task ) +-- +-- Client:Message( 'Task: Still ' .. DestroyGroupSize .. " of " .. Task.DestroyGroupCount .. " " .. Task.DestroyGroupType .. " to be destroyed!", self.MSG.TIME, Mission.Name .. "/Stage" ) +-- +--end + +function STAGEGROUPSDESTROYED:Validate( Mission, Client, Task ) + self:F() + + if Task.MissionTask:IsGoalReached() then + return 1 + else + return 0 + end +end + +function STAGEGROUPSDESTROYED:Execute( Mission, Client, Task ) + self:F() + self:T( { Task.ClassName, Task.Destroyed } ) + --env.info( 'Event Table Task = ' .. tostring(Task) ) + +end + + + + + + + + + + + + + +--[[ + _TransportStage: Defines the different stages of which of transport missions can be in. This table is internal and is used to control the sequence of messages, actions and flow. + + - _TransportStage.START + - _TransportStage.ROUTE + - _TransportStage.LAND + - _TransportStage.EXECUTE + - _TransportStage.DONE + - _TransportStage.REMOVE +--]] +_TransportStage = { + HOLD = "HOLD", + START = "START", + ROUTE = "ROUTE", + LANDING = "LANDING", + LANDED = "LANDED", + EXECUTING = "EXECUTING", + LOAD = "LOAD", + UNLOAD = "UNLOAD", + DONE = "DONE", + NEXT = "NEXT" +} + +_TransportStageMsgTime = { + HOLD = 10, + START = 60, + ROUTE = 5, + LANDING = 10, + LANDED = 30, + EXECUTING = 30, + LOAD = 30, + UNLOAD = 30, + DONE = 30, + NEXT = 0 +} + +_TransportStageTime = { + HOLD = 10, + START = 5, + ROUTE = 5, + LANDING = 1, + LANDED = 1, + EXECUTING = 5, + LOAD = 5, + UNLOAD = 5, + DONE = 1, + NEXT = 0 +} + +_TransportStageAction = { + REPEAT = -1, + NONE = 0, + ONCE = 1 +} +--- The TASK Classes define major end-to-end activities within a MISSION. The TASK Class is the Master Class to orchestrate these activities. From this class, many concrete TASK classes are inherited. +-- @module TASK + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Mission" ) +Include.File( "Client" ) +Include.File( "Stage" ) + +--- The TASK class +-- @type TASK +-- @extends Base#BASE +TASK = { + + -- Defines the different signal types with a Task. + SIGNAL = { + COLOR = { + RED = { ID = 1, COLOR = trigger.smokeColor.Red, TEXT = "A red" }, + GREEN = { ID = 2, COLOR = trigger.smokeColor.Green, TEXT = "A green" }, + BLUE = { ID = 3, COLOR = trigger.smokeColor.Blue, TEXT = "A blue" }, + WHITE = { ID = 4, COLOR = trigger.smokeColor.White, TEXT = "A white" }, + ORANGE = { ID = 5, COLOR = trigger.smokeColor.Orange, TEXT = "An orange" } + }, + TYPE = { + SMOKE = { ID = 1, TEXT = "smoke" }, + FLARE = { ID = 2, TEXT = "flare" } + } + }, + ClassName = "TASK", + Mission = {}, -- Owning mission of the Task + Name = '', + Stages = {}, + Stage = {}, + Cargos = { + InitCargos = {}, + LoadCargos = {} + }, + LandingZones = { + LandingZoneNames = {}, + LandingZones = {} + }, + ActiveStage = 0, + TaskDone = false, + TaskFailed = false, + GoalTasks = {} +} + +--- Instantiates a new TASK Base. Should never be used. Interface Class. +-- @return TASK +function TASK:New() + local self = BASE:Inherit( self, BASE:New() ) + self:F() + + -- assign Task default values during construction + self.TaskBriefing = "Task: No Task." + self.Time = timer.getTime() + self.ExecuteStage = _TransportExecuteStage.NONE + + return self +end + +function TASK:SetStage( StageSequenceIncrement ) + self:F( { StageSequenceIncrement } ) + + local Valid = false + if StageSequenceIncrement ~= 0 then + self.ActiveStage = self.ActiveStage + StageSequenceIncrement + if 1 <= self.ActiveStage and self.ActiveStage <= #self.Stages then + self.Stage = self.Stages[self.ActiveStage] + self:T( { self.Stage.Name } ) + self.Frequency = self.Stage.Frequency + Valid = true + else + Valid = false + env.info( "TASK:SetStage() self.ActiveStage is smaller or larger than self.Stages array. self.ActiveStage = " .. self.ActiveStage ) + end + end + self.Time = timer.getTime() + return Valid +end + +function TASK:Init() + self:F() + self.ActiveStage = 0 + self:SetStage(1) + self.TaskDone = false + self.TaskFailed = false +end + + +--- Get progress of a TASK. +-- @return string GoalsText +function TASK:GetGoalProgress() + self:F2() + + local GoalsText = "" + for GoalVerb, GoalVerbData in pairs( self.GoalTasks ) do + local Goals = self:GetGoalCompletion( GoalVerb ) + if Goals and Goals ~= "" then + Goals = '(' .. Goals .. ')' + else + Goals = '( - )' + end + GoalsText = GoalsText .. GoalVerb .. ': ' .. self:GetGoalCount(GoalVerb) .. ' goals ' .. Goals .. ' of ' .. self:GetGoalTotal(GoalVerb) .. ' goals completed (' .. self:GetGoalPercentage(GoalVerb) .. '%); ' + end + + if GoalsText == "" then + GoalsText = "( - )" + end + + return GoalsText +end + +--- Show progress of a TASK. +-- @param MISSION Mission Group structure describing the Mission. +-- @param CLIENT Client Group structure describing the Client. +function TASK:ShowGoalProgress( Mission, Client ) + self:F2() + + local GoalsText = "" + for GoalVerb, GoalVerbData in pairs( self.GoalTasks ) do + if Mission:IsCompleted() then + else + local Goals = self:GetGoalCompletion( GoalVerb ) + if Goals and Goals ~= "" then + else + Goals = "-" + end + GoalsText = GoalsText .. self:GetGoalProgress() + end + end + + if Mission.MissionReportFlash or Mission.MissionReportShow then + Client:Message( GoalsText, 10, "/TASKPROGRESS" .. self.ClassName, "Mission Command: Task Status", 30 ) + end +end + +--- Sets a TASK to status Done. +function TASK:Done() + self:F2() + self.TaskDone = true +end + +--- Returns if a TASK is done. +-- @return bool +function TASK:IsDone() + self:F2( self.TaskDone ) + return self.TaskDone +end + +--- Sets a TASK to status failed. +function TASK:Failed() + self:F() + self.TaskFailed = true +end + +--- Returns if a TASk has failed. +-- @return bool +function TASK:IsFailed() + self:F2( self.TaskFailed ) + return self.TaskFailed +end + +function TASK:Reset( Mission, Client ) + self:F2() + self.ExecuteStage = _TransportExecuteStage.NONE +end + +--- Returns the Goals of a TASK +-- @return @table Goals +function TASK:GetGoals() + return self.GoalTasks +end + +--- Returns if a TASK has Goal(s). +-- @param #TASK self +-- @param #string GoalVerb is the name of the Goal of the TASK. +-- @return bool +function TASK:Goal( GoalVerb ) + self:F2( { GoalVerb } ) + if not GoalVerb then + GoalVerb = self.GoalVerb + end + self:T2( {self.GoalTasks[GoalVerb] } ) + if self.GoalTasks[GoalVerb] and self.GoalTasks[GoalVerb].GoalTotal > 0 then + return true + else + return false + end +end + +--- Sets the total Goals to be achieved of the Goal Name +-- @param number GoalTotal is the number of times the GoalVerb needs to be achieved. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +function TASK:SetGoalTotal( GoalTotal, GoalVerb ) + self:F2( { GoalTotal, GoalVerb } ) + + if not GoalVerb then + GoalVerb = self.GoalVerb + end + self.GoalTasks[GoalVerb] = {} + self.GoalTasks[GoalVerb].Goals = {} + self.GoalTasks[GoalVerb].GoalTotal = GoalTotal + self.GoalTasks[GoalVerb].GoalCount = 0 + return self +end + +--- Gets the total of Goals to be achieved within the TASK of the GoalVerb. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +function TASK:GetGoalTotal( GoalVerb ) + self:F2( { GoalVerb } ) + if not GoalVerb then + GoalVerb = self.GoalVerb + end + if self:Goal( GoalVerb ) then + return self.GoalTasks[GoalVerb].GoalTotal + else + return 0 + end +end + +--- Sets the total of Goals currently achieved within the TASK of the GoalVerb. +-- @param number GoalCount is the total number of Goals achieved within the TASK. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +-- @return TASK +function TASK:SetGoalCount( GoalCount, GoalVerb ) + self:F2() + if not GoalVerb then + GoalVerb = self.GoalVerb + end + if self:Goal( GoalVerb) then + self.GoalTasks[GoalVerb].GoalCount = GoalCount + end + return self +end + +--- Increments the total of Goals currently achieved within the TASK of the GoalVerb, with the given GoalCountIncrease. +-- @param number GoalCountIncrease is the number of new Goals achieved within the TASK. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +-- @return TASK +function TASK:IncreaseGoalCount( GoalCountIncrease, GoalVerb ) + self:F2( { GoalCountIncrease, GoalVerb } ) + if not GoalVerb then + GoalVerb = self.GoalVerb + end + if self:Goal( GoalVerb) then + self.GoalTasks[GoalVerb].GoalCount = self.GoalTasks[GoalVerb].GoalCount + GoalCountIncrease + end + return self +end + +--- Gets the total of Goals currently achieved within the TASK of the GoalVerb. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +-- @return TASK +function TASK:GetGoalCount( GoalVerb ) + self:F2() + if not GoalVerb then + GoalVerb = self.GoalVerb + end + if self:Goal( GoalVerb ) then + return self.GoalTasks[GoalVerb].GoalCount + else + return 0 + end +end + +--- Gets the percentage of Goals currently achieved within the TASK of the GoalVerb. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +-- @return TASK +function TASK:GetGoalPercentage( GoalVerb ) + self:F2() + if not GoalVerb then + GoalVerb = self.GoalVerb + end + if self:Goal( GoalVerb ) then + return math.floor( self:GetGoalCount( GoalVerb ) / self:GetGoalTotal( GoalVerb ) * 100 + .5 ) + else + return 100 + end +end + +--- Returns if all the Goals of the TASK were achieved. +-- @return bool +function TASK:IsGoalReached() + self:F2() + + local GoalReached = true + + for GoalVerb, Goals in pairs( self.GoalTasks ) do + self:T2( { "GoalVerb", GoalVerb } ) + if self:Goal( GoalVerb ) then + local GoalToDo = self:GetGoalTotal( GoalVerb ) - self:GetGoalCount( GoalVerb ) + self:T2( "GoalToDo = " .. GoalToDo ) + if GoalToDo <= 0 then + else + GoalReached = false + break + end + else + break + end + end + + self:T( { GoalReached, self.GoalTasks } ) + return GoalReached +end + +--- Adds an Additional Goal for the TASK to be achieved. +-- @param string GoalVerb is the name of the Goal of the TASK. +-- @param string GoalTask is a text describing the Goal of the TASK to be achieved. +-- @param number GoalIncrease is a number by which the Goal achievement is increasing. +function TASK:AddGoalCompletion( GoalVerb, GoalTask, GoalIncrease ) + self:F2( { GoalVerb, GoalTask, GoalIncrease } ) + + if self:Goal( GoalVerb ) then + self.GoalTasks[GoalVerb].Goals[#self.GoalTasks[GoalVerb].Goals+1] = GoalTask + self.GoalTasks[GoalVerb].GoalCount = self.GoalTasks[GoalVerb].GoalCount + GoalIncrease + end + return self +end + +--- Returns if the additional Goal for the TASK was completed. +-- @param ?string GoalVerb is the name of the Goal of the TASK. If the GoalVerb is not given, then the default TASK Goals will be used. +-- @return string Goals +function TASK:GetGoalCompletion( GoalVerb ) + self:F2( { GoalVerb } ) + + if self:Goal( GoalVerb ) then + local Goals = "" + for GoalID, GoalName in pairs( self.GoalTasks[GoalVerb].Goals ) do Goals = Goals .. GoalName .. " + " end + return Goals:gsub(" + $", ""), self.GoalTasks[GoalVerb].GoalCount + end +end + +function TASK.MenuAction( Parameter ) + Parameter.ReferenceTask.ExecuteStage = _TransportExecuteStage.EXECUTING + Parameter.ReferenceTask.Cargo = Parameter.CargoTask +end + +function TASK:StageExecute() + self:F() + + local Execute = false + + if self.Frequency == STAGE.FREQUENCY.REPEAT then + Execute = true + elseif self.Frequency == STAGE.FREQUENCY.NONE then + Execute = false + elseif self.Frequency >= 0 then + Execute = true + self.Frequency = self.Frequency - 1 + end + + return Execute + +end + +--- Work function to set signal events within a TASK. +function TASK:AddSignal( SignalUnitNames, SignalType, SignalColor, SignalHeight ) + self:F() + + local Valid = true + + if Valid then + if type( SignalUnitNames ) == "table" then + self.LandingZoneSignalUnitNames = SignalUnitNames + else + self.LandingZoneSignalUnitNames = { SignalUnitNames } + end + self.LandingZoneSignalType = SignalType + self.LandingZoneSignalColor = SignalColor + self.Signalled = false + if SignalHeight ~= nil then + self.LandingZoneSignalHeight = SignalHeight + else + self.LandingZoneSignalHeight = 0 + end + + if self.TaskBriefing then + self.TaskBriefing = self.TaskBriefing .. " " .. SignalColor.TEXT .. " " .. SignalType.TEXT .. " will be fired when entering the landing zone." + end + end + + return Valid +end + +--- When the CLIENT is approaching the landing zone, a RED SMOKE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddSmokeRed( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.SMOKE, TASK.SIGNAL.COLOR.RED, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a GREEN SMOKE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddSmokeGreen( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.SMOKE, TASK.SIGNAL.COLOR.GREEN, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a BLUE SMOKE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddSmokeBlue( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.SMOKE, TASK.SIGNAL.COLOR.BLUE, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a WHITE SMOKE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddSmokeWhite( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.SMOKE, TASK.SIGNAL.COLOR.WHITE, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, an ORANGE SMOKE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddSmokeOrange( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.SMOKE, TASK.SIGNAL.COLOR.ORANGE, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a RED FLARE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddFlareRed( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.FLARE, TASK.SIGNAL.COLOR.RED, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a GREEN FLARE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddFlareGreen( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.FLARE, TASK.SIGNAL.COLOR.GREEN, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a BLUE FLARE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddFlareBlue( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.FLARE, TASK.SIGNAL.COLOR.BLUE, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, a WHITE FLARE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddFlareWhite( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.FLARE, TASK.SIGNAL.COLOR.WHITE, SignalHeight ) +end + +--- When the CLIENT is approaching the landing zone, an ORANGE FLARE will be fired by an optional SignalUnitNames. +-- @param table|string SignalUnitNames Name of the Group that will fire the signal. If this parameter is NIL, the signal will be fired from the center of the landing zone. +-- @param number SignalHeight Altitude that the Signal should be fired... +function TASK:AddFlareOrange( SignalUnitNames, SignalHeight ) + self:F() + self:AddSignal( SignalUnitNames, TASK.SIGNAL.TYPE.FLARE, TASK.SIGNAL.COLOR.ORANGE, SignalHeight ) +end +--- A GOHOMETASK orchestrates the travel back to the home base, which is a specific zone defined within the ME. +-- @module GOHOMETASK + +Include.File("Task") + +--- The GOHOMETASK class +-- @type +GOHOMETASK = { + ClassName = "GOHOMETASK", +} + +--- Creates a new GOHOMETASK. +-- @param table{string,...}|string LandingZones Table of Landing Zone names where Home(s) are located. +-- @return GOHOMETASK +function GOHOMETASK:New( LandingZones ) + local self = BASE:Inherit( self, TASK:New() ) + self:F( { LandingZones } ) + local Valid = true + + Valid = routines.ValidateZone( LandingZones, "LandingZones", Valid ) + + if Valid then + self.Name = 'Fly Home' + self.TaskBriefing = "Task: Fly back to your home base. Your co-pilot will provide you with the directions (required flight angle in degrees) and the distance (in km) to your home base." + if type( LandingZones ) == "table" then + self.LandingZones = LandingZones + else + self.LandingZones = { LandingZones } + end + self.Stages = { STAGEBRIEF:New(), STAGESTART:New(), STAGEROUTE:New(), STAGEARRIVE:New(), STAGEDONE:New() } + self.SetStage( self, 1 ) + end + + return self +end +--- A DESTROYBASETASK will monitor the destruction of Groups and Units. This is a BASE class, other classes are derived from this class. +-- @module DESTROYBASETASK +-- @see DESTROYGROUPSTASK +-- @see DESTROYUNITTYPESTASK +-- @see DESTROY_RADARS_TASK + +Include.File("Task") + +--- The DESTROYBASETASK class +-- @type DESTROYBASETASK +DESTROYBASETASK = { + ClassName = "DESTROYBASETASK", + Destroyed = 0, + GoalVerb = "Destroy", + DestroyPercentage = 100, +} + +--- Creates a new DESTROYBASETASK. +-- @param #DESTROYBASETASK self +-- @param #string DestroyGroupType Text describing the group to be destroyed. f.e. "Radar Installations", "Ships", "Vehicles", "Command Centers". +-- @param #string DestroyUnitType Text describing the unit types to be destroyed. f.e. "SA-6", "Row Boats", "Tanks", "Tents". +-- @param #list<#string> DestroyGroupPrefixes Table of Prefixes of the Groups to be destroyed before task is completed. +-- @param #number DestroyPercentage defines the %-tage that needs to be destroyed to achieve mission success. eg. If in the Group there are 10 units, then a value of 75 would require 8 units to be destroyed from the Group to complete the @{TASK}. +-- @return DESTROYBASETASK +function DESTROYBASETASK:New( DestroyGroupType, DestroyUnitType, DestroyGroupPrefixes, DestroyPercentage ) + local self = BASE:Inherit( self, TASK:New() ) + self:F() + + self.Name = 'Destroy' + self.Destroyed = 0 + self.DestroyGroupPrefixes = DestroyGroupPrefixes + self.DestroyGroupType = DestroyGroupType + self.DestroyUnitType = DestroyUnitType + if DestroyPercentage then + self.DestroyPercentage = DestroyPercentage + end + self.TaskBriefing = "Task: Destroy " .. DestroyGroupType .. "." + self.Stages = { STAGEBRIEF:New(), STAGESTART:New(), STAGEGROUPSDESTROYED:New(), STAGEDONE:New() } + self.SetStage( self, 1 ) + + return self +end + +--- Handle the S_EVENT_DEAD events to validate the destruction of units for the task monitoring. +-- @param #DESTROYBASETASK self +-- @param Event#EVENTDATA Event structure of MOOSE. +function DESTROYBASETASK:EventDead( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + local DestroyUnit = Event.IniDCSUnit + local DestroyUnitName = Event.IniDCSUnitName + local DestroyGroup = Event.IniDCSGroup + local DestroyGroupName = Event.IniDCSGroupName + + --TODO: I need to fix here if 2 groups in the mission have a similar name with GroupPrefix equal, then i should differentiate for which group the goal was reached! + --I may need to test if for the goalverb that group goal was reached or something. Need to think about it a bit more ... + local UnitsDestroyed = 0 + for DestroyGroupPrefixID, DestroyGroupPrefix in pairs( self.DestroyGroupPrefixes ) do + self:T( DestroyGroupPrefix ) + if string.find( DestroyGroupName, DestroyGroupPrefix, 1, true ) then + self:T( BASE:Inherited(self).ClassName ) + UnitsDestroyed = self:ReportGoalProgress( DestroyGroup, DestroyUnit ) + self:T( UnitsDestroyed ) + end + end + + self:T( { UnitsDestroyed } ) + self:IncreaseGoalCount( UnitsDestroyed, self.GoalVerb ) + end + +end + +--- Validate task completeness of DESTROYBASETASK. +-- @param DestroyGroup Group structure describing the group to be evaluated. +-- @param DestroyUnit Unit structure describing the Unit to be evaluated. +function DESTROYBASETASK:ReportGoalProgress( DestroyGroup, DestroyUnit ) + self:F() + + return 0 +end +--- DESTROYGROUPSTASK +-- @module DESTROYGROUPSTASK + +Include.File("DestroyBaseTask") + +--- The DESTROYGROUPSTASK class +-- @type +DESTROYGROUPSTASK = { + ClassName = "DESTROYGROUPSTASK", + GoalVerb = "Destroy Groups", +} + +--- Creates a new DESTROYGROUPSTASK. +-- @param #DESTROYGROUPSTASK self +-- @param #string DestroyGroupType String describing the group to be destroyed. +-- @param #string DestroyUnitType String describing the unit to be destroyed. +-- @param #list<#string> DestroyGroupNames Table of string containing the name of the groups to be destroyed before task is completed. +-- @param #number DestroyPercentage defines the %-tage that needs to be destroyed to achieve mission success. eg. If in the Group there are 10 units, then a value of 75 would require 8 units to be destroyed from the Group to complete the @{TASK}. +---@return DESTROYGROUPSTASK +function DESTROYGROUPSTASK:New( DestroyGroupType, DestroyUnitType, DestroyGroupNames, DestroyPercentage ) + local self = BASE:Inherit( self, DESTROYBASETASK:New( DestroyGroupType, DestroyUnitType, DestroyGroupNames, DestroyPercentage ) ) + self:F() + + self.Name = 'Destroy Groups' + self.GoalVerb = "Destroy " .. DestroyGroupType + + _EVENTDISPATCHER:OnDead( self.EventDead , self ) + _EVENTDISPATCHER:OnCrash( self.EventDead , self ) + + return self +end + +--- Report Goal Progress. +-- @param #DESTROYGROUPSTASK self +-- @param DCSGroup#Group DestroyGroup Group structure describing the group to be evaluated. +-- @param DCSUnit#Unit DestroyUnit Unit structure describing the Unit to be evaluated. +-- @return #number The DestroyCount reflecting the amount of units destroyed within the group. +function DESTROYGROUPSTASK:ReportGoalProgress( DestroyGroup, DestroyUnit ) + self:F( { DestroyGroup, DestroyUnit, self.DestroyPercentage } ) + + local DestroyGroupSize = DestroyGroup:getSize() - 1 -- When a DEAD event occurs, the getSize is still one larger than the destroyed unit. + local DestroyGroupInitialSize = DestroyGroup:getInitialSize() + self:T( { DestroyGroupSize, DestroyGroupInitialSize - ( DestroyGroupInitialSize * self.DestroyPercentage / 100 ) } ) + + local DestroyCount = 0 + if DestroyGroup then + if DestroyGroupSize <= DestroyGroupInitialSize - ( DestroyGroupInitialSize * self.DestroyPercentage / 100 ) then + DestroyCount = 1 + end + else + DestroyCount = 1 + end + + self:T( DestroyCount ) + + return DestroyCount +end +--- Task class to destroy radar installations. +-- @module DESTROYRADARSTASK + +Include.File("DestroyBaseTask") + +--- The DESTROYRADARS class +-- @type +DESTROYRADARSTASK = { + ClassName = "DESTROYRADARSTASK", + GoalVerb = "Destroy Radars" +} + +--- Creates a new DESTROYRADARSTASK. +-- @param table{string,...} DestroyGroupNames Table of string containing the group names of which the radars are be destroyed. +-- @return DESTROYRADARSTASK +function DESTROYRADARSTASK:New( DestroyGroupNames ) + local self = BASE:Inherit( self, DESTROYGROUPSTASK:New( 'radar installations', 'radars', DestroyGroupNames ) ) + self:F() + + self.Name = 'Destroy Radars' + + _EVENTDISPATCHER:OnDead( self.EventDead , self ) + + return self +end + +--- Report Goal Progress. +-- @param Group DestroyGroup Group structure describing the group to be evaluated. +-- @param Unit DestroyUnit Unit structure describing the Unit to be evaluated. +function DESTROYRADARSTASK:ReportGoalProgress( DestroyGroup, DestroyUnit ) + self:F( { DestroyGroup, DestroyUnit } ) + + local DestroyCount = 0 + if DestroyUnit and DestroyUnit:hasSensors( Unit.SensorType.RADAR, Unit.RadarType.AS ) then + if DestroyUnit and DestroyUnit:getLife() <= 1.0 then + self:T( 'Destroyed a radar' ) + DestroyCount = 1 + end + end + return DestroyCount +end +--- Set TASK to destroy certain unit types. +-- @module DESTROYUNITTYPESTASK + +Include.File("DestroyBaseTask") + +--- The DESTROYUNITTYPESTASK class +-- @type +DESTROYUNITTYPESTASK = { + ClassName = "DESTROYUNITTYPESTASK", + GoalVerb = "Destroy", +} + +--- Creates a new DESTROYUNITTYPESTASK. +-- @param string DestroyGroupType String describing the group to be destroyed. f.e. "Radar Installations", "Fleet", "Batallion", "Command Centers". +-- @param string DestroyUnitType String describing the unit to be destroyed. f.e. "radars", "ships", "tanks", "centers". +-- @param table{string,...} DestroyGroupNames Table of string containing the group names of which the radars are be destroyed. +-- @param string DestroyUnitTypes Table of string containing the type names of the units to achieve mission success. +-- @return DESTROYUNITTYPESTASK +function DESTROYUNITTYPESTASK:New( DestroyGroupType, DestroyUnitType, DestroyGroupNames, DestroyUnitTypes ) + local self = BASE:Inherit( self, DESTROYBASETASK:New( DestroyGroupType, DestroyUnitType, DestroyGroupNames ) ) + self:F( { DestroyGroupType, DestroyUnitType, DestroyGroupNames, DestroyUnitTypes } ) + + if type(DestroyUnitTypes) == 'table' then + self.DestroyUnitTypes = DestroyUnitTypes + else + self.DestroyUnitTypes = { DestroyUnitTypes } + end + + self.Name = 'Destroy Unit Types' + self.GoalVerb = "Destroy " .. DestroyGroupType + + _EVENTDISPATCHER:OnDead( self.EventDead , self ) + + return self +end + +--- Report Goal Progress. +-- @param Group DestroyGroup Group structure describing the group to be evaluated. +-- @param Unit DestroyUnit Unit structure describing the Unit to be evaluated. +function DESTROYUNITTYPESTASK:ReportGoalProgress( DestroyGroup, DestroyUnit ) + self:F( { DestroyGroup, DestroyUnit } ) + + local DestroyCount = 0 + for UnitTypeID, UnitType in pairs( self.DestroyUnitTypes ) do + if DestroyUnit and DestroyUnit:getTypeName() == UnitType then + if DestroyUnit and DestroyUnit:getLife() <= 1.0 then + DestroyCount = DestroyCount + 1 + end + end + end + return DestroyCount +end +--- A PICKUPTASK orchestrates the loading of CARGO at a specific landing zone. +-- @module PICKUPTASK +-- @parent TASK + +Include.File("Task") +Include.File("Cargo") + +--- The PICKUPTASK class +-- @type +PICKUPTASK = { + ClassName = "PICKUPTASK", + TEXT = { "Pick-Up", "picked-up", "loaded" }, + GoalVerb = "Pick-Up" +} + +--- Creates a new PICKUPTASK. +-- @param table{string,...}|string LandingZones Table of Zone names where Cargo is to be loaded. +-- @param CARGO_TYPE CargoType Type of the Cargo. The type must be of the following Enumeration:.. +-- @param number OnBoardSide Reflects from which side the cargo Group will be on-boarded on the Carrier. +function PICKUPTASK:New( CargoType, OnBoardSide ) + local self = BASE:Inherit( self, TASK:New() ) + self:F() + + -- self holds the inherited instance of the PICKUPTASK Class to the BASE class. + + local Valid = true + + if Valid then + self.Name = 'Pickup Cargo' + self.TaskBriefing = "Task: Fly to the indicated landing zones and pickup " .. CargoType .. ". Your co-pilot will provide you with the directions (required flight angle in degrees) and the distance (in km) to the pickup zone." + self.CargoType = CargoType + self.GoalVerb = CargoType .. " " .. self.GoalVerb + self.OnBoardSide = OnBoardSide + self.IsLandingRequired = true -- required to decide whether the client needs to land or not + self.IsSlingLoad = false -- Indicates whether the cargo is a sling load cargo + self.Stages = { STAGE_CARGO_INIT:New(), STAGE_CARGO_LOAD:New(), STAGEBRIEF:New(), STAGESTART:New(), STAGEROUTE:New(), STAGELANDING:New(), STAGELANDED:New(), STAGELOAD:New(), STAGEDONE:New() } + self.SetStage( self, 1 ) + end + + return self +end + +function PICKUPTASK:FromZone( LandingZone ) + self:F() + + self.LandingZones.LandingZoneNames[LandingZone.CargoZoneName] = LandingZone.CargoZoneName + self.LandingZones.LandingZones[LandingZone.CargoZoneName] = LandingZone + + return self +end + +function PICKUPTASK:InitCargo( InitCargos ) + self:F( { InitCargos } ) + + if type( InitCargos ) == "table" then + self.Cargos.InitCargos = InitCargos + else + self.Cargos.InitCargos = { InitCargos } + end + + return self +end + +function PICKUPTASK:LoadCargo( LoadCargos ) + self:F( { LoadCargos } ) + + if type( LoadCargos ) == "table" then + self.Cargos.LoadCargos = LoadCargos + else + self.Cargos.LoadCargos = { LoadCargos } + end + + return self +end + +function PICKUPTASK:AddCargoMenus( Client, Cargos, TransportRadius ) + self:F() + + for CargoID, Cargo in pairs( Cargos ) do + + self:T( { Cargo.ClassName, Cargo.CargoName, Cargo.CargoType, Cargo:IsStatusNone(), Cargo:IsStatusLoaded(), Cargo:IsStatusLoading(), Cargo:IsStatusUnLoaded() } ) + + -- If the Cargo has no status, allow the menu option. + if Cargo:IsStatusNone() or ( Cargo:IsStatusLoading() and Client == Cargo:IsLoadingToClient() ) then + + local MenuAdd = false + if Cargo:IsNear( Client, self.CurrentCargoZone ) then + MenuAdd = true + end + + if MenuAdd then + if Client._Menus[Cargo.CargoType] == nil then + Client._Menus[Cargo.CargoType] = {} + end + + if not Client._Menus[Cargo.CargoType].PickupMenu then + Client._Menus[Cargo.CargoType].PickupMenu = missionCommands.addSubMenuForGroup( + Client:GetClientGroupID(), + self.TEXT[1] .. " " .. Cargo.CargoType, + nil + ) + self:T( 'Added PickupMenu: ' .. self.TEXT[1] .. " " .. Cargo.CargoType ) + end + + if Client._Menus[Cargo.CargoType].PickupSubMenus == nil then + Client._Menus[Cargo.CargoType].PickupSubMenus = {} + end + + Client._Menus[Cargo.CargoType].PickupSubMenus[ #Client._Menus[Cargo.CargoType].PickupSubMenus + 1 ] = missionCommands.addCommandForGroup( + Client:GetClientGroupID(), + Cargo.CargoName .. " ( " .. Cargo.CargoWeight .. "kg )", + Client._Menus[Cargo.CargoType].PickupMenu, + self.MenuAction, + { ReferenceTask = self, CargoTask = Cargo } + ) + self:T( 'Added PickupSubMenu' .. Cargo.CargoType .. ":" .. Cargo.CargoName .. " ( " .. Cargo.CargoWeight .. "kg )" ) + end + end + end + +end + +function PICKUPTASK:RemoveCargoMenus( Client ) + self:F() + + for MenuID, MenuData in pairs( Client._Menus ) do + for SubMenuID, SubMenuData in pairs( MenuData.PickupSubMenus ) do + missionCommands.removeItemForGroup( Client:GetClientGroupID(), SubMenuData ) + self:T( "Removed PickupSubMenu " ) + SubMenuData = nil + end + if MenuData.PickupMenu then + missionCommands.removeItemForGroup( Client:GetClientGroupID(), MenuData.PickupMenu ) + self:T( "Removed PickupMenu " ) + MenuData.PickupMenu = nil + end + end + + for CargoID, Cargo in pairs( CARGOS ) do + self:T( { Cargo.ClassName, Cargo.CargoName, Cargo.CargoType, Cargo:IsStatusNone(), Cargo:IsStatusLoaded(), Cargo:IsStatusLoading(), Cargo:IsStatusUnLoaded() } ) + if Cargo:IsStatusLoading() and Client == Cargo:IsLoadingToClient() then + Cargo:StatusNone() + end + end + +end + + + +function PICKUPTASK:HasFailed( ClientDead ) + self:F() + + local TaskHasFailed = self.TaskFailed + return TaskHasFailed +end + +--- A DEPLOYTASK orchestrates the deployment of CARGO within a specific landing zone. +-- @module DEPLOYTASK + +Include.File( "Task" ) + +--- A DeployTask +-- @type DEPLOYTASK +DEPLOYTASK = { + ClassName = "DEPLOYTASK", + TEXT = { "Deploy", "deployed", "unloaded" }, + GoalVerb = "Deployment" +} + + +--- Creates a new DEPLOYTASK object, which models the sequence of STAGEs to unload a cargo. +-- @function [parent=#DEPLOYTASK] New +-- @param #string CargoType Type of the Cargo. +-- @return #DEPLOYTASK The created DeployTask +function DEPLOYTASK:New( CargoType ) + local self = BASE:Inherit( self, TASK:New() ) + self:F() + + local Valid = true + + if Valid then + self.Name = 'Deploy Cargo' + self.TaskBriefing = "Fly to one of the indicated landing zones and deploy " .. CargoType .. ". Your co-pilot will provide you with the directions (required flight angle in degrees) and the distance (in km) to the deployment zone." + self.CargoType = CargoType + self.GoalVerb = CargoType .. " " .. self.GoalVerb + self.Stages = { STAGE_CARGO_INIT:New(), STAGE_CARGO_LOAD:New(), STAGEBRIEF:New(), STAGESTART:New(), STAGEROUTE:New(), STAGELANDING:New(), STAGELANDED:New(), STAGEUNLOAD:New(), STAGEDONE:New() } + self.SetStage( self, 1 ) + end + + return self +end + +function DEPLOYTASK:ToZone( LandingZone ) + self:F() + + self.LandingZones.LandingZoneNames[LandingZone.CargoZoneName] = LandingZone.CargoZoneName + self.LandingZones.LandingZones[LandingZone.CargoZoneName] = LandingZone + + return self +end + + +function DEPLOYTASK:InitCargo( InitCargos ) + self:F( { InitCargos } ) + + if type( InitCargos ) == "table" then + self.Cargos.InitCargos = InitCargos + else + self.Cargos.InitCargos = { InitCargos } + end + + return self +end + + +function DEPLOYTASK:LoadCargo( LoadCargos ) + self:F( { LoadCargos } ) + + if type( LoadCargos ) == "table" then + self.Cargos.LoadCargos = LoadCargos + else + self.Cargos.LoadCargos = { LoadCargos } + end + + return self +end + + +--- When the cargo is unloaded, it will move to the target zone name. +-- @param string TargetZoneName Name of the Zone to where the Cargo should move after unloading. +function DEPLOYTASK:SetCargoTargetZoneName( TargetZoneName ) + self:F() + + local Valid = true + + Valid = routines.ValidateString( TargetZoneName, "TargetZoneName", Valid ) + + if Valid then + self.TargetZoneName = TargetZoneName + end + + return Valid + +end + +function DEPLOYTASK:AddCargoMenus( Client, Cargos, TransportRadius ) + self:F() + + local ClientGroupID = Client:GetClientGroupID() + + self:T( ClientGroupID ) + + for CargoID, Cargo in pairs( Cargos ) do + + self:T( { Cargo.ClassName, Cargo.CargoName, Cargo.CargoType, Cargo.CargoWeight } ) + + if Cargo:IsStatusLoaded() and Client == Cargo:IsLoadedInClient() then + + if Client._Menus[Cargo.CargoType] == nil then + Client._Menus[Cargo.CargoType] = {} + end + + if not Client._Menus[Cargo.CargoType].DeployMenu then + Client._Menus[Cargo.CargoType].DeployMenu = missionCommands.addSubMenuForGroup( + ClientGroupID, + self.TEXT[1] .. " " .. Cargo.CargoType, + nil + ) + self:T( 'Added DeployMenu ' .. self.TEXT[1] ) + end + + if Client._Menus[Cargo.CargoType].DeploySubMenus == nil then + Client._Menus[Cargo.CargoType].DeploySubMenus = {} + end + + if Client._Menus[Cargo.CargoType].DeployMenu == nil then + self:T( 'deploymenu is nil' ) + end + + Client._Menus[Cargo.CargoType].DeploySubMenus[ #Client._Menus[Cargo.CargoType].DeploySubMenus + 1 ] = missionCommands.addCommandForGroup( + ClientGroupID, + Cargo.CargoName .. " ( " .. Cargo.CargoWeight .. "kg )", + Client._Menus[Cargo.CargoType].DeployMenu, + self.MenuAction, + { ReferenceTask = self, CargoTask = Cargo } + ) + self:T( 'Added DeploySubMenu ' .. Cargo.CargoType .. ":" .. Cargo.CargoName .. " ( " .. Cargo.CargoWeight .. "kg )" ) + end + end + +end + +function DEPLOYTASK:RemoveCargoMenus( Client ) + self:F() + + local ClientGroupID = Client:GetClientGroupID() + self:T( ClientGroupID ) + + for MenuID, MenuData in pairs( Client._Menus ) do + if MenuData.DeploySubMenus ~= nil then + for SubMenuID, SubMenuData in pairs( MenuData.DeploySubMenus ) do + missionCommands.removeItemForGroup( ClientGroupID, SubMenuData ) + self:T( "Removed DeploySubMenu " ) + SubMenuData = nil + end + end + if MenuData.DeployMenu then + missionCommands.removeItemForGroup( ClientGroupID, MenuData.DeployMenu ) + self:T( "Removed DeployMenu " ) + MenuData.DeployMenu = nil + end + end + +end +--- A NOTASK is a dummy activity... But it will show a Mission Briefing... +-- @module NOTASK + +Include.File("Task") + +--- The NOTASK class +-- @type +NOTASK = { + ClassName = "NOTASK", +} + +--- Creates a new NOTASK. +function NOTASK:New() + local self = BASE:Inherit( self, TASK:New() ) + self:F() + + local Valid = true + + if Valid then + self.Name = 'Nothing' + self.TaskBriefing = "Task: Execute your mission." + self.Stages = { STAGEBRIEF:New(), STAGESTART:New(), STAGEDONE:New() } + self.SetStage( self, 1 ) + end + + return self +end +--- A ROUTETASK orchestrates the travel to a specific zone defined within the ME. +-- @module ROUTETASK + +--- The ROUTETASK class +-- @type +ROUTETASK = { + ClassName = "ROUTETASK", + GoalVerb = "Route", +} + +--- Creates a new ROUTETASK. +-- @param table{sring,...}|string LandingZones Table of Zone Names where the target is located. +-- @param string TaskBriefing (optional) Defines a text describing the briefing of the task. +-- @return ROUTETASK +function ROUTETASK:New( LandingZones, TaskBriefing ) + local self = BASE:Inherit( self, TASK:New() ) + self:F( { LandingZones, TaskBriefing } ) + + local Valid = true + + Valid = routines.ValidateZone( LandingZones, "LandingZones", Valid ) + + if Valid then + self.Name = 'Route To Zone' + if TaskBriefing then + self.TaskBriefing = TaskBriefing .. " Your co-pilot will provide you with the directions (required flight angle in degrees) and the distance (in km) to the target objective." + else + self.TaskBriefing = "Task: Fly to specified zone(s). Your co-pilot will provide you with the directions (required flight angle in degrees) and the distance (in km) to the target objective." + end + if type( LandingZones ) == "table" then + self.LandingZones = LandingZones + else + self.LandingZones = { LandingZones } + end + self.Stages = { STAGEBRIEF:New(), STAGESTART:New(), STAGEROUTE:New(), STAGEARRIVE:New(), STAGEDONE:New() } + self.SetStage( self, 1 ) + end + + return self +end + +--- A MISSION is the main owner of a Mission orchestration within MOOSE . The Mission framework orchestrates @{CLIENT}s, @{TASK}s, @{STAGE}s etc. +-- A @{CLIENT} needs to be registered within the @{MISSION} through the function @{AddClient}. A @{TASK} needs to be registered within the @{MISSION} through the function @{AddTask}. +-- @module MISSION + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Client" ) +Include.File( "Task" ) + +--- The MISSION class +-- @type +MISSION = { + ClassName = "MISSION", + Name = "", + MissionStatus = "PENDING", + _Clients = {}, + _Tasks = {}, + _ActiveTasks = {}, + GoalFunction = nil, + MissionReportTrigger = 0, + MissionProgressTrigger = 0, + MissionReportShow = false, + MissionReportFlash = false, + MissionTimeInterval = 0, + MissionCoalition = "", + SUCCESS = 1, + FAILED = 2, + REPEAT = 3, + _GoalTasks = {} +} + + +function MISSION:Meta() + + local self = BASE:Inherit( self, BASE:New() ) + self:F() + + return self +end + +--- This is the main MISSION declaration method. Each Mission is like the master or a Mission orchestration between, Clients, Tasks, Stages etc. +-- @param string MissionName is the name of the mission. This name will be used to reference the status of each mission by the players. +-- @param string MissionPriority is a string indicating the "priority" of the Mission. f.e. "Primary", "Secondary" or "First", "Second". It is free format and up to the Mission designer to choose. There are no rules behind this field. +-- @param string MissionBriefing is a string indicating the mission briefing to be shown when a player joins a @{CLIENT}. +-- @param string MissionCoalition is a string indicating the coalition or party to which this mission belongs to. It is free format and can be chosen freely by the mission designer. Note that this field is not to be confused with the coalition concept of the ME. Examples of a Mission Coalition could be "NATO", "CCCP", "Intruders", "Terrorists"... +-- @return MISSION +-- @usage +-- -- Declare a few missions. +-- local Mission = MISSIONSCHEDULER.AddMission( 'Russia Transport Troops SA-6', 'Operational', 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', 'Russia' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'Patriots', 'Primary', 'Our intelligence reports that 3 Patriot SAM defense batteries are located near Ruisi, Kvarhiti and Gori.', 'Russia' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'Package Delivery', 'Operational', 'In order to be in full control of the situation, we need you to deliver a very important package at a secret location. Fly undetected through the NATO defenses and deliver the secret package. The secret agent is located at waypoint 4.', 'Russia' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'Rescue General', 'Tactical', 'Our intelligence has received a remote signal behind Gori. We believe it is a very important Russian General that was captured by Georgia. Go out there and rescue him! Ensure you stay out of the battle zone, keep south. Waypoint 4 is the location of our Russian General.', 'Russia' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'NATO Transport Troops', 'Operational', 'Transport 3 groups of air defense engineers from our barracks "Gold" and "Titan" to each patriot battery control center to activate our air defenses.', 'NATO' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'SA-6 SAMs', 'Primary', 'Our intelligence reports that 3 SA-6 SAM defense batteries are located near Didmukha, Khetagurov and Berula. Eliminate the Russian SAMs.', 'NATO' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'NATO Sling Load', 'Operational', 'Fly to the cargo pickup zone at Dzegvi or Kaspi, and sling the cargo to Soganlug airbase.', 'NATO' ) +-- local Mission = MISSIONSCHEDULER.AddMission( 'Rescue secret agent', 'Tactical', 'In order to be in full control of the situation, we need you to rescue a secret agent from the woods behind enemy lines. Avoid the Russian defenses and rescue the agent. Keep south until Khasuri, and keep your eyes open for any SAM presence. The agent is located at waypoint 4 on your kneeboard.', 'NATO' ) +function MISSION:New( MissionName, MissionPriority, MissionBriefing, MissionCoalition ) + + self = MISSION:Meta() + self:T({ MissionName, MissionPriority, MissionBriefing, MissionCoalition }) + + local Valid = true + + Valid = routines.ValidateString( MissionName, "MissionName", Valid ) + Valid = routines.ValidateString( MissionPriority, "MissionPriority", Valid ) + Valid = routines.ValidateString( MissionBriefing, "MissionBriefing", Valid ) + Valid = routines.ValidateString( MissionCoalition, "MissionCoalition", Valid ) + + if Valid then + self.Name = MissionName + self.MissionPriority = MissionPriority + self.MissionBriefing = MissionBriefing + self.MissionCoalition = MissionCoalition + end + + return self +end + +--- Returns if a Mission has completed. +-- @return bool +function MISSION:IsCompleted() + self:F() + return self.MissionStatus == "ACCOMPLISHED" +end + +--- Set a Mission to completed. +function MISSION:Completed() + self:F() + self.MissionStatus = "ACCOMPLISHED" + self:StatusToClients() +end + +--- Returns if a Mission is ongoing. +-- treturn bool +function MISSION:IsOngoing() + self:F() + return self.MissionStatus == "ONGOING" +end + +--- Set a Mission to ongoing. +function MISSION:Ongoing() + self:F() + self.MissionStatus = "ONGOING" + --self:StatusToClients() +end + +--- Returns if a Mission is pending. +-- treturn bool +function MISSION:IsPending() + self:F() + return self.MissionStatus == "PENDING" +end + +--- Set a Mission to pending. +function MISSION:Pending() + self:F() + self.MissionStatus = "PENDING" + self:StatusToClients() +end + +--- Returns if a Mission has failed. +-- treturn bool +function MISSION:IsFailed() + self:F() + return self.MissionStatus == "FAILED" +end + +--- Set a Mission to failed. +function MISSION:Failed() + self:F() + self.MissionStatus = "FAILED" + self:StatusToClients() +end + +--- Send the status of the MISSION to all Clients. +function MISSION:StatusToClients() + self:F() + if self.MissionReportFlash then + for ClientID, Client in pairs( self._Clients ) do + Client:Message( self.MissionCoalition .. ' "' .. self.Name .. '": ' .. self.MissionStatus .. '! ( ' .. self.MissionPriority .. ' mission ) ', 10, self.Name .. '/Status', "Mission Command: Mission Status") + end + end +end + +--- Handles the reporting. After certain time intervals, a MISSION report MESSAGE will be shown to All Players. +function MISSION:ReportTrigger() + self:F() + + if self.MissionReportShow == true then + self.MissionReportShow = false + return true + else + if self.MissionReportFlash == true then + if timer.getTime() >= self.MissionReportTrigger then + self.MissionReportTrigger = timer.getTime() + self.MissionTimeInterval + return true + else + return false + end + else + return false + end + end +end + +--- Report the status of all MISSIONs to all active Clients. +function MISSION:ReportToAll() + self:F() + + local AlivePlayers = '' + for ClientID, Client in pairs( self._Clients ) do + if Client:GetDCSGroup() then + if Client:GetClientGroupDCSUnit() then + if Client:GetClientGroupDCSUnit():getLife() > 0.0 then + if AlivePlayers == '' then + AlivePlayers = ' Players: ' .. Client:GetClientGroupDCSUnit():getPlayerName() + else + AlivePlayers = AlivePlayers .. ' / ' .. Client:GetClientGroupDCSUnit():getPlayerName() + end + end + end + end + end + local Tasks = self:GetTasks() + local TaskText = "" + for TaskID, TaskData in pairs( Tasks ) do + TaskText = TaskText .. " - Task " .. TaskID .. ": " .. TaskData.Name .. ": " .. TaskData:GetGoalProgress() .. "\n" + end + MESSAGE:New( self.MissionCoalition .. ' "' .. self.Name .. '": ' .. self.MissionStatus .. ' ( ' .. self.MissionPriority .. ' mission )' .. AlivePlayers .. "\n" .. TaskText:gsub("\n$",""), "Mission Command: Mission Report", 10, self.Name .. '/Status'):ToAll() +end + + +--- Add a goal function to a MISSION. Goal functions are called when a @{TASK} within a mission has been completed. +-- @param function GoalFunction is the function defined by the mission designer to evaluate whether a certain goal has been reached after a @{TASK} finishes within the @{MISSION}. A GoalFunction must accept 2 parameters: Mission, Client, which contains the current MISSION object and the current CLIENT object respectively. +-- @usage +-- PatriotActivation = { +-- { "US SAM Patriot Zerti", false }, +-- { "US SAM Patriot Zegduleti", false }, +-- { "US SAM Patriot Gvleti", false } +-- } +-- +-- function DeployPatriotTroopsGoal( Mission, Client ) +-- +-- +-- -- Check if the cargo is all deployed for mission success. +-- for CargoID, CargoData in pairs( Mission._Cargos ) do +-- if Group.getByName( CargoData.CargoGroupName ) then +-- CargoGroup = Group.getByName( CargoData.CargoGroupName ) +-- if CargoGroup then +-- -- Check if the cargo is ready to activate +-- CurrentLandingZoneID = routines.IsUnitInZones( CargoGroup:getUnits()[1], Mission:GetTask( 2 ).LandingZones ) -- The second task is the Deploytask to measure mission success upon +-- if CurrentLandingZoneID then +-- if PatriotActivation[CurrentLandingZoneID][2] == false then +-- -- Now check if this is a new Mission Task to be completed... +-- trigger.action.setGroupAIOn( Group.getByName( PatriotActivation[CurrentLandingZoneID][1] ) ) +-- PatriotActivation[CurrentLandingZoneID][2] = true +-- MessageToBlue( "Mission Command: Message to all airborne units! The " .. PatriotActivation[CurrentLandingZoneID][1] .. " is armed. Our air defenses are now stronger.", 60, "BLUE/PatriotDefense" ) +-- MessageToRed( "Mission Command: Our satellite systems are detecting additional NATO air defenses. To all airborne units: Take care!!!", 60, "RED/PatriotDefense" ) +-- Mission:GetTask( 2 ):AddGoalCompletion( "Patriots activated", PatriotActivation[CurrentLandingZoneID][1], 1 ) -- Register Patriot activation as part of mission goal. +-- end +-- end +-- end +-- end +-- end +-- end +-- +-- local Mission = MISSIONSCHEDULER.AddMission( 'NATO Transport Troops', 'Operational', 'Transport 3 groups of air defense engineers from our barracks "Gold" and "Titan" to each patriot battery control center to activate our air defenses.', 'NATO' ) +-- Mission:AddGoalFunction( DeployPatriotTroopsGoal ) +function MISSION:AddGoalFunction( GoalFunction ) + self:F() + self.GoalFunction = GoalFunction +end + +--- Register a new @{CLIENT} to participate within the mission. +-- @param CLIENT Client is the @{CLIENT} object. The object must have been instantiated with @{CLIENT:New}. +-- @return CLIENT +-- @usage +-- Add a number of Client objects to the Mission. +-- Mission:AddClient( CLIENT:New( 'US UH-1H*HOT-Deploy Troops 1', 'Transport 3 groups of air defense engineers from our barracks "Gold" and "Titan" to each patriot battery control center to activate our air defenses.' ):Transport() ) +-- Mission:AddClient( CLIENT:New( 'US UH-1H*RAMP-Deploy Troops 3', 'Transport 3 groups of air defense engineers from our barracks "Gold" and "Titan" to each patriot battery control center to activate our air defenses.' ):Transport() ) +-- Mission:AddClient( CLIENT:New( 'US UH-1H*HOT-Deploy Troops 2', 'Transport 3 groups of air defense engineers from our barracks "Gold" and "Titan" to each patriot battery control center to activate our air defenses.' ):Transport() ) +-- Mission:AddClient( CLIENT:New( 'US UH-1H*RAMP-Deploy Troops 4', 'Transport 3 groups of air defense engineers from our barracks "Gold" and "Titan" to each patriot battery control center to activate our air defenses.' ):Transport() ) +function MISSION:AddClient( Client ) + self:F( { Client } ) + + local Valid = true + + if Valid then + self._Clients[Client.ClientName] = Client + end + + return Client +end + +--- Find a @{CLIENT} object within the @{MISSION} by its ClientName. +-- @param CLIENT ClientName is a string defining the Client Group as defined within the ME. +-- @return CLIENT +-- @usage +-- -- Seach for Client "Bomber" within the Mission. +-- local BomberClient = Mission:FindClient( "Bomber" ) +function MISSION:FindClient( ClientName ) + self:F( { self._Clients[ClientName] } ) + return self._Clients[ClientName] +end + + +--- Register a @{TASK} to be completed within the @{MISSION}. Note that there can be multiple @{TASK}s registered to be completed. Each TASK can be set a certain Goal. The MISSION will not be completed until all Goals are reached. +-- @param TASK Task is the @{TASK} object. The object must have been instantiated with @{TASK:New} or any of its inherited @{TASK}s. +-- @param number TaskNumber is the sequence number of the TASK within the MISSION. This number does have to be chronological. +-- @return TASK +-- @usage +-- -- Define a few tasks for the Mission. +-- PickupZones = { "NATO Gold Pickup Zone", "NATO Titan Pickup Zone" } +-- PickupSignalUnits = { "NATO Gold Coordination Center", "NATO Titan Coordination Center" } +-- +-- -- Assign the Pickup Task +-- local PickupTask = PICKUPTASK:New( PickupZones, CARGO_TYPE.ENGINEERS, CLIENT.ONBOARDSIDE.LEFT ) +-- PickupTask:AddSmokeBlue( PickupSignalUnits ) +-- PickupTask:SetGoalTotal( 3 ) +-- Mission:AddTask( PickupTask, 1 ) +-- +-- -- Assign the Deploy Task +-- local PatriotActivationZones = { "US Patriot Battery 1 Activation", "US Patriot Battery 2 Activation", "US Patriot Battery 3 Activation" } +-- local PatriotActivationZonesSmokeUnits = { "US SAM Patriot - Battery 1 Control", "US SAM Patriot - Battery 2 Control", "US SAM Patriot - Battery 3 Control" } +-- local DeployTask = DEPLOYTASK:New( PatriotActivationZones, CARGO_TYPE.ENGINEERS ) +-- --DeployTask:SetCargoTargetZoneName( 'US Troops Attack ' .. math.random(2) ) +-- DeployTask:AddSmokeBlue( PatriotActivationZonesSmokeUnits ) +-- DeployTask:SetGoalTotal( 3 ) +-- DeployTask:SetGoalTotal( 3, "Patriots activated" ) +-- Mission:AddTask( DeployTask, 2 ) + +function MISSION:AddTask( Task, TaskNumber ) + self:F() + + self._Tasks[TaskNumber] = Task + self._Tasks[TaskNumber]:EnableEvents() + self._Tasks[TaskNumber].ID = TaskNumber + + return Task + end + +--- Get the TASK idenified by the TaskNumber from the Mission. This function is useful in GoalFunctions. +-- @param number TaskNumber is the number of the @{TASK} within the @{MISSION}. +-- @return TASK +-- @usage +-- -- Get Task 2 from the Mission. +-- Task2 = Mission:GetTask( 2 ) + +function MISSION:GetTask( TaskNumber ) + self:F() + + local Valid = true + + local Task = nil + + if type(TaskNumber) ~= "number" then + Valid = false + end + + if Valid then + Task = self._Tasks[TaskNumber] + end + + return Task +end + +--- Get all the TASKs from the Mission. This function is useful in GoalFunctions. +-- @return {TASK,...} Structure of TASKS with the @{TASK} number as the key. +-- @usage +-- -- Get Tasks from the Mission. +-- Tasks = Mission:GetTasks() +-- env.info( "Task 2 Completion = " .. Tasks[2]:GetGoalPercentage() .. "%" ) +function MISSION:GetTasks() + self:F() + + return self._Tasks +end + + +--[[ + _TransportExecuteStage: Defines the different stages of Transport unload/load execution. This table is internal and is used to control the validity of Transport load/unload timing. + + - _TransportExecuteStage.EXECUTING + - _TransportExecuteStage.SUCCESS + - _TransportExecuteStage.FAILED + +--]] +_TransportExecuteStage = { + NONE = 0, + EXECUTING = 1, + SUCCESS = 2, + FAILED = 3 +} + + +--- The MISSIONSCHEDULER is an OBJECT and is the main scheduler of ALL active MISSIONs registered within this scheduler. It's workings are considered internal and is automatically created when the Mission.lua file is included. +-- @type MISSIONSCHEDULER +MISSIONSCHEDULER = { + Missions = {}, + MissionCount = 0, + TimeIntervalCount = 0, + TimeIntervalShow = 150, + TimeSeconds = 14400, + TimeShow = 5 +} + +--- This is the main MISSIONSCHEDULER Scheduler function. It is considered internal and is automatically created when the Mission.lua file is included. +function MISSIONSCHEDULER.Scheduler() + + -- loop through the missions in the TransportTasks + for MissionName, Mission in pairs( MISSIONSCHEDULER.Missions ) do + + if not Mission:IsCompleted() then + + -- This flag will monitor if for this mission, there are clients alive. If this flag is still false at the end of the loop, the mission status will be set to Pending (if not Failed or Completed). + local ClientsAlive = false + + for ClientID, Client in pairs( Mission._Clients ) do + + if Client:GetDCSGroup() then + + -- There is at least one Client that is alive... So the Mission status is set to Ongoing. + ClientsAlive = true + + -- If this Client was not registered as Alive before: + -- 1. We register the Client as Alive. + -- 2. We initialize the Client Tasks and make a link to the original Mission Task. + -- 3. We initialize the Cargos. + -- 4. We flag the Mission as Ongoing. + if not Client.ClientAlive then + Client.ClientAlive = true + Client.ClientBriefingShown = false + for TaskNumber, Task in pairs( Mission._Tasks ) do + -- Note that this a deepCopy. Each client must have their own Tasks with own Stages!!! + Client._Tasks[TaskNumber] = routines.utils.deepCopy( Mission._Tasks[TaskNumber] ) + -- Each MissionTask must point to the original Mission. + Client._Tasks[TaskNumber].MissionTask = Mission._Tasks[TaskNumber] + Client._Tasks[TaskNumber].Cargos = Mission._Tasks[TaskNumber].Cargos + Client._Tasks[TaskNumber].LandingZones = Mission._Tasks[TaskNumber].LandingZones + end + + Mission:Ongoing() + end + + + -- For each Client, check for each Task the state and evolve the mission. + -- This flag will indicate if the Task of the Client is Complete. + TaskComplete = false + + for TaskNumber, Task in pairs( Client._Tasks ) do + + if not Task.Stage then + Task:SetStage( 1 ) + end + + + local TransportTime = timer.getTime() + + if not Task:IsDone() then + + if Task:Goal() then + Task:ShowGoalProgress( Mission, Client ) + end + + --env.info( 'Scheduler: Mission = ' .. Mission.Name .. ' / Client = ' .. Client.ClientName .. ' / Task = ' .. Task.Name .. ' / Stage = ' .. Task.ActiveStage .. ' - ' .. Task.Stage.Name .. ' - ' .. Task.Stage.StageType ) + + -- Action + if Task:StageExecute() then + Task.Stage:Execute( Mission, Client, Task ) + end + + -- Wait until execution is finished + if Task.ExecuteStage == _TransportExecuteStage.EXECUTING then + Task.Stage:Executing( Mission, Client, Task ) + end + + -- Validate completion or reverse to earlier stage + if Task.Time + Task.Stage.WaitTime <= TransportTime then + Task:SetStage( Task.Stage:Validate( Mission, Client, Task ) ) + end + + if Task:IsDone() then + --env.info( 'Scheduler: Mission '.. Mission.Name .. ' Task ' .. Task.Name .. ' Stage ' .. Task.Stage.Name .. ' done. TaskComplete = ' .. string.format ( "%s", TaskComplete and "true" or "false" ) ) + TaskComplete = true -- when a task is not yet completed, a mission cannot be completed + + else + -- break only if this task is not yet done, so that future task are not yet activated. + TaskComplete = false -- when a task is not yet completed, a mission cannot be completed + --env.info( 'Scheduler: Mission "'.. Mission.Name .. '" Task "' .. Task.Name .. '" Stage "' .. Task.Stage.Name .. '" break. TaskComplete = ' .. string.format ( "%s", TaskComplete and "true" or "false" ) ) + break + end + + if TaskComplete then + + if Mission.GoalFunction ~= nil then + Mission.GoalFunction( Mission, Client ) + end + if MISSIONSCHEDULER.Scoring then + MISSIONSCHEDULER.Scoring:_AddMissionTaskScore( Client:GetClientGroupDCSUnit(), Mission.Name, 25 ) + end + +-- if not Mission:IsCompleted() then +-- end + end + end + end + + local MissionComplete = true + for TaskNumber, Task in pairs( Mission._Tasks ) do + if Task:Goal() then +-- Task:ShowGoalProgress( Mission, Client ) + if Task:IsGoalReached() then + else + MissionComplete = false + end + else + MissionComplete = false -- If there is no goal, the mission should never be ended. The goal status will be set somewhere else. + end + end + + if MissionComplete then + Mission:Completed() + if MISSIONSCHEDULER.Scoring then + MISSIONSCHEDULER.Scoring:_AddMissionScore( Mission.Name, 100 ) + end + else + if TaskComplete then + -- Reset for new tasking of active client + Client.ClientAlive = false -- Reset the client tasks. + end + end + + + else + if Client.ClientAlive then + env.info( 'Scheduler: Client "' .. Client.ClientName .. '" is inactive.' ) + Client.ClientAlive = false + + -- This is tricky. If we sanitize Client._Tasks before sanitizing Client._Tasks[TaskNumber].MissionTask, then the original MissionTask will be sanitized, and will be lost within the garbage collector. + -- So first sanitize Client._Tasks[TaskNumber].MissionTask, after that, sanitize only the whole _Tasks structure... + --Client._Tasks[TaskNumber].MissionTask = nil + --Client._Tasks = nil + end + end + end + + -- If all Clients of this Mission are not activated, then the Mission status needs to be put back into Pending status. + -- But only if the Mission was Ongoing. In case the Mission is Completed or Failed, the Mission status may not be changed. In these cases, this will be the last run of this Mission in the Scheduler. + if ClientsAlive == false then + if Mission:IsOngoing() then + -- Mission status back to pending... + Mission:Pending() + end + end + end + + Mission:StatusToClients() + + if Mission:ReportTrigger() then + Mission:ReportToAll() + end + end +end + +--- Start the MISSIONSCHEDULER. +function MISSIONSCHEDULER.Start() + if MISSIONSCHEDULER ~= nil then + MISSIONSCHEDULER.SchedulerId = routines.scheduleFunction( MISSIONSCHEDULER.Scheduler, { }, 0, 2 ) + end +end + +--- Stop the MISSIONSCHEDULER. +function MISSIONSCHEDULER.Stop() + if MISSIONSCHEDULER.SchedulerId then + routines.removeFunction(MISSIONSCHEDULER.SchedulerId) + MISSIONSCHEDULER.SchedulerId = nil + end +end + +--- This is the main MISSION declaration method. Each Mission is like the master or a Mission orchestration between, Clients, Tasks, Stages etc. +-- @param Mission is the MISSION object instantiated by @{MISSION:New}. +-- @return MISSION +-- @usage +-- -- Declare a mission. +-- Mission = MISSION:New( 'Russia Transport Troops SA-6', +-- 'Operational', +-- 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', +-- 'Russia' ) +-- MISSIONSCHEDULER:AddMission( Mission ) +function MISSIONSCHEDULER.AddMission( Mission ) + MISSIONSCHEDULER.Missions[Mission.Name] = Mission + MISSIONSCHEDULER.MissionCount = MISSIONSCHEDULER.MissionCount + 1 + -- Add an overall AI Client for the AI tasks... This AI Client will facilitate the Events in the background for each Task. + --MissionAdd:AddClient( CLIENT:New( 'AI' ) ) + + return Mission +end + +--- Remove a MISSION from the MISSIONSCHEDULER. +-- @param MissionName is the name of the MISSION given at declaration using @{AddMission}. +-- @usage +-- -- Declare a mission. +-- Mission = MISSION:New( 'Russia Transport Troops SA-6', +-- 'Operational', +-- 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', +-- 'Russia' ) +-- MISSIONSCHEDULER:AddMission( Mission ) +-- +-- -- Now remove the Mission. +-- MISSIONSCHEDULER:RemoveMission( 'Russia Transport Troops SA-6' ) +function MISSIONSCHEDULER.RemoveMission( MissionName ) + MISSIONSCHEDULER.Missions[MissionName] = nil + MISSIONSCHEDULER.MissionCount = MISSIONSCHEDULER.MissionCount - 1 +end + +--- Find a MISSION within the MISSIONSCHEDULER. +-- @param MissionName is the name of the MISSION given at declaration using @{AddMission}. +-- @return MISSION +-- @usage +-- -- Declare a mission. +-- Mission = MISSION:New( 'Russia Transport Troops SA-6', +-- 'Operational', +-- 'Transport troops from the control center to one of the SA-6 SAM sites to activate their operation.', +-- 'Russia' ) +-- MISSIONSCHEDULER:AddMission( Mission ) +-- +-- -- Now find the Mission. +-- MissionFind = MISSIONSCHEDULER:FindMission( 'Russia Transport Troops SA-6' ) +function MISSIONSCHEDULER.FindMission( MissionName ) + return MISSIONSCHEDULER.Missions[MissionName] +end + +-- Internal function used by the MISSIONSCHEDULER menu. +function MISSIONSCHEDULER.ReportMissionsShow( ) + for MissionName, Mission in pairs( MISSIONSCHEDULER.Missions ) do + Mission.MissionReportShow = true + Mission.MissionReportFlash = false + end +end + +-- Internal function used by the MISSIONSCHEDULER menu. +function MISSIONSCHEDULER.ReportMissionsFlash( TimeInterval ) + local Count = 0 + for MissionName, Mission in pairs( MISSIONSCHEDULER.Missions ) do + Mission.MissionReportShow = false + Mission.MissionReportFlash = true + Mission.MissionReportTrigger = timer.getTime() + Count * TimeInterval + Mission.MissionTimeInterval = MISSIONSCHEDULER.MissionCount * TimeInterval + env.info( "TimeInterval = " .. Mission.MissionTimeInterval ) + Count = Count + 1 + end +end + +-- Internal function used by the MISSIONSCHEDULER menu. +function MISSIONSCHEDULER.ReportMissionsHide( Prm ) + for MissionName, Mission in pairs( MISSIONSCHEDULER.Missions ) do + Mission.MissionReportShow = false + Mission.MissionReportFlash = false + end +end + +--- Enables a MENU option in the communications menu under F10 to control the status of the active missions. +-- This function should be called only once when starting the MISSIONSCHEDULER. +function MISSIONSCHEDULER.ReportMenu() + local ReportMenu = SUBMENU:New( 'Status' ) + local ReportMenuShow = COMMANDMENU:New( 'Show Report Missions', ReportMenu, MISSIONSCHEDULER.ReportMissionsShow, 0 ) + local ReportMenuFlash = COMMANDMENU:New('Flash Report Missions', ReportMenu, MISSIONSCHEDULER.ReportMissionsFlash, 120 ) + local ReportMenuHide = COMMANDMENU:New( 'Hide Report Missions', ReportMenu, MISSIONSCHEDULER.ReportMissionsHide, 0 ) +end + +--- Show the remaining mission time. +function MISSIONSCHEDULER:TimeShow() + self.TimeIntervalCount = self.TimeIntervalCount + 1 + if self.TimeIntervalCount >= self.TimeTriggerShow then + local TimeMsg = string.format("%00d", ( self.TimeSeconds / 60 ) - ( timer.getTime() / 60 )) .. ' minutes left until mission reload.' + MESSAGE:New( TimeMsg, "Mission time", self.TimeShow, '/TimeMsg' ):ToAll() + self.TimeIntervalCount = 0 + end +end + +function MISSIONSCHEDULER:Time( TimeSeconds, TimeIntervalShow, TimeShow ) + + self.TimeIntervalCount = 0 + self.TimeSeconds = TimeSeconds + self.TimeIntervalShow = TimeIntervalShow + self.TimeShow = TimeShow +end + +--- Adds a mission scoring to the game. +function MISSIONSCHEDULER:Scoring( Scoring ) + + self.Scoring = Scoring +end + +--- The CLEANUP class keeps an area clean of crashing or colliding airplanes. It also prevents airplanes from firing within this area. +-- @module CleanUp +-- @author Flightcontrol + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Mission" ) +Include.File( "Client" ) +Include.File( "Task" ) + +--- The CLEANUP class. +-- @type CLEANUP +-- @extends Base#BASE +CLEANUP = { + ClassName = "CLEANUP", + ZoneNames = {}, + TimeInterval = 300, + CleanUpList = {}, +} + +--- Creates the main object which is handling the cleaning of the debris within the given Zone Names. +-- @param #CLEANUP self +-- @param #table ZoneNames Is a table of zone names where the debris should be cleaned. Also a single string can be passed with one zone name. +-- @param #number TimeInterval The interval in seconds when the clean activity takes place. The default is 300 seconds, thus every 5 minutes. +-- @return #CLEANUP +-- @usage +-- -- Clean these Zones. +-- CleanUpAirports = CLEANUP:New( { 'CLEAN Tbilisi', 'CLEAN Kutaisi' }, 150 ) +-- or +-- CleanUpTbilisi = CLEANUP:New( 'CLEAN Tbilisi', 150 ) +-- CleanUpKutaisi = CLEANUP:New( 'CLEAN Kutaisi', 600 ) +function CLEANUP:New( ZoneNames, TimeInterval ) local self = BASE:Inherit( self, BASE:New() ) + self:F( { ZoneNames, TimeInterval } ) + + if type( ZoneNames ) == 'table' then + self.ZoneNames = ZoneNames + else + self.ZoneNames = { ZoneNames } + end + if TimeInterval then + self.TimeInterval = TimeInterval + end + + _EVENTDISPATCHER:OnBirth( self._OnEventBirth, self ) + + self.CleanUpScheduler = routines.scheduleFunction( self._CleanUpScheduler, { self }, timer.getTime() + 1, TimeInterval ) + + return self +end + + +--- Destroys a group from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param DCSGroup#Group GroupObject The object to be destroyed. +-- @param #string CleanUpGroupName The groupname... +function CLEANUP:_DestroyGroup( GroupObject, CleanUpGroupName ) + self:F( { GroupObject, CleanUpGroupName } ) + + if GroupObject then -- and GroupObject:isExist() then + --MESSAGE:New( "Destroy Group " .. CleanUpGroupName, CleanUpGroupName, 1, CleanUpGroupName ):ToAll() + trigger.action.deactivateGroup(GroupObject) + self:T( { "GroupObject Destroyed", GroupObject } ) + end +end + +--- Destroys a @{DCSUnit#Unit} from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param DCSUnit#Unit CleanUpUnit The object to be destroyed. +-- @param #string CleanUpUnitName The Unit name ... +function CLEANUP:_DestroyUnit( CleanUpUnit, CleanUpUnitName ) + self:F( { CleanUpUnit, CleanUpUnitName } ) + + if CleanUpUnit then + --MESSAGE:New( "Destroy " .. CleanUpUnitName, CleanUpUnitName, 1, CleanUpUnitName ):ToAll() + local CleanUpGroup = Unit.getGroup(CleanUpUnit) + -- TODO Client bug in 1.5.3 + if CleanUpGroup and CleanUpGroup:isExist() then + local CleanUpGroupUnits = CleanUpGroup:getUnits() + if #CleanUpGroupUnits == 1 then + local CleanUpGroupName = CleanUpGroup:getName() + --self:CreateEventCrash( timer.getTime(), CleanUpUnit ) + CleanUpGroup:destroy() + self:T( { "Destroyed Group:", CleanUpGroupName } ) + else + CleanUpUnit:destroy() + self:T( { "Destroyed Unit:", CleanUpUnitName } ) + end + self.CleanUpList[CleanUpUnitName] = nil -- Cleaning from the list + CleanUpUnit = nil + end + end +end + +-- TODO check DCSTypes#Weapon +--- Destroys a missile from the simulator, but checks first if it is still existing! +-- @param #CLEANUP self +-- @param DCSTypes#Weapon MissileObject +function CLEANUP:_DestroyMissile( MissileObject ) + self:F( { MissileObject } ) + + if MissileObject and MissileObject:isExist() then + MissileObject:destroy() + self:T( "MissileObject Destroyed") + end +end + +function CLEANUP:_OnEventBirth( Event ) + self:F( { Event } ) + + self.CleanUpList[Event.IniDCSUnitName] = {} + self.CleanUpList[Event.IniDCSUnitName].CleanUpUnit = Event.IniDCSUnit + self.CleanUpList[Event.IniDCSUnitName].CleanUpGroup = Event.IniDCSGroup + self.CleanUpList[Event.IniDCSUnitName].CleanUpGroupName = Event.IniDCSGroupName + self.CleanUpList[Event.IniDCSUnitName].CleanUpUnitName = Event.IniDCSUnitName + + _EVENTDISPATCHER:OnEngineShutDownForUnit( Event.IniDCSUnitName, self._EventAddForCleanUp, self ) + _EVENTDISPATCHER:OnEngineStartUpForUnit( Event.IniDCSUnitName, self._EventAddForCleanUp, self ) + _EVENTDISPATCHER:OnHitForUnit( Event.IniDCSUnitName, self._EventAddForCleanUp, self ) + _EVENTDISPATCHER:OnPilotDeadForUnit( Event.IniDCSUnitName, self._EventCrash, self ) + _EVENTDISPATCHER:OnDeadForUnit( Event.IniDCSUnitName, self._EventCrash, self ) + _EVENTDISPATCHER:OnCrashForUnit( Event.IniDCSUnitName, self._EventCrash, self ) + _EVENTDISPATCHER:OnShotForUnit( Event.IniDCSUnitName, self._EventShot, self ) + + --self:AddEvent( world.event.S_EVENT_ENGINE_SHUTDOWN, self._EventAddForCleanUp ) + --self:AddEvent( world.event.S_EVENT_ENGINE_STARTUP, self._EventAddForCleanUp ) +-- self:AddEvent( world.event.S_EVENT_HIT, self._EventAddForCleanUp ) -- , self._EventHitCleanUp ) +-- self:AddEvent( world.event.S_EVENT_CRASH, self._EventCrash ) -- , self._EventHitCleanUp ) +-- --self:AddEvent( world.event.S_EVENT_DEAD, self._EventCrash ) +-- self:AddEvent( world.event.S_EVENT_SHOT, self._EventShot ) +-- +-- self:EnableEvents() + + +end + +--- Detects if a crash event occurs. +-- Crashed units go into a CleanUpList for removal. +-- @param #CLEANUP self +-- @param DCSTypes#Event event +function CLEANUP:_EventCrash( Event ) + self:F( { Event } ) + + --TODO: This stuff is not working due to a DCS bug. Burning units cannot be destroyed. + --MESSAGE:New( "Crash ", "Crash", 10, "Crash" ):ToAll() + -- self:T("before getGroup") + -- local _grp = Unit.getGroup(event.initiator)-- Identify the group that fired + -- self:T("after getGroup") + -- _grp:destroy() + -- self:T("after deactivateGroup") + -- event.initiator:destroy() + + self.CleanUpList[Event.IniDCSUnitName] = {} + self.CleanUpList[Event.IniDCSUnitName].CleanUpUnit = Event.IniDCSUnit + self.CleanUpList[Event.IniDCSUnitName].CleanUpGroup = Event.IniDCSGroup + self.CleanUpList[Event.IniDCSUnitName].CleanUpGroupName = Event.IniDCSGroupName + self.CleanUpList[Event.IniDCSUnitName].CleanUpUnitName = Event.IniDCSUnitName + +end + +--- Detects if a unit shoots a missile. +-- If this occurs within one of the zones, then the weapon used must be destroyed. +-- @param #CLEANUP self +-- @param DCSTypes#Event event +function CLEANUP:_EventShot( Event ) + self:F( { Event } ) + + -- Test if the missile was fired within one of the CLEANUP.ZoneNames. + local CurrentLandingZoneID = 0 + CurrentLandingZoneID = routines.IsUnitInZones( Event.IniDCSUnit, self.ZoneNames ) + if ( CurrentLandingZoneID ) then + -- Okay, the missile was fired within the CLEANUP.ZoneNames, destroy the fired weapon. + --_SEADmissile:destroy() + routines.scheduleFunction( CLEANUP._DestroyMissile, { self, Event.Weapon }, timer.getTime() + 0.1) + end +end + + +--- Detects if the Unit has an S_EVENT_HIT within the given ZoneNames. If this is the case, destroy the unit. +-- @param #CLEANUP self +-- @param DCSTypes#Event event +function CLEANUP:_EventHitCleanUp( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + if routines.IsUnitInZones( Event.IniDCSUnit, self.ZoneNames ) ~= nil then + self:T( { "Life: ", Event.IniDCSUnitName, ' = ', Event.IniDCSUnit:getLife(), "/", Event.IniDCSUnit:getLife0() } ) + if Event.IniDCSUnit:getLife() < Event.IniDCSUnit:getLife0() then + self:T( "CleanUp: Destroy: " .. Event.IniDCSUnitName ) + routines.scheduleFunction( CLEANUP._DestroyUnit, { self, Event.IniDCSUnit }, timer.getTime() + 0.1) + end + end + end + + if Event.TgtDCSUnit then + if routines.IsUnitInZones( Event.TgtDCSUnit, self.ZoneNames ) ~= nil then + self:T( { "Life: ", Event.TgtDCSUnitName, ' = ', Event.TgtDCSUnit:getLife(), "/", Event.TgtDCSUnit:getLife0() } ) + if Event.TgtDCSUnit:getLife() < Event.TgtDCSUnit:getLife0() then + self:T( "CleanUp: Destroy: " .. Event.TgtDCSUnitName ) + routines.scheduleFunction( CLEANUP._DestroyUnit, { self, Event.TgtDCSUnit }, timer.getTime() + 0.1 ) + end + end + end +end + +--- Add the @{DCSUnit#Unit} to the CleanUpList for CleanUp. +function CLEANUP:_AddForCleanUp( CleanUpUnit, CleanUpUnitName ) + self:F( { CleanUpUnit, CleanUpUnitName } ) + + self.CleanUpList[CleanUpUnitName] = {} + self.CleanUpList[CleanUpUnitName].CleanUpUnit = CleanUpUnit + self.CleanUpList[CleanUpUnitName].CleanUpUnitName = CleanUpUnitName + self.CleanUpList[CleanUpUnitName].CleanUpGroup = Unit.getGroup(CleanUpUnit) + self.CleanUpList[CleanUpUnitName].CleanUpGroupName = Unit.getGroup(CleanUpUnit):getName() + self.CleanUpList[CleanUpUnitName].CleanUpTime = timer.getTime() + self.CleanUpList[CleanUpUnitName].CleanUpMoved = false + + self:T( { "CleanUp: Add to CleanUpList: ", Unit.getGroup(CleanUpUnit):getName(), CleanUpUnitName } ) + +end + +--- Detects if the Unit has an S_EVENT_ENGINE_SHUTDOWN or an S_EVENT_HIT within the given ZoneNames. If this is the case, add the Group to the CLEANUP List. +-- @param #CLEANUP self +-- @param DCSTypes#Event event +function CLEANUP:_EventAddForCleanUp( Event ) + + if Event.IniDCSUnit then + if self.CleanUpList[Event.IniDCSUnitName] == nil then + if routines.IsUnitInZones( Event.IniDCSUnit, self.ZoneNames ) ~= nil then + self:_AddForCleanUp( Event.IniDCSUnit, Event.IniDCSUnitName ) + end + end + end + + if Event.TgtDCSUnit then + if self.CleanUpList[Event.TgtDCSUnitName] == nil then + if routines.IsUnitInZones( Event.TgtDCSUnit, self.ZoneNames ) ~= nil then + self:_AddForCleanUp( Event.TgtDCSUnit, Event.TgtDCSUnitName ) + end + end + end + +end + +local CleanUpSurfaceTypeText = { + "LAND", + "SHALLOW_WATER", + "WATER", + "ROAD", + "RUNWAY" + } + +--- At the defined time interval, CleanUp the Groups within the CleanUpList. +-- @param #CLEANUP self +function CLEANUP:_CleanUpScheduler() + self:F( { "CleanUp Scheduler" } ) + + local CleanUpCount = 0 + for CleanUpUnitName, UnitData in pairs( self.CleanUpList ) do + CleanUpCount = CleanUpCount + 1 + + self:T( { CleanUpUnitName, UnitData } ) + local CleanUpUnit = Unit.getByName(UnitData.CleanUpUnitName) + local CleanUpGroupName = UnitData.CleanUpGroupName + local CleanUpUnitName = UnitData.CleanUpUnitName + if CleanUpUnit then + self:T( { "CleanUp Scheduler", "Checking:", CleanUpUnitName } ) + if _DATABASE:GetStatusGroup( CleanUpGroupName ) ~= "ReSpawn" then + local CleanUpUnitVec3 = CleanUpUnit:getPoint() + --self:T( CleanUpUnitVec3 ) + local CleanUpUnitVec2 = {} + CleanUpUnitVec2.x = CleanUpUnitVec3.x + CleanUpUnitVec2.y = CleanUpUnitVec3.z + --self:T( CleanUpUnitVec2 ) + local CleanUpSurfaceType = land.getSurfaceType(CleanUpUnitVec2) + --self:T( CleanUpSurfaceType ) + --MESSAGE:New( "Surface " .. CleanUpUnitName .. " = " .. CleanUpSurfaceTypeText[CleanUpSurfaceType], CleanUpUnitName, 10, CleanUpUnitName ):ToAll() + + if CleanUpUnit and CleanUpUnit:getLife() <= CleanUpUnit:getLife0() * 0.95 then + if CleanUpSurfaceType == land.SurfaceType.RUNWAY then + if CleanUpUnit:inAir() then + local CleanUpLandHeight = land.getHeight(CleanUpUnitVec2) + local CleanUpUnitHeight = CleanUpUnitVec3.y - CleanUpLandHeight + self:T( { "CleanUp Scheduler", "Height = " .. CleanUpUnitHeight } ) + if CleanUpUnitHeight < 30 then + self:T( { "CleanUp Scheduler", "Destroy " .. CleanUpUnitName .. " because below safe height and damaged." } ) + self:_DestroyUnit(CleanUpUnit, CleanUpUnitName) + end + else + self:T( { "CleanUp Scheduler", "Destroy " .. CleanUpUnitName .. " because on runway and damaged." } ) + self:_DestroyUnit(CleanUpUnit, CleanUpUnitName) + end + end + end + -- Clean Units which are waiting for a very long time in the CleanUpZone. + if CleanUpUnit then + local CleanUpUnitVelocity = CleanUpUnit:getVelocity() + local CleanUpUnitVelocityTotal = math.abs(CleanUpUnitVelocity.x) + math.abs(CleanUpUnitVelocity.y) + math.abs(CleanUpUnitVelocity.z) + if CleanUpUnitVelocityTotal < 1 then + if UnitData.CleanUpMoved then + if UnitData.CleanUpTime + 180 <= timer.getTime() then + self:T( { "CleanUp Scheduler", "Destroy due to not moving anymore " .. CleanUpUnitName } ) + self:_DestroyUnit(CleanUpUnit, CleanUpUnitName) + end + end + else + UnitData.CleanUpTime = timer.getTime() + UnitData.CleanUpMoved = true + --MESSAGE:New( "Moved " .. CleanUpUnitName, CleanUpUnitName, 10, CleanUpUnitName ):ToAll() + end + end + + else + -- Do nothing ... + self.CleanUpList[CleanUpUnitName] = nil -- Not anymore in the DCSRTE + end + else + self:T( "CleanUp: Group " .. CleanUpUnitName .. " cannot be found in DCS RTE, removing ..." ) + self.CleanUpList[CleanUpUnitName] = nil -- Not anymore in the DCSRTE + end + end + self:T(CleanUpCount) +end + +--- Dynamic spawning of groups (and units). +-- +-- @{#SPAWN} class +-- =============== +-- The @{#SPAWN} class allows to spawn dynamically new groups, based on pre-defined initialization settings, modifying the behaviour when groups are spawned. +-- For each group to be spawned, within the mission editor, a group has to be created with the "late activation flag" set. We call this group the *"Spawn Template"* of the SPAWN object. +-- A reference to this Spawn Template needs to be provided when constructing the SPAWN object, by indicating the name of the group within the mission editor in the constructor methods. +-- +-- Within the SPAWN object, there is an internal index that keeps track of which group from the internal group list was spawned. +-- When new groups get spawned by using the SPAWN functions (see below), it will be validated whether the Limits (@{#SPAWN.Limit}) of the SPAWN object are not reached. +-- When all is valid, a new group will be created by the spawning methods, and the internal index will be increased with 1. +-- +-- Regarding the name of new spawned groups, a _SpawnPrefix_ will be assigned for each new group created. +-- If you want to have the Spawn Template name to be used as the _SpawnPrefix_ name, use the @{#SPAWN.New} constructor. +-- However, when the @{#SPAWN.NewWithAlias} constructor was used, the Alias name will define the _SpawnPrefix_ name. +-- Groups will follow the following naming structure when spawned at run-time: +-- +-- 1. Spawned groups will have the name _SpawnPrefix_#ggg, where ggg is a counter from 0 to 999. +-- 2. Spawned units will have the name _SpawnPrefix_#ggg-uu, where uu is a counter from 0 to 99 for each new spawned unit belonging to the group. +-- +-- Some additional notes that need to be remembered: +-- +-- * Templates are actually groups defined within the mission editor, with the flag "Late Activation" set. As such, these groups are never used within the mission, but are used by the @{#SPAWN} module. +-- * It is important to defined BEFORE you spawn new groups, a proper initialization of the SPAWN instance is done with the options you want to use. +-- * When designing a mission, NEVER name groups using a "#" within the name of the group Spawn Template(s), or the SPAWN module logic won't work anymore. +-- +-- SPAWN construction methods: +-- =========================== +-- Create a new SPAWN object with the @{#SPAWN.New} or the @{#SPAWN.NewWithAlias} methods: +-- +-- * @{#SPAWN.New}: Creates a new SPAWN object taking the name of the group that functions as the Template. +-- +-- It is important to understand how the SPAWN class works internally. The SPAWN object created will contain internally a list of groups that will be spawned and that are already spawned. +-- The initialization functions will modify this list of groups so that when a group gets spawned, ALL information is already prepared when spawning. This is done for performance reasons. +-- So in principle, the group list will contain all parameters and configurations after initialization, and when groups get actually spawned, this spawning can be done quickly and efficient. +-- +-- SPAWN initialization methods: +-- ============================= +-- A spawn object will behave differently based on the usage of initialization methods: +-- +-- * @{#SPAWN.Limit}: Limits the amount of groups that can be alive at the same time and that can be dynamically spawned. +-- * @{#SPAWN.RandomizeRoute}: Randomize the routes of spawned groups. +-- * @{#SPAWN.RandomizeTemplate}: Randomize the group templates so that when a new group is spawned, a random group template is selected from one of the templates defined. +-- * @{#SPAWN.Uncontrolled}: Spawn plane groups uncontrolled. +-- * @{#SPAWN.Array}: Make groups visible before they are actually activated, and order these groups like a batallion in an array. +-- * @{#SPAWN.InitRepeat}: Re-spawn groups when they land at the home base. Similar functions are @{#SPAWN.InitRepeatOnLanding} and @{#SPAWN.InitRepeatOnEngineShutDown}. +-- +-- SPAWN spawning methods: +-- ======================= +-- Groups can be spawned at different times and methods: +-- +-- * @{#SPAWN.Spawn}: Spawn one new group based on the last spawned index. +-- * @{#SPAWN.ReSpawn}: Re-spawn a group based on a given index. +-- * @{#SPAWN.SpawnScheduled}: Spawn groups at scheduled but randomized intervals. You can use @{#SPAWN.SpawnScheduleStart} and @{#SPAWN.SpawnScheduleStop} to start and stop the schedule respectively. +-- * @{#SPAWN.SpawnFromUnit}: Spawn a new group taking the position of a @{UNIT}. +-- * @{#SPAWN.SpawnInZone}: Spawn a new group in a @{ZONE}. +-- +-- Note that @{#SPAWN.Spawn} and @{#SPAWN.ReSpawn} return a @{GROUP#GROUP.New} object, that contains a reference to the DCSGroup object. +-- You can use the @{GROUP} object to do further actions with the DCSGroup. +-- +-- SPAWN object cleaning: +-- ========================= +-- Sometimes, it will occur during a mission run-time, that ground or especially air objects get damaged, and will while being damged stop their activities, while remaining alive. +-- In such cases, the SPAWN object will just sit there and wait until that group gets destroyed, but most of the time it won't, +-- and it may occur that no new groups are or can be spawned as limits are reached. +-- To prevent this, a @{#SPAWN.CleanUp} initialization method has been defined that will silently monitor the status of each spawned group. +-- Once a group has a velocity = 0, and has been waiting for a defined interval, that group will be cleaned or removed from run-time. +-- There is a catch however :-) If a damaged group has returned to an airbase within the coalition, that group will not be considered as "lost"... +-- In such a case, when the inactive group is cleaned, a new group will Re-spawned automatically. +-- This models AI that has succesfully returned to their airbase, to restart their combat activities. +-- Check the @{#SPAWN.CleanUp} for further info. +-- +-- ==== +-- @module Spawn +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Database" ) +Include.File( "Group" ) +Include.File( "Zone" ) +Include.File( "Event" ) +Include.File( "Scheduler" ) + +--- SPAWN Class +-- @type SPAWN +-- @extends Base#BASE +-- @field ClassName +-- @field #string SpawnTemplatePrefix +-- @field #string SpawnAliasPrefix +SPAWN = { + ClassName = "SPAWN", + SpawnTemplatePrefix = nil, + SpawnAliasPrefix = nil, +} + + + +--- Creates the main object to spawn a GROUP defined in the DCS ME. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix is the name of the Group in the ME that defines the Template. Each new group will have the name starting with SpawnTemplatePrefix. +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ) +-- @usage local Plane = SPAWN:New( "Plane" ) -- Creates a new local variable that can initiate new planes with the name "Plane#ddd" using the template "Plane" as defined within the ME. +function SPAWN:New( SpawnTemplatePrefix ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { SpawnTemplatePrefix } ) + + local TemplateGroup = Group.getByName( SpawnTemplatePrefix ) + if TemplateGroup then + self.SpawnTemplatePrefix = SpawnTemplatePrefix + self.SpawnIndex = 0 + self.SpawnCount = 0 -- The internal counter of the amount of spawning the has happened since SpawnStart. + self.AliveUnits = 0 -- Contains the counter how many units are currently alive + self.SpawnIsScheduled = false -- Reflects if the spawning for this SpawnTemplatePrefix is going to be scheduled or not. + self.SpawnTemplate = self._GetTemplate( self, SpawnTemplatePrefix ) -- Contains the template structure for a Group Spawn from the Mission Editor. Note that this group must have lateActivation always on!!! + self.Repeat = false -- Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning. + self.UnControlled = false -- When working in UnControlled mode, all planes are Spawned in UnControlled mode before the scheduler starts. + self.SpawnMaxUnitsAlive = 0 -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time. + self.SpawnMaxGroups = 0 -- The maximum amount of groups that can be spawned. + self.SpawnRandomize = false -- Sets the randomization flag of new Spawned units to false. + self.SpawnVisible = false -- Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned. + + self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned. + else + error( "SPAWN:New: There is no group declared in the mission editor with SpawnTemplatePrefix = '" .. SpawnTemplatePrefix .. "'" ) + end + + return self +end + +--- Creates a new SPAWN instance to create new groups based on the defined template and using a new alias for each new group. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix is the name of the Group in the ME that defines the Template. +-- @param #string SpawnAliasPrefix is the name that will be given to the Group at runtime. +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- Spawn_BE_KA50 = SPAWN:NewWithAlias( 'BE KA-50@RAMP-Ground Defense', 'Helicopter Attacking a City' ) +-- @usage local PlaneWithAlias = SPAWN:NewWithAlias( "Plane", "Bomber" ) -- Creates a new local variable that can instantiate new planes with the name "Bomber#ddd" using the template "Plane" as defined within the ME. +function SPAWN:NewWithAlias( SpawnTemplatePrefix, SpawnAliasPrefix ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { SpawnTemplatePrefix, SpawnAliasPrefix } ) + + local TemplateGroup = Group.getByName( SpawnTemplatePrefix ) + if TemplateGroup then + self.SpawnTemplatePrefix = SpawnTemplatePrefix + self.SpawnAliasPrefix = SpawnAliasPrefix + self.SpawnIndex = 0 + self.SpawnCount = 0 -- The internal counter of the amount of spawning the has happened since SpawnStart. + self.AliveUnits = 0 -- Contains the counter how many units are currently alive + self.SpawnIsScheduled = false -- Reflects if the spawning for this SpawnTemplatePrefix is going to be scheduled or not. + self.SpawnTemplate = self._GetTemplate( self, SpawnTemplatePrefix ) -- Contains the template structure for a Group Spawn from the Mission Editor. Note that this group must have lateActivation always on!!! + self.Repeat = false -- Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning. + self.UnControlled = false -- When working in UnControlled mode, all planes are Spawned in UnControlled mode before the scheduler starts. + self.SpawnMaxUnitsAlive = 0 -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time. + self.SpawnMaxGroups = 0 -- The maximum amount of groups that can be spawned. + self.SpawnRandomize = false -- Sets the randomization flag of new Spawned units to false. + self.SpawnVisible = false -- Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned. + + self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned. + else + error( "SPAWN:New: There is no group declared in the mission editor with SpawnTemplatePrefix = '" .. SpawnTemplatePrefix .. "'" ) + end + + return self +end + + +--- Limits the Maximum amount of Units that can be alive at the same time, and the maximum amount of groups that can be spawned. +-- Note that this method is exceptionally important to balance the performance of the mission. Depending on the machine etc, a mission can only process a maximum amount of units. +-- If the time interval must be short, but there should not be more Units or Groups alive than a maximum amount of units, then this function should be used... +-- When a @{#SPAWN.New} is executed and the limit of the amount of units alive is reached, then no new spawn will happen of the group, until some of these units of the spawn object will be destroyed. +-- @param #SPAWN self +-- @param #number SpawnMaxUnitsAlive The maximum amount of units that can be alive at runtime. +-- @param #number SpawnMaxGroups The maximum amount of groups that can be spawned. When the limit is reached, then no more actual spawns will happen of the group. +-- This parameter is useful to define a maximum amount of airplanes, ground troops, helicopters, ships etc within a supply area. +-- This parameter accepts the value 0, which defines that there are no maximum group limits, but there are limits on the maximum of units that can be alive at the same time. +-- @return #SPAWN self +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- This helicopter group consists of one Unit. So, this group will SPAWN maximum 2 groups simultaneously within the DCSRTE. +-- -- There will be maximum 24 groups spawned during the whole mission lifetime. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Limit( 2, 24 ) +function SPAWN:Limit( SpawnMaxUnitsAlive, SpawnMaxGroups ) + self:F( { self.SpawnTemplatePrefix, SpawnMaxUnitsAlive, SpawnMaxGroups } ) + + self.SpawnMaxUnitsAlive = SpawnMaxUnitsAlive -- The maximum amount of groups that can be alive of SpawnTemplatePrefix at the same time. + self.SpawnMaxGroups = SpawnMaxGroups -- The maximum amount of groups that can be spawned. + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:_InitializeSpawnGroups( SpawnGroupID ) + end + + return self +end + + +--- Randomizes the defined route of the SpawnTemplatePrefix group in the ME. This is very useful to define extra variation of the behaviour of groups. +-- @param #SPAWN self +-- @param #number SpawnStartPoint is the waypoint where the randomization begins. +-- Note that the StartPoint = 0 equaling the point where the group is spawned. +-- @param #number SpawnEndPoint is the waypoint where the randomization ends counting backwards. +-- This parameter is useful to avoid randomization to end at a waypoint earlier than the last waypoint on the route. +-- @param #number SpawnRadius is the radius in meters in which the randomization of the new waypoints, with the original waypoint of the original template located in the middle ... +-- @return #SPAWN +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- The KA-50 has waypoints Start point ( =0 or SP ), 1, 2, 3, 4, End point (= 5 or DP). +-- -- Waypoints 2 and 3 will only be randomized. The others will remain on their original position with each new spawn of the helicopter. +-- -- The randomization of waypoint 2 and 3 will take place within a radius of 2000 meters. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):RandomizeRoute( 2, 2, 2000 ) +function SPAWN:RandomizeRoute( SpawnStartPoint, SpawnEndPoint, SpawnRadius ) + self:F( { self.SpawnTemplatePrefix, SpawnStartPoint, SpawnEndPoint, SpawnRadius } ) + + self.SpawnRandomizeRoute = true + self.SpawnRandomizeRouteStartPoint = SpawnStartPoint + self.SpawnRandomizeRouteEndPoint = SpawnEndPoint + self.SpawnRandomizeRouteRadius = SpawnRadius + + for GroupID = 1, self.SpawnMaxGroups do + self:_RandomizeRoute( GroupID ) + end + + return self +end + + +--- This function is rather complicated to understand. But I'll try to explain. +-- This function becomes useful when you need to spawn groups with random templates of groups defined within the mission editor, +-- but they will all follow the same Template route and have the same prefix name. +-- In other words, this method randomizes between a defined set of groups the template to be used for each new spawn of a group. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefixTable A table with the names of the groups defined within the mission editor, from which one will be choosen when a new group will be spawned. +-- @return #SPAWN +-- @usage +-- -- NATO Tank Platoons invading Gori. +-- -- Choose between 13 different 'US Tank Platoon' configurations for each new SPAWN the Group to be spawned for the +-- -- 'US Tank Platoon Left', 'US Tank Platoon Middle' and 'US Tank Platoon Right' SpawnTemplatePrefixes. +-- -- Each new SPAWN will randomize the route, with a defined time interval of 200 seconds with 40% time variation (randomization) and +-- -- with a limit set of maximum 12 Units alive simulteneously and 150 Groups to be spawned during the whole mission. +-- Spawn_US_Platoon = { 'US Tank Platoon 1', 'US Tank Platoon 2', 'US Tank Platoon 3', 'US Tank Platoon 4', 'US Tank Platoon 5', +-- 'US Tank Platoon 6', 'US Tank Platoon 7', 'US Tank Platoon 8', 'US Tank Platoon 9', 'US Tank Platoon 10', +-- 'US Tank Platoon 11', 'US Tank Platoon 12', 'US Tank Platoon 13' } +-- Spawn_US_Platoon_Left = SPAWN:New( 'US Tank Platoon Left' ):Limit( 12, 150 ):Schedule( 200, 0.4 ):RandomizeTemplate( Spawn_US_Platoon ):RandomizeRoute( 3, 3, 2000 ) +-- Spawn_US_Platoon_Middle = SPAWN:New( 'US Tank Platoon Middle' ):Limit( 12, 150 ):Schedule( 200, 0.4 ):RandomizeTemplate( Spawn_US_Platoon ):RandomizeRoute( 3, 3, 2000 ) +-- Spawn_US_Platoon_Right = SPAWN:New( 'US Tank Platoon Right' ):Limit( 12, 150 ):Schedule( 200, 0.4 ):RandomizeTemplate( Spawn_US_Platoon ):RandomizeRoute( 3, 3, 2000 ) +function SPAWN:RandomizeTemplate( SpawnTemplatePrefixTable ) + self:F( { self.SpawnTemplatePrefix, SpawnTemplatePrefixTable } ) + + self.SpawnTemplatePrefixTable = SpawnTemplatePrefixTable + self.SpawnRandomizeTemplate = true + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:_RandomizeTemplate( SpawnGroupID ) + end + + return self +end + + + + + +--- For planes and helicopters, when these groups go home and land on their home airbases and farps, they normally would taxi to the parking spot, shut-down their engines and wait forever until the Group is removed by the runtime environment. +-- This function is used to re-spawn automatically (so no extra call is needed anymore) the same group after it has landed. +-- This will enable a spawned group to be re-spawned after it lands, until it is destroyed... +-- Note: When the group is respawned, it will re-spawn from the original airbase where it took off. +-- So ensure that the routes for groups that respawn, always return to the original airbase, or players may get confused ... +-- @param #SPAWN self +-- @return #SPAWN self +-- @usage +-- -- RU Su-34 - AI Ship Attack +-- -- Re-SPAWN the Group(s) after each landing and Engine Shut-Down automatically. +-- SpawnRU_SU34 = SPAWN:New( 'TF1 RU Su-34 Krymsk@AI - Attack Ships' ):Schedule( 2, 3, 1800, 0.4 ):SpawnUncontrolled():RandomizeRoute( 1, 1, 3000 ):RepeatOnEngineShutDown() +function SPAWN:InitRepeat() + self:F( { self.SpawnTemplatePrefix, self.SpawnIndex } ) + + self.Repeat = true + self.RepeatOnEngineShutDown = false + self.RepeatOnLanding = true + + return self +end + +--- Respawn group after landing. +-- @param #SPAWN self +-- @return #SPAWN self +function SPAWN:InitRepeatOnLanding() + self:F( { self.SpawnTemplatePrefix } ) + + self:InitRepeat() + self.RepeatOnEngineShutDown = false + self.RepeatOnLanding = true + + return self +end + + +--- Respawn after landing when its engines have shut down. +-- @param #SPAWN self +-- @return #SPAWN self +function SPAWN:InitRepeatOnEngineShutDown() + self:F( { self.SpawnTemplatePrefix } ) + + self:InitRepeat() + self.RepeatOnEngineShutDown = true + self.RepeatOnLanding = false + + return self +end + + +--- CleanUp groups when they are still alive, but inactive. +-- When groups are still alive and have become inactive due to damage and are unable to contribute anything, then this group will be removed at defined intervals in seconds. +-- @param #SPAWN self +-- @param #string SpawnCleanUpInterval The interval to check for inactive groups within seconds. +-- @return #SPAWN self +-- @usage Spawn_Helicopter:CleanUp( 20 ) -- CleanUp the spawning of the helicopters every 20 seconds when they become inactive. +function SPAWN:CleanUp( SpawnCleanUpInterval ) + self:F( { self.SpawnTemplatePrefix, SpawnCleanUpInterval } ) + + self.SpawnCleanUpInterval = SpawnCleanUpInterval + self.SpawnCleanUpTimeStamps = {} + --self.CleanUpFunction = routines.scheduleFunction( self._SpawnCleanUpScheduler, { self }, timer.getTime() + 1, SpawnCleanUpInterval ) + self.CleanUpScheduler = SCHEDULER:New( self, self._SpawnCleanUpScheduler, {}, 1, SpawnCleanUpInterval, 0.2 ) + return self +end + + + +--- Makes the groups visible before start (like a batallion). +-- The method will take the position of the group as the first position in the array. +-- @param #SPAWN self +-- @param #number SpawnAngle The angle in degrees how the groups and each unit of the group will be positioned. +-- @param #number SpawnWidth The amount of Groups that will be positioned on the X axis. +-- @param #number SpawnDeltaX The space between each Group on the X-axis. +-- @param #number SpawnDeltaY The space between each Group on the Y-axis. +-- @return #SPAWN self +-- @usage +-- -- Define an array of Groups. +-- Spawn_BE_Ground = SPAWN:New( 'BE Ground' ):Limit( 2, 24 ):Visible( 90, "Diamond", 10, 100, 50 ) +function SPAWN:Array( SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY ) + self:F( { self.SpawnTemplatePrefix, SpawnAngle, SpawnWidth, SpawnDeltaX, SpawnDeltaY } ) + + self.SpawnVisible = true -- When the first Spawn executes, all the Groups need to be made visible before start. + + local SpawnX = 0 + local SpawnY = 0 + local SpawnXIndex = 0 + local SpawnYIndex = 0 + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self:T( { SpawnX, SpawnY, SpawnXIndex, SpawnYIndex } ) + + self.SpawnGroups[SpawnGroupID].Visible = true + self.SpawnGroups[SpawnGroupID].Spawned = false + + SpawnXIndex = SpawnXIndex + 1 + if SpawnWidth and SpawnWidth ~= 0 then + if SpawnXIndex >= SpawnWidth then + SpawnXIndex = 0 + SpawnYIndex = SpawnYIndex + 1 + end + end + + local SpawnRootX = self.SpawnGroups[SpawnGroupID].SpawnTemplate.x + local SpawnRootY = self.SpawnGroups[SpawnGroupID].SpawnTemplate.y + + self:_TranslateRotate( SpawnGroupID, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle ) + + self.SpawnGroups[SpawnGroupID].SpawnTemplate.lateActivation = true + self.SpawnGroups[SpawnGroupID].SpawnTemplate.visible = true + + self.SpawnGroups[SpawnGroupID].Visible = true + + _EVENTDISPATCHER:OnBirthForTemplate( self.SpawnGroups[SpawnGroupID].SpawnTemplate, self._OnBirth, self ) + _EVENTDISPATCHER:OnCrashForTemplate( self.SpawnGroups[SpawnGroupID].SpawnTemplate, self._OnDeadOrCrash, self ) + _EVENTDISPATCHER:OnDeadForTemplate( self.SpawnGroups[SpawnGroupID].SpawnTemplate, self._OnDeadOrCrash, self ) + + if self.Repeat then + _EVENTDISPATCHER:OnTakeOffForTemplate( self.SpawnGroups[SpawnGroupID].SpawnTemplate, self._OnTakeOff, self ) + _EVENTDISPATCHER:OnLandForTemplate( self.SpawnGroups[SpawnGroupID].SpawnTemplate, self._OnLand, self ) + end + if self.RepeatOnEngineShutDown then + _EVENTDISPATCHER:OnEngineShutDownForTemplate( self.SpawnGroups[SpawnGroupID].SpawnTemplate, self._OnEngineShutDown, self ) + end + + self.SpawnGroups[SpawnGroupID].Group = _DATABASE:Spawn( self.SpawnGroups[SpawnGroupID].SpawnTemplate ) + + SpawnX = SpawnXIndex * SpawnDeltaX + SpawnY = SpawnYIndex * SpawnDeltaY + end + + return self +end + + + +--- Will spawn a group based on the internal index. +-- Note: Uses @{DATABASE} module defined in MOOSE. +-- @param #SPAWN self +-- @return Group#GROUP The group that was spawned. You can use this group for further actions. +function SPAWN:Spawn() + self:F( { self.SpawnTemplatePrefix, self.SpawnIndex } ) + + return self:SpawnWithIndex( self.SpawnIndex + 1 ) +end + +--- Will re-spawn a group based on a given index. +-- Note: Uses @{DATABASE} module defined in MOOSE. +-- @param #SPAWN self +-- @param #string SpawnIndex The index of the group to be spawned. +-- @return Group#GROUP The group that was spawned. You can use this group for further actions. +function SPAWN:ReSpawn( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex } ) + + if not SpawnIndex then + SpawnIndex = 1 + end + +-- TODO: This logic makes DCS crash and i don't know why (yet). + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup then + local SpawnDCSGroup = SpawnGroup:GetDCSGroup() + if SpawnDCSGroup then + SpawnGroup:Destroy() + end + end + + return self:SpawnWithIndex( SpawnIndex ) +end + +--- Will spawn a group with a specified index number. +-- Uses @{DATABASE} global object defined in MOOSE. +-- @param #SPAWN self +-- @return Group#GROUP The group that was spawned. You can use this group for further actions. +function SPAWN:SpawnWithIndex( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnMaxGroups } ) + + if self:_GetSpawnIndex( SpawnIndex ) then + + if self.SpawnGroups[self.SpawnIndex].Visible then + self.SpawnGroups[self.SpawnIndex].Group:Activate() + else + self:T( self.SpawnGroups[self.SpawnIndex].SpawnTemplate ) + _EVENTDISPATCHER:OnBirthForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnBirth, self ) + _EVENTDISPATCHER:OnCrashForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnDeadOrCrash, self ) + _EVENTDISPATCHER:OnDeadForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnDeadOrCrash, self ) + + if self.Repeat then + _EVENTDISPATCHER:OnTakeOffForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnTakeOff, self ) + _EVENTDISPATCHER:OnLandForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnLand, self ) + end + if self.RepeatOnEngineShutDown then + _EVENTDISPATCHER:OnEngineShutDownForTemplate( self.SpawnGroups[self.SpawnIndex].SpawnTemplate, self._OnEngineShutDown, self ) + end + + self:T( self.SpawnGroups[self.SpawnIndex].SpawnTemplate ) + + self.SpawnGroups[self.SpawnIndex].Group = _DATABASE:Spawn( self.SpawnGroups[self.SpawnIndex].SpawnTemplate ) + + -- If there is a SpawnFunction hook defined, call it. + if self.SpawnFunctionHook then + self.SpawnFunctionHook( self.SpawnGroups[self.SpawnIndex].Group, unpack( self.SpawnFunctionArguments ) ) + end + -- TODO: Need to fix this by putting an "R" in the name of the group when the group repeats. + --if self.Repeat then + -- _DATABASE:SetStatusGroup( SpawnTemplate.name, "ReSpawn" ) + --end + end + + self.SpawnGroups[self.SpawnIndex].Spawned = true + return self.SpawnGroups[self.SpawnIndex].Group + else + --self:E( { self.SpawnTemplatePrefix, "No more Groups to Spawn:", SpawnIndex, self.SpawnMaxGroups } ) + end + + return nil +end + +--- Spawns new groups at varying time intervals. +-- This is useful if you want to have continuity within your missions of certain (AI) groups to be present (alive) within your missions. +-- @param #SPAWN self +-- @param #number SpawnTime The time interval defined in seconds between each new spawn of new groups. +-- @param #number SpawnTimeVariation The variation to be applied on the defined time interval between each new spawn. +-- The variation is a number between 0 and 1, representing the %-tage of variation to be applied on the time interval. +-- @return #SPAWN self +-- @usage +-- -- NATO helicopters engaging in the battle field. +-- -- The time interval is set to SPAWN new helicopters between each 600 seconds, with a time variation of 50%. +-- -- The time variation in this case will be between 450 seconds and 750 seconds. +-- -- This is calculated as follows: +-- -- Low limit: 600 * ( 1 - 0.5 / 2 ) = 450 +-- -- High limit: 600 * ( 1 + 0.5 / 2 ) = 750 +-- -- Between these two values, a random amount of seconds will be choosen for each new spawn of the helicopters. +-- Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 ) +function SPAWN:SpawnScheduled( SpawnTime, SpawnTimeVariation ) + self:F( { SpawnTime, SpawnTimeVariation } ) + + if SpawnTime ~= nil and SpawnTimeVariation ~= nil then + self.SpawnScheduler = SCHEDULER:New( self, self._Scheduler, {}, 1, SpawnTime, SpawnTimeVariation ) + end + + return self +end + +--- Will re-start the spawning scheduler. +-- Note: This function is only required to be called when the schedule was stopped. +function SPAWN:SpawnScheduleStart() + self:F( { self.SpawnTemplatePrefix } ) + + self.SpawnScheduler:Start() +end + +--- Will stop the scheduled spawning scheduler. +function SPAWN:SpawnScheduleStop() + self:F( { self.SpawnTemplatePrefix } ) + + self.SpawnScheduler:Stop() +end + + +--- Allows to place a CallFunction hook when a new group spawns. +-- The provided function will be called when a new group is spawned, including its given parameters. +-- The first parameter of the SpawnFunction is the @{Group#GROUP} that was spawned. +-- @param #SPAWN self +-- @param #function SpawnFunctionHook The function to be called when a group spawns. +-- @param SpawnFunctionArguments A random amount of arguments to be provided to the function when the group spawns. +-- @return #SPAWN +function SPAWN:SpawnFunction( SpawnFunctionHook, ... ) + self:F( SpawnFunction ) + + self.SpawnFunctionHook = SpawnFunctionHook + self.SpawnFunctionArguments = {} + if arg then + self.SpawnFunctionArguments = arg + end + + return self +end + + + + +--- Will spawn a group from a hosting unit. This function is mostly advisable to be used if you want to simulate spawning from air units, like helicopters, which are dropping infantry into a defined Landing Zone. +-- Note that each point in the route assigned to the spawning group is reset to the point of the spawn. +-- You can use the returned group to further define the route to be followed. +-- @param #SPAWN self +-- @param Unit#UNIT HostUnit The air or ground unit dropping or unloading the group. +-- @param #number OuterRadius The outer radius in meters where the new group will be spawned. +-- @param #number InnerRadius The inner radius in meters where the new group will NOT be spawned. +-- @param #number SpawnIndex (Optional) The index which group to spawn within the given zone. +-- @return Group#GROUP that was spawned. +-- @return #nil Nothing was spawned. +function SPAWN:SpawnFromUnit( HostUnit, OuterRadius, InnerRadius, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, HostUnit, OuterRadius, InnerRadius, SpawnIndex } ) + + if HostUnit and HostUnit:IsAlive() then -- and HostUnit:getUnit(1):inAir() == false then + + if SpawnIndex then + else + SpawnIndex = self.SpawnIndex + 1 + end + + if self:_GetSpawnIndex( SpawnIndex ) then + + local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate + + if SpawnTemplate then + + local UnitPoint = HostUnit:GetPointVec2() + + self:T( { "Current point of ", self.SpawnTemplatePrefix, UnitPoint } ) + + --for PointID, Point in pairs( SpawnTemplate.route.points ) do + --Point.x = UnitPoint.x + --Point.y = UnitPoint.y + --Point.alt = nil + --Point.alt_type = nil + --end + + SpawnTemplate.route.points[1].x = UnitPoint.x + SpawnTemplate.route.points[1].y = UnitPoint.y + + if not InnerRadius then + InnerRadius = 10 + end + + if not OuterRadius then + OuterRadius = 50 + end + + -- Apply SpawnFormation + for UnitID = 1, #SpawnTemplate.units do + if InnerRadius == 0 then + SpawnTemplate.units[UnitID].x = UnitPoint.x + SpawnTemplate.units[UnitID].y = UnitPoint.y + else + local CirclePos = routines.getRandPointInCircle( UnitPoint, OuterRadius, InnerRadius ) + SpawnTemplate.units[UnitID].x = CirclePos.x + SpawnTemplate.units[UnitID].y = CirclePos.y + end + self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) + end + + local SpawnPos = routines.getRandPointInCircle( UnitPoint, OuterRadius, InnerRadius ) + local Point = {} + Point.type = "Turning Point" + Point.x = SpawnPos.x + Point.y = SpawnPos.y + Point.action = "Cone" + Point.speed = 5 + + table.insert( SpawnTemplate.route.points, 2, Point ) + + return self:SpawnWithIndex( self.SpawnIndex ) + end + end + end + + return nil +end + +--- Will spawn a Group within a given @{Zone#ZONE}. +-- Once the group is spawned within the zone, it will continue on its route. +-- The first waypoint (where the group is spawned) is replaced with the zone coordinates. +-- @param #SPAWN self +-- @param Zone#ZONE Zone The zone where the group is to be spawned. +-- @param #number ZoneRandomize (Optional) Set to true if you want to randomize the starting point in the zone. +-- @param #number SpawnIndex (Optional) The index which group to spawn within the given zone. +-- @return Group#GROUP that was spawned. +-- @return #nil when nothing was spawned. +function SPAWN:SpawnInZone( Zone, ZoneRandomize, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, Zone, ZoneRandomize, SpawnIndex } ) + + if Zone then + + if SpawnIndex then + else + SpawnIndex = self.SpawnIndex + 1 + end + + if self:_GetSpawnIndex( SpawnIndex ) then + + local SpawnTemplate = self.SpawnGroups[self.SpawnIndex].SpawnTemplate + + if SpawnTemplate then + + local ZonePoint + + if ZoneRandomize == true then + ZonePoint = Zone:GetRandomPointVec2() + else + ZonePoint = Zone:GetPointVec2() + end + + SpawnTemplate.route.points[1].x = ZonePoint.x + SpawnTemplate.route.points[1].y = ZonePoint.y + + -- Apply SpawnFormation + for UnitID = 1, #SpawnTemplate.units do + local ZonePointUnit = Zone:GetRandomPointVec2() + SpawnTemplate.units[UnitID].x = ZonePointUnit.x + SpawnTemplate.units[UnitID].y = ZonePointUnit.y + self:T( 'SpawnTemplate.units['..UnitID..'].x = ' .. SpawnTemplate.units[UnitID].x .. ', SpawnTemplate.units['..UnitID..'].y = ' .. SpawnTemplate.units[UnitID].y ) + end + + return self:SpawnWithIndex( self.SpawnIndex ) + end + end + end + + return nil +end + + + + +--- Will spawn a plane group in uncontrolled mode... +-- This will be similar to the uncontrolled flag setting in the ME. +-- @return #SPAWN self +function SPAWN:UnControlled() + self:F( { self.SpawnTemplatePrefix } ) + + self.SpawnUnControlled = true + + for SpawnGroupID = 1, self.SpawnMaxGroups do + self.SpawnGroups[SpawnGroupID].UnControlled = true + end + + return self +end + + + +--- Will return the SpawnGroupName either with with a specific count number or without any count. +-- @param #SPAWN self +-- @param #number SpawnIndex Is the number of the Group that is to be spawned. +-- @return #string SpawnGroupName +function SPAWN:SpawnGroupName( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex } ) + + local SpawnPrefix = self.SpawnTemplatePrefix + if self.SpawnAliasPrefix then + SpawnPrefix = self.SpawnAliasPrefix + end + + if SpawnIndex then + local SpawnName = string.format( '%s#%03d', SpawnPrefix, SpawnIndex ) + self:T( SpawnName ) + return SpawnName + else + self:T( SpawnPrefix ) + return SpawnPrefix + end + +end + +--- Find the first alive group. +-- @param #SPAWN self +-- @param #number SpawnCursor A number holding the index from where to find the first group from. +-- @return Group#GROUP, #number The group found, the new index where the group was found. +-- @return #nil, #nil When no group is found, #nil is returned. +function SPAWN:GetFirstAliveGroup( SpawnCursor ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnCursor } ) + + for SpawnIndex = 1, self.SpawnCount do + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup and SpawnGroup:IsAlive() then + SpawnCursor = SpawnIndex + return SpawnGroup, SpawnCursor + end + end + + return nil, nil +end + + +--- Find the next alive group. +-- @param #SPAWN self +-- @param #number SpawnCursor A number holding the last found previous index. +-- @return Group#GROUP, #number The group found, the new index where the group was found. +-- @return #nil, #nil When no group is found, #nil is returned. +function SPAWN:GetNextAliveGroup( SpawnCursor ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnCursor } ) + + SpawnCursor = SpawnCursor + 1 + for SpawnIndex = SpawnCursor, self.SpawnCount do + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup and SpawnGroup:IsAlive() then + SpawnCursor = SpawnIndex + return SpawnGroup, SpawnCursor + end + end + + return nil, nil +end + +--- Find the last alive group during runtime. +function SPAWN:GetLastAliveGroup() + self:F( { self.SpawnTemplatePrefixself.SpawnAliasPrefix } ) + + self.SpawnIndex = self:_GetLastIndex() + for SpawnIndex = self.SpawnIndex, 1, -1 do + local SpawnGroup = self:GetGroupFromIndex( SpawnIndex ) + if SpawnGroup and SpawnGroup:IsAlive() then + self.SpawnIndex = SpawnIndex + return SpawnGroup + end + end + + self.SpawnIndex = nil + return nil +end + + + +--- Get the group from an index. +-- Returns the group from the SpawnGroups list. +-- If no index is given, it will return the first group in the list. +-- @param #SPAWN self +-- @param #number SpawnIndex The index of the group to return. +-- @return Group#GROUP +function SPAWN:GetGroupFromIndex( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnIndex } ) + + if not SpawnIndex then + SpawnIndex = 1 + end + + if self.SpawnGroups and self.SpawnGroups[SpawnIndex] then + local SpawnGroup = self.SpawnGroups[SpawnIndex].Group + return SpawnGroup + else + return nil + end +end + +--- Get the group index from a DCSUnit. +-- The method will search for a #-mark, and will return the index behind the #-mark of the DCSUnit. +-- It will return nil of no prefix was found. +-- @param #SPAWN self +-- @param DCSUnit The DCS unit to be searched. +-- @return #string The prefix +-- @return #nil Nothing found +function SPAWN:_GetGroupIndexFromDCSUnit( DCSUnit ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, DCSUnit } ) + + if DCSUnit and DCSUnit:getName() then + local IndexString = string.match( DCSUnit:getName(), "#.*-" ):sub( 2, -2 ) + self:T( IndexString ) + + if IndexString then + local Index = tonumber( IndexString ) + self:T( { "Index:", IndexString, Index } ) + return Index + end + end + + return nil +end + +--- Return the prefix of a DCSUnit. +-- The method will search for a #-mark, and will return the text before the #-mark. +-- It will return nil of no prefix was found. +-- @param #SPAWN self +-- @param DCSUnit The DCS unit to be searched. +-- @return #string The prefix +-- @return #nil Nothing found +function SPAWN:_GetPrefixFromDCSUnit( DCSUnit ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, DCSUnit } ) + + if DCSUnit and DCSUnit:getName() then + local SpawnPrefix = string.match( DCSUnit:getName(), ".*#" ) + if SpawnPrefix then + SpawnPrefix = SpawnPrefix:sub( 1, -2 ) + end + self:T( SpawnPrefix ) + return SpawnPrefix + end + + return nil +end + +--- Return the group within the SpawnGroups collection with input a DCSUnit. +function SPAWN:_GetGroupFromDCSUnit( DCSUnit ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, DCSUnit } ) + + if DCSUnit then + local SpawnPrefix = self:_GetPrefixFromDCSUnit( DCSUnit ) + + if self.SpawnTemplatePrefix == SpawnPrefix or ( self.SpawnAliasPrefix and self.SpawnAliasPrefix == SpawnPrefix ) then + local SpawnGroupIndex = self:_GetGroupIndexFromDCSUnit( DCSUnit ) + local SpawnGroup = self.SpawnGroups[SpawnGroupIndex].Group + self:T( SpawnGroup ) + return SpawnGroup + end + end + + return nil +end + + +--- Get the index from a given group. +-- The function will search the name of the group for a #, and will return the number behind the #-mark. +function SPAWN:GetSpawnIndexFromGroup( SpawnGroup ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnGroup } ) + + local IndexString = string.match( SpawnGroup:GetName(), "#.*$" ):sub( 2 ) + local Index = tonumber( IndexString ) + + self:T( IndexString, Index ) + return Index + +end + +--- Return the last maximum index that can be used. +function SPAWN:_GetLastIndex() + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix } ) + + return self.SpawnMaxGroups +end + +--- Initalize the SpawnGroups collection. +function SPAWN:_InitializeSpawnGroups( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnIndex } ) + + if not self.SpawnGroups[SpawnIndex] then + self.SpawnGroups[SpawnIndex] = {} + self.SpawnGroups[SpawnIndex].Visible = false + self.SpawnGroups[SpawnIndex].Spawned = false + self.SpawnGroups[SpawnIndex].UnControlled = false + self.SpawnGroups[SpawnIndex].SpawnTime = 0 + + self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix = self.SpawnTemplatePrefix + self.SpawnGroups[SpawnIndex].SpawnTemplate = self:_Prepare( self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix, SpawnIndex ) + end + + self:_RandomizeTemplate( SpawnIndex ) + self:_RandomizeRoute( SpawnIndex ) + --self:_TranslateRotate( SpawnIndex ) + + return self.SpawnGroups[SpawnIndex] +end + + + +--- Gets the CategoryID of the Group with the given SpawnPrefix +function SPAWN:_GetGroupCategoryID( SpawnPrefix ) + local TemplateGroup = Group.getByName( SpawnPrefix ) + + if TemplateGroup then + return TemplateGroup:getCategory() + else + return nil + end +end + +--- Gets the CoalitionID of the Group with the given SpawnPrefix +function SPAWN:_GetGroupCoalitionID( SpawnPrefix ) + local TemplateGroup = Group.getByName( SpawnPrefix ) + + if TemplateGroup then + return TemplateGroup:getCoalition() + else + return nil + end +end + +--- Gets the CountryID of the Group with the given SpawnPrefix +function SPAWN:_GetGroupCountryID( SpawnPrefix ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnPrefix } ) + + local TemplateGroup = Group.getByName( SpawnPrefix ) + + if TemplateGroup then + local TemplateUnits = TemplateGroup:getUnits() + return TemplateUnits[1]:getCountry() + else + return nil + end +end + +--- Gets the Group Template from the ME environment definition. +-- This method used the @{DATABASE} object, which contains ALL initial and new spawned object in MOOSE. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix +-- @return @SPAWN self +function SPAWN:_GetTemplate( SpawnTemplatePrefix ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix, SpawnTemplatePrefix } ) + + local SpawnTemplate = nil + + SpawnTemplate = routines.utils.deepCopy( _DATABASE.Templates.Groups[SpawnTemplatePrefix].Template ) + + if SpawnTemplate == nil then + error( 'No Template returned for SpawnTemplatePrefix = ' .. SpawnTemplatePrefix ) + end + + SpawnTemplate.SpawnCoalitionID = self:_GetGroupCoalitionID( SpawnTemplatePrefix ) + SpawnTemplate.SpawnCategoryID = self:_GetGroupCategoryID( SpawnTemplatePrefix ) + SpawnTemplate.SpawnCountryID = self:_GetGroupCountryID( SpawnTemplatePrefix ) + + self:T( { SpawnTemplate } ) + return SpawnTemplate +end + +--- Prepares the new Group Template. +-- @param #SPAWN self +-- @param #string SpawnTemplatePrefix +-- @param #number SpawnIndex +-- @return #SPAWN self +function SPAWN:_Prepare( SpawnTemplatePrefix, SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, self.SpawnAliasPrefix } ) + + local SpawnTemplate = self:_GetTemplate( SpawnTemplatePrefix ) + SpawnTemplate.name = self:SpawnGroupName( SpawnIndex ) + + SpawnTemplate.groupId = nil + SpawnTemplate.lateActivation = false + + if SpawnTemplate.SpawnCategoryID == Group.Category.GROUND then + self:T( "For ground units, visible needs to be false..." ) + SpawnTemplate.visible = false + end + + if SpawnTemplate.SpawnCategoryID == Group.Category.HELICOPTER or SpawnTemplate.SpawnCategoryID == Group.Category.AIRPLANE then + SpawnTemplate.uncontrolled = false + end + + for UnitID = 1, #SpawnTemplate.units do + SpawnTemplate.units[UnitID].name = string.format( SpawnTemplate.name .. '-%02d', UnitID ) + SpawnTemplate.units[UnitID].unitId = nil + SpawnTemplate.units[UnitID].x = SpawnTemplate.route.points[1].x + SpawnTemplate.units[UnitID].y = SpawnTemplate.route.points[1].y + end + + self:T( { "Template:", SpawnTemplate } ) + return SpawnTemplate + +end + +--- Private method randomizing the routes. +-- @param #SPAWN self +-- @param #number SpawnIndex The index of the group to be spawned. +-- @return #SPAWN +function SPAWN:_RandomizeRoute( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnRandomizeRoute, self.SpawnRandomizeRouteStartPoint, self.SpawnRandomizeRouteEndPoint, self.SpawnRandomizeRouteRadius } ) + + if self.SpawnRandomizeRoute then + local SpawnTemplate = self.SpawnGroups[SpawnIndex].SpawnTemplate + local RouteCount = #SpawnTemplate.route.points + + for t = self.SpawnRandomizeRouteStartPoint + 1, ( RouteCount - self.SpawnRandomizeRouteEndPoint ) do + SpawnTemplate.route.points[t].x = SpawnTemplate.route.points[t].x + math.random( self.SpawnRandomizeRouteRadius * -1, self.SpawnRandomizeRouteRadius ) + SpawnTemplate.route.points[t].y = SpawnTemplate.route.points[t].y + math.random( self.SpawnRandomizeRouteRadius * -1, self.SpawnRandomizeRouteRadius ) + -- TODO: manage altitude for airborne units ... + SpawnTemplate.route.points[t].alt = nil + --SpawnGroup.route.points[t].alt_type = nil + self:T( 'SpawnTemplate.route.points[' .. t .. '].x = ' .. SpawnTemplate.route.points[t].x .. ', SpawnTemplate.route.points[' .. t .. '].y = ' .. SpawnTemplate.route.points[t].y ) + end + end + + return self +end + +--- Private method that randomizes the template of the group. +-- @param #SPAWN self +-- @param #number SpawnIndex +-- @return #SPAWN self +function SPAWN:_RandomizeTemplate( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex } ) + + if self.SpawnRandomizeTemplate then + self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix = self.SpawnTemplatePrefixTable[ math.random( 1, #self.SpawnTemplatePrefixTable ) ] + self.SpawnGroups[SpawnIndex].SpawnTemplate = self:_Prepare( self.SpawnGroups[SpawnIndex].SpawnTemplatePrefix, SpawnIndex ) + self.SpawnGroups[SpawnIndex].SpawnTemplate.route = routines.utils.deepCopy( self.SpawnTemplate.route ) + self.SpawnGroups[SpawnIndex].SpawnTemplate.x = self.SpawnTemplate.x + self.SpawnGroups[SpawnIndex].SpawnTemplate.y = self.SpawnTemplate.y + self.SpawnGroups[SpawnIndex].SpawnTemplate.start_time = self.SpawnTemplate.start_time + for UnitID = 1, #self.SpawnGroups[SpawnIndex].SpawnTemplate.units do + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[UnitID].heading = self.SpawnTemplate.units[1].heading + end + end + + self:_RandomizeRoute( SpawnIndex ) + + return self +end + +function SPAWN:_TranslateRotate( SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, SpawnRootX, SpawnRootY, SpawnX, SpawnY, SpawnAngle } ) + + -- Translate + local TranslatedX = SpawnX + local TranslatedY = SpawnY + + -- Rotate + -- From Wikipedia: https://en.wikipedia.org/wiki/Rotation_matrix#Common_rotations + -- x' = x \cos \theta - y \sin \theta\ + -- y' = x \sin \theta + y \cos \theta\ + local RotatedX = - TranslatedX * math.cos( math.rad( SpawnAngle ) ) + + TranslatedY * math.sin( math.rad( SpawnAngle ) ) + local RotatedY = TranslatedX * math.sin( math.rad( SpawnAngle ) ) + + TranslatedY * math.cos( math.rad( SpawnAngle ) ) + + -- Assign + self.SpawnGroups[SpawnIndex].SpawnTemplate.x = SpawnRootX - RotatedX + self.SpawnGroups[SpawnIndex].SpawnTemplate.y = SpawnRootY + RotatedY + + + local SpawnUnitCount = table.getn( self.SpawnGroups[SpawnIndex].SpawnTemplate.units ) + for u = 1, SpawnUnitCount do + + -- Translate + local TranslatedX = SpawnX + local TranslatedY = SpawnY - 10 * ( u - 1 ) + + -- Rotate + local RotatedX = - TranslatedX * math.cos( math.rad( SpawnAngle ) ) + + TranslatedY * math.sin( math.rad( SpawnAngle ) ) + local RotatedY = TranslatedX * math.sin( math.rad( SpawnAngle ) ) + + TranslatedY * math.cos( math.rad( SpawnAngle ) ) + + -- Assign + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].x = SpawnRootX - RotatedX + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].y = SpawnRootY + RotatedY + self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].heading = self.SpawnGroups[SpawnIndex].SpawnTemplate.units[u].heading + math.rad( SpawnAngle ) + end + + return self +end + +--- Get the next index of the groups to be spawned. This function is complicated, as it is used at several spaces. +function SPAWN:_GetSpawnIndex( SpawnIndex ) + self:F( { self.SpawnTemplatePrefix, SpawnIndex, self.SpawnMaxGroups, self.SpawnMaxUnitsAlive, self.AliveUnits, #self.SpawnTemplate.units } ) + + + if ( self.SpawnMaxGroups == 0 ) or ( SpawnIndex <= self.SpawnMaxGroups ) then + if ( self.SpawnMaxUnitsAlive == 0 ) or ( self.AliveUnits < self.SpawnMaxUnitsAlive * #self.SpawnTemplate.units ) or self.UnControlled then + if SpawnIndex and SpawnIndex >= self.SpawnCount + 1 then + self.SpawnCount = self.SpawnCount + 1 + SpawnIndex = self.SpawnCount + end + self.SpawnIndex = SpawnIndex + if not self.SpawnGroups[self.SpawnIndex] then + self:_InitializeSpawnGroups( self.SpawnIndex ) + end + else + return nil + end + else + return nil + end + + return self.SpawnIndex +end + + +-- TODO Need to delete this... _DATABASE does this now ... +function SPAWN:_OnBirth( event ) + + if timer.getTime0() < timer.getAbsTime() then -- dont need to add units spawned in at the start of the mission if mist is loaded in init line + if event.initiator and event.initiator:getName() then + local EventPrefix = self:_GetPrefixFromDCSUnit( event.initiator ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + self:T( { "Birth event: " .. event.initiator:getName(), event } ) + --MessageToAll( "Mission command: unit " .. SpawnTemplatePrefix .. " spawned." , 5, EventPrefix .. '/Event') + self.AliveUnits = self.AliveUnits + 1 + self:T( "Alive Units: " .. self.AliveUnits ) + end + end + end + +end + +--- Obscolete +-- @todo Need to delete this... _DATABASE does this now ... +function SPAWN:_OnDeadOrCrash( event ) + self:F( self.SpawnTemplatePrefix, event ) + + if event.initiator and event.initiator:getName() then + local EventPrefix = self:_GetPrefixFromDCSUnit( event.initiator ) + if EventPrefix == self.SpawnTemplatePrefix or ( self.SpawnAliasPrefix and EventPrefix == self.SpawnAliasPrefix ) then + self:T( { "Dead event: " .. event.initiator:getName(), event } ) +-- local DestroyedUnit = Unit.getByName( EventPrefix ) +-- if DestroyedUnit and DestroyedUnit.getLife() <= 1.0 then + --MessageToAll( "Mission command: unit " .. SpawnTemplatePrefix .. " crashed." , 5, EventPrefix .. '/Event') + self.AliveUnits = self.AliveUnits - 1 + self:T( "Alive Units: " .. self.AliveUnits ) +-- end + end + end +end + +--- Will detect AIR Units taking off... When the event takes place, the spawned Group is registered as airborne... +-- This is needed to ensure that Re-SPAWNing only is done for landed AIR Groups. +-- @todo Need to test for AIR Groups only... +function SPAWN:_OnTakeOff( event ) + self:F( self.SpawnTemplatePrefix, event ) + + if event.initiator and event.initiator:getName() then + local SpawnGroup = self:_GetGroupFromDCSUnit( event.initiator ) + if SpawnGroup then + self:T( { "TakeOff event: " .. event.initiator:getName(), event } ) + self:T( "self.Landed = false" ) + self.Landed = false + end + end +end + +--- Will detect AIR Units landing... When the event takes place, the spawned Group is registered as landed. +-- This is needed to ensure that Re-SPAWNing is only done for landed AIR Groups. +-- @todo Need to test for AIR Groups only... +function SPAWN:_OnLand( event ) + self:F( self.SpawnTemplatePrefix, event ) + + local SpawnUnit = event.initiator + if SpawnUnit and SpawnUnit:isExist() and Object.getCategory(SpawnUnit) == Object.Category.UNIT then + local SpawnGroup = self:_GetGroupFromDCSUnit( SpawnUnit ) + if SpawnGroup then + self:T( { "Landed event:" .. SpawnUnit:getName(), event } ) + self.Landed = true + self:T( "self.Landed = true" ) + if self.Landed and self.RepeatOnLanding then + local SpawnGroupIndex = self:GetSpawnIndexFromGroup( SpawnGroup ) + self:T( { "Landed:", "ReSpawn:", SpawnGroup:GetName(), SpawnGroupIndex } ) + self:ReSpawn( SpawnGroupIndex ) + end + end + end +end + +--- Will detect AIR Units shutting down their engines ... +-- When the event takes place, and the method @{RepeatOnEngineShutDown} was called, the spawned Group will Re-SPAWN. +-- But only when the Unit was registered to have landed. +-- @param #SPAWN self +-- @see _OnTakeOff +-- @see _OnLand +-- @todo Need to test for AIR Groups only... +function SPAWN:_OnEngineShutDown( event ) + self:F( self.SpawnTemplatePrefix, event ) + + local SpawnUnit = event.initiator + if SpawnUnit and SpawnUnit:isExist() and Object.getCategory(SpawnUnit) == Object.Category.UNIT then + local SpawnGroup = self:_GetGroupFromDCSUnit( SpawnUnit ) + if SpawnGroup then + self:T( { "EngineShutDown event: " .. SpawnUnit:getName(), event } ) + if self.Landed and self.RepeatOnEngineShutDown then + local SpawnGroupIndex = self:GetSpawnIndexFromGroup( SpawnGroup ) + self:T( { "EngineShutDown: ", "ReSpawn:", SpawnGroup:GetName(), SpawnGroupIndex } ) + self:ReSpawn( SpawnGroupIndex ) + end + end + end +end + +--- This function is called automatically by the Spawning scheduler. +-- It is the internal worker method SPAWNing new Groups on the defined time intervals. +function SPAWN:_Scheduler() + self:F( { "_Scheduler", self.SpawnTemplatePrefix, self.SpawnAliasPrefix, self.SpawnIndex, self.SpawnMaxGroups, self.SpawnMaxUnitsAlive } ) + + -- Validate if there are still groups left in the batch... + self:Spawn() + + return true +end + +function SPAWN:_SpawnCleanUpScheduler() + self:F( { "CleanUp Scheduler:", self.SpawnTemplatePrefix } ) + + local SpawnCursor + local SpawnGroup, SpawnCursor = self:GetFirstAliveGroup( SpawnCursor ) + + self:T( { "CleanUp Scheduler:", SpawnGroup } ) + + while SpawnGroup do + + if SpawnGroup:AllOnGround() and SpawnGroup:GetMaxVelocity() < 1 then + if not self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] then + self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] = timer.getTime() + else + if self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] + self.SpawnCleanUpInterval < timer.getTime() then + self:T( { "CleanUp Scheduler:", "Cleaning:", SpawnGroup } ) + SpawnGroup:Destroy() + end + end + else + self.SpawnCleanUpTimeStamps[SpawnGroup:GetName()] = nil + end + + SpawnGroup, SpawnCursor = self:GetNextAliveGroup( SpawnCursor ) + + self:T( { "CleanUp Scheduler:", SpawnGroup } ) + + end + + return true -- Repeat + +end +--- Limit the simultaneous movement of Groups within a running Mission. +-- This module is defined to improve the performance in missions, and to bring additional realism for GROUND vehicles. +-- Performance: If in a DCSRTE there are a lot of moving GROUND units, then in a multi player mission, this WILL create lag if +-- the main DCS execution core of your CPU is fully utilized. So, this class will limit the amount of simultaneous moving GROUND units +-- on defined intervals (currently every minute). +-- @module MOVEMENT + +Include.File( "Routines" ) + +--- the MOVEMENT class +-- @type +MOVEMENT = { + ClassName = "MOVEMENT", +} + +--- Creates the main object which is handling the GROUND forces movement. +-- @param table{string,...}|string MovePrefixes is a table of the Prefixes (names) of the GROUND Groups that need to be controlled by the MOVEMENT Object. +-- @param number MoveMaximum is a number that defines the maximum amount of GROUND Units to be moving during one minute. +-- @return MOVEMENT +-- @usage +-- -- Limit the amount of simultaneous moving units on the ground to prevent lag. +-- Movement_US_Platoons = MOVEMENT:New( { 'US Tank Platoon Left', 'US Tank Platoon Middle', 'US Tank Platoon Right', 'US CH-47D Troops' }, 15 ) + +function MOVEMENT:New( MovePrefixes, MoveMaximum ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { MovePrefixes, MoveMaximum } ) + + if type( MovePrefixes ) == 'table' then + self.MovePrefixes = MovePrefixes + else + self.MovePrefixes = { MovePrefixes } + end + self.MoveCount = 0 -- The internal counter of the amount of Moveing the has happened since MoveStart. + self.MoveMaximum = MoveMaximum -- Contains the Maximum amount of units that are allowed to move... + self.AliveUnits = 0 -- Contains the counter how many units are currently alive + self.MoveUnits = {} -- Reflects if the Moving for this MovePrefixes is going to be scheduled or not. + + _EVENTDISPATCHER:OnBirth( self.OnBirth, self ) + +-- self:AddEvent( world.event.S_EVENT_BIRTH, self.OnBirth ) +-- +-- self:EnableEvents() + + self:ScheduleStart() + + return self +end + +--- Call this function to start the MOVEMENT scheduling. +function MOVEMENT:ScheduleStart() + self:F() + self.MoveFunction = routines.scheduleFunction( self._Scheduler, { self }, timer.getTime() + 1, 120 ) +end + +--- Call this function to stop the MOVEMENT scheduling. +-- @todo need to implement it ... Forgot. +function MOVEMENT:ScheduleStop() + self:F() + +end + +--- Captures the birth events when new Units were spawned. +-- @todo This method should become obsolete. The new @{DATABASE} class will handle the collection administration. +function MOVEMENT:OnBirth( Event ) + self:F( { Event } ) + + if timer.getTime0() < timer.getAbsTime() then -- dont need to add units spawned in at the start of the mission if mist is loaded in init line + if Event.IniDCSUnit then + self:T( "Birth object : " .. Event.IniDCSUnitName ) + if Event.IniDCSGroup and Event.IniDCSGroup:isExist() then + for MovePrefixID, MovePrefix in pairs( self.MovePrefixes ) do + if string.find( Event.IniDCSUnitName, MovePrefix, 1, true ) then + self.AliveUnits = self.AliveUnits + 1 + self.MoveUnits[Event.IniDCSUnitName] = Event.IniDCSGroupName + self:T( self.AliveUnits ) + end + end + end + end + _EVENTDISPATCHER:OnCrashForUnit( Event.IniDCSUnitName, self.OnDeadOrCrash, self ) + _EVENTDISPATCHER:OnDeadForUnit( Event.IniDCSUnitName, self.OnDeadOrCrash, self ) + end + +end + +--- Captures the Dead or Crash events when Units crash or are destroyed. +-- @todo This method should become obsolete. The new @{DATABASE} class will handle the collection administration. +function MOVEMENT:OnDeadOrCrash( Event ) + self:F( { Event } ) + + if Event.IniDCSUnit then + self:T( "Dead object : " .. Event.IniDCSUnitName ) + for MovePrefixID, MovePrefix in pairs( self.MovePrefixes ) do + if string.find( Event.IniDCSUnitName, MovePrefix, 1, true ) then + self.AliveUnits = self.AliveUnits - 1 + self.MoveUnits[Event.IniDCSUnitName] = nil + self:T( self.AliveUnits ) + end + end + end +end + +--- This function is called automatically by the MOVEMENT scheduler. A new function is scheduled when MoveScheduled is true. +function MOVEMENT:_Scheduler() + self:F( { self.MovePrefixes, self.MoveMaximum, self.AliveUnits, self.MovementGroups } ) + + if self.AliveUnits > 0 then + local MoveProbability = ( self.MoveMaximum * 100 ) / self.AliveUnits + self:T( 'Move Probability = ' .. MoveProbability ) + + for MovementUnitName, MovementGroupName in pairs( self.MoveUnits ) do + local MovementGroup = Group.getByName( MovementGroupName ) + if MovementGroup and MovementGroup:isExist() then + local MoveOrStop = math.random( 1, 100 ) + self:T( 'MoveOrStop = ' .. MoveOrStop ) + if MoveOrStop <= MoveProbability then + self:T( 'Group continues moving = ' .. MovementGroupName ) + trigger.action.groupContinueMoving( MovementGroup ) + else + self:T( 'Group stops moving = ' .. MovementGroupName ) + trigger.action.groupStopMoving( MovementGroup ) + end + else + self.MoveUnits[MovementUnitName] = nil + end + end + end +end +--- Provides defensive behaviour to a set of SAM sites within a running Mission. +-- @module Sead +-- @author to be searched on the forum +-- @author (co) Flightcontrol (Modified and enriched with functionality) + +Include.File( "Routines" ) +Include.File( "Event" ) +Include.File( "Base" ) +Include.File( "Mission" ) +Include.File( "Client" ) +Include.File( "Task" ) + +--- The SEAD class +-- @type SEAD +-- @extends Base#BASE +SEAD = { + ClassName = "SEAD", + TargetSkill = { + Average = { Evade = 50, DelayOff = { 10, 25 }, DelayOn = { 10, 30 } } , + Good = { Evade = 30, DelayOff = { 8, 20 }, DelayOn = { 20, 40 } } , + High = { Evade = 15, DelayOff = { 5, 17 }, DelayOn = { 30, 50 } } , + Excellent = { Evade = 10, DelayOff = { 3, 10 }, DelayOn = { 30, 60 } } + }, + SEADGroupPrefixes = {} +} + +--- Creates the main object which is handling defensive actions for SA sites or moving SA vehicles. +-- When an anti radiation missile is fired (KH-58, KH-31P, KH-31A, KH-25MPU, HARM missiles), the SA will shut down their radars and will take evasive actions... +-- Chances are big that the missile will miss. +-- @param table{string,...}|string SEADGroupPrefixes which is a table of Prefixes of the SA Groups in the DCSRTE on which evasive actions need to be taken. +-- @return SEAD +-- @usage +-- -- CCCP SEAD Defenses +-- -- Defends the Russian SA installations from SEAD attacks. +-- SEAD_RU_SAM_Defenses = SEAD:New( { 'RU SA-6 Kub', 'RU SA-6 Defenses', 'RU MI-26 Troops', 'RU Attack Gori' } ) +function SEAD:New( SEADGroupPrefixes ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( SEADGroupPrefixes ) + if type( SEADGroupPrefixes ) == 'table' then + for SEADGroupPrefixID, SEADGroupPrefix in pairs( SEADGroupPrefixes ) do + self.SEADGroupPrefixes[SEADGroupPrefix] = SEADGroupPrefix + end + else + self.SEADGroupNames[SEADGroupPrefixes] = SEADGroupPrefixes + end + _EVENTDISPATCHER:OnShot( self.EventShot, self ) + + return self +end + +--- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. +-- @see SEAD +function SEAD:EventShot( Event ) + self:F( { Event } ) + + local SEADUnit = Event.IniDCSUnit + local SEADUnitName = Event.IniDCSUnitName + local SEADWeapon = Event.Weapon -- Identify the weapon fired + local SEADWeaponName = Event.WeaponName -- return weapon type + --trigger.action.outText( string.format("Alerte, depart missile " ..string.format(SEADWeaponName)), 20) --debug message + -- Start of the 2nd loop + self:T( "Missile Launched = " .. SEADWeaponName ) + if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD + local _evade = math.random (1,100) -- random number for chance of evading action + local _targetMim = Event.Weapon:getTarget() -- Identify target + local _targetMimname = Unit.getName(_targetMim) + local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon)) + local _targetMimgroupName = _targetMimgroup:getName() + local _targetMimcont= _targetMimgroup:getController() + local _targetskill = _DATABASE.Templates.Units[_targetMimname].Template.skill + self:T( self.SEADGroupPrefixes ) + self:T( _targetMimgroupName ) + local SEADGroupFound = false + for SEADGroupPrefixID, SEADGroupPrefix in pairs( self.SEADGroupPrefixes ) do + if string.find( _targetMimgroupName, SEADGroupPrefix, 1, true ) then + SEADGroupFound = true + self:T( 'Group Found' ) + break + end + end + if SEADGroupFound == true then + if _targetskill == "Random" then -- when skill is random, choose a skill + local Skills = { "Average", "Good", "High", "Excellent" } + _targetskill = Skills[ math.random(1,4) ] + end + self:T( _targetskill ) -- debug message for skill check + if self.TargetSkill[_targetskill] then + if (_evade > self.TargetSkill[_targetskill].Evade) then + self:T( string.format("Evading, target skill " ..string.format(_targetskill)) ) --debug message + local _targetMim = Weapon.getTarget(SEADWeapon) + local _targetMimname = Unit.getName(_targetMim) + local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon)) + local _targetMimcont= _targetMimgroup:getController() + routines.groupRandomDistSelf(_targetMimgroup,300,'Diamond',250,20) -- move randomly + local SuppressedGroups1 = {} -- unit suppressed radar off for a random time + local function SuppressionEnd1(id) + id.ctrl:setOption(AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.GREEN) + SuppressedGroups1[id.groupName] = nil + end + local id = { + groupName = _targetMimgroup, + ctrl = _targetMimcont + } + local delay1 = math.random(self.TargetSkill[_targetskill].DelayOff[1], self.TargetSkill[_targetskill].DelayOff[2]) + if SuppressedGroups1[id.groupName] == nil then + SuppressedGroups1[id.groupName] = { + SuppressionEndTime1 = timer.getTime() + delay1, + SuppressionEndN1 = SuppressionEndCounter1 --Store instance of SuppressionEnd() scheduled function + } + Controller.setOption(_targetMimcont, AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.GREEN) + timer.scheduleFunction(SuppressionEnd1, id, SuppressedGroups1[id.groupName].SuppressionEndTime1) --Schedule the SuppressionEnd() function + --trigger.action.outText( string.format("Radar Off " ..string.format(delay1)), 20) + end + + local SuppressedGroups = {} + local function SuppressionEnd(id) + id.ctrl:setOption(AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.RED) + SuppressedGroups[id.groupName] = nil + end + local id = { + groupName = _targetMimgroup, + ctrl = _targetMimcont + } + local delay = math.random(self.TargetSkill[_targetskill].DelayOn[1], self.TargetSkill[_targetskill].DelayOn[2]) + if SuppressedGroups[id.groupName] == nil then + SuppressedGroups[id.groupName] = { + SuppressionEndTime = timer.getTime() + delay, + SuppressionEndN = SuppressionEndCounter --Store instance of SuppressionEnd() scheduled function + } + timer.scheduleFunction(SuppressionEnd, id, SuppressedGroups[id.groupName].SuppressionEndTime) --Schedule the SuppressionEnd() function + --trigger.action.outText( string.format("Radar On " ..string.format(delay)), 20) + end + end + end + end + end +end +--- Taking the lead of AI escorting your flight. +-- +-- @{#ESCORT} class +-- ================ +-- The @{#ESCORT} class allows you to interact with escorting AI on your flight and take the lead. +-- Each escorting group can be commanded with a whole set of radio commands (radio menu in your flight, and then F10). +-- +-- The radio commands will vary according the category of the group. The richest set of commands are with Helicopters and AirPlanes. +-- Ships and Ground troops will have a more limited set, but they can provide support through the bombing of targets designated by the other escorts. +-- +-- RADIO MENUs that can be created: +-- ================================ +-- Find a summary below of the current available commands: +-- +-- Navigation ...: +-- --------------- +-- Escort group navigation functions: +-- +-- * **"Join-Up and Follow at x meters":** The escort group fill follow you at about x meters, and they will follow you. +-- * **"Flare":** Provides menu commands to let the escort group shoot a flare in the air in a color. +-- * **"Smoke":** Provides menu commands to let the escort group smoke the air in a color. Note that smoking is only available for ground and naval troops. +-- +-- Hold position ...: +-- ------------------ +-- Escort group navigation functions: +-- +-- * **"At current location":** Stops the escort group and they will hover 30 meters above the ground at the position they stopped. +-- * **"At client location":** Stops the escort group and they will hover 30 meters above the ground at the position they stopped. +-- +-- Report targets ...: +-- ------------------- +-- Report targets will make the escort group to report any target that it identifies within a 8km range. Any detected target can be attacked using the 4. Attack nearby targets function. (see below). +-- +-- * **"Report now":** Will report the current detected targets. +-- * **"Report targets on":** Will make the escort group to report detected targets and will fill the "Attack nearby targets" menu list. +-- * **"Report targets off":** Will stop detecting targets. +-- +-- Scan targets ...: +-- ----------------- +-- Menu items to pop-up the escort group for target scanning. After scanning, the escort group will resume with the mission or defined task. +-- +-- * **"Scan targets 30 seconds":** Scan 30 seconds for targets. +-- * **"Scan targets 60 seconds":** Scan 60 seconds for targets. +-- +-- Attack targets ...: +-- ------------------- +-- This menu item will list all detected targets within a 15km range. Depending on the level of detection (known/unknown) and visuality, the targets type will also be listed. +-- +-- Request assistance from ...: +-- ---------------------------- +-- This menu item will list all detected targets within a 15km range, as with the menu item **Attack Targets**. +-- This menu item allows to request attack support from other escorts supporting the current client group. +-- eg. the function allows a player to request support from the Ship escort to attack a target identified by the Plane escort with its Tomahawk missiles. +-- eg. the function allows a player to request support from other Planes escorting to bomb the unit with illumination missiles or bombs, so that the main plane escort can attack the area. +-- +-- ROE ...: +-- -------- +-- Sets the Rules of Engagement (ROE) of the escort group when in flight. +-- +-- * **"Hold Fire":** The escort group will hold fire. +-- * **"Return Fire":** The escort group will return fire. +-- * **"Open Fire":** The escort group will open fire on designated targets. +-- * **"Weapon Free":** The escort group will engage with any target. +-- +-- Evasion ...: +-- ------------ +-- Will define the evasion techniques that the escort group will perform during flight or combat. +-- +-- * **"Fight until death":** The escort group will have no reaction to threats. +-- * **"Use flares, chaff and jammers":** The escort group will use passive defense using flares and jammers. No evasive manoeuvres are executed. +-- * **"Evade enemy fire":** The rescort group will evade enemy fire before firing. +-- * **"Go below radar and evade fire":** The escort group will perform evasive vertical manoeuvres. +-- +-- Resume Mission ...: +-- ------------------- +-- Escort groups can have their own mission. This menu item will allow the escort group to resume their Mission from a given waypoint. +-- Note that this is really fantastic, as you now have the dynamic of taking control of the escort groups, and allowing them to resume their path or mission. +-- +-- ESCORT construction methods. +-- ============================ +-- Create a new SPAWN object with the @{#ESCORT.New} method: +-- +-- * @{#ESCORT.New}: Creates a new ESCORT object from a @{Group#GROUP} for a @{Client#CLIENT}, with an optional briefing text. +-- +-- ESCORT initialization methods. +-- ============================== +-- The following menus are created within the RADIO MENU of an active unit hosted by a player: +-- +-- * @{#ESCORT.MenuFollowAt}: Creates a menu to make the escort follow the client. +-- * @{#ESCORT.MenuHoldAtEscortPosition}: Creates a menu to hold the escort at its current position. +-- * @{#ESCORT.MenuHoldAtLeaderPosition}: Creates a menu to hold the escort at the client position. +-- * @{#ESCORT.MenuScanForTargets}: Creates a menu so that the escort scans targets. +-- * @{#ESCORT.MenuFlare}: Creates a menu to disperse flares. +-- * @{#ESCORT.MenuSmoke}: Creates a menu to disparse smoke. +-- * @{#ESCORT.MenuReportTargets}: Creates a menu so that the escort reports targets. +-- * @{#ESCORT.MenuReportPosition}: Creates a menu so that the escort reports its current position from bullseye. +-- * @{#ESCORT.MenuAssistedAttack: Creates a menu so that the escort supportes assisted attack from other escorts with the client. +-- * @{#ESCORT.MenuROE: Creates a menu structure to set the rules of engagement of the escort. +-- * @{#ESCORT.MenuEvasion: Creates a menu structure to set the evasion techniques when the escort is under threat. +-- * @{#ESCORT.MenuResumeMission}: Creates a menu structure so that the escort can resume from a waypoint. +-- +-- @module Escort +-- @author FlightControl + +Include.File( "Routines" ) +Include.File( "Base" ) +Include.File( "Database" ) +Include.File( "Group" ) +Include.File( "Zone" ) + +--- +-- @type ESCORT +-- @extends Base#BASE +-- @field Client#CLIENT EscortClient +-- @field Group#GROUP EscortGroup +-- @field #string EscortName +-- @field #ESCORT.MODE EscortMode The mode the escort is in. +-- @field #number FollowScheduler The id of the _FollowScheduler function. +-- @field #boolean ReportTargets If true, nearby targets are reported. +-- @Field DCSTypes#AI.Option.Air.val.ROE OptionROE Which ROE is set to the EscortGroup. +-- @field DCSTypes#AI.Option.Air.val.REACTION_ON_THREAT OptionReactionOnThreat Which REACTION_ON_THREAT is set to the EscortGroup. +-- @field Menu#MENU_CLIENT EscortMenuResumeMission +ESCORT = { + ClassName = "ESCORT", + EscortName = nil, -- The Escort Name + EscortClient = nil, + EscortGroup = nil, + EscortMode = nil, + MODE = { + FOLLOW = 1, + MISSION = 2, + }, + Targets = {}, -- The identified targets + FollowScheduler = nil, + ReportTargets = true, + OptionROE = AI.Option.Air.val.ROE.OPEN_FIRE, + OptionReactionOnThreat = AI.Option.Air.val.REACTION_ON_THREAT.ALLOW_ABORT_MISSION, + TaskPoints = {} +} + +--- ESCORT.Mode class +-- @type ESCORT.MODE +-- @field #number FOLLOW +-- @field #number MISSION + +--- MENUPARAM type +-- @type MENUPARAM +-- @field #ESCORT ParamSelf +-- @field #Distance ParamDistance +-- @field #function ParamFunction +-- @field #string ParamMessage + +--- ESCORT class constructor for an AI group +-- @param #ESCORT self +-- @param Client#CLIENT EscortClient The client escorted by the EscortGroup. +-- @param Group#GROUP EscortGroup The group AI escorting the EscortClient. +-- @param #string EscortName Name of the escort. +-- @return #ESCORT self +function ESCORT:New( EscortClient, EscortGroup, EscortName, EscortBriefing ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( { EscortClient, EscortGroup, EscortName } ) + + self.EscortClient = EscortClient -- Client#CLIENT + self.EscortGroup = EscortGroup -- Group#GROUP + self.EscortName = EscortName + self.EscortBriefing = EscortBriefing + + self:T( EscortGroup:GetClassNameAndID() ) + + -- Set EscortGroup known at EscortClient. + if not self.EscortClient._EscortGroups then + self.EscortClient._EscortGroups = {} + end + + if not self.EscortClient._EscortGroups[EscortGroup:GetName()] then + self.EscortClient._EscortGroups[EscortGroup:GetName()] = {} + self.EscortClient._EscortGroups[EscortGroup:GetName()].EscortGroup = self.EscortGroup + self.EscortClient._EscortGroups[EscortGroup:GetName()].EscortName = self.EscortName + self.EscortClient._EscortGroups[EscortGroup:GetName()].Targets = {} + self.EscortMode = ESCORT.MODE.FOLLOW + end + + + self.EscortMenu = MENU_CLIENT:New( self.EscortClient, self.EscortName ) + + self.EscortGroup:WayPointInitialize(1) + + self.EscortGroup:OptionROTVertical() + self.EscortGroup:OptionROEOpenFire() + + EscortGroup:MessageToClient( EscortGroup:GetCategoryName() .. " '" .. EscortName .. "' (" .. EscortGroup:GetCallsign() .. ") reporting! " .. + "We're escorting your flight. " .. + "Use the Radio Menu and F10 and use the options under + " .. EscortName .. "\n", + 60, EscortClient + ) + + return self +end + + +--- Defines the default menus +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:Menus() + self:F() + + self:MenuFollowAt( 100 ) + self:MenuFollowAt( 200 ) + self:MenuFollowAt( 300 ) + self:MenuFollowAt( 400 ) + + self:MenuScanForTargets( 100, 60 ) + + self:MenuHoldAtEscortPosition( 30 ) + self:MenuHoldAtLeaderPosition( 30 ) + + self:MenuFlare() + self:MenuSmoke() + + self:MenuReportTargets( 60 ) + self:MenuAssistedAttack() + self:MenuROE() + self:MenuEvasion() + self:MenuResumeMission() + + return self +end + + + +--- Defines a menu slot to let the escort Join and Follow you at a certain distance. +-- This menu will appear under **Navigation**. +-- @param #ESCORT self +-- @param DCSTypes#Distance Distance The distance in meters that the escort needs to follow the client. +-- @return #ESCORT +function ESCORT:MenuFollowAt( Distance ) + self:F(Distance) + + if self.EscortGroup:IsAir() then + if not self.EscortMenuReportNavigation then + self.EscortMenuReportNavigation = MENU_CLIENT:New( self.EscortClient, "Navigation", self.EscortMenu ) + end + + if not self.EscortMenuJoinUpAndFollow then + self.EscortMenuJoinUpAndFollow = {} + end + + self.EscortMenuJoinUpAndFollow[#self.EscortMenuJoinUpAndFollow+1] = MENU_CLIENT_COMMAND:New( self.EscortClient, "Join-Up and Follow at " .. Distance, self.EscortMenuReportNavigation, ESCORT._JoinUpAndFollow, { ParamSelf = self, ParamDistance = Distance } ) + + self.EscortMode = ESCORT.MODE.FOLLOW + end + + return self +end + +--- Defines a menu slot to let the escort hold at their current position and stay low with a specified height during a specified time in seconds. +-- This menu will appear under **Hold position**. +-- @param #ESCORT self +-- @param DCSTypes#Distance Height Optional parameter that sets the height in meters to let the escort orbit at the current location. The default value is 30 meters. +-- @param DCSTypes#Time Seconds Optional parameter that lets the escort orbit at the current position for a specified time. (not implemented yet). The default value is 0 seconds, meaning, that the escort will orbit forever until a sequent command is given. +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. The text string is formatted, and should contain two %d tokens in the string. The first for the Height, the second for the Time (if given). If no text is given, the default text will be displayed. +-- @return #ESCORT +-- TODO: Implement Seconds parameter. Challenge is to first develop the "continue from last activity" function. +function ESCORT:MenuHoldAtEscortPosition( Height, Seconds, MenuTextFormat ) + self:F( { Height, Seconds, MenuTextFormat } ) + + if self.EscortGroup:IsAir() then + + if not self.EscortMenuHold then + self.EscortMenuHold = MENU_CLIENT:New( self.EscortClient, "Hold position", self.EscortMenu ) + end + + if not Height then + Height = 30 + end + + if not Seconds then + Seconds = 0 + end + + local MenuText = "" + if not MenuTextFormat then + if Seconds == 0 then + MenuText = string.format( "Hold at %d meter", Height ) + else + MenuText = string.format( "Hold at %d meter for %d seconds", Height, Seconds ) + end + else + if Seconds == 0 then + MenuText = string.format( MenuTextFormat, Height ) + else + MenuText = string.format( MenuTextFormat, Height, Seconds ) + end + end + + if not self.EscortMenuHoldPosition then + self.EscortMenuHoldPosition = {} + end + + self.EscortMenuHoldPosition[#self.EscortMenuHoldPosition+1] = MENU_CLIENT_COMMAND + :New( + self.EscortClient, + MenuText, + self.EscortMenuHold, + ESCORT._HoldPosition, + { ParamSelf = self, + ParamOrbitGroup = self.EscortGroup, + ParamHeight = Height, + ParamSeconds = Seconds + } + ) + end + + return self +end + + +--- Defines a menu slot to let the escort hold at the client position and stay low with a specified height during a specified time in seconds. +-- This menu will appear under **Navigation**. +-- @param #ESCORT self +-- @param DCSTypes#Distance Height Optional parameter that sets the height in meters to let the escort orbit at the current location. The default value is 30 meters. +-- @param DCSTypes#Time Seconds Optional parameter that lets the escort orbit at the current position for a specified time. (not implemented yet). The default value is 0 seconds, meaning, that the escort will orbit forever until a sequent command is given. +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. The text string is formatted, and should contain one or two %d tokens in the string. The first for the Height, the second for the Time (if given). If no text is given, the default text will be displayed. +-- @return #ESCORT +-- TODO: Implement Seconds parameter. Challenge is to first develop the "continue from last activity" function. +function ESCORT:MenuHoldAtLeaderPosition( Height, Seconds, MenuTextFormat ) + self:F( { Height, Seconds, MenuTextFormat } ) + + if self.EscortGroup:IsAir() then + + if not self.EscortMenuHold then + self.EscortMenuHold = MENU_CLIENT:New( self.EscortClient, "Hold position", self.EscortMenu ) + end + + if not Height then + Height = 30 + end + + if not Seconds then + Seconds = 0 + end + + local MenuText = "" + if not MenuTextFormat then + if Seconds == 0 then + MenuText = string.format( "Rejoin and hold at %d meter", Height ) + else + MenuText = string.format( "Rejoin and hold at %d meter for %d seconds", Height, Seconds ) + end + else + if Seconds == 0 then + MenuText = string.format( MenuTextFormat, Height ) + else + MenuText = string.format( MenuTextFormat, Height, Seconds ) + end + end + + if not self.EscortMenuHoldAtLeaderPosition then + self.EscortMenuHoldAtLeaderPosition = {} + end + + self.EscortMenuHoldAtLeaderPosition[#self.EscortMenuHoldAtLeaderPosition+1] = MENU_CLIENT_COMMAND + :New( + self.EscortClient, + MenuText, + self.EscortMenuHold, + ESCORT._HoldPosition, + { ParamSelf = self, + ParamOrbitGroup = self.EscortClient, + ParamHeight = Height, + ParamSeconds = Seconds + } + ) + end + + return self +end + +--- Defines a menu slot to let the escort scan for targets at a certain height for a certain time in seconds. +-- This menu will appear under **Scan targets**. +-- @param #ESCORT self +-- @param DCSTypes#Distance Height Optional parameter that sets the height in meters to let the escort orbit at the current location. The default value is 30 meters. +-- @param DCSTypes#Time Seconds Optional parameter that lets the escort orbit at the current position for a specified time. (not implemented yet). The default value is 0 seconds, meaning, that the escort will orbit forever until a sequent command is given. +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. The text string is formatted, and should contain one or two %d tokens in the string. The first for the Height, the second for the Time (if given). If no text is given, the default text will be displayed. +-- @return #ESCORT +function ESCORT:MenuScanForTargets( Height, Seconds, MenuTextFormat ) + self:F( { Height, Seconds, MenuTextFormat } ) + + if self.EscortGroup:IsAir() then + if not self.EscortMenuScan then + self.EscortMenuScan = MENU_CLIENT:New( self.EscortClient, "Scan for targets", self.EscortMenu ) + end + + if not Height then + Height = 100 + end + + if not Seconds then + Seconds = 30 + end + + local MenuText = "" + if not MenuTextFormat then + if Seconds == 0 then + MenuText = string.format( "At %d meter", Height ) + else + MenuText = string.format( "At %d meter for %d seconds", Height, Seconds ) + end + else + if Seconds == 0 then + MenuText = string.format( MenuTextFormat, Height ) + else + MenuText = string.format( MenuTextFormat, Height, Seconds ) + end + end + + if not self.EscortMenuScanForTargets then + self.EscortMenuScanForTargets = {} + end + + self.EscortMenuScanForTargets[#self.EscortMenuScanForTargets+1] = MENU_CLIENT_COMMAND + :New( + self.EscortClient, + MenuText, + self.EscortMenuScan, + ESCORT._ScanTargets, + { ParamSelf = self, + ParamScanDuration = 30 + } + ) + end + + return self +end + + + +--- Defines a menu slot to let the escort disperse a flare in a certain color. +-- This menu will appear under **Navigation**. +-- The flare will be fired from the first unit in the group. +-- @param #ESCORT self +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. If no text is given, the default text will be displayed. +-- @return #ESCORT +function ESCORT:MenuFlare( MenuTextFormat ) + self:F() + + if not self.EscortMenuReportNavigation then + self.EscortMenuReportNavigation = MENU_CLIENT:New( self.EscortClient, "Navigation", self.EscortMenu ) + end + + local MenuText = "" + if not MenuTextFormat then + MenuText = "Flare" + else + MenuText = MenuTextFormat + end + + if not self.EscortMenuFlare then + self.EscortMenuFlare = MENU_CLIENT:New( self.EscortClient, MenuText, self.EscortMenuReportNavigation, ESCORT._Flare, { ParamSelf = self } ) + self.EscortMenuFlareGreen = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release green flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.Green, ParamMessage = "Released a green flare!" } ) + self.EscortMenuFlareRed = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release red flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.Red, ParamMessage = "Released a red flare!" } ) + self.EscortMenuFlareWhite = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release white flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.White, ParamMessage = "Released a white flare!" } ) + self.EscortMenuFlareYellow = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release yellow flare", self.EscortMenuFlare, ESCORT._Flare, { ParamSelf = self, ParamColor = UNIT.FlareColor.Yellow, ParamMessage = "Released a yellow flare!" } ) + end + + return self +end + +--- Defines a menu slot to let the escort disperse a smoke in a certain color. +-- This menu will appear under **Navigation**. +-- Note that smoke menu options will only be displayed for ships and ground units. Not for air units. +-- The smoke will be fired from the first unit in the group. +-- @param #ESCORT self +-- @param #string MenuTextFormat Optional parameter that shows the menu option text. If no text is given, the default text will be displayed. +-- @return #ESCORT +function ESCORT:MenuSmoke( MenuTextFormat ) + self:F() + + if not self.EscortGroup:IsAir() then + if not self.EscortMenuReportNavigation then + self.EscortMenuReportNavigation = MENU_CLIENT:New( self.EscortClient, "Navigation", self.EscortMenu ) + end + + local MenuText = "" + if not MenuTextFormat then + MenuText = "Smoke" + else + MenuText = MenuTextFormat + end + + if not self.EscortMenuSmoke then + self.EscortMenuSmoke = MENU_CLIENT:New( self.EscortClient, "Smoke", self.EscortMenuReportNavigation, ESCORT._Smoke, { ParamSelf = self } ) + self.EscortMenuSmokeGreen = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release green smoke", self.EscortMenuSmoke, ESCORT._Smoke, { ParamSelf = self, ParamColor = UNIT.SmokeColor.Green, ParamMessage = "Releasing green smoke!" } ) + self.EscortMenuSmokeRed = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release red smoke", self.EscortMenuSmoke, ESCORT._Smoke, { ParamSelf = self, ParamColor = UNIT.SmokeColor.Red, ParamMessage = "Releasing red smoke!" } ) + self.EscortMenuSmokeWhite = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release white smoke", self.EscortMenuSmoke, ESCORT._Smoke, { ParamSelf = self, ParamColor = UNIT.SmokeColor.White, ParamMessage = "Releasing white smoke!" } ) + self.EscortMenuSmokeOrange = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release orange smoke", self.EscortMenuSmoke, ESCORT._Smoke, { ParamSelf = self, ParamColor = UNIT.SmokeColor.Orange, ParamMessage = "Releasing orange smoke!" } ) + self.EscortMenuSmokeBlue = MENU_CLIENT_COMMAND:New( self.EscortClient, "Release blue smoke", self.EscortMenuSmoke, ESCORT._Smoke, { ParamSelf = self, ParamColor = UNIT.SmokeColor.Blue, ParamMessage = "Releasing blue smoke!" } ) + end + end + + return self +end + +--- Defines a menu slot to let the escort report their current detected targets with a specified time interval in seconds. +-- This menu will appear under **Report targets**. +-- Note that if a report targets menu is not specified, no targets will be detected by the escort, and the attack and assisted attack menus will not be displayed. +-- @param #ESCORT self +-- @param DCSTypes#Time Seconds Optional parameter that lets the escort report their current detected targets after specified time interval in seconds. The default time is 30 seconds. +-- @return #ESCORT +function ESCORT:MenuReportTargets( Seconds ) + self:F( { Seconds } ) + + if not self.EscortMenuReportNearbyTargets then + self.EscortMenuReportNearbyTargets = MENU_CLIENT:New( self.EscortClient, "Report targets", self.EscortMenu ) + end + + if not Seconds then + Seconds = 30 + end + + -- Report Targets + self.EscortMenuReportNearbyTargetsNow = MENU_CLIENT_COMMAND:New( self.EscortClient, "Report targets now!", self.EscortMenuReportNearbyTargets, ESCORT._ReportNearbyTargetsNow, { ParamSelf = self } ) + self.EscortMenuReportNearbyTargetsOn = MENU_CLIENT_COMMAND:New( self.EscortClient, "Report targets on", self.EscortMenuReportNearbyTargets, ESCORT._SwitchReportNearbyTargets, { ParamSelf = self, ParamReportTargets = true } ) + self.EscortMenuReportNearbyTargetsOff = MENU_CLIENT_COMMAND:New( self.EscortClient, "Report targets off", self.EscortMenuReportNearbyTargets, ESCORT._SwitchReportNearbyTargets, { ParamSelf = self, ParamReportTargets = false, } ) + + -- Attack Targets + self.EscortMenuAttackNearbyTargets = MENU_CLIENT:New( self.EscortClient, "Attack targets", self.EscortMenu ) + + + self.ReportTargetsScheduler = routines.scheduleFunction( self._ReportTargetsScheduler, { self }, timer.getTime() + 1, Seconds ) + + return self +end + +--- Defines a menu slot to let the escort attack its detected targets using assisted attack from another escort joined also with the client. +-- This menu will appear under **Request assistance from**. +-- Note that this method needs to be preceded with the method MenuReportTargets. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuAssistedAttack() + self:F() + + -- Request assistance from other escorts. + -- This is very useful to let f.e. an escorting ship attack a target detected by an escorting plane... + self.EscortMenuTargetAssistance = MENU_CLIENT:New( self.EscortClient, "Request assistance from", self.EscortMenu ) + + return self +end + +--- Defines a menu to let the escort set its rules of engagement. +-- All rules of engagement will appear under the menu **ROE**. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuROE( MenuTextFormat ) + self:F( MenuTextFormat ) + + if not self.EscortMenuROE then + -- Rules of Engagement + self.EscortMenuROE = MENU_CLIENT:New( self.EscortClient, "ROE", self.EscortMenu ) + if self.EscortGroup:OptionROEHoldFirePossible() then + self.EscortMenuROEHoldFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Hold Fire", self.EscortMenuROE, ESCORT._ROE, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROEHoldFire(), ParamMessage = "Holding weapons!" } ) + end + if self.EscortGroup:OptionROEReturnFirePossible() then + self.EscortMenuROEReturnFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Return Fire", self.EscortMenuROE, ESCORT._ROE, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROEReturnFire(), ParamMessage = "Returning fire!" } ) + end + if self.EscortGroup:OptionROEOpenFirePossible() then + self.EscortMenuROEOpenFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Open Fire", self.EscortMenuROE, ESCORT._ROE, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROEOpenFire(), ParamMessage = "Opening fire on designated targets!!" } ) + end + if self.EscortGroup:OptionROEWeaponFreePossible() then + self.EscortMenuROEWeaponFree = MENU_CLIENT_COMMAND:New( self.EscortClient, "Weapon Free", self.EscortMenuROE, ESCORT._ROE, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROEWeaponFree(), ParamMessage = "Opening fire on targets of opportunity!" } ) + end + end + + return self +end + + +--- Defines a menu to let the escort set its evasion when under threat. +-- All rules of engagement will appear under the menu **Evasion**. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuEvasion( MenuTextFormat ) + self:F( MenuTextFormat ) + + if self.EscortGroup:IsAir() then + if not self.EscortMenuEvasion then + -- Reaction to Threats + self.EscortMenuEvasion = MENU_CLIENT:New( self.EscortClient, "Evasion", self.EscortMenu ) + if self.EscortGroup:OptionROTNoReactionPossible() then + self.EscortMenuEvasionNoReaction = MENU_CLIENT_COMMAND:New( self.EscortClient, "Fight until death", self.EscortMenuEvasion, ESCORT._ROT, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROTNoReaction(), ParamMessage = "Fighting until death!" } ) + end + if self.EscortGroup:OptionROTPassiveDefensePossible() then + self.EscortMenuEvasionPassiveDefense = MENU_CLIENT_COMMAND:New( self.EscortClient, "Use flares, chaff and jammers", self.EscortMenuEvasion, ESCORT._ROT, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROTPassiveDefense(), ParamMessage = "Defending using jammers, chaff and flares!" } ) + end + if self.EscortGroup:OptionROTEvadeFirePossible() then + self.EscortMenuEvasionEvadeFire = MENU_CLIENT_COMMAND:New( self.EscortClient, "Evade enemy fire", self.EscortMenuEvasion, ESCORT._ROT, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROTEvadeFire(), ParamMessage = "Evading on enemy fire!" } ) + end + if self.EscortGroup:OptionROTVerticalPossible() then + self.EscortMenuOptionEvasionVertical = MENU_CLIENT_COMMAND:New( self.EscortClient, "Go below radar and evade fire", self.EscortMenuEvasion, ESCORT._ROT, { ParamSelf = self, ParamFunction = self.EscortGroup:OptionROTVertical(), ParamMessage = "Evading on enemy fire with vertical manoeuvres!" } ) + end + end + end + + return self +end + +--- Defines a menu to let the escort resume its mission from a waypoint on its route. +-- All rules of engagement will appear under the menu **Resume mission from**. +-- @param #ESCORT self +-- @return #ESCORT +function ESCORT:MenuResumeMission() + self:F() + + if not self.EscortMenuResumeMission then + -- Mission Resume Menu Root + self.EscortMenuResumeMission = MENU_CLIENT:New( self.EscortClient, "Resume mission from", self.EscortMenu ) + end + + return self +end + + +--- @param #MENUPARAM MenuParam +function ESCORT._HoldPosition( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local OrbitGroup = MenuParam.ParamOrbitGroup -- Group#GROUP + local OrbitUnit = OrbitGroup:GetUnit(1) -- Unit#UNIT + local OrbitHeight = MenuParam.ParamHeight + local OrbitSeconds = MenuParam.ParamSeconds -- Not implemented yet + + routines.removeFunction( self.FollowScheduler ) + + local PointFrom = {} + local GroupPoint = EscortGroup:GetUnit(1):GetPointVec3() + PointFrom = {} + PointFrom.x = GroupPoint.x + PointFrom.y = GroupPoint.z + PointFrom.speed = 250 + PointFrom.type = AI.Task.WaypointType.TURNING_POINT + PointFrom.alt = GroupPoint.y + PointFrom.alt_type = AI.Task.AltitudeType.BARO + + local OrbitPoint = OrbitUnit:GetPointVec2() + local PointTo = {} + PointTo.x = OrbitPoint.x + PointTo.y = OrbitPoint.y + PointTo.speed = 250 + PointTo.type = AI.Task.WaypointType.TURNING_POINT + PointTo.alt = OrbitHeight + PointTo.alt_type = AI.Task.AltitudeType.BARO + PointTo.task = EscortGroup:TaskOrbitCircleAtVec2( OrbitPoint, OrbitHeight, 0 ) + + local Points = { PointFrom, PointTo } + + EscortGroup:OptionROEHoldFire() + EscortGroup:OptionROTPassiveDefense() + + EscortGroup:SetTask( EscortGroup:TaskRoute( Points ) ) + EscortGroup:MessageToClient( "Orbiting at location.", 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT._JoinUpAndFollow( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self.Distance = MenuParam.ParamDistance + + self:JoinUpAndFollow( EscortGroup, EscortClient, self.Distance ) +end + +--- JoinsUp and Follows a CLIENT. +-- @param Escort#ESCORT self +-- @param Group#GROUP EscortGroup +-- @param Client#CLIENT EscortClient +-- @param DCSTypes#Distance Distance +function ESCORT:JoinUpAndFollow( EscortGroup, EscortClient, Distance ) + self:F( { EscortGroup, EscortClient, Distance } ) + + if self.FollowScheduler then + routines.removeFunction( self.FollowScheduler ) + end + + EscortGroup:OptionROEHoldFire() + EscortGroup:OptionROTPassiveDefense() + + self.EscortMode = ESCORT.MODE.FOLLOW + + self.CT1 = 0 + self.GT1 = 0 + self.FollowScheduler = routines.scheduleFunction( self._FollowScheduler, { self, Distance }, timer.getTime() + 1, .5 ) + EscortGroup:MessageToClient( "Rejoining and Following at " .. Distance .. "!", 30, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT._Flare( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local Color = MenuParam.ParamColor + local Message = MenuParam.ParamMessage + + EscortGroup:GetUnit(1):Flare( Color ) + EscortGroup:MessageToClient( Message, 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT._Smoke( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local Color = MenuParam.ParamColor + local Message = MenuParam.ParamMessage + + EscortGroup:GetUnit(1):Smoke( Color ) + EscortGroup:MessageToClient( Message, 10, EscortClient ) +end + + +--- @param #MENUPARAM MenuParam +function ESCORT._ReportNearbyTargetsNow( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self:_ReportTargetsScheduler() + +end + +function ESCORT._SwitchReportNearbyTargets( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + self.ReportTargets = MenuParam.ParamReportTargets + + if self.ReportTargets then + if not self.ReportTargetsScheduler then + self.ReportTargetsScheduler = routines.scheduleFunction( self._ReportTargetsScheduler, { self }, timer.getTime() + 1, 30 ) + end + else + routines.removeFunction( self.ReportTargetsScheduler ) + self.ReportTargetsScheduler = nil + end +end + +--- @param #MENUPARAM MenuParam +function ESCORT._ScanTargets( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local ScanDuration = MenuParam.ParamScanDuration + + if self.FollowScheduler then + routines.removeFunction( self.FollowScheduler ) + end + + self:T( { "FollowScheduler after removefunction: ", self.FollowScheduler } ) + + if EscortGroup:IsHelicopter() then + routines.scheduleFunction( EscortGroup.PushTask, + { EscortGroup, + EscortGroup:TaskControlled( + EscortGroup:TaskOrbitCircle( 200, 20 ), + EscortGroup:TaskCondition( nil, nil, nil, nil, ScanDuration, nil ) + ) + }, + timer.getTime() + 1 + ) + elseif EscortGroup:IsAirPlane() then + routines.scheduleFunction( EscortGroup.PushTask, + { EscortGroup, + EscortGroup:TaskControlled( + EscortGroup:TaskOrbitCircle( 1000, 500 ), + EscortGroup:TaskCondition( nil, nil, nil, nil, ScanDuration, nil ) + ) + }, + timer.getTime() + 1 + ) + end + + EscortGroup:MessageToClient( "Scanning targets for " .. ScanDuration .. " seconds.", ScanDuration, EscortClient ) + + if self.EscortMode == ESCORT.MODE.FOLLOW then + self.FollowScheduler = routines.scheduleFunction( self._FollowScheduler, { self, Distance }, timer.getTime() + ScanDuration, 1 ) + end + +end + +function _Resume( EscortGroup ) + env.info( '_Resume' ) + + local Escort = EscortGroup.Escort -- #ESCORT + env.info( "EscortMode = " .. Escort.EscortMode ) + if Escort.EscortMode == ESCORT.MODE.FOLLOW then + Escort:JoinUpAndFollow( EscortGroup, Escort.EscortClient, Escort.Distance ) + end + +end + +--- @param #MENUPARAM MenuParam +function ESCORT._AttackTarget( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + local AttackUnit = MenuParam.ParamUnit -- Unit#UNIT + + if self.FollowScheduler then + routines.removeFunction( self.FollowScheduler ) + end + + self:T( AttackUnit ) + + if EscortGroup:IsAir() then + EscortGroup:OptionROEOpenFire() + EscortGroup:OptionROTPassiveDefense() + EscortGroup.Escort = self -- Need to do this trick to get the reference for the escort in the _Resume function. + routines.scheduleFunction( + EscortGroup.PushTask, + { EscortGroup, + EscortGroup:TaskCombo( + { EscortGroup:TaskAttackUnit( AttackUnit ), + EscortGroup:TaskFunction( 1, 2, "_Resume", {"''"} ) + } + ) + }, timer.getTime() + 10 + ) + else + routines.scheduleFunction( + EscortGroup.PushTask, + { EscortGroup, + EscortGroup:TaskCombo( + { EscortGroup:TaskFireAtPoint( AttackUnit:GetPointVec2(), 50 ) + } + ) + }, timer.getTime() + 10 + ) + end + EscortGroup:MessageToClient( "Engaging Designated Unit!", 10, EscortClient ) + + +end + +--- @param #MENUPARAM MenuParam +function ESCORT._AssistTarget( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + local EscortGroupAttack = MenuParam.ParamEscortGroup + local AttackUnit = MenuParam.ParamUnit -- Unit#UNIT + + if self.FollowScheduler then + routines.removeFunction( self.FollowScheduler ) + end + + + self:T( AttackUnit ) + + if EscortGroupAttack:IsAir() then + EscortGroupAttack:OptionROEOpenFire() + EscortGroupAttack:OptionROTVertical() + routines.scheduleFunction( + EscortGroupAttack.PushTask, + { EscortGroupAttack, + EscortGroupAttack:TaskCombo( + { EscortGroupAttack:TaskAttackUnit( AttackUnit ), + EscortGroupAttack:TaskOrbitCircle( 500, 350 ) + } + ) + }, timer.getTime() + 10 + ) + else + routines.scheduleFunction( + EscortGroupAttack.PushTask, + { EscortGroupAttack, + EscortGroupAttack:TaskCombo( + { EscortGroupAttack:TaskFireAtPoint( AttackUnit:GetPointVec2(), 50 ) + } + ) + }, timer.getTime() + 10 + ) + end + EscortGroupAttack:MessageToClient( "Assisting with the destroying the enemy unit!", 10, EscortClient ) + +end + +--- @param #MENUPARAM MenuParam +function ESCORT._ROE( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local EscortROEFunction = MenuParam.ParamFunction + local EscortROEMessage = MenuParam.ParamMessage + + pcall( function() EscortROEFunction() end ) + EscortGroup:MessageToClient( EscortROEMessage, 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT._ROT( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local EscortROTFunction = MenuParam.ParamFunction + local EscortROTMessage = MenuParam.ParamMessage + + pcall( function() EscortROTFunction() end ) + EscortGroup:MessageToClient( EscortROTMessage, 10, EscortClient ) +end + +--- @param #MENUPARAM MenuParam +function ESCORT._ResumeMission( MenuParam ) + + local self = MenuParam.ParamSelf + local EscortGroup = self.EscortGroup + local EscortClient = self.EscortClient + + local WayPoint = MenuParam.ParamWayPoint + + routines.removeFunction( self.FollowScheduler ) + self.FollowScheduler = nil + + local WayPoints = EscortGroup:GetTaskRoute() + self:T( WayPoint, WayPoints ) + + for WayPointIgnore = 1, WayPoint do + table.remove( WayPoints, 1 ) + end + + routines.scheduleFunction( EscortGroup.SetTask, {EscortGroup, EscortGroup:TaskRoute( WayPoints ) }, timer.getTime() + 1 ) + + EscortGroup:MessageToClient( "Resuming mission from waypoint " .. WayPoint .. ".", 10, EscortClient ) +end + +--- Registers the waypoints +-- @param #ESCORT self +-- @return #table +function ESCORT:RegisterRoute() + self:F() + + local EscortGroup = self.EscortGroup -- Group#GROUP + + local TaskPoints = EscortGroup:GetTaskRoute() + + self:T( TaskPoints ) + + return TaskPoints +end + +--- @param Escort#ESCORT self +function ESCORT:_FollowScheduler( FollowDistance ) + self:F( { FollowDistance }) + + if self.EscortGroup:IsAlive() and self.EscortClient:IsAlive() then + + local ClientUnit = self.EscortClient:GetClientGroupUnit() + local GroupUnit = self.EscortGroup:GetUnit( 1 ) + + if self.CT1 == 0 and self.GT1 == 0 then + self.CV1 = ClientUnit:GetPointVec3() + self.CT1 = timer.getTime() + self.GV1 = GroupUnit:GetPointVec3() + self.GT1 = timer.getTime() + else + local CT1 = self.CT1 + local CT2 = timer.getTime() + local CV1 = self.CV1 + local CV2 = ClientUnit:GetPointVec3() + self.CT1 = CT2 + self.CV1 = CV2 + + local CD = ( ( CV2.x - CV1.x )^2 + ( CV2.y - CV1.y )^2 + ( CV2.z - CV1.z )^2 ) ^ 0.5 + local CT = CT2 - CT1 + + local CS = ( 3600 / CT ) * ( CD / 1000 ) + + self:T2( { "Client:", CS, CD, CT, CV2, CV1, CT2, CT1 } ) + + local GT1 = self.GT1 + local GT2 = timer.getTime() + local GV1 = self.GV1 + local GV2 = GroupUnit:GetPointVec3() + self.GT1 = GT2 + self.GV1 = GV2 + + local GD = ( ( GV2.x - GV1.x )^2 + ( GV2.y - GV1.y )^2 + ( GV2.z - GV1.z )^2 ) ^ 0.5 + local GT = GT2 - GT1 + + local GS = ( 3600 / GT ) * ( GD / 1000 ) + + self:T2( { "Group:", GS, GD, GT, GV2, GV1, GT2, GT1 } ) + + -- Calculate the group direction vector + local GV = { x = GV2.x - CV2.x, y = GV2.y - CV2.y, z = GV2.z - CV2.z } + + -- Calculate GH2, GH2 with the same height as CV2. + local GH2 = { x = GV2.x, y = CV2.y, z = GV2.z } + + -- Calculate the angle of GV to the orthonormal plane + local alpha = math.atan2( GV.z, GV.x ) + + -- Now we calculate the intersecting vector between the circle around CV2 with radius FollowDistance and GH2. + -- From the GeoGebra model: CVI = (x(CV2) + FollowDistance cos(alpha), y(GH2) + FollowDistance sin(alpha), z(CV2)) + local CVI = { x = CV2.x + FollowDistance * math.cos(alpha), + y = GH2.y, + z = CV2.z + FollowDistance * math.sin(alpha), + } + + -- Calculate the direction vector DV of the escort group. We use CVI as the base and CV2 as the direction. + local DV = { x = CV2.x - CVI.x, y = CV2.y - CVI.y, z = CV2.z - CVI.z } + + -- We now calculate the unary direction vector DVu, so that we can multiply DVu with the speed, which is expressed in meters / s. + -- We need to calculate this vector to predict the point the escort group needs to fly to according its speed. + -- The distance of the destination point should be far enough not to have the aircraft starting to swipe left to right... + local DVu = { x = DV.x / FollowDistance, y = DV.y / FollowDistance, z = DV.z / FollowDistance } + + -- Now we can calculate the group destination vector GDV. + local GDV = { x = DVu.x * CS * 8 + CVI.x, y = CVI.y, z = DVu.z * CS * 8 + CVI.z } + self:T2( { "CV2:", CV2 } ) + self:T2( { "CVI:", CVI } ) + self:T2( { "GDV:", GDV } ) + + -- Measure distance between client and group + local CatchUpDistance = ( ( GDV.x - GV2.x )^2 + ( GDV.y - GV2.y )^2 + ( GDV.z - GV2.z )^2 ) ^ 0.5 + + -- The calculation of the Speed would simulate that the group would take 30 seconds to overcome + -- the requested Distance). + local Time = 10 + local CatchUpSpeed = ( CatchUpDistance - ( CS * 8.4 ) ) / Time + + local Speed = CS + CatchUpSpeed + if Speed < 0 then + Speed = 0 + end + + self:T( { "Client Speed, Escort Speed, Speed, FlyDistance, Time:", CS, GS, Speed, Distance, Time } ) + + -- Now route the escort to the desired point with the desired speed. + self.EscortGroup:TaskRouteToVec3( GDV, Speed / 3.6 ) -- DCS models speed in Mps (Miles per second) + end + else + routines.removeFunction( self.FollowScheduler ) + end + +end + + +--- Report Targets Scheduler. +-- @param #ESCORT self +function ESCORT:_ReportTargetsScheduler() + self:F( self.EscortGroup:GetName() ) + + if self.EscortGroup:IsAlive() and self.EscortClient:IsAlive() then + local EscortGroupName = self.EscortGroup:GetName() + local EscortTargets = self.EscortGroup:GetDetectedTargets() + + local ClientEscortTargets = self.EscortClient._EscortGroups[EscortGroupName].Targets + + local EscortTargetMessages = "" + for EscortTargetID, EscortTarget in pairs( EscortTargets ) do + local EscortObject = EscortTarget.object + self:T( EscortObject ) + if EscortObject and EscortObject:isExist() and EscortObject.id_ < 50000000 then + + local EscortTargetUnit = UNIT:Find( EscortObject ) + local EscortTargetUnitName = EscortTargetUnit:GetName() + + + + -- local EscortTargetIsDetected, + -- EscortTargetIsVisible, + -- EscortTargetLastTime, + -- EscortTargetKnowType, + -- EscortTargetKnowDistance, + -- EscortTargetLastPos, + -- EscortTargetLastVelocity + -- = self.EscortGroup:IsTargetDetected( EscortObject ) + -- + -- self:T( { EscortTargetIsDetected, + -- EscortTargetIsVisible, + -- EscortTargetLastTime, + -- EscortTargetKnowType, + -- EscortTargetKnowDistance, + -- EscortTargetLastPos, + -- EscortTargetLastVelocity } ) + + + local EscortTargetUnitPositionVec3 = EscortTargetUnit:GetPointVec3() + local EscortPositionVec3 = self.EscortGroup:GetPointVec3() + local Distance = ( ( EscortTargetUnitPositionVec3.x - EscortPositionVec3.x )^2 + + ( EscortTargetUnitPositionVec3.y - EscortPositionVec3.y )^2 + + ( EscortTargetUnitPositionVec3.z - EscortPositionVec3.z )^2 + ) ^ 0.5 / 1000 + + self:T( { self.EscortGroup:GetName(), EscortTargetUnit:GetName(), Distance, EscortTarget } ) + + if Distance <= 15 then + + if not ClientEscortTargets[EscortTargetUnitName] then + ClientEscortTargets[EscortTargetUnitName] = {} + end + ClientEscortTargets[EscortTargetUnitName].AttackUnit = EscortTargetUnit + ClientEscortTargets[EscortTargetUnitName].visible = EscortTarget.visible + ClientEscortTargets[EscortTargetUnitName].type = EscortTarget.type + ClientEscortTargets[EscortTargetUnitName].distance = EscortTarget.distance + else + if ClientEscortTargets[EscortTargetUnitName] then + ClientEscortTargets[EscortTargetUnitName] = nil + end + end + end + end + + self:T( { "Sorting Targets Table:", ClientEscortTargets } ) + table.sort( ClientEscortTargets, function( a, b ) return a.Distance < b.Distance end ) + self:T( { "Sorted Targets Table:", ClientEscortTargets } ) + + -- Remove the sub menus of the Attack menu of the Escort for the EscortGroup. + self.EscortMenuAttackNearbyTargets:RemoveSubMenus() + + if self.EscortMenuTargetAssistance then + self.EscortMenuTargetAssistance:RemoveSubMenus() + end + + --for MenuIndex = 1, #self.EscortMenuAttackTargets do + -- self:T( { "Remove Menu:", self.EscortMenuAttackTargets[MenuIndex] } ) + -- self.EscortMenuAttackTargets[MenuIndex] = self.EscortMenuAttackTargets[MenuIndex]:Remove() + --end + + + if ClientEscortTargets then + for ClientEscortTargetUnitName, ClientEscortTargetData in pairs( ClientEscortTargets ) do + + for ClientEscortGroupName, EscortGroupData in pairs( self.EscortClient._EscortGroups ) do + + if ClientEscortTargetData and ClientEscortTargetData.AttackUnit:IsAlive() then + + local EscortTargetMessage = "" + local EscortTargetCategoryName = ClientEscortTargetData.AttackUnit:GetCategoryName() + local EscortTargetCategoryType = ClientEscortTargetData.AttackUnit:GetTypeName() + if ClientEscortTargetData.type then + EscortTargetMessage = EscortTargetMessage .. EscortTargetCategoryName .. " (" .. EscortTargetCategoryType .. ") at " + else + EscortTargetMessage = EscortTargetMessage .. "Unknown target at " + end + + local EscortTargetUnitPositionVec3 = ClientEscortTargetData.AttackUnit:GetPointVec3() + local EscortPositionVec3 = self.EscortGroup:GetPointVec3() + local Distance = ( ( EscortTargetUnitPositionVec3.x - EscortPositionVec3.x )^2 + + ( EscortTargetUnitPositionVec3.y - EscortPositionVec3.y )^2 + + ( EscortTargetUnitPositionVec3.z - EscortPositionVec3.z )^2 + ) ^ 0.5 / 1000 + + self:T( { self.EscortGroup:GetName(), ClientEscortTargetData.AttackUnit:GetName(), Distance, ClientEscortTargetData.AttackUnit } ) + if ClientEscortTargetData.visible == false then + EscortTargetMessage = EscortTargetMessage .. string.format( "%.2f", Distance ) .. " estimated km" + else + EscortTargetMessage = EscortTargetMessage .. string.format( "%.2f", Distance ) .. " km" + end + + if ClientEscortTargetData.visible then + EscortTargetMessage = EscortTargetMessage .. ", visual" + end + + if ClientEscortGroupName == EscortGroupName then + + MENU_CLIENT_COMMAND:New( self.EscortClient, + EscortTargetMessage, + self.EscortMenuAttackNearbyTargets, + ESCORT._AttackTarget, + { ParamSelf = self, + ParamUnit = ClientEscortTargetData.AttackUnit + } + ) + EscortTargetMessages = EscortTargetMessages .. "\n - " .. EscortTargetMessage + else + if self.EscortMenuTargetAssistance then + local MenuTargetAssistance = MENU_CLIENT:New( self.EscortClient, EscortGroupData.EscortName, self.EscortMenuTargetAssistance ) + MENU_CLIENT_COMMAND:New( self.EscortClient, + EscortTargetMessage, + MenuTargetAssistance, + ESCORT._AssistTarget, + { ParamSelf = self, + ParamEscortGroup = EscortGroupData.EscortGroup, + ParamUnit = ClientEscortTargetData.AttackUnit + } + ) + end + end + else + ClientEscortTargetData = nil + end + end + end + + if EscortTargetMessages ~= "" and self.ReportTargets == true then + self.EscortGroup:MessageToClient( "Detected targets within 15 km range:" .. EscortTargetMessages:gsub("\n$",""), 20, self.EscortClient ) + else + self.EscortGroup:MessageToClient( "No targets detected!", 20, self.EscortClient ) + end + end + + if self.EscortMenuResumeMission then + self.EscortMenuResumeMission:RemoveSubMenus() + + -- if self.EscortMenuResumeWayPoints then + -- for MenuIndex = 1, #self.EscortMenuResumeWayPoints do + -- self:T( { "Remove Menu:", self.EscortMenuResumeWayPoints[MenuIndex] } ) + -- self.EscortMenuResumeWayPoints[MenuIndex] = self.EscortMenuResumeWayPoints[MenuIndex]:Remove() + -- end + -- end + + local TaskPoints = self:RegisterRoute() + for WayPointID, WayPoint in pairs( TaskPoints ) do + local EscortPositionVec3 = self.EscortGroup:GetPointVec3() + local Distance = ( ( WayPoint.x - EscortPositionVec3.x )^2 + + ( WayPoint.y - EscortPositionVec3.z )^2 + ) ^ 0.5 / 1000 + MENU_CLIENT_COMMAND:New( self.EscortClient, "Waypoint " .. WayPointID .. " at " .. string.format( "%.2f", Distance ).. "km", self.EscortMenuResumeMission, ESCORT._ResumeMission, { ParamSelf = self, ParamWayPoint = WayPointID } ) + end + end + + else + routines.removeFunction( self.ReportTargetsScheduler ) + self.ReportTargetsScheduler = nil + end +end +--- Provides missile training functions. +-- +-- @{#MISSILETRAINER} class +-- ======================== +-- The @{#MISSILETRAINER} class uses the DCS world messaging system to be alerted of any missiles fired, and when a missile would hit your aircraft, +-- the class will destroy the missile within a certain range, to avoid damage to your aircraft. +-- It suports the following functionality: +-- +-- * Track the missiles fired at you and other players, providing bearing and range information of the missiles towards the airplanes. +-- * Provide alerts of missile launches, including detailed information of the units launching, including bearing, range … +-- * Provide alerts when a missile would have killed your aircraft. +-- * Provide alerts when the missile self destructs. +-- * Enable / Disable and Configure the Missile Trainer using the various menu options. +-- +-- When running a mission where MISSILETRAINER is used, the following radio menu structure ( 'Radio Menu' -> 'Other (F10)' -> 'MissileTrainer' ) options are available for the players: +-- +-- * **Messages**: Menu to configure all messages. +-- * **Messages On**: Show all messages. +-- * **Messages Off**: Disable all messages. +-- * **Tracking**: Menu to configure missile tracking messages. +-- * **To All**: Shows missile tracking messages to all players. +-- * **To Target**: Shows missile tracking messages only to the player where the missile is targetted at. +-- * **Tracking On**: Show missile tracking messages. +-- * **Tracking Off**: Disable missile tracking messages. +-- * **Frequency Increase**: Increases the missile tracking message frequency with one second. +-- * **Frequency Decrease**: Decreases the missile tracking message frequency with one second. +-- * **Alerts**: Menu to configure alert messages. +-- * **To All**: Shows alert messages to all players. +-- * **To Target**: Shows alert messages only to the player where the missile is (was) targetted at. +-- * **Hits On**: Show missile hit alert messages. +-- * **Hits Off**: Disable missile hit alert messages. +-- * **Launches On**: Show missile launch messages. +-- * **Launches Off**: Disable missile launch messages. +-- * **Details**: Menu to configure message details. +-- * **Range On**: Shows range information when a missile is fired to a target. +-- * **Range Off**: Disable range information when a missile is fired to a target. +-- * **Bearing On**: Shows bearing information when a missile is fired to a target. +-- * **Bearing Off**: Disable bearing information when a missile is fired to a target. +-- * **Distance**: Menu to configure the distance when a missile needs to be destroyed when near to a player, during tracking. This will improve/influence hit calculation accuracy, but has the risk of damaging the aircraft when the missile reaches the aircraft before the distance is measured. +-- * **50 meter**: Destroys the missile when the distance to the aircraft is below or equal to 50 meter. +-- * **100 meter**: Destroys the missile when the distance to the aircraft is below or equal to 100 meter. +-- * **150 meter**: Destroys the missile when the distance to the aircraft is below or equal to 150 meter. +-- * **200 meter**: Destroys the missile when the distance to the aircraft is below or equal to 200 meter. +-- +-- +-- MISSILETRAINER construction methods: +-- ==================================== +-- Create a new MISSILETRAINER object with the @{#MISSILETRAINER.New} method: +-- +-- * @{#MISSILETRAINER.New}: Creates a new MISSILETRAINER object taking the maximum distance to your aircraft to evaluate when a missile needs to be destroyed. +-- +-- MISSILETRAINER will collect each unit declared in the mission with a skill level "Client" and "Player", and will monitor the missiles shot at those. +-- +-- MISSILETRAINER initialization methods: +-- ====================================== +-- A MISSILETRAINER object will behave differently based on the usage of initialization methods: +-- +-- * @{#MISSILETRAINER.InitMessagesOnOff}: Sets by default the display of any message to be ON or OFF. +-- * @{#MISSILETRAINER.InitTrackingToAll}: Sets by default the missile tracking report for all players or only for those missiles targetted to you. +-- * @{#MISSILETRAINER.InitTrackingOnOff}: Sets by default the display of missile tracking report to be ON or OFF. +-- * @{#MISSILETRAINER.InitTrackingFrequency}: Increases, decreases the missile tracking message display frequency with the provided time interval in seconds. +-- * @{#MISSILETRAINER.InitAlertsToAll}: Sets by default the display of alerts to be shown to all players or only to you. +-- * @{#MISSILETRAINER.InitAlertsHitsOnOff}: Sets by default the display of hit alerts ON or OFF. +-- * @{#MISSILETRAINER.InitAlertsLaunchesOnOff}: Sets by default the display of launch alerts ON or OFF. +-- * @{#MISSILETRAINER.InitRangeOnOff}: Sets by default the display of range information of missiles ON of OFF. +-- * @{#MISSILETRAINER.InitBearingOnOff}: Sets by default the display of bearing information of missiles ON of OFF. +-- * @{#MISSILETRAINER.InitMenusOnOff}: Allows to configure the options through the radio menu. +-- +-- @module MissileTrainer +-- @author FlightControl + + +Include.File( "Client" ) +Include.File( "Scheduler" ) + +--- The MISSILETRAINER class +-- @type MISSILETRAINER +-- @extends Base#BASE +MISSILETRAINER = { + ClassName = "MISSILETRAINER", +} + +--- Creates the main object which is handling missile tracking. +-- When a missile is fired a SCHEDULER is set off that follows the missile. When near a certain a client player, the missile will be destroyed. +-- @param #MISSILETRAINER self +-- @param #number Distance The distance in meters when a tracked missile needs to be destroyed when close to a player. +-- @param #string Briefing (Optional) Will show a text to the players when starting their mission. Can be used for briefing purposes. +-- @return #MISSILETRAINER +function MISSILETRAINER:New( Distance, Briefing ) + local self = BASE:Inherit( self, BASE:New() ) + self:F( Distance ) + + if Briefing then + self.Briefing = Briefing + end + + self.Schedulers = {} + self.SchedulerID = 0 + + self.MessageInterval = 2 + self.MessageLastTime = timer.getTime() + + self.Distance = Distance / 1000 + + _EVENTDISPATCHER:OnShot( self._EventShot, self ) + + self.DB = DATABASE:New():FilterStart() + self.DBClients = self.DB.Clients + self.DBUnits = self.DB.Units + + for ClientID, Client in pairs( self.DBClients ) do + + local function _Alive( Client ) + + if self.Briefing then + Client:Message( self.Briefing, 15, "HELLO WORLD", "Trainer" ) + end + + if self.MenusOnOff == true then + Client:Message( "Use the 'Radio Menu' -> 'Other (F10)' -> 'Missile Trainer' menu options to change the Missile Trainer settings (for all players).", 15, "MENU", "Trainer" ) + + Client.MainMenu = MENU_CLIENT:New( Client, "Missile Trainer", nil ) -- Menu#MENU_CLIENT + + Client.MenuMessages = MENU_CLIENT:New( Client, "Messages", Client.MainMenu ) + Client.MenuOn = MENU_CLIENT_COMMAND:New( Client, "Messages On", Client.MenuMessages, self._MenuMessages, { MenuSelf = self, MessagesOnOff = true } ) + Client.MenuOff = MENU_CLIENT_COMMAND:New( Client, "Messages Off", Client.MenuMessages, self._MenuMessages, { MenuSelf = self, MessagesOnOff = false } ) + + Client.MenuTracking = MENU_CLIENT:New( Client, "Tracking", Client.MainMenu ) + Client.MenuTrackingToAll = MENU_CLIENT_COMMAND:New( Client, "To All", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingToAll = true } ) + Client.MenuTrackingToTarget = MENU_CLIENT_COMMAND:New( Client, "To Target", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingToAll = false } ) + Client.MenuTrackOn = MENU_CLIENT_COMMAND:New( Client, "Tracking On", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingOnOff = true } ) + Client.MenuTrackOff = MENU_CLIENT_COMMAND:New( Client, "Tracking Off", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingOnOff = false } ) + Client.MenuTrackIncrease = MENU_CLIENT_COMMAND:New( Client, "Frequency Increase", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingFrequency = -1 } ) + Client.MenuTrackDecrease = MENU_CLIENT_COMMAND:New( Client, "Frequency Decrease", Client.MenuTracking, self._MenuMessages, { MenuSelf = self, TrackingFrequency = 1 } ) + + Client.MenuAlerts = MENU_CLIENT:New( Client, "Alerts", Client.MainMenu ) + Client.MenuAlertsToAll = MENU_CLIENT_COMMAND:New( Client, "To All", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsToAll = true } ) + Client.MenuAlertsToTarget = MENU_CLIENT_COMMAND:New( Client, "To Target", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsToAll = false } ) + Client.MenuHitsOn = MENU_CLIENT_COMMAND:New( Client, "Hits On", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsHitsOnOff = true } ) + Client.MenuHitsOff = MENU_CLIENT_COMMAND:New( Client, "Hits Off", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsHitsOnOff = false } ) + Client.MenuLaunchesOn = MENU_CLIENT_COMMAND:New( Client, "Launches On", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsLaunchesOnOff = true } ) + Client.MenuLaunchesOff = MENU_CLIENT_COMMAND:New( Client, "Launches Off", Client.MenuAlerts, self._MenuMessages, { MenuSelf = self, AlertsLaunchesOnOff = false } ) + + Client.MenuDetails = MENU_CLIENT:New( Client, "Details", Client.MainMenu ) + Client.MenuDetailsDistanceOn = MENU_CLIENT_COMMAND:New( Client, "Range On", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsRangeOnOff = true } ) + Client.MenuDetailsDistanceOff = MENU_CLIENT_COMMAND:New( Client, "Range Off", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsRangeOnOff = false } ) + Client.MenuDetailsBearingOn = MENU_CLIENT_COMMAND:New( Client, "Bearing On", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsBearingOnOff = true } ) + Client.MenuDetailsBearingOff = MENU_CLIENT_COMMAND:New( Client, "Bearing Off", Client.MenuDetails, self._MenuMessages, { MenuSelf = self, DetailsBearingOnOff = false } ) + + Client.MenuDistance = MENU_CLIENT:New( Client, "Set distance to plane", Client.MainMenu ) + Client.MenuDistance50 = MENU_CLIENT_COMMAND:New( Client, "50 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 50 / 1000 } ) + Client.MenuDistance100 = MENU_CLIENT_COMMAND:New( Client, "100 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 100 / 1000 } ) + Client.MenuDistance150 = MENU_CLIENT_COMMAND:New( Client, "150 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 150 / 1000 } ) + Client.MenuDistance200 = MENU_CLIENT_COMMAND:New( Client, "200 meter", Client.MenuDistance, self._MenuMessages, { MenuSelf = self, Distance = 200 / 1000 } ) + else + if Client.MainMenu then + Client.MainMenu:Remove() + end + end + + + local ClientID = Client:GetID() + self:T( ClientID ) + if not self.TrackingMissiles[ClientID] then + self.TrackingMissiles[ClientID] = {} + end + self.TrackingMissiles[ClientID].Client = Client + if not self.TrackingMissiles[ClientID].MissileData then + self.TrackingMissiles[ClientID].MissileData = {} + end + end + + Client:Alive( _Alive ) + + end + +-- self.DB:ForEachClient( +-- --- @param Client#CLIENT Client +-- function( Client ) +-- +-- ... actions ... +-- +-- end +-- ) + + self.MessagesOnOff = true + + self.TrackingToAll = false + self.TrackingOnOff = true + self.TrackingFrequency = 3 + + self.AlertsToAll = true + self.AlertsHitsOnOff = true + self.AlertsLaunchesOnOff = true + + self.DetailsRangeOnOff = true + self.DetailsBearingOnOff = true + + self.MenusOnOff = true + + self.TrackingMissiles = {} + + self.TrackingScheduler = SCHEDULER:New( self, self._TrackMissiles, {}, 0.5, 0.05, 0 ) + + return self +end + +-- Initialization methods. + + +--- Sets by default the display of any message to be ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean MessagesOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitMessagesOnOff( MessagesOnOff ) + self:F( MessagesOnOff ) + + self.MessagesOnOff = MessagesOnOff + if self.MessagesOnOff == true then + MESSAGE:New( "Messages ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Messages OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the missile tracking report for all players or only for those missiles targetted to you. +-- @param #MISSILETRAINER self +-- @param #boolean TrackingToAll true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitTrackingToAll( TrackingToAll ) + self:F( TrackingToAll ) + + self.TrackingToAll = TrackingToAll + if self.TrackingToAll == true then + MESSAGE:New( "Missile tracking to all players ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Missile tracking to all players OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the display of missile tracking report to be ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean TrackingOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitTrackingOnOff( TrackingOnOff ) + self:F( TrackingOnOff ) + + self.TrackingOnOff = TrackingOnOff + if self.TrackingOnOff == true then + MESSAGE:New( "Missile tracking ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Missile tracking OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Increases, decreases the missile tracking message display frequency with the provided time interval in seconds. +-- The default frequency is a 3 second interval, so the Tracking Frequency parameter specifies the increase or decrease from the default 3 seconds or the last frequency update. +-- @param #MISSILETRAINER self +-- @param #number TrackingFrequency Provide a negative or positive value in seconds to incraese or decrease the display frequency. +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitTrackingFrequency( TrackingFrequency ) + self:F( TrackingFrequency ) + + self.TrackingFrequency = self.TrackingFrequency + TrackingFrequency + if self.TrackingFrequency < 0.5 then + self.TrackingFrequency = 0.5 + end + if self.TrackingFrequency then + MESSAGE:New( "Missile tracking frequency is " .. self.TrackingFrequency .. " seconds.", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the display of alerts to be shown to all players or only to you. +-- @param #MISSILETRAINER self +-- @param #boolean AlertsToAll true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitAlertsToAll( AlertsToAll ) + self:F( AlertsToAll ) + + self.AlertsToAll = AlertsToAll + if self.AlertsToAll == true then + MESSAGE:New( "Alerts to all players ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Alerts to all players OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the display of hit alerts ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean AlertsHitsOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitAlertsHitsOnOff( AlertsHitsOnOff ) + self:F( AlertsHitsOnOff ) + + self.AlertsHitsOnOff = AlertsHitsOnOff + if self.AlertsHitsOnOff == true then + MESSAGE:New( "Alerts Hits ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Alerts Hits OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the display of launch alerts ON or OFF. +-- @param #MISSILETRAINER self +-- @param #boolean AlertsLaunchesOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitAlertsLaunchesOnOff( AlertsLaunchesOnOff ) + self:F( AlertsLaunchesOnOff ) + + self.AlertsLaunchesOnOff = AlertsLaunchesOnOff + if self.AlertsLaunchesOnOff == true then + MESSAGE:New( "Alerts Launches ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Alerts Launches OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the display of range information of missiles ON of OFF. +-- @param #MISSILETRAINER self +-- @param #boolean DetailsRangeOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitRangeOnOff( DetailsRangeOnOff ) + self:F( DetailsRangeOnOff ) + + self.DetailsRangeOnOff = DetailsRangeOnOff + if self.DetailsRangeOnOff == true then + MESSAGE:New( "Range display ON", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Range display OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Sets by default the display of bearing information of missiles ON of OFF. +-- @param #MISSILETRAINER self +-- @param #boolean DetailsBearingOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitBearingOnOff( DetailsBearingOnOff ) + self:F( DetailsBearingOnOff ) + + self.DetailsBearingOnOff = DetailsBearingOnOff + if self.DetailsBearingOnOff == true then + MESSAGE:New( "Bearing display OFF", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Bearing display OFF", "Menu", 15, "ID" ):ToAll() + end + + return self +end + +--- Enables / Disables the menus. +-- @param #MISSILETRAINER self +-- @param #boolean MenusOnOff true or false +-- @return #MISSILETRAINER self +function MISSILETRAINER:InitMenusOnOff( MenusOnOff ) + self:F( MenusOnOff ) + + self.MenusOnOff = MenusOnOff + if self.MenusOnOff == true then + MESSAGE:New( "Menus are ENABLED (only when a player rejoins a slot)", "Menu", 15, "ID" ):ToAll() + else + MESSAGE:New( "Menus are DISABLED", "Menu", 15, "ID" ):ToAll() + end + + return self +end + + +-- Menu functions + +function MISSILETRAINER._MenuMessages( MenuParameters ) + + local self = MenuParameters.MenuSelf + + if MenuParameters.MessagesOnOff ~= nil then + self:InitMessagesOnOff( MenuParameters.MessagesOnOff ) + end + + if MenuParameters.TrackingToAll ~= nil then + self:InitTrackingToAll( MenuParameters.TrackingToAll ) + end + + if MenuParameters.TrackingOnOff ~= nil then + self:InitTrackingOnOff( MenuParameters.TrackingOnOff ) + end + + if MenuParameters.TrackingFrequency ~= nil then + self:InitTrackingFrequency( MenuParameters.TrackingFrequency ) + end + + if MenuParameters.AlertsToAll ~= nil then + self:InitAlertsToAll( MenuParameters.AlertsToAll ) + end + + if MenuParameters.AlertsHitsOnOff ~= nil then + self:InitAlertsHitsOnOff( MenuParameters.AlertsHitsOnOff ) + end + + if MenuParameters.AlertsLaunchesOnOff ~= nil then + self:InitAlertsLaunchesOnOff( MenuParameters.AlertsLaunchesOnOff ) + end + + if MenuParameters.DetailsRangeOnOff ~= nil then + self:InitRangeOnOff( MenuParameters.DetailsRangeOnOff ) + end + + if MenuParameters.DetailsBearingOnOff ~= nil then + self:InitBearingOnOff( MenuParameters.DetailsBearingOnOff ) + end + + if MenuParameters.Distance ~= nil then + self.Distance = MenuParameters.Distance + MESSAGE:New( "Hit detection distance set to " .. self.Distance .. " meters", "Menu", 15, "ID" ):ToAll() + end + +end + +--- Detects if an SA site was shot with an anti radiation missile. In this case, take evasive actions based on the skill level set within the ME. +-- @param #MISSILETRAINER self +-- @param Event#EVENTDATA Event +function MISSILETRAINER:_EventShot( Event ) + self:F( { Event } ) + + local TrainerSourceDCSUnit = Event.IniDCSUnit + local TrainerSourceDCSUnitName = Event.IniDCSUnitName + local TrainerWeapon = Event.Weapon -- Identify the weapon fired + local TrainerWeaponName = Event.WeaponName -- return weapon type + + self:T( "Missile Launched = " .. TrainerWeaponName ) + + local TrainerTargetDCSUnit = TrainerWeapon:getTarget() -- Identify target + local TrainerTargetDCSUnitName = Unit.getName( TrainerTargetDCSUnit ) + local TrainerTargetSkill = _DATABASE.Templates.Units[TrainerTargetDCSUnitName].Template.skill + + self:T(TrainerTargetDCSUnitName ) + + local Client = self.DBClients[TrainerTargetDCSUnitName] + if Client then + + local TrainerSourceUnit = UNIT:Find( TrainerSourceDCSUnit ) + local TrainerTargetUnit = UNIT:Find( TrainerTargetDCSUnit ) + + if self.MessagesOnOff == true and self.AlertsLaunchesOnOff == true then + + local Message = MESSAGE:New( + string.format( "%s launched a %s", + TrainerSourceUnit:GetTypeName(), + TrainerWeaponName + ) .. self:_AddRange( Client, TrainerWeapon ) .. self:_AddBearing( Client, TrainerWeapon ),"Launch Alert", 5, "ID" ) + + if self.AlertsToAll then + Message:ToAll() + else + Message:ToClient( Client ) + end + end + + local ClientID = Client:GetID() + local MissileData = {} + MissileData.TrainerSourceUnit = TrainerSourceUnit + MissileData.TrainerWeapon = TrainerWeapon + MissileData.TrainerTargetUnit = TrainerTargetUnit + MissileData.TrainerWeaponTypeName = TrainerWeapon:getTypeName() + MissileData.TrainerWeaponLaunched = true + table.insert( self.TrackingMissiles[ClientID].MissileData, MissileData ) + --self:T( self.TrackingMissiles ) + end +end + +function MISSILETRAINER:_AddRange( Client, TrainerWeapon ) + + local RangeText = "" + + if self.DetailsRangeOnOff then + + local PositionMissile = TrainerWeapon:getPoint() + local PositionTarget = Client:GetPointVec3() + + local Range = ( ( PositionMissile.x - PositionTarget.x )^2 + + ( PositionMissile.y - PositionTarget.y )^2 + + ( PositionMissile.z - PositionTarget.z )^2 + ) ^ 0.5 / 1000 + + RangeText = string.format( ", at %4.2fkm", Range ) + end + + return RangeText +end + +function MISSILETRAINER:_AddBearing( Client, TrainerWeapon ) + + local BearingText = "" + + if self.DetailsBearingOnOff then + + local PositionMissile = TrainerWeapon:getPoint() + local PositionTarget = Client:GetPointVec3() + + self:T2( { PositionTarget, PositionMissile }) + + local DirectionVector = { x = PositionMissile.x - PositionTarget.x, y = PositionMissile.y - PositionTarget.y, z = PositionMissile.z - PositionTarget.z } + local DirectionRadians = math.atan2( DirectionVector.z, DirectionVector.x ) + --DirectionRadians = DirectionRadians + routines.getNorthCorrection( PositionTarget ) + if DirectionRadians < 0 then + DirectionRadians = DirectionRadians + 2 * math.pi + end + local DirectionDegrees = DirectionRadians * 180 / math.pi + + BearingText = string.format( ", %d degrees", DirectionDegrees ) + end + + return BearingText +end + + +function MISSILETRAINER:_TrackMissiles() + self:F2() + + + local ShowMessages = false + if self.MessagesOnOff and self.MessageLastTime + self.TrackingFrequency <= timer.getTime() then + self.MessageLastTime = timer.getTime() + ShowMessages = true + end + + -- ALERTS PART + + -- Loop for all Player Clients to check the alerts and deletion of missiles. + for ClientDataID, ClientData in pairs( self.TrackingMissiles ) do + + local Client = ClientData.Client + self:T2( { Client:GetName() } ) + + for MissileDataID, MissileData in pairs( ClientData.MissileData ) do + self:T3( MissileDataID ) + + local TrainerSourceUnit = MissileData.TrainerSourceUnit + local TrainerWeapon = MissileData.TrainerWeapon + local TrainerTargetUnit = MissileData.TrainerTargetUnit + local TrainerWeaponTypeName = MissileData.TrainerWeaponTypeName + local TrainerWeaponLaunched = MissileData.TrainerWeaponLaunched + + if Client and Client:IsAlive() and TrainerSourceUnit and TrainerSourceUnit:IsAlive() and TrainerWeapon and TrainerWeapon:isExist() and TrainerTargetUnit and TrainerTargetUnit:IsAlive() then + local PositionMissile = TrainerWeapon:getPosition().p + local PositionTarget = Client:GetPointVec3() + + local Distance = ( ( PositionMissile.x - PositionTarget.x )^2 + + ( PositionMissile.y - PositionTarget.y )^2 + + ( PositionMissile.z - PositionTarget.z )^2 + ) ^ 0.5 / 1000 + + if Distance <= self.Distance then + -- Hit alert + TrainerWeapon:destroy() + if self.MessagesOnOff == true and self.AlertsHitsOnOff == true then + + self:T( "killed" ) + + local Message = MESSAGE:New( + string.format( "%s launched by %s killed %s", + TrainerWeapon:getTypeName(), + TrainerSourceUnit:GetTypeName(), + TrainerTargetUnit:GetPlayerName() + ),"Hit Alert", 15, "ID" ) + + if self.AlertsToAll == true then + Message:ToAll() + else + Message:ToClient( Client ) + end + + MissileData = nil + table.remove( ClientData.MissileData, MissileDataID ) + self:T(ClientData.MissileData) + end + end + else + if not ( TrainerWeapon and TrainerWeapon:isExist() ) then + if self.MessagesOnOff == true and self.AlertsLaunchesOnOff == true then + -- Weapon does not exist anymore. Delete from Table + local Message = MESSAGE:New( + string.format( "%s launched by %s self destructed!", + TrainerWeaponTypeName, + TrainerSourceUnit:GetTypeName() + ),"Tracking", 5, "ID" ) + + if self.AlertsToAll == true then + Message:ToAll() + else + Message:ToClient( Client ) + end + end + MissileData = nil + table.remove( ClientData.MissileData, MissileDataID ) + self:T( ClientData.MissileData ) + end + end + end + end + + if ShowMessages == true and self.MessagesOnOff == true and self.TrackingOnOff == true then -- Only do this when tracking information needs to be displayed. + + -- TRACKING PART + + -- For the current client, the missile range and bearing details are displayed To the Player Client. + -- For the other clients, the missile range and bearing details are displayed To the other Player Clients. + -- To achieve this, a cross loop is done for each Player Client <-> Other Player Client missile information. + + -- Main Player Client loop + for ClientDataID, ClientData in pairs( self.TrackingMissiles ) do + + local Client = ClientData.Client + self:T2( { Client:GetName() } ) + + + ClientData.MessageToClient = "" + ClientData.MessageToAll = "" + + -- Other Players Client loop + for TrackingDataID, TrackingData in pairs( self.TrackingMissiles ) do + + for MissileDataID, MissileData in pairs( TrackingData.MissileData ) do + self:T3( MissileDataID ) + + local TrainerSourceUnit = MissileData.TrainerSourceUnit + local TrainerWeapon = MissileData.TrainerWeapon + local TrainerTargetUnit = MissileData.TrainerTargetUnit + local TrainerWeaponTypeName = MissileData.TrainerWeaponTypeName + local TrainerWeaponLaunched = MissileData.TrainerWeaponLaunched + + if Client and Client:IsAlive() and TrainerSourceUnit and TrainerSourceUnit:IsAlive() and TrainerWeapon and TrainerWeapon:isExist() and TrainerTargetUnit and TrainerTargetUnit:IsAlive() then + + if ShowMessages == true then + local TrackingTo + TrackingTo = string.format( " -> %s", + TrainerWeaponTypeName + ) + + if ClientDataID == TrackingDataID then + if ClientData.MessageToClient == "" then + ClientData.MessageToClient = "Missiles to You:\n" + end + ClientData.MessageToClient = ClientData.MessageToClient .. TrackingTo .. self:_AddRange( ClientData.Client, TrainerWeapon ) .. self:_AddBearing( ClientData.Client, TrainerWeapon ) .. "\n" + else + if self.TrackingToAll == true then + if ClientData.MessageToAll == "" then + ClientData.MessageToAll = "Missiles to other Players:\n" + end + ClientData.MessageToAll = ClientData.MessageToAll .. TrackingTo .. self:_AddRange( ClientData.Client, TrainerWeapon ) .. self:_AddBearing( ClientData.Client, TrainerWeapon ) .. " ( " .. TrainerTargetUnit:GetPlayerName() .. " )\n" + end + end + end + end + end + end + + -- Once the Player Client and the Other Player Client tracking messages are prepared, show them. + if ClientData.MessageToClient ~= "" or ClientData.MessageToAll ~= "" then + local Message = MESSAGE:New( ClientData.MessageToClient .. ClientData.MessageToAll, "Tracking", 1, "ID" ):ToClient( Client ) + end + end + end + + return true +end +env.info( '*** MOOSE INCLUDE END *** ' ) diff --git a/Moose Mission Setup/Moose_Create.bat b/Moose Mission Setup/Moose_Create.bat new file mode 100644 index 000000000..3d0fbc9b6 --- /dev/null +++ b/Moose Mission Setup/Moose_Create.bat @@ -0,0 +1,78 @@ +ECHO OFF + +REM Create Moose.lua File + +ECHO Path to Moose *.lua files: %1 +ECHO Current Date: %2 +ECHO Path to Update Missions: %3 +ECHO Dynamic or Static: %4 + +DEL Moose.lua + +IF %4 == D GOTO Dynamic +IF %4 == S GOTO Static + +GOTO End + +:Dynamic + +ECHO Dynamic Moose.lua + +REM Create a timestamp with is logged in the DCS.log file. +ECHO env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) > Moose.lua +ECHO env.info( 'Moose Generation Timestamp: %2' ) >> Moose.lua + +COPY /b Moose.lua + "Moose Create Dynamic\Moose_Dynamic_Loader.lua" Moose.lua + +GOTO End + +:Static + +ECHO Static Moose.lua + +REM Create a timestamp with is logged in the DCS.log file. +ECHO env.info( '*** MOOSE STATIC INCLUDE START *** ' ) > Moose.lua +ECHO env.info( 'Moose Generation Timestamp: %2' ) >> Moose.lua + +COPY /b Moose.lua + "Moose Create Static\Moose_Static_Loader.lua" Moose.lua + + +COPY /b Moose.lua + %1\Routines.lua Moose.lua +COPY /b Moose.lua + %1\Base.lua Moose.lua +COPY /b Moose.lua + %1\Event.lua Moose.lua +COPY /b Moose.lua + %1\Menu.lua Moose.lua +COPY /b Moose.lua + %1\Group.lua Moose.lua +COPY /b Moose.lua + %1\Unit.lua Moose.lua +COPY /b Moose.lua + %1\Zone.lua Moose.lua +COPY /b Moose.lua + %1\Client.lua Moose.lua +COPY /b Moose.lua + %1\Database.lua Moose.lua +COPY /b Moose.lua + %1\Moose.lua Moose.lua +COPY /b Moose.lua + %1\Scheduler.lua Moose.lua +COPY /b Moose.lua + %1\Scoring.lua Moose.lua +COPY /b Moose.lua + %1\Cargo.lua Moose.lua +COPY /b Moose.lua + %1\Message.lua Moose.lua +COPY /b Moose.lua + %1\Stage.lua Moose.lua +COPY /b Moose.lua + %1\Task.lua Moose.lua +COPY /b Moose.lua + %1\GoHomeTask.lua Moose.lua +COPY /b Moose.lua + %1\DestroyBaseTask.lua Moose.lua +COPY /b Moose.lua + %1\DestroyGroupsTask.lua Moose.lua +COPY /b Moose.lua + %1\DestroyRadarsTask.lua Moose.lua +COPY /b Moose.lua + %1\DestroyUnitTypesTask.lua Moose.lua +COPY /b Moose.lua + %1\PickupTask.lua Moose.lua +COPY /b Moose.lua + %1\DeployTask.lua Moose.lua +COPY /b Moose.lua + %1\NoTask.lua Moose.lua +COPY /b Moose.lua + %1\RouteTask.lua Moose.lua +COPY /b Moose.lua + %1\Mission.lua Moose.lua +COPY /b Moose.lua + %1\CleanUp.lua Moose.lua +COPY /b Moose.lua + %1\Spawn.lua Moose.lua +COPY /b Moose.lua + %1\Movement.lua Moose.lua +COPY /b Moose.lua + %1\Sead.lua Moose.lua +COPY /b Moose.lua + %1\Escort.lua Moose.lua +COPY /b Moose.lua + %1\MissileTrainer.lua Moose.lua + +GOTO End + +:End + +ECHO env.info( '*** MOOSE INCLUDE END *** ' ) >> Moose.lua +COPY Moose.lua %3 diff --git a/Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.lua b/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.lua similarity index 100% rename from Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.lua rename to Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.lua diff --git a/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz b/Moose Test Missions/Moose_Test_CLEANUP/Moose_Test_CLEANUP.miz new file mode 100644 index 0000000000000000000000000000000000000000..bda69f916c35448241e09fa0f5fde3328079d969 GIT binary patch literal 199792 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℘uFG`PJxvIygaL@0KNVK$kXt&yN1uLRS1AMe}|) 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�w`N3(fktyn{&8gyY+bme$7ql291IZE1*4))ppbq*Ci|q;hwKIn=D|pVo!}?= z^CwR!(=)9swAnH1D&>sUjV;LsD|#juK8sd__vCX0M&505(BX$#^k9?)pSf&PRtc*5 z2*sH+ckoxpjuuz&d;X`DtiOEIt9po3Y>!+3w;gJ3-B+Q#MQVp)@R6ih6z>j&eE%^=9`W2fPgX$k1Ly9X~$=&O|_P@1liC zXhI4P>A4%Bk!}$j(LW6sW#CO~_-P`F{Px|G{8~5)ZkPPC#`-Sgn2YDXazj-E-p5K% zbT#6Z9Yz@iUCS-PwvR|`d#{=5%Tp7pA1Ki2=H~7{ zH>Uj4^f=dVNVB9M(+Xyap57g2ZV(sE5*rJlhC-HNd}oOoQ%G%L3CZU}(+8 zs~h~Nr};?!UFNn<*ZPE*N%9S6R2@ZC#bUwNwtVD9=PKl)(yW4VbpxZ0iG^bw2Fu1Z zD2!HCPjT~;_#J73A)iuIXR6a8a%mI^;oO5p=vR)*wpL%fyglzS;l52)iQtQ`Ld_P6 zrL<=GAcm>)V!m-HpDH2iM6&I;?jBZ+zXRHL=SuK)a(zv-svHH&Ang25yHNY~_M}d# zQ*@WqG6MYe&onwQ&SWiwV4)u|{^BuniedQVZ47D}Y#o}uTq$1yQ#SC>pa}(OF{1!3 zLpou2ybr#z51d(+tC!1yXDt}#-mKV-Q$35;DZH#vQpos^_#C#}$n%s7?f`t| z0v0mJcGL>x$z0fFZw{&*uc0C2IEAm!K%_!WCWvgd5M0#sET_+Ge3#ch zw;Oo0p&itvP7#~md^Nkl4-5Fq>*WzU$K|@N)3uV0U$;NbHA^NuuVk9bu|KKDnx&9w z7(JitRa4LEne}-(tu3HuF?n+-vk6bZ5+E!~&p@a}uvu#az?W-C%{CvlMHSQbgIhnBnP9=B0tDBn{2Y(y>A+ePy`>X|3Fd|A z8vT_=;BAD==4B)eeiyYZ+nuv=N6>NWrX(!|j)RtXT4SoZCzg(h%Or1@6i43OQTOm3 z8JWh{I5qVc)2aM*+1EJ=ZW>&m3O_1pt4Xv{fIP~`P~;B%7@A(IfifaTg4FleFf2~m z*dFtGrNH`n^8i7TCctw+)OhzQSmtHr^1?zEfMKJczRIV@_dTge;TBII)TE6%*NeP* z-R1q(BM|6ELA8WTr%U)8aTh-f30`) zW<1S(^kSrS$>Jb%;zk5}IMl62D&>5$j0FUj36Y4YS%F&;O4dPa26snTp482)DPBwE zL7uMfKdZ`yA30CkL~ACY6_H5{JjwL3%Op277YrRewi6#K@4CoaIdas7(cU@NFI2^o zt^^8^79FA`>#A&+;N!ehjP&6-DO=jyYJ#`#8_VPh!ebnnzH}BAkti3*<_6yiIna2( z&wa}ai%N9A;J?s@ZABd65!;ab@%Yx-$a3yyQ7G&U1$Gb{O9XKs!~9^0!m2R7%%Uz>6`#mKDU3b~Lqi zXqkapK_Qb>w@DuxV?;Dy&~G`zQ0DfK6c|WAt(z+kP%6A~kQd2W*FW+vRBWqRUZ40^ z(s#TmUn-AAc;Ypu@lkNUB-l*-h;!FMw8vn=UFd0L&N(4WW2PdZcDr&LztGT&OLEQs zBdD$|8}4ZAc*2g;M-Q3i^@io3J) zBB(usL>eI9hKuQlrdq59bBh4hKIn{gY#mQR>XLj^w!1IVj7&2hr5cpdGV{Vo4N>IXZ;HPQK310K2MA(deo3LYGOpU*asLHPq_$durI-P3YmdDE zB>1Z+ebVCII#qM_CaWp+CFa0v4|CZxcSens^!9rn$V$$kcHR&zdRwX5NzC⁡fqB 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 S0O)@FfTNF?Ai&o;!2bh!#0nz- literal 0 HcmV?d00001 diff --git a/Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.lua b/Moose Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.lua similarity index 100% rename from Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.lua rename to Moose Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.lua diff --git a/Moose Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.miz b/Moose Test Missions/Moose_Test_DATABASE/Moose_Test_DATABASE.miz new file mode 100644 index 0000000000000000000000000000000000000000..ad423b32685247f1ce57169977294765c6bd5b0a GIT binary patch literal 129286 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

+?!3K7110Gje__BRXhVtK?vEq^5|}O} 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 JZvRT^{{Wq#lr{hW literal 0 HcmV?d00001 diff --git a/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz b/Moose Test Missions/Moose_Test_DESTROY/MOOSE_Test_DESTROY.miz new file mode 100644 index 0000000000000000000000000000000000000000..f011df134b3e2e9bb044dd0551adf8380ad125d8 GIT binary patch literal 134976 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 B@=*W) literal 0 HcmV?d00001 diff --git a/Test Missions/Moose_Test_DESTROY/Moose_Test_DESTROY.lua b/Moose Test Missions/Moose_Test_DESTROY/Moose_Test_DESTROY.lua similarity index 100% rename from Test Missions/Moose_Test_DESTROY/Moose_Test_DESTROY.lua rename to Moose Test Missions/Moose_Test_DESTROY/Moose_Test_DESTROY.lua diff --git a/Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.lua b/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.lua similarity index 100% rename from Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.lua rename to Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.lua diff --git a/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz b/Moose Test Missions/Moose_Test_ESCORT/MOOSE_Test_ESCORT.miz new file mode 100644 index 0000000000000000000000000000000000000000..0b97042aa556e7e761cc3213f64048b30bfe4235 GIT binary patch literal 160623 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

;v$tq69 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²>kHPXv=G3=YFNN%cMq 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 z z{S4OTEO6tB>#?)SNPT&rNs2u9z1!0+9nD zw$N`vFC2x%oPL*8R$YVa%8Jgs=gZj){N-3^RgUR-8@g1wBT?hmf4CK*$c+J{Xw*zy zFw9oPr2V>FobP$_88;5TR#GT;XUs~11gg7w0TX$jyWUEDuvK$p&mnVGWM$vbN)o8V zF^jQRvztjhcn~M_VMmL68p5R}E9=(Llf>3b*@lfg}Q& z(9NewRn~Z<#c?fa-r@Z{!!!5R@e8VAhv()XmKaWtZG)t_)Zk8{8WmCt{;n<8ynA$a z&HSjVnX8&t{Is@(az(=mb!`dD6A8u;lpT%QLMeP+afC)5MCf?OFJx;O9c7y#VqmIV6yc>=)4YLv9(laE#>8B4y9vXY39fHW3lxw zg4@o+iirB7MU5lXxFwk%uI51uPr$SQm6vCeaX#WsDYIYb<%vt&tFujy*+Qiewk%${dqCU63(P8e5GMQ8L^KSEy=&dX;nD};!c{AcAb{<;7#;0#4n~HoZo?B# zy4-xvYegJ(a7r*K8&@=;p@>`kQR+sD1Sx&TT~*PV~qM>{_~ zduvAlN@s!;jf3#GuNcoT9Bcc|Fig!3v^hOov{L` zvVoll&y?svKR469{f^|;L2G*w8Rxb>L>Zl3h;pg(^engizT@@}0fGO$rvFH<@FmuC z1P8{QK}toP0shn4?IdBiz(|OcUt*g>1hTc-Rbz!Vh=iTNRzJjdb)o~`+J3o*2+8=^V|dyT5f5l_vaA7F-}OJ$@*JH)BMg7H z8K}quV9anP4*toBVH8hJNe}0RQ*P<1?z-FgVQqczEX-J!k}j^aPXQ+?McA%8ssKxm zRY@%fI?ncmG3_BUwJ_Pe0jIjw`9Z{bS0WYvifsy3j(^+a@q?0Rc%-~WgwR&le&&Ey zv{P7CRX#y?<_dO8fMuDBY&4%>$Cxn>?PZjDQI&XCKTQV+sUc?;5)qe5f%h@N9!z&{OP~#6wc(WxsZqP=N*cP-x5n7?aq zMu+9?n*T#E@C{a4?<^!rJHco^U0U1sczr{)By#={YS~xpohtbOvJoZ&f4^SNi`gcs z2gUko)}gzH;S=VR65qR(Yb+VAm28>l8Un)eJ7awDh3~GoKq!28vHlVaRHL6Y>wUQH z=<%)k&?cZKNPNG>-)7~QK0YK##euNq(MF4DUI-hw3ba=_#)_^4L%1jAB#*lbrgDNT z6(uH0$yY4AS>k-RpM75zWXyCts^woYKc*UG8XN{FbFiYXifRWVVa|!(popV}|6&w@ zXpe$ZpU2n&?*heYPXY#hZen_kP8(wi>Cs$!s8xb`U_b@Qo|Hh6Am{h0$HLK0p1ZjC z%<_=!eE69_)pdj$zL(JRA%&3!#{gj&F$`k(D7QVlJx5=qg1hR~6-w5{V!q%ci)k}+ zdU3C~Bv@!pdDTD}GL^6jSA|F6b5j0kyda*72T1VNhq<5LzyFH-F}vOCr5jr$vNSKe zKt1_|7tn+&y98GAA82)uQe|@@Y;>S#-~YpxvQ0*wq(c3MCdv=9+ET&9y36YMf+l}TvzeVSzRgZXboRnB2H+5LGPn~2j# zsl>O5@wmOnNtvC`aRorXrqO0Oo{GEk1i$yrb1pw(j~xOWw|A<1x?>otB;wt{9f}gg z;UZi`yOc`{yB$B+%fk`&2$E6BdAbK0^pBLXad+m~Z^m+T|9#GlS*@y;^_gc?3Run= z*u4WZcctUqbObEs(}aG+Ty8-Y^4L|%yaSlkyj$InGfM}wNVEk0%s^N2{0d!ReHEa7 z1CgHX;P(z9cK}yFsJ}>3v10t6_Ys1_O@cZtX1RG(EX-wD<%IsF{CB(oik<8_ z9b7wQ?Xa|{GD-+to=-3iN4>nFr!b4f##Nl{{2n*+_sua~6Q=u{BlsgGJ>3=-6eSP&e`swIp3>D;iepn{DL-g z-dSa0&IFt7^aIPBjqKOqbc6^35{hYij}{Qsr?JYPmo@Z{>=%kcyR33SBAkT#uIGr0 z4Y_>A9F>Y#Z1y~&bX!>GY82z=+K{|w?(f=nGF%th zsoiji0dKmy4br)6sWavqDh*iF(T~_Dw7lL3N4wfeL}heAbp$_ z^Owjqn=Q_7Fi)9sYcySAT-Q4X3w&fwq5j@2Yt9I-;^ z=BBlYsfVq{LQ-JU@iD})@c`|M_ng}IoY^zlb!(2!^@em?<&GqI+UIZOioD-y*lzbc zhyQaQ1DB!t6v!b87oTxr>^x(O+Xpq{%OM=+B^B2u(Wn@ShltOiXR$O#U6?M(V(&pfCfEor#!Y9n!zlmt}`s7 z#Tq9dnF?umBA~@D0d+dX?;Znr!b%eQF%$V5_u{^ZR zsI|N#nOUq$wsM#9x5-(=x28+s;JB(s5kOmql3SaMKlzX7LfpKQ$ma}5Rh;qDimKRjtj}Oq-8;>kh^^%!CQXfA_6lDEke8Pq9vvZ7 z{K(dpBC@(>tPZm3;}VzEG_Txo`ZS-+fSbI!Dd68rJTS;WKDcmB&3-xG!86z8t8(h)uZA4ef=XMeZWLw*5r2iqEvhS{qgFX^3+mUq`UNc{=Dtk#-;oL}Xc1CU3J zS^z;`%FE&p>Wd#{$bt6y$}6c(Or9`E%w5CBtI487H#J$&`Xp*=(%!P9tsO~7wb|V$ zK&E$2{)e>UX&ja%rU}~ANb!)0GJ%yef$nSv6zk6P<%70jiSW}cMA|vfjM?!Qd&k<` zMh*NNX7~@nOeZ$E9O3yP5Ew&4>mekaBv78ixbY=5O?<)U0AU7xJNuAsrQ17OXFG&P zfl{BeyIQSQD`~Zo>Vfv^k==DG5%@cmWl^2r6)zeDInk+(kA=933$LZCrTbZXK47rG z4yrBFxv*hs-**b<9|YIz-L38G<@ic~(F?YM8)EV_FP-6}>=_0r_k=uG+G5tlv~qwh-eh%iIrE$wx?4(9 zhFI7@zg^?--IaRwd~s{JRpl8*Sw~14{)L((p`3e8W!J{#I{2B4^qe?kjm=>xe9kmL z#Qt>8He!-Pk)JMCFJ!m_F>DvlFzG%B3fEPsh@jq-`*5$?_qH@*FLXOtB8BZzrCci~ zJ<2YZgc$y#;Iw&^yTuQ%oqdegjZddbr0jBkKji~@HD1L}@e z&NE0P@Oj2ajxi|PDNE9(rl__63tr1xkBE>4mEvOC*jG@OrzOYP4ep}z+WNT*GQdk(__<_vtPCS-GI?~Q7+)dYILGRi_b3Pl zV~_U8zRW(92YfEUPYZAZt0!$+J#cdM3D z5Y5awo}ULU8kP?05kKSfQ;zM=$H(vz;O2E8msr0FMRzXYxLZMM0Uf81+hR5r&o8Ox#E0oJQNAErv^9XXyR~X`d8`#8hX=lsgHFd`W zhyEx7MgS&tzmu0E#^+K18A@-xQfBOxFfz&X&Z%|!)DGMNR~U==%$*UP<>j3`b;h)# zriu6bDn$+UWA%yyqzDdTh0}<^$O|0TlMdIq>5u$eg*96aedJy^H+YOLG4BPJI-^2m zX!2_pc7`wJ*S(dMe>xnEb8`jQDMSj;m^eJcIMH&PJ|>9mkIZLp?KJn$=KiB~ION#K zJMY*VzWf9qiDxz6w0&jM2wea2lF$o_V4sn%AY}&N-0QYhn*NLONh$H;3|-WO11NsG zqqsEvO?Y1wwyEuyMtDHjqf$$nSrF>YXWv)>=x*3@#DtPE?*)YByVQ>!9_^aL49CO45X8HIW+@&90>*)u-5LVmDN*z*jG1WgR=UQ*>}JaG=O#L zo?E~H2nX+V+&HIi%W84oT+NkPaFk!z;>!ZVZ)8wXypqcI*?_=$F5QxQ=bGhPA&ZOZ zb=-FMBV60TWqk%C4Q&()6}^yyb7k z;l?~2PVJ3da>s(7Lo@68Ebj)dPNx>HF_*>Mm|ZqheZevt)wvur)X1o{yMx(t07pOlN|5E#QDQTK0{|tIr_@sPK1#+H#o!f zXy^=nmlIx7m#W~Ul@vUrYIu>lLXa$tB`OpmNshvaP~3o@9~6a!%1ij7x+)|t5NHyJ zE72@+l6)!_l28IovRcRJb}KHVZ~FERPDJDAoe@F zoryRf7WP2=5LkChYmCmAcwf%z_AG;x%zGyA$G-hOXI{>|P}SZgR5;g%~M;ldlA3_Qzqa?*dqJ|=g|yV<1eTNy9$tFvi`CVb?4 zI)>JQ@s8m1l!4$)m$QWtPVP~1t3KRR86rq~KSgS6`mWhV`pb}1Y;{s&xZ|DXv*G1# zl`!XR*Qi)hA=Ck{P+~f7KG{F)ADn)pwBaENEj!Md zN?oGM65hHx>;#N!c6C49l`5h-E2Zw5);*Q*{)T>vbH@EU?WI%#^-<8Se`pV#jN)(p zx5Kyhs-_uwUQ%(A@-w+L4$BDFm2(40Dwfys?S|-g8yHZUZs7|FLK#=}Avh&zKv}4i zc%?5u!McVFDNDK{Pfe;>*Iolz{RFBi>J;iss8&HqvcOSSzJ4d9VKPjfr*bhdz}M?> z$I)GR;CAfKAdbN9ukyNZjBQr8HZwA7(Q5+yz zu{cN@G@-75iaoqqS=y4*La5BG%6CGZ>mP%MHJgKomSAC>p=_HRC!@z~@5b_ zGVkrgQ!F`&AT6*oomyrx#i33k*^lC_d;-=^syLzkU?)X+6Bz~V&oMe(%M)R@kb%s^ z$jZu{6e%=-vEc3+x#0)`u+mNvlpKD(?SIKC=hLJ9!QgaobXXCn0DDuXn2A$K&|Bls zBImuGWWE{`f#sViQC`Hkm@;{t%N7rsf$U0N7wSR{OJT_k1HS3iPvaIE6`4lR&j^f0 zGZcd>^CJH<0+Zd^!JH&wK2qACk6=2^_g=@C$cl~s(7Z*cOIes*^R$0_2o3t08JwHj z{Duxojwcu@om14}cxFC3?w=kHJ{>%y3syN!Z)j|Hut6iwA!w0;cZL)57IY1yRbFTM z>CuX*#K=8~LgOd~ZvhSph3pc5H&3r$hkct_utjx8Q(zw`-GdlCk z#ydM}wi_``w0NwrkUUc8uF_JO-V2q9<0yhxtx-2{!2>&*YR#jub|3P4Dp>c{DrU6^ zqkKh?5|}g3RgZBoS3_*0>K1+r+qZS=O527K*U<{c<v`$zisGh-SVb%V*rK)t&0VUhEUTq4ZQ)pxb~fPo z5Q2Fy=Jz@I2J;yX7DQ6Q_!-xI334jlKq{V-`KO*RI+xnpJEc$Uw14t>g)Qmv(ke|e zKt%ts%G&Nlaq|o!3(aO?Hh+X@MDnT;g{0EAWDZnsNgP?m=AftR9Fp*?@D;?rj=`t| zq4G3HPsgy^FTu-}$O22lRwlx-)LWC)0vl>V8|ImjHZFSlTcbpE`c~k!sAa}MzYnz0 z`FOpr(S002{c%sL|KcT(rO~Djw0axwv3s@Z?}_(&9Q!JjgmjCq;V>-M09Q!#`c@rzu=8 zFcND%(jh}luihIKGV#Ou!j@f7YJ3%K)ykzNC(FL<+tTWu!KRXU_}ZT^zp4KAna9)ds-E3!*t1maDoVH5-klXcXbWtD^V<3qkcMS}$j<JJ(j7r3rD-)yA6g5y?SmbA4O~6yDw0+LmWei-%1C~j1sLY| z;^a}kmzW)WR!O_Hbg_S;4UulE#2d0|=ZpqXd3aD134)B5l;3Q}=qwx?vb!;39V}oO z8xYz#q_PG>hh&zwbb`ICsX_|twpGlP{8l)axF&POWd&avQ_52sI8O^}ESNECvtd|5 z09DruRGKnlT(^IQC2L~(K5QA5yR0!IT()M4W?OSsPGLW#vnVXjaV8c{nHF^(1#7Vr zRwA~DD6pEwG275KUHD^9(Db00G>6GNuCc|UwM>y&+`tXhS+>oE?~)R0KwP2iltKdf zIvow=vh{L7#}Ko*4?-Z_N3+ql0HLj~79EBX`b1MdOYlAB)rsynrc%loOmpTu~oq7CCqM^%iP-M6C(8@(jh)Q&-gkSAEzs&P#*OmI_JMZu8 z^m?{{$rs~EOZ@kD@cmCN`HlC1l%s_Z?PviZO9z>PFJ_0Rh7w?~H0|tm(iEZGZz{Cz z(D)H})8v&Z_kyFD(KBu+bN1=c3mSRu?&<3(<+(yO5p>(ia6EyZVL#Om8K#|Z6cf7KU-p6QDUhgpxRz+rB_Wd>DP|Kl z|E4E1@jWkW|HSK3{EBP=`N+Xdk&V)nS+ES~H|6yGGh$M~zLzn-?Tn}>ka~Jk$SEwR zX^b?(AB@EOG~-a~6VmW1znRPsjV*5ZhG;W#pHWU-G2C*s@SzS9$_;$P)=$u7U3BW- zeHqdq+O>pqk7GLaqdl2G=&|TQC)5o+qwE;;25Bros7@N~$yB7F(c8adsV>nebv^M^ zIPoSJU}740ZU1A-Q_JA}cb8VG^#{HaFE3>;hzWUyzee$l=tjP;jMH%Bwq3ts5nP zLLq7pV4!{@RbR{SL)DuSwmzqxdgGE3O+__~Gba$_iIwbz*ubdYgH zqeYEKm>QomLi~t@O3h5#wlta~lctpiu=yWIciEc>{-tqba=H*_)0A!?K@c3y*5!m- zVrFqUoG4SWc$^xgY=dK!qfI%;U|Zfm4v{#lH0|ocIPL1gIPL1gII;Dq=uQ!%JCx|p zOE?ECYGa?EC{5FgI3WmAfP&^my|%sY3^BW^40^x3fBfhOElmm59T_beMX_0JL38v-bxls!-IK6h5!Kqv;ud&!#+C`)mqI z^DA5yWx8J+eMS`_5uMmePs)TJzdbtK$HZ4(*&xB9w(WH!uajU7C}aL@KFLbsTBbhE z3#X-$b24}Y$M-GSjni+Q?7QC^Ctn9DZbWT5dyaWSHf_QPIj0Y>hJ6smFKk{4NIiRw!kg4_Dsl{pabW^`*jOIieVofqR-`5e>GT1Vpi`g)oV&+r1R5-jqPU0s348H?GxWo${-W#A!};gA>^KZfz=_soQ3Iu2PE zK>-#|`cDtBlhili?!owKJOdUI$3-Ns{+4|U#R4I_d7@G;R;Zv&b%($|IHVcO!L1Y8 zHet0%OhH`}fl=3B9kaRyC<=Vt?2>8$st^zYPC^V|f~E5ol+7wsi*-V_m$!GtpV`z; zS+!Vvwyji!2m%2lfMIS^@+ljlf}UO)^ty)swnmmc%F@i-z${O;qP8}eALvG@3IgV< zfTAG}P)efm5BjKBQh5AB@&*NQ59#MaD}S8LQ6fe*bFPG3@q)^RS#5}Bq#^{m$gp@J zDP?U09FzrH^`GXyosts%U}f61C|$qe^x{GJ0)|`y zbuxoYgey|2gI1A5r!nrXVU;eYN*#PNm-JWpI8<+7n%%j|ewmF#r#wr?xxQAwe+%p& zg0!@Rgc95P9Jua+WuA;qo3?%^IfUCJp;Zd|DuboPW%eX5f=-GBKf#wRzRJ$t=~}!h zMoK#;I&lkUUyP!Knc~WF&ugTVy%8z8AyRTbAPCpV>baY>4XJ^7IonkwCw@`9HVsy< zJxfiR-Sr#HV5{DiUvz^k=9h?l28)9wxaP2H;an@M?(`cnNCo zPJ6)@cK=mJAD&yX>6&ADMAh3*`N98r?^Oq{?LE|-+^YBA?&K1_kCrD_`n^}5HUaLq z_H!&ATIBWBAIE`~^+$_$AFU7l{@&|;KmDHc{@&~Ucj$dx?Rl5x-mA|$Om|%WMkg07 z+FEKr(gP0C4@ja-!YlmY-S$iO_qTO5jx8cJ6rI>9UOe1oYeVhpDb~DFf z`TjRS4l?~6mCAGT9$kcxFWGDH+;!0#EOu|j*mj<$myHW5=tqaya4O!`gCT8df(keK zTM?mLhYG8djtN{+ZCMBT5UH0=-mnBQWX^%<5Tu){-o~UF-Oh`+$wq@o8)mZ6UGVbd z1ZhhvaHN*CBdQ?+ok3J)D{^ezJ(_%y52vG;HaDhh^{>Dhi2H#us`Z9k{^5}L6Ya3% zkwKN$;q7yJ0ry z5gN#QGmR5;oB|6C*zAgFRKuzj(labIt^^s3?q*Uc4{0fmW$`A>@Aah=W0>I|5&YQU z(%a?k5VX8|QQi2sWOiT#b2?mwtyOKFEyQn_2O4yDb>Dy3vg#B%^mo+UnX)x1pPMWJ zXynA(-#d$$?74Dlw7$8Y25P>1Ay$=R%E?Bn6@wydE`?if)pDq@q$CL_eRO>E<&)a^ zvt)N@imUnK+{j6#{U9Yi&92~3+spy*;9@owPC8poVp~p37jdYAkW~D}Qwa5f#nZ6p zHq$Dn9V!~B{7uF1hV^#><(@&rl;~L~w~?ODiePMFSv_tALa1yft9hH+1@~5@ZXry6 ztKbKbM6d#u)vtW+j*ES~TFhUM5_f9R2X+6$_N6TNH?1*YfZO#)*85u2Lya~RNJ{;R!W^}Kxd^-~E1MPGyILOK+~ z@nt=ZRvhz&Il!|jC&ULsaeU_}&*)S(uY!3UJuYLgMo5Lj+Okn9O(>j0ewgs58}LPf zeuZ6Q>BgtZssfrO{meh54Q@oaeZ zf)7OyT@*IbCb8-Q7xzXP(nPzOs^%~HfQ|sMLfDoK&8hP5`6A?F_C!a*t0gwL#3Nv# z>%TEx83fqCmQNKgW+pN3@8HEa6w-(JJh77&YGiXPA4Htuiy@rdg>I&)G>Q&1HNCc# z8cYzcN++Q~L2>VzU8_XUit?7XW(0`V4}DdB|A<}!@*uc^LnaId(k!zgwjTj0D;Nf+ z_6SruD4qsO3b)2jY_;qiKGv!HR6yOXV!Gsu%TG zL&}FxR;DDoqI_$dvLu48l=yD|K?gfsO8Ofw>VL9d>h<>={?Zpm2!Ydq+)W&ETuA)l5g5Gz?MlN@)qjyuV@ z^%(=%i$y5kwv^y|$)vt`FxWplO^*&gIqDxjJQ+OPr?tL>vNw^fMLpR6>{N=XMCzYT zhm)cVjkd&gf$B5-fqIANW!SzF{+@1+ZLqpkXiJz7R4U;xO6wN%iVoXxC32QAMUlnl z=5Z0Shsd?Zp77gC9|^P*|JD-X-};Y=|C9cwpRXc)#BUNl8UvLyNB0>)r~YSk|Fh$x z!MB?jQry2h&qBq|k;q4IltvlY>ybWpr)Fv#Zs@sj43NU6t0mi5TRMeG#ENJZI z_T+I+s$xPm_3j!-l#r?_u-Iu+yW$MpHLM^F?h{E6mx$tCVQn_{a9*4ET7k#Ys3V`| zEqI7W%C`^= z3NPn2iUhG&s3>&6;hb)R`&zKcizpSOLbP+1s=Wrs?47t}fwk7lM(vWNny<$l3k=P5 z#YQ_~%MRb#1q(Q>mf@xQHO~9T4yZQ1zimSZx~CC_PUb@3p`WE)0@`D;0x?^Wwb66c z3<*-ZwQ#=pe&3C@O^(QI+I*{Zn{Tym^R53~n{Tvjbo3T4+vcUGInL3^-Mo#Pv$>ly zhED!pcJo#Zjt=UjdpRMuX!5PrO}^E>$^U=7yk(Q)@c**K|K%-SIyt2Ef^CMHn*-Z! zE|erz4Bnvye@@l{Ac?3P zq2)p?HWM$KP&p&o??zZ<`WyBmpt=f4I*LN196=`h>gEORTi8C|t&K>o)+4E*i{fPAI4|d)eb)3G5WGZB3uY%r* zVo?~7MX+m;Pp8@03@@n7X2N?YJg$HwtaN~;Sx2LflG4}`N6?)sjXIUuOsV}A5qFKb z7a@mgqVS&Nr8Dj?_Kvl=aT@r!%au!D;&0yNni#F$Fv^APH z%(i*WY-~j;wd1vT6}I@t@-6DOnU7#7G?}b6qgtXfjKajL0$soR&SC8^mp3RBzhO8w zTk+fRHX^D=DUE!=GCyW%#INhNdoN9H?|I)Ncz*Z+{w&cimvFu7{$Zm1Z+Vl_3^IbP z?5QF_XYC{vvgd#Ipl6y8*-wAYgQ>($G*2q0yl%Fj;7ze9Uv2H4^c8V3*1l`GC|)gO zF^piX$YthFx|hjMV`!eUyXPC*TiZYN!cyqr-mAVPIlp7F;AfFey$OmI=@+mSW0vxg zQIsfPslJmj4BPsa~2!VDgKV{A&wcQgB8l%Oo=r%r7;=i^~k}DKp^0 z-SZ(denp*1z}UQ^i~LFYbX?g1Rt8A@z`YzFG(!04ltHM1wIFs2kab1#!#)gnI2ghp z&abew!#xg6a$!r+TSe+ThZTTqknl(8_-A$jA{lNkElxKu)C_}~O#p)701HB1f+L!6 z324C$sAdW);O$ZHp*}1EdkeDD}dCsVb!2KAH-Z^ribTwZUzJsmkzhUu0X}H-)6NUq%GU4LtBy) zBpDW;6Id~zqd^sbq|77DQ94N|L>n${o|N)wiij6pC6jr$V7^VK91driW1A8_DmUIj zBC&?+!YMq<6j}vg=vDnIS7!; zj%%yRoO6&Uo0t54nL)Nw=eaWFW>?FVLMX@6i*u-Bd)S+D06d1$<_*V=^&nutu*@h$ zhy^o|jZH_uV`ee5y4hjWn>8e_p9T72!wIP65PrgAH=o>&5H;Ws z!f}ywnXJ!+!n=@V*?5Gk8LmVEh79$XKAGEgb7Mp9m-_(csx^Jk2qD|`LkeK-Y-@8~ zXZw(v4qRx5Rzz$FXRh`2aIAn}YTBwDtlW~bLhet4Bm*C7MLUlQdf&^IP#2B~d|Mp_8eW3I-~*!duM)EX$5J_eEo z+MkYy{`1In`3th-C+L>c26}I~hUfRPy;v_ix+WdDts!XLXVOub?M7t|S0psmOV|0= zT)x|9-c#{PA==oZs9_cJWcRwW_>~&*5HEVI90>RD2d~kEx^j%BjKpDzcFx6 zIeM&;3{*9a_0p2(E46j8eg83v6q0#>LZuWbD8fkbJIu6E^UHUbMIl)bY(u`FK&i|r zV5yuAgDg6h)Z`V?hvX}jh=koeh2OAN4q1IxXQ-EwAjOHE&b>Nt?LK`4adB&d;mW>i zfl!hTSA3Z*4a6Iez~i=H&T6~^=ry+1mz&qa;aFQ@u-fCGQx$Lsw1U|5L7K5qKsbVEMX*Kn0I>#fvF!@kCkEp&a*I&A zshEX!hOXNc8g2?Cjtdk%dSaFqwWZqa$l8GOI8$w(b=*&w?$fN5ArgocQ<1DnMYU*# z+8&~rXFUg0p8y&ME7UHO7IA@3gbD) zERONe>=FpyT>#Z7L(1cYU~q65*twZb-~s~XSB^3iGy`D5NppTI$Ng>wIlXLnNn(3~ z7ZFGe;kcf~H@nH)dqSJL;`fLI7lHNuOmYdHCgV_K8`KF&L`YfZus9qhliYj%MA*9V z-BU5v)8Wr$Y)iA2u%EkEMn9mdv0xXx7a-i>l#~Dv@DvGC&Jv;~v4kcC3H%v;U-T{T z7hmpwsjhBy^HMQrZ z)<`KXYT9z{PPx1&nD_Xu(Y=O&qBCB~P>r8#6?Yrxd~q3g9t&o#|;YYvd4} zl`+#vdI4+;Kd(pzDlesjE{p4?y$oo(Fw;I5W;qzT%1tZuB6?QRlXeB=L^8A6CcZq` z9Z_JjG*7@;Y+78|564)ORWj|5cMaPu*pwV9qCo=%_z#c>R2X5xUU$-!p#MDaCA909 zehO`2W1{ho+|RH9-MHHwq#f8j{mP-P-zx0I$_l1&;r*=yUe!jo{{0y3ocv;o?0a4{ zz5OxVbwd2@`Wc}b@CpVl+a`=pgFEheau2; zdt=0IXVW35jkuEFPA~-1x!;EUDU7e@`OSwlPF?%~wy)_UYBQqCVulUMtwT<@n$(xE1arLJT23r+#G)b+FoPp&=?a z*cW)6q-gDBUkNQON(84eiT4sFAqLB~(E%bU&xBYC*V0!}L(|xQjLHIx)x#HBb66}t zZjtU95T2&I09L)lg~DTEezFaGF-@k4wV*UZxh!W-{$*=WE0PPu#f*)u=k^TX5A!{ei8F`BwMnm;{*M#BiY1aUgXvrPs-4^em? zljz&+U%-pV9KNk1ym9Ibz^1vgPrh;oHq%e=p>vW2X0zNQr*x<2Hqji6@DUAkImyyd zg*oksJp{n9ug26?r&}0wme^P59P|Vl*zF>;+G-b&nUeWfW=vqLOF69w(?36bh(*Az z4Kt3|Yrxsz=TH%?0iRK!gA-iSqmRF(qD3HObA0qMm5V@O_IQ8y41RBH**f?i_Q%cA z(sPgW(}w+BU#Fz6yF(%aY>PY0;F)DI?p?VQM;67aR6kLUZQ#4k&p0I`Q9gx+sm`Fr zPd|Vudg3zFvt^oP#_DUFL_1YSJKf9v?@4buN!kugBY8#v%a09KzJ6&C@6~G`Ro^pu zsH;m2cV_};O#RE8O7JYQesprUe^6yzP8swlPVkk|!P<5p2+O#)hP5OYQwZni6UJ;Y zZBu19{){b^^%DYLa}>Zj8VAIHET9Coh+1!i9|T7OBneO?gb^-!u!ByMRy?>l?*WpK zn>87ao@H%27viUxHNYmA7LKqvhB^heQ-hb_#0|Q7NU$GEj>4RB6zk2x{ps2wQ)H_n z7CKknWm19vot#xNcgm?^?$CEO35mrqX~`BAP2WN*LGoNmAt3Gnr4Sqo;`nNaW;meV zG5*gjxI+&|Mt0+A>yjKH&NUww!Gqth8!1|7U0i^81EPT7m}+;Oz(Ltsx;UcO79@7Z z>(o#4ZVDelvEahB2%XlaIl&&ZuR-(k3EhoHs9cg4BXO#-7=25kPwq6jpZIa5xLi>r z9~Nq9nhXov1IqNEX+ln`rcbK_!&jdi=wUCC4>|8M*-&C07x{A5FOqaLd+~N%(3kyt zlAzl(5;uJ_#KYXVR0~`z$c{@LwQbu?Wj$}6n-Ixr=uA+VU@9Z>;nCsQTtvn~8j-^S z_hE|>XzpaAv50&Kh6djIZb0X9QW>eetUUN&|#J_5~KO&c26KT8cfV{n5+YsoK>InC0k2`thDgX z`)`|P>hw(w#DxMN=7YWnj;<9=sjlY*&df{FsBgT%9`Qt>r|H*ePAqBhi(U4H7+M?4 z2$Uh3U8a|W@pgAqRTePCKb){2h^ zMTe}&{{*aQ%!;tAPqjO_26KZ7i1T_Igopo+EQkU4^&(ymeW}ad|M_$@8J?03w%Gk~I39O!#^d2AouHk{W^r=3k&gJ-!2Q@)dN}0!AQB;QHDbCe;M?rNvGM|Jn7aVE zBgQsDzJk1((FPRfjd7Y~&}bR&cgp@r(Jv3R<=m9caZcI*hzLxgHoa&AW)?v5u%@Pz z*_k7rd^e-{AH->0xeLm;eg{Pemg=_U&W+vkaIsUkVqh~JxyUJH>{K`SfJ*@KtJ@u> zT8ArJruJYdg=m%J;Hu<^N4rOR;J>Fvl8^#bvV@(eirWKfK}v9C8M!Fj6{WiVZd`&; zQi75Zgh+d7n!%5*exBrmeETAU?YO}n@68IK$NX(bDVADaC+s{J{m}k~H*FKe$>LVi zZDW@k33e!npIN^}wZJs{roiC+OQ3Kx$As%**3{80@>4D&(T3!N5;pNnlv81b1W*Y( zWr7L{v(M-ZbcesUJE{UAd|f4%$JOM;BbM>Rzm{uMoN(nfUFsa>Y$zz#>CQ@{INg=? zE9|S)Hw5A$+znHzg<4W%6Ojs4E?R}%dVcGP3J|6qRwHpybxHQ>8Ml)=Y>HbnMUHo? z{$$v`?SO*P`F*`MeC){vTf-}P1)b|h!6h^27R-mkCJ9@nRK4=$loFT)X|>e|*dHa2 zq0_QpE!tJ*X;7|)YrH0-69a375}2Q5*&?|*X!QJEM5 zNtQuTPE4TjTKq&p|}_p=-6&#b7-=U1wG4N1?z);Seo+bH2$&y&ezZe#L zl;M`vJ__eA@@6WkCOAtxT*ls*%p85WOR`dpH{W)7(mUid>2tX$LONG-#3b85?NMy3 z`!%=fl3%Crn4|4T`dpE?&ThZoK-;l@AMWM}kOi;hUwmP%+zdtPWyZCcBIDYsB*wKH z6d0?O6zfh&L0nRtt0_H&aRPoO0)G2oYZIVJ&AO7+=}LjhOP-t%op}$yr2h%!)@nN= z!2^<8OJb{YDHw!$7c`e0T)--}?FPHDD+7(`0+Cf3;9FZD?P_!P8l+y-2BHXdzZyZg zTF$c)vXAP8HbBH+00J%7FVZYA8hxMj6flF~%9m-(F+^i6GomnI@u9Vf@-!a=2g4+8_3TmxGWdF%UPBT1X z=CMzDu1X2#=@i}YT$$1EVmQfHyDaSMwhKCRcrG#=Nwh*}BI&^vPr(uq4q}G!T;au! zxFK6wvCWlbO|cGD?~OwVS6lV4So-Brt+A)%SBj-yjzJq-E0{_FC4q9YcV-<*Q2^Z4 zT4E?52QGuYVPha~|AOtyqa}=08(Dc&*lo`c>+pd&2fipvh1)++fqDs3NTRH*9_Ho7 z-u&VELL@Fftz>w&r|r#i3WE11GqKbRx@HOLcHUnzN~s<5abRqkvB#eZ(XR3d}OQ)Cn%^w##V3m+jx6)Z>I$>$( z_Ksmbe_CMq4|We9?eB55xkTMu2eHTo(IRcbcpZHyB(Td)dp)Q&nBwc`RwZ*Yb*z%h zlHhj1i%A|E2Hhc?6&*`lD|1Ad8k&>Ob9(6(?;Rh_;ExB;<}^$6KEW!Rf5Su=v-+9v zw+iA0^%`NsrDfF8&+)w3^4=_-L+j7++)hLTJg>sld3!Qp+D&2OIxT`*0a<|c1s7mF zT5dKg80YdBbw38<^FCVt1=tM%XrFqtCaw=RRDDgfJd{B|Bq@9|95uu55ZXa zkd0fPvVF7U{C}`lf?2r#iUfAXRLvCVqUp;suyd;B3=TUg4XF?(*mQ{RJ%mULUt(w^ zoMc!iG-g#nh^rN$HaUn%yx`%m7@$4MUZ?uFKc9da>jZ49cKbfXYD+1a;}ttkvTmOu z`fG;hxHE{K6k{9p6gHQ>RzY1jql;|snywr%iDG6xZ}BbBv|^;=8I@{`OXlI6@j}rM zZd1pyNNKnVa^+g{D1D9Fkx<6A`X!E^9PlyCpw!3PKd*aC^_2bnSwUm6KvfpGVRO7W zqKkCl8*xjx!`k-dTw6*&a{RjmY(VpYwS}n4)7Y%dSI98c>Z$l7O@GCytT&&P#gbuH z%jd0H#@kvM5495*SIi*Wq%Lf_FSl<>Z&+!n-LW&?#5`WbQm>Dr?)s6kW#5XDQ)z%- zu)hIbQ8_sd&d(+vUSLG5G!tWc1=!;>w>|~^RK5k~oOUO^tnRa@`@77UYB>I#mNGI| zu25yED_iQ1nWg?PwF7Y%$f9xsg@W7{w*9iyik@C~vuNIyiLRV!K&bOHL;UWzLX>Bt zvjAQ|p}$LPcFq&(aGi?AZzd_2&O8^Crq2D(5(;Df zVEAg4xx#d273uspWfu4`S7f<$qoxMdM2q3HQ$VU0Lu_Ye>IIfoofggBH43Nb0#kw| z;Gpq?QSvk(_{(AM*Ny2V5n%&%_N0P7kiSUk+tn_*qYglKs~tcFUurEeUlqNaJ5xhk?hNj7qH z6s3vS>|xYwesZUogeSc(Y&~#2=D=yfAKZ2!NO$vAY}Y};8@FS7j;sFy zTxFT%8kar|1rW6w57V@7K26VKGizONJ=ATZJb+m(*|5LslRFCY<<(l4c?SjyxqfQ zw`>5yg8t>|8*1hV%WsK!F-{PR<+acAc27B4tuJInn)|SDvKE=-x@$A6JcX~ z0@N$ACBOn$zJQP#XGO#2sqLe*ETUFd@p%ZQ(>4W@vbC?16Co&atsE1D;0j zgn_%@|Em4dKLAM%BH0lk>1E)Xvw6JT}5Y^g&|bO9KbQ=@TwDn6n?m{Qtm2fnseY~8wQFx%b7Wl@c;%33 zc_E<3j&*I6L60c}LUk57Dy_~!`CR3Qkw{%Nl-6qc+W-9cD~fsb1NfaOFW zBKC%VnQs#KUfdBXMu1}?{jiDRU9uJUk>rQjF4^&89)>N?A5!CZm&%I?T=8D6<-d%> z(PA3>bwC`!@d=aguj96rH|gP+iFXI%eP=Tq>f7NUU3nSZo11D}l*Gf~FByt_Bk=SU z3}CYw_6C5zJr8aHn`$el-xi?pgJG6W0ePzl#JfZ(4rV`)7;lu^6c5408-tc4`WcC; z#E*c|`@{y!MfaC9Ly2Kyk|NJ0di)Kpy#4TVRz{9XtpK5O{JSm&k>fNZ`ZNPZoCEt{ z+p;|I8im_neoqQ@dsra?5XM)?D0;x0ZSy?_lFaUg&NH_kc#g~6Wpp{&@4^XIfxt15 zKOsOPg}_HRUIr-ycnD_Vidws}I_6CJScA>+s+cZsCQ#}0@Zr(!BW?p!DaVhFPw<2F z7#Q`OB`roWm+j(J<`;0M|8Y7>v-kvWOwKIL@0tumERevcm4_$$`$y8w_RMx3W}uPr zTlyIjuq_4&vT@0;;b+IXv@PdTVA&Uq2a6f~KBgf+40Fx14LbPxr-YMam2! zMM!ZD^CD>uO#hVQsw)@W(um}Q&Fmr{NgPa@k=2i&dPL$Ba@qks#PCy5NW>fot8Yp7 za17E9Sm<^q$a2g$c}he}bQ&8lZkvw!kP7edU2M$QP$b1cx0f*6v%HDLOR6nGC4IW1 zh%s}|B0)SveH4X$x;b(LT0Z3CT~HDj(0xpitxq#{y$oZ@rqsVv?ge495MB64ag;JI zX-T=7XiS{l@L~tIBfeYL2c`1doF=@(wQb-uD<~e~mT&f>)264C6^Kx=s71NN2~aLn1Zd3{o$dusCyNw z+H9kw)0Iyn9%rLKYc;rtOs!p|0x0nwn=E7ADoU1Fl1tZYsieyUO%dKa!j75KQLIZK zg}j9if(Dscjv=4R@IxDz_t-Y$4Q0FS(T6l(eN&SKt6Vm?UsYkjg^^l|R=-J$S`0^c zx8d3}9i|knK$OA1{zgzdXPvIW^){Y@xe&dO=&Tz-&7h#!Fr9VJ=E@y1q6 zTzSkbnvs@{+a$GvXY**vU5$gH_jW4tLd<|JDfl{VInX#Mk9yhg-1(!h1%p;tt!@=v zYxCRSf^iw&5nvzTm6pcb3I&J<15igqm@asKMPd~PySZn5W z;(lWz^OunNmo|fi{8Q3d_GANUNtIoS6PzsSz5`M2!5KCgPSAI*_X;pX(CLCi(fhd0B_?l-0cdZAlmHw*4a1YNTosaV9zLg)1VT1nBh z-Q{v#bSF<@Fnmd~w$?ue72nVb#vuPSP@rrAJ;!gGjzR&6xm+& zk_Fzf7N&o-O^GuW$>$WztI=#zY`$y?_9X%RQ@;GKv(A?XCej}5%ooh-xap=VlcX@WOVAiwtRQJI zsyMlg1!?%Nb8V7GHUaJG-ET4L^744Yp8uJo0`k^Jol#Ge!8C4nZUFkS*a(Ku!r`OHD;2^i0daaXhm{YBwICTH;x0Vvn}9Vj zfkxFi+vIF*=sJtzN{)jTqhPSB=zb1s!QZnu7PC0ED2~y3HKuh6)5$J2hD9uQc3r$6 zGvnu&aed4n6YM+04O++=>@fD9rLhF<$Dbp~^^pW^>+cXpa2Z$4K=4JtbKF<~Zs2Q) zyF?CL$W>#<*w7n~=lHP#{Gj(QcZndhl&i)N5=`;=&2#Kn7CXQWG`k(a6xZo?1=Hu4 zac#`FCBYO|>W&1{=SXsGB)J{I6c_521=Huaac$hVCBYO|>h=ZG=lF4L{J1T_6qjmo z!IZAb&BNnQjz8bWs=lKHzGZ};za=9V-J6o0q!$S!yyc{0vGVGP_g*$$UYZ!xW*d$|o>q?Yv_EBj|c;QodW2{sogHksoV^oi=;AEib*p zC(A)w&eyNL<*`>*E=?SZIX_8QKLji?E&sC>ab@m7VgSmuk#~*e-u**-2AZ;U$*XxQ zjwKy(UZvAauroH_;&(6Ipa40{9)R!tHtZ)@RE$ykK*QGOPaCi8n176jQh<6#bgkS^ z&}{@R;ka*W;T!#4V%m`V>qSRFK=&4MAtsYjcN<2-42tapwZw#~s;F91ds`wiD2^2P zg7l-4!~FwBj)+sp&rFa)u4ZhC_OBR~ePU9t44pio$4}=LRNsSAcEFFUpDRFT!hK%3 zixjwDnpvxb!j%A09Xn#9g+UgXvnwcOOW25W>ykp<%=6@e4Y4c0LFfS{U{qyrI4@6% z40g^{nf2w-;Tf{$>fE1BcK3EqPJe330|P)bBh-LOLOpjZl?fc`C4J|_xQ1~Kr47KF*@X6$HVH0l!dqcz9r zli?-(_$q?0lHQ(rl3LuoI<3U4rD9SFyC>ZNDyH?j7APESVfu=j?g?ln{F8uF{)|%mp+QNF)?e>?gjlkS-XVLFE9p1pOIz zjUfAvJSzP8Bfgih1dI!4*IB;chntfm(XJ)!FOp*7C~CzOx{cb@z=5??^Rooqr`Ov%bU<2W%Z70s=%-RmR0gqmcA zT83`m6`^(=4?sIQ%r)5Bh2Sj)PFH;so*#S8Ze7A1kIl8a6JH?)q%#{8Ti)7i3`pbV z#6b1hHX~k@?XBH+C@!;@Y4&D&kF7CfblZM(**YjfvwNuH>$(?Uqw7|+6JQvMhMeXz z_%wG4F8|*fblw}hpnC%|b97dRdAHslz(C$%b8sI!ly(Y?9oy_UqRCoqJj{GS*67$Qk@?<@$mC7si70zd z)1R>hdFS=WE2&T8AJOV?tCdN2zcRI1&NE)V90khD6wIiCDZRo}-BIYg;xhqlN76P& z?zZ;1-`e4Zu6f(2I|-gi_F;)A2_LA$DdG@ z)P{j45lB0VIxcCXMUH|-g=Vtv8&Tl1c4>%AB0zOR43vQBsyQ6|5L zkO#L%Y?r^a`^OMj>DD#+9@+=vErh+a8o><0I|@-&po5)~(&|H$%dopS*(LM9F4=63 zCfhL!mfLA(jKFGUVfI?hOrhE}GqSXny;X{tqFR3fcMG+K#0)7n`kn-4aA(s|fKjSc z;u-pkyy84v(=CY`tpG%L?iDT=%{aqjlg9 z*p1N`|AA}LCQ_5&!OR!_-hnuL<7`$I^OCpI3IC#tS48}flX1*Bbu?BvxCT3}D<9_< zu%Mtoewb)1fJy>x>t;XYnYHZ(>m=-KvQ|!xGrpf3O3CwVjuTuDR3ag1&fo5^iH%TL zX<36>D=-yMBI7rR%=NoiL1X1*>n3%hUFzyXviGK0w!n{fQ_O(mwWnllJKasTx}GRv zEuy28!@7kWke&Ow|1L|&s>YXFYimUw(@Ldd$`$)!vvk>MAd<~w-`A$p!)&3L@4a;?C#c^3?gnuApgqMy&}8^N3D z3nTaG;oe7|ecJ5MD6g;=@TTeLpz2sG%-yjDcga7Or7ess)KAXI-q#xLJenlzXt7(Z=y@M-TzdKv$A8Gv} zIrc~{##bgVtbqsVdwRG?AKRusctzyY#GT4=d9^GT?ySnbD5mg+AChzcmaA+|TFg$; zIZ;iswemVHW-pv!>1+a@LfAad=7HeQUgT9y zTQm$S=jG$Qsg6-d3GMF`Sclg2FtG(dzYFhI$^PDMpbB(2u8p z9A4PcASVYi(5H8IzcC)I@?O44 ztNG?&ZMSrL6-V5)k52^x0$(LG-qmKFTTkGm{)*W*K?1X(WMQ1N*331yH^9p(YS(sG zZ@BfHKIc}`mo&pGNUE7@-YPF^21ug!;`E0qZ1{;=(|&`iV~+BuqVX$*2!JwZNnjB)6yz-1?(mn}TWJzN;z|O<3+0zvj_3uHdg{ldq%@`@$J>n0W>Q4FVDNtwlz|3A&uGl# zg_NO7QEg$DF6cOa;VNN;y^%~5&ixjWc+ujn2VM~<$v-VP3*giq7(^eX_;iynzGp`>-Jp|tRybp`n01g+lJ zFClhU7f)E3!OZS;hJ|*;cH<3aWs<^;ujLtLzE{jiz3h9eTa7RGAMPWwF^HeSxC!{? z;diP#SRNO6=q&$9JQ-SYM-$Xzl~(^6S+^S8An4SNgXjCjx4ztXEKPYHTBTxR6yLa~ zH-g9gs{5{aQ2lo>s2#_&Ca}2A`=-~wpj&;E`{Sh>^oE=C8D?UI%0n8CQV{*-qL7i^ zq0q}YPT_A_A(W#mLurp~Th`$Q?ojh?*>pE(Ga9U1q)xJ{;-}26Q%2vS#Rx%QEuz2U z$Jin^R~ri!!e(T^3LA(TE!6Gu+?<;X|3Qp2V3X{uh^C5 zzSt#Ak&zkjoSHHTyIon5VXXw7ElH-`|5{s;Y3aY#nxye-Vgs@)Z$p=R;e{HY zNSOtIWh7zvsHw>l^kcg=Gd`edwe>;wAN-q}K+>;@XY1kow$xB7!%KEj+ zjlt`dfjHQYrj8wyfjA)!$HBoknqzU)$lR@AZj9wXm?*7H9Npa{SS_^CX2I>YZzEzy z-MHAGi}rv2CdP2{DjIvM)}BpTm3GcPoJBf264}M*5?WchSV+{WqUO5J)-qOcFtc-g zzRbqPvS@_Sv~e5r7<9}kQ$|3VHH{6TPUkltq3;j9(j-V6}vmz=^Dh`R)UTd8Sw3ek2{P>hE45!(DSM;sf? zbJ3k+sC15#(kb8=?&DX-KU@^I32|8ARXzz4EvrygE4Ng+_NvuM0X^K#M_gx{^WG-D zdq?WK7jCxlQllE$-B!dGeF+^paQoDQZ7(C9Nr~d33Plsy{j^m&KQzroOdLjp+-Lm6 z7&Ghhx7^14G4T|MKip|SgSgH6e)I5Co88g8`1BW<51H4zJsQIHB|UF(=;lc1XKyy4 z>Dw;{f0Y@uxgE2~e=}I*twpy8?@tcL41o3Y zKZc(m4KA7EM4mxDX!xvGJx<)nSAB1oafUpO7cF0^;auy)3oFpjOdj5$Yf5L*O^!Jw z<00Ux?ZW6Ycv;+vRz;shyD~|mAAUU9j6y!{2V|S4%wK|Or^<8+>1!fk#Eo2hwnA;jit$ua1o;$USm--8xEYREm!ud+kD@dme4YFPJx z*qkVp4jF&8w|6ie!|#Xq^S#mG#|OC8dI^8=bDQw%WokY)RU7a13SDMpq;@{Z7AY!| zU5?H$tu-)V+x+H8t~#|V9+_moC4M$zys%=DxC6KpC-azelKjWam&Ex26S`F(oMnrj zGkhAC8N)B>@E6G?p59iq5oE-8_Fdje-KAzwPV~Gk&fmH0{;2?a|6y^AhbHAA=sJ6r zPt%)hUbYazoR$~R0OWYwTe;4zNLd9LBeEo-SWGQM~9WhFKHpleyM@3O)*eMdNX9oQMvZsWOd6d)g ziAeKoI$6=LDUTYsLX2!$P2W;4p2-Uw4%)p|H_ur>2hm9!t_0cdVN4Bo}E^y@`T zEashO*Ncib4iebHr5O0Aj91h>Eh5qIdq<*-GJo!)*Usm_cqN9g zO(IoZW;LfRON`S&-|*i)P4o;ZzQ}%-*7`ZXGDis76*ObGtGNH!#|I|~EO9=!4_fdN zzEVA2fUlysE*-|)#dr$G*Zz7?I>ny~w_rGZQlOYY($qgK5TD5tHu&QcSLU>dEZ79$ z!)@jug`}DUYhj|mfO?AteVPK}6^jz__(@Cc0IfC$%BG;9l4P0FB2qF>yzG22B60%a zXI5go@&&%Wnw4RQdeAb`xjR|rWj=Ht{gloh!FUrxz7OLVk$+42&ws?B-p{76*aGo( z5Dszn00Vi(&4K%u)2WPr?{n@opK@IFKT6B%d`N_sh*8TRf^l(~&Zf&t92|Tv;*R4& z^FNk0Dg^FFn)->FMwRHg_;XQADjg1H8kpawWZiP3pNf1E4pl5c887BD%EWzCO>dCH z5GxJ%AO*p|ok^3Q4a(U~R^o~}Lv;!AZivIK0U@v;%ilGE7uIe@^&_;DuJA@2WH&vu zhY2YJ@RUFml%I%u%lpK)!cIRpyx4+=;GuC>PL?rZrUuufn0F4sgtEJou zoi@E!OSu)gs^bV>oTLbS&#m(5412B0sx?@kG^Gw17&B`r3Te0d^(5w5}h3+&*EDnkBZT{j&w^k$uOeDwY?7_e6Nj}l_*^|f~E z8?6nlD&C=Et^uZd$9xLV8+Qy^_SScd5@PDbT03`)uk9}Uf-~!a?ksfd7JqeO;5O+N zwD7H+PC|yQ73=Iek+7=HQ)mp|HEY*Gt-qwYf>PqkHc@8LD~T+ZnM!Ly6-kZC0+&Wd z1^%i>%n=*0x@~X*tkPv!9adNYoFs1B_0%g&oNTsx{u-t2Ldt&1^)=tD6$nw;dIkeF;6f|QcfX~-rlvvr8!z~s~u+7pnTqAv_^l%6}Mx{w?uQa#XQyu5dpY%mS76w zNsF^oMy>R-mN%W5nY?y<3t)qOi!;~=?J1r`@c0@|tZz4CVR!;hG6}fdAA|$g>}uxY zXDetI*dWx^+wOrzy5hpMW?{QRfUSC~Ws z-oTCS_Lbhv5i6nJgh%u7?KC>K;(@0$7nxjK#h@<%1THLQ##}!BfcY|ltT@92?vhNNAxgO5s4hd zEIp@_n3we34e4O^HKC)VD4P$uBp3MknmtmcH%V|3L!WYJ zK!-v<{;uqdw% zBxZ5ZfA@wYtD;EgOCJp5HOZIU(oDCz2@)#LRcls=xxGh_$tO3Vjkzk~1HS~$MTh&L z-Q}>vW#n*%Ii)ABdbj|yK%~MIipr8DD?}e=!62!*MR~W8k`ANgNgAS*c>q(8%Bu`* zhbC4o98(wCSZHG-@!BH{WoN=SP36A(<|Vpd!_2Bkq+^dj6+PF^B`*i|)|94`nD&-h zm2OEA;90QBn54w{Nty9tJvuy|^$jm{CLC|DxIs`&*Mit$)N7GBI}KGN}1IKZ?7Z$dpTb<~~nD-0WbTs!~pE(bq53?Dkf{sW=%+5?Pd{qbi9 zFZzo137VanY->)kNke0(sxqZB5Ijt~DZxKpo*G{G*HPe-O3sG~be0&A25WOuH|zi} z{7CaJd+MpDgxZsX{guQvO(DE{htkj+${-t>A?L_4oiU2Q2K^060Z+yg?}%23>{M5a zlwR+rvpk-Lyl@8G>>aYBZ~fFS{qTR&_hx4$|EA+R8D}0^)gk(AD`C^2hAkZaa!p2{ z*c~p0*Ue+d7A)S>J#tYHPvqzMH8xZ=BVmz9m*Y~hc(b5aWL}Hm6CeI2C5m3cB-M;# zp7Ohv?DhaWum z!SU$}JY?dT^6>A=gCI&O!uo!>=-$+m(I=nQ+WPXpwXJqoU;4K;wP9Fa`6sp2N=0ok z{B7PJmc+-dJpxSINuipnzTv+U{!7AM@GpCI$LW!PeGkvuQzHwTx0<-i#Wy6hwk9d7 zxuJ_AcAmaY!7x4!c3L*yi0UF$;lD8rryBV{7b{T6_B=K#SGlhlip%KH=MMCU44h(W z7~lv{+guxEGg>lCIPf|$tzdqz%zCKSftr@zJaVyTXEx8oFZ60TUF1+w(3RnpfEcxS zNh6#Thi!wJGiV)8LU(+!;G^?sgooWSP*wzxS94IDnmA-szD7i*nI%mczW>&}Wd8jB?!L0MD45{BXBzu;)QAc*S}Z^hVbl9n3J#}pP(_NX z{!5}CF*?g}>-#n?Z~1R6z_4-m-p00yXXsv{rOPgf3e9jTGFw81@ztqs6b`i){M8Py zb1=i(j0ZpQ@qIgBLe@h~2o)i&!UcK|7&=sV=aXy(_dV6DuUOP$@ssF+&V?Qj;Qbu% zjdXc@bkK28(X}L4@R}F(PRj%~jQIa0LpqhG%$MA5qt&$O;+6s^@!bL%M(1>V3oeQz zruYUJJfp{5q4!o9n;ydZ;j=2T$KS#jT+*^b%nhWT2uGB6A9i0AjVHe(H?H20DlVv& zF%5G#?!pZz^TvUMo|l&+towN5{$HRh^dd_ z`eV#z8+Bx@$}mWz_!5jC0mp;z%{TOlShdUYu^{M9-HzP<_m`zFE;2flDlwDxhgC5j zYVAe*!)1g+N007B!_cua3R+b`I>T?dVJCY+s^%wTF*q%a(Gzm61AQ;pNsR9uztBQ` za`5HB-e;%a2euN*-?>}~!@g4pf?f6}iKdM@>O+wHIveAZ|08Q{qSJ#)c2%bzARC@Urt%HjXwUEmz)Yq*?1K>FSQ(AaN8~& zUay8;_9wkCzw!x|F+-Rx7sXXd?(5SVj_c~rgrf;EU4jCgdoJKx#*;+v51U5Hgd7@q3|(;AbG*CJ!&fzn?@gAN`pPR0G~I)~3ggpy^VQHiu0}(qtiM0_ z$91VxWX=N%)rOt90UDfn{sjlxE_fWmCZM66OUfh){1O4@{OmlwIK@fURid%S6tt)@rvi3T8pZSwLfz|vX2e@eKk-Ye#O2EgZx!?vsr^SzAiEd&6mkN=d{2W(>26~yx+ zo)?Nv7c0$|_J*cD6Y-b-X##Cty_A@^F1ukaunTGxxmLiP@70418-~eQf6Z-;VKk;- z^ncaRs1A6Y_RR#WrR}$V>KFeN`{>nXaW@^QdE;QU52g0D>W7L|EOCM=rS?LzkT4D7 zd2BjK3$85Zsux1%8Bc!ln2hWO@+`#+*D##=P)9bQGj#%PvMZFuRmKrqk&2{c-2AuB zlG;RyNRRJbZ^rZ8IG(w^#?22OJg8~9rgNL6fJ*g~47&umZst$mIpnNZHqXTir+tg8 zqs7Sd^=v-TH$7~2G)gm*yl$i3EXu`kW`%y+V{;z2Eg}EWb?vI}9YV|G98SS+$oBO! zuvUuJieIyMAHxQgDi=Gq(>`}d4K_Pw$@UDbwN5xNh$K&oGID>qOy_5~TAdeDeAd61 zC)yq~L0w>Ay9!xX66uZ)E%rk#iy8t)LxFeqGv~XZlyjma399Z?4!AGx`=zVvNLRt-$9x(A$Q{Z*goD|>BfvL(Jq6$-H z5rA&7+3d*%&|wo%SLsdVr1S`)@}d|#B=XCQ5SLgiS6N7gSTs-0mow8F%r|OcPxQ8^ z8X)WUJ7R$uhIvo`>W`Ro?mvxCpe*9yG(JK59ZQ^{TEN_p7XT%%e$iSSzF0JW`Oy@;KdsDSI>Jn^_E^P&>@tUDxpWap zgJlWJ4@@~7)yJU|%m0(>kCQC=F1W01wh?9nmo?dnM!qY62w+gzrp%-sZ#i929zKh-+3d;BPF%yUs&8xV!rYXx$QjffAuP-9d*hX$w>)v+x~ zI=#}|{%oH3AfKS${`~6CnH@Op9j8abMvlGcOI!sHjy?mayHL{w9s*r0XXwL#)KEWA zNOLfvJbV!P#o9=GY#)qc?T4z7I&e8@Ec`(B11pP#@Z>_H*QV7SWXb9)$+9J&r76f6gg)$+L6dbcU#ZuJrh zFnzz&Ts87TN*A3VS)7=1yazPm3%^bL%6;rd3@TX0_0@cjALce5@Oke(0<` zG)~Q&f?pcOy1iP{fx990rqVoZO|>DYg3zb3B=7Uf;9R_vL#M(Y1+3vpfBMvS{)5}- zcnBnIS8{8XwG6iO2cx6UKIKQOC{j5PL+14q(z29n&F6EN#dOj%r!$G1tmd$yz+*IE z2P8jk5c&m1GAAp8=CO``kz?hdlRecCKjpQD)qQr&X(_}~M+-VVTjyo}Jw5W}dG*fk ze??uV4*XRHr$FGk4A}^&c^V&;dh!XM-}FA1&!QKwaE3@*S7 zX&=^9<0+dbeH6AF?*q>!8tWf11&>%xGI)t7iUG$PO?_N5+N?h9sVClxGWgbuHs}yJ zo)e1;eu-eFZ*>NB>&nf<;W5bwIW2X#yM^*B2<3A4by`*r1p!t?9TUoToT4d9Lz>GE zygkA*o)iS_o$7^NApb`o7`U7R_tO)r>2ivWmN+s}eh6hjSIOuNl2=8{#v5_zI1|PW z{>Rbfb0O|PE-I5{l+XFqie2G4mdwAoZTjs_&%g#)=G#L__-MIEF#%2z@UDm7$`7cn=XwNKA%OqBKlmI>vipbQPe-S)CY*pv^1Jzb@knCK z9?!_`OKH3=ON%MrkDK1jS$QVbO})@CO@-SF;;o$GC|M77#Uxa>9$dk>eF}h&2BT=7EXN3$@srvAA(2@XF2q# z@(^ybx`QV%JJn$}M?@2=hKbT{i3(FJI!@mlB_=3F1IOlx2EFxwg6fSQEf@Q68S=ei zPAgO+j-gjYDGv-N0PHJQ9d}h7Xzu;&`j4sNgM9JFApSI;V(8p-(j7fX`!#59g>f}X z0=j3MU^m;KUlCf{jVS$62pvuUeT?cbog^7y8gqr;bL^$>#~*xlx_|t|QTtH2!NxdG zM<=JBeYy%I@A*5R{NV6(6&_sNqI_V<%`4eE8I3=%;hW&!XeU6iuKk-==R^b517vlEm z<*aD`VYGN2u-?#r@p~KcBht{J&3;Aic^7+8%zHkY_1o_+=T>#+QK#?%s4WffSakwP z`30Y%vYCKyvE>*qA+C`8-c5Z_Q>4|}61okI3f8CzadclR|JNXXx{C(kTCKah!GEv`=riUc>G^{bJ{e=uOTtip0g?c}8*Ke*hv^}}wAJd!R$_6&KY$#(y z*$mGknK0(>$FTHxobk4!-S}BmQ`;gUk&Rec#Tj+!2VQt%D8F(QkoJT30#06`< zJ&4i4B;Hm}dAdRp^#jd|KY(R*@$bU8`GsK-8F9$F16!Gkuz?i;A358BWvWGO+{RnJ zLuYdJeKc6pUew|S;6Z=D4P;wRJ0ADeDjZ6??tXpO?#RZMANXo)2otao3u95?U)#Ku zJZzs#i^uo$aZ7qHy_@G8>Q;dO1}8#^sv zdyMIvy%vmC?0+|!qod8s{Trma7zBTN+y$_vgayAgEv=T@Fl7@gU2NPNV#Ab`7%SuQ zM!0Rbo=q`)0#5ytFg%gYeVswfkwwUPC=xm~r_HKN9KXR5U9%pzVt(fZJoWR8$miLm zjwjH_KVn6%O-M@XwtRQf^4)GE$~!C!8!i0A9Y(AeM9pjH?Uy#&b^*Ry+c#Pi8{2LX zX-b#2>pY0gpvKEN+%ThXQ2d4|$0UX27+g7fL;fCr0C883zxe)((dog7Bt}0@jz{~| z_h(06jK1o@kH^(QL!B&-b;R#DSMyeQ~gV$)A9D&h*~{1RWOnN`V5~GsV`rqyjeuFRFKzLt0`pG zMSHAlwLm*4Lr8=(HMDrO9~~0z@ApTiBXl0Z$TaMt%?pNY9LEVi$;Q{|&$FIVVw?4O zcK&j_%F}Da7+z7&XMF=qxj{S9mq=sb{8~=(3*^;MCBHO--ZX&zx|*z)VzR6t0F+bM z&m;c?sr?!j+jxtJVT{GmgEaaL@I#8bnrDU7H#YgZCU=7eYy1r~$ZQA~x(L*F28Iu0 zSMVID+;6@bzrEeqv%YJCw1nlQmNgXZ&nuLCT^EsSV_;yegjPM z3+$*@L)@%|_;p~!f~Dgv_pl}f%xX%zCPS)0tr?IJ;C4OlJqT^(#)p6sq}D;VzZ>neJ+ET%OHb zq9ByD9~_x!xOF@^JhWntunx87VSLhGf%jxKaV2Va{2D^iKn{|*zXBfeiGq(6KR*SI z082o$zY3py{3|~Np>O-~AO9vXt=DzQ4E7Lwl+N9`DR&N^R}|xoI|c`_q@-ty_{3(% zpN2Hzdcv<9(*+7ns0}Y_;Br)+bv#TV?0A+h3x3PMAW_tEpL~<0A*#6o`=3gUQA4_0 zmrgTsUQ4(InnSpiBx=y)GFvnF9VA$$(A8UrF$IOk@sjm}AyJcOw@!&7XX)h?w%&SH zuCkDT5@?4}KLGBbge(&jH4G_k9Y+BxfYYXuNCKW|P`opwoq-ROUrBUrC^r!p2;X+% z2rEh-_=#f`l>q~NM$K*C8ci{oYibO@CVkA;-TYo_fr&>EA>Kn{uX$}p-^s_3?$KoK zJqkz(WjMSpml{ZcWf>Dk&djhR%G7H@U`NXq60eMN*GRSw90#@jFuTOfejv+WOdoz7 zHchR>c&qX>Dx%0PS;>6>|0&|!y>OsDw3f9j#HaXsR1%Zbx5v*2p%fn8mD%Eim`O3M zF$19>1d~OZxCg|Ap8$7ej~`UP6H2<5YUmvufFM40a$~*9moQ%(l3&sX80H2fn78?^ znv*xhy;G$TmQz_Z0~n7gV0{9Z~jw(>EJaCp; zEr@ZiY{TK|=Q)Z-s?L7}iepvypT;L-^n~sSMaSF0O?*%1%falqQ<)m=L8%E)YdAf1 zad9#7uhHPIoK<#$dxhj1DZW?`5$Zr~}X;6h|i{*!MNs8*RP`>=+m%rnce6LW?85O;B7@Xl)%iM>;5@mAot!FP3T36omq* z$2z``;qKssnTL^qhFoRqsVLd7-IHPwF(^Si=Y`_yiQ_2$D>#PDx7j^RlqkUt|HmzK zscXc&lG$ay{SN|=cc?6>BOy;?umTBDZ5KMydCaRZguUwRtL+ruZnkdbv^I2u6Im*R z99QvtEH`n)3S@(+lRyL1FDrXQU(NhBThY7G7&FzJW-}x>B{|j>E};!vRZ_y1Ypb?~ zn;RAIqMZTE=_*q8sNc%TLg zc6iagWM}3WcCvU#;=zhT0JNxZGp>SroaO)<;J_x0iKIzvMCy$ak97sI`=>xeN^yim z=h?-wNc;?+FU;B|1%WYCjY#F6jFZU2zw{L{kKp?y#2bdH2q!&1&nEcFi161X6?dwO z$~CSkd!jhtu9fDGC7vIXn=ZIKX6n-rBb_t1490_C$w6Sji>qR)!my3Y;`c z(utKof41N-Z)!C?@hFSh&QBQGFor1%53Nkyr;?2Z>j-1twy^7aMk0 zT`g0FhwlXeskNp$DMoQlr@W`DPo8!m+t9dy?Dyv!{s80F0IDq3q1jxw1g+6Tx`U!f zR?zaJ}8>cA3q zMhIb8jKs93JSbWkAR%R>j}@|*rqxYtId)&80P zJQfsSqbRRZiU>7ZwTAvxH|0du!-0t zs~qt_#)2#>JQB2p%l(E1;76+oNkV{)r5CBPRaQv6j||b_ni@Ka(?a?qP#*|LSt{9@6Rp+Lz6;QEM- zC2ntLNO=o{$rM$;cKN)W%#kZm{DvpENuJC|+E~=cW*(&;28dgjHDU{cKSvCh5DTi^ zrb?ipI*T8sHJr&F0flkq-D==jiRXfJhQX!@O&lC{JW0#*CDaTD$}335I)X1yO0t_v zFz6qs55W@Sc_ya~tYUc$XH&!woiC_`s>@+ODHg;H;iT@}YB(vp7kb!IMnbWv0Jn;! z@8p=(RG>F&5`;=5EX9w~=u`Z)CH545KF`wG)Kzh(f{zkdf=MR|G8?Q~tI?TU>QL|E z3l@d8q7w4-YJ$!eIa;bfwTPU;Hbl14o0P=S78b00*{UG^Wb6+{s2QipHMD4o#Y}VU zdx0K!b#Ui33xacpvCY?-3N<1nN{A*DY7wM()@>x`j}Oj{!8>7=P4X)`|EBYc1nq?y z2!64EwLBT^wnog%%dRd{T zFzGWfHcOtZ&@)|8ZK694@&#})%UWx;3MMd077s}yGjrf=egYxUh z&1%(2Uf>QtZk{L!Df$3B6Xlz5StB19T0{#$Z%$Y*dQWY|dSxilJP*l+Kh}dvct@-G ztP!x9^ns+{OH{gij)|;gOnmk>^c1%RGCvnoM@=w{&>5I5c8<@1(kLbU=^j-*PDCWd zX#MvmB`8;7-Um(<<48;QWPc~)te1;n8`5`1XhmefLkuKWJ&l#ssG^fxus|r21FjZ zhLmK8lf$`4J~-t~ii~cE^zcJaxLfT>;|r!mkr${G%1*VXXOel&ljBoCFpt`cxmLXb zAIqTwPg5Cw-h$HV5o=2zza6u&$5&(&&zs7F!)avP(nF(1fEGM&>7F_xGTVB!Q2^hr-l!vJ;;>P`5r33Q8TRpyP%`7=o__jYA^l$={a+#d zUm?8?3jZsl|2>6tZD{GxbKxVyLCE)A92mUoXn!sQ1Y)@*Hzn}5^zkGmlB2af_9=Rp z%ur{>9z%~9VGT*p2FjRE$SW%JB}^P>ESR_yaF&XQ7p1>JpSDSgF6ee3%-KQEq%?kc zTLnWZ9|59xKP7islHon4V)Djk!sdnWG?JC5FmLTzV=&n)KH}s$9)}LWvGW&`G@UFL zl`~YzcU(fYxIaNEE9LsjBQVd^<&yPuRth4Iv5~*PEA#5iP^Ju5>KQkkD3VmCGmFnz zV8wKcL|nG+zt|-Z`DENshmseM)kpb?FC;I zX|OxHV8}!B7q7g6v>Jcag-k7IQacJMb6OOZx}77VkV0GWaQKR{WWLYmy!JtI=j&I1Oludy#{)>^$XFaMN3l zJ=#|W?u8NdKQu=|Uu;+IsJ_zTgI(K!YSaak#J_3R?d-?C8dh&5uUW^7Kio*s^Klkb z^T9}V7(TwCX9}wzPYjR5hauIrQ&7e~1mz1rnXbEE->Q2+Tm9RR(VVE+7no)eSK%1j^hONA9JO1BQ?~ z`|f3|^Ufzj1^!tD?gdf^U!<*r72$_UNnkm`BgehC|o8C*@(KZJDRCn6C0y=jgA7& z?zzWxglRXs7(;og-CiSxy z^f_Gon9@m9kS$YHSR$im^i&gP-HMLnRxY#7=tks#GwsDUA96D7L18q0^5%o8y*f=o zsO2)9o7WLiK~IG}c8{}U{vF;CE%JPho8AuzSvKAS**lhs_o(BF@VhSt-uBz~Pa_!H zwKqR8*$I_6&Yt3pRjJJPYhb$%)APml$bSEb_RVc%GFy0po`~B`vzC_C5D#Mvc{{QX zU;HkgG>1u}twIwLa^08iKEt(CgB(Pg(vZ*=L>NAwONFsTH{X51-B%lmKf$GPfx!5Gp%1|x~wx;NQPwGo(36p+Da@WoL2=E#^964sk74RQD z7y`EsQjlnh#^W}%vxian0v4ay-;0xM>-;9{L$ zY`Rlq+jsIh>x35Ellu=&??bn-s6BgkS26maSY4Liy#;9Pc$^5oayyo^Bq(=ZQ-MqH z!`HY2D_(b@2{a_}y4U>PbYSJKK29BU6{|IOm{^)JtlFWs85@5+ZEA^I1H)MB>371s z7cNPey#9>TMj1t^BZ(r4L=?Uqg0x8em?kkbSki;0Eb^9)o+OMN3gcU)Ry?Xdo@mNy zmS#-SjYN|ug62_pQly**laCmDTPE+?^cGke#?|$Z?`;xQONmTKul1-JHC^I{K?Stb zGw2KpR}@w+yqJ!Uxw0=N3-j2p)O_;YtnuNI-czMHPyHh2w4t;i$hbnQigw)PO3-VN z>dd+4dq>UF4V}|jiu}y1wbN(3hi1~h&S!ldtP`d5+DL(Zs%NdSQ9Eso{lGIoTD^rn?b+Q=A)Vqo_dh&5;hhnyjW%EaeYf<4J0r)0 zwu@SqHO8GlHKi^11iuI!)ZDpHJWr7x~^CJR9YzZ>+ZNd%chG*ckXbvkO=pzg9AX>4*#7LZrVTBfzf)Ns6|aZzbc439Uy*j=T2vUUm(CvqDl0|cSyEYkw%mn zwJQ+5;jot={N3K#?|FZ{fqVTf2CvP4+ViPTX}F78;LA-%W^$n$1dK8Y=57?yc@&bU zpA72**vdB^n4E}>o2f1rsx5v~<*4S17y9D0d{lbtFT%s527$kX^K_Eu3!LdLBoG!KKW+f>MPDE* z1fo`(GcaP8Sa6arjLl{gAUg{B99iyA!9PUcU8lD~D|SKe$s`q&A0i&>h)B$soRy?8 zr7~qk2g_7t;Oa$rQ5zUelx4a#DfDghhWVWAbXxnQL)dN50Kvq)p&YO@uxCT1Nw>7`H^nptXmIYhisW6CriP*Nen?@r zD&uS7{n>C6uWEgv!q?RLqKnCS2RC-q30tCl*`UXvN%MZ0mf%Y*gO(VoVHAyzj*m|d zJJ~9TC>*8AorUo=;|SDo^eH`A!)9L(Ic1KDI4hma8!cwDn3xO^-|$hDaKfwY&~e20 zh}=b=_-eOFY-=-MM3Lm&ryfDf?e_RjpD_O>Y7k)BPa6(q?he04oac+MNE99YgleL! z9U8DENcRD7FY%CyKE|8@o}+2GDLn)GZl3=L)(g0zSfz{MIMz@_P7wO<`9y;lV2(OA zqXcZVSs)q%h=7Cu)v5?u3I-(11eDfSXfAB&vuAKCrU41Ujf@|o4lUZni#P~S+_m#e z0unkt91@dRZoio2@VLdlis;GoeVHXc?YW+r&}xRM*$J}ds_!-3t9Y67d$ z2=xT8xe2q5*I>ci)Rg$6L(gV6bng1fXbpNFee}8-Y1b}QL+sM=X0`N2{Zh~Ey6Mfd z)2^5`D5y73QM>kPv{cnodupmT)>XTr9K&3Ly!`(LtFO=E@1*-~?o!ee`Im$mI+1Et z7V<}M^DSGz$Y1}HHAzKW)Zl%nuky^b)aZiod-8-2OqI~U0y-!zmgv?{x?!9n^-iTo zeC$nQAna*-LFb68lJxYDW8*x`U>ziRo|9H55=iK_(KNVE>L8`a6)pb{mH608k80s<% zq>O^3F3>3wvnR!Vl%@K$1P??qo1um74YT<&TgU@8tWtk$lWL?g1-O>rppfiAjH z!}^PlCmZViTBUf`QpqolGj5wmscKCsgu7lj*RPp745;M=rZvV$pkeh=D5bl=2xI&d z`At{>?-a8_F1$z~NvFD33nV^eE^>IYKD8%D8{VD|;hT?)G98UH-4jq|*d`qQv|;cY z@yxIKq3K*Jq6{l`^Er@|hyG<-;_d-;BTdjeCgEXJJFuqk)0vZHt5emUtRth~$|RK+ zC0pn8^{4bA_o7-7J>Pv-Sw=$Ut1;r&nhm03j0c?;qw5knQf!$rv2+rsEz0bHm4Jya zG#Gp7$qx^+D-BrO)3F~FHu1uXOXcLN0)g?alxi=8OV-l`gkl>KKbcQvQUZVyT}TO zs)9~7vG=*=U7i*o##mE12Y|&2{sKVtRgt*!Ves-=JR9C1`2}mH@0=yop|Fr*7P(BP z3n`8sCX3Q%^HVUbBWG?g<1w;|0h7yXA>EcCzGiv~bA7n?f%f|tTO!Xd$$s5ptsXuw<_9FsK|eF zVTJvsyRO=0FaNiPom!1ode2b{DA>Vz5VcTDbdXvaQ9%0yg2@AKB_yCv-#$$zFARp- zME@3MIp-jaDx|hX?L49V(R5qLFsXR5pepE^!gVuLL_q7P8*w;l1oX^ysA-OH6cRNa z!whn_{Hv+TDyp(-s*=nWoN}S1@ByZosMla~k{#umVSKgwO&#N|&CDpYAzueZVlX!A zx~Oa)eEYP_j3I=nYumz%${_y4W|*i5Q+O$sP?9K7D*$uQ7{$r$shA|Rp$i`Yu z0qNjc!aU@q%+}emK!uUNZq;j5zKXS(^n4hWuIiz|?=b((I=MrDeF zM35GzZymkiJ9Rm~b7D%w$7v09GiVR|G~|;383?$)syFB)$Mow!=}va=YFP9)cP3yO zI$z`)R9^z25o81H_ms{sbSqLjmBj%YG_eoUARy!4S=Xim|Gcxp&AAWMh7YN7O| z=C+{_ysK*X*h9O9MybtKf0o8pn-6H+k(iqmoDe7wqHEKYX}bD1=rw=pj@xYY3zIgZ z+y}WC$7vsrP4EKTjyUzPSjfUw9F)9F+0j5lM|OTN9EOVT=tHZ%YFb0VRIUNnf3CB} zx4NO9ULMh0p%zh{@)M>ReB>D9HCM(72aS|F=A0{m^uQ;g;VLwhE|Ec_HctU>R*~T(-T<5>a+7V;Vl2|%R{6fvqW@q`sB$P@WwJbZW z)+r>MDLI02cTDYJ)0EbmlGDx3?q4>UHFUa7sF}lNqToEnQ)|@1_fnJIDTy9xolx7d zUMW@~F@Ju!sM4j(b1zRa?^~hQ3751o1{2~qdxTH}it37%%WXUByBsTY@=@&?%4m$Ku$yJIP!&t?*%=;Sn**Md zX;Mrc`Rr&Yn*0sxU#Tv-?*>g34tqhgHJ=DCDFmYuJYzl4X3nB(8s zHG+>WjC{-4g&J^&t+)G(g<;YM!lg7p$f_QRfnak}P8Bff7b%~R`1p6ZiKm0ru*O@2 z*C`ECPa<#(nLHZUwj;Oo)cDz*E${*@mk%i<$<7PWVI+b#)W=`pcflY+0guT!iwg@R zjE}KJh2T~n*1{jUR)zifqrM&B|F*l>pD2%d_R7z1jq4YvYifc!U-#d`<;0JFM-C4T zwVgP8{OnV};LNsRV`bY2VpxS&#jdOh;=AjgyF0MyMQ}rA_WB9hpC+34A)CWfpMam+ zh1DNEi+7@FTsL6^t_y>SplQ$U8ch`%$Og^0^7d>?EDU8evr~s^Y}Z|&$9}KSbkkQp z(<-q%)bBN+XqnBbo~jARU2Je@j@*7j$=LjuOys2%m1=3U8iM6my~^@*rNM;+xGCEz zq>6Jp?403y_;~YtS~pJw*Le$se`I#;zK1pHdtQUc(4(P*#OFDc99813Yv>#w*g75! zn@MUzSy&@`ggOTIqjq-22a+oI9ss?_i`CIPB97I^M%^&NJ+56zP*^p^rf2H*pxL^t?L6+d5cM`eV=xRZ zIvNkSmKr$-2prn2kVAm|)$|ZNu0;^A58e`Y2&iyWw&DS;WJnLiBE81PdPnsd>`H1iYg=h!9+Xv2|g)^4%YN_@N^} z2|cCMcccJX@POOlUUH^`>tN6@V{9(o~9`* zf~(a)qf?Bfb~zTIZF~Qws-;|7$3fq-21(7gKhBj^h_sRv%J!lzFSbawIXg%uUm)nr z`NjxA1G@#L>?IbY6!nED^2Y$=l6H8pvi);hiFreoZ&Va5VXttMa&cE%%D1w7+HCBd zy=qh~>Z18vdy%Q6ZuckbxX?|&5NW^3f5f!Cpab+&*7KcpQBhU<<<+=>fo1QJZ)3c_ z`1l=Juj-q&^=|x3uN+CNVv1obZZ*{Rcs%x2sg}sAR88HCu7~OShaVo@JO1SC@Wkas z@74!LC!c(H@bMvy)S?Q^XAcxAYC3x*hH$NC-MrDK#xf51^X)uy_XY5?k$#68fYUEw z8dKN$Hg0kO-2`H_5yZ*`Gag#Wr3Dzudq}W5cWP3MqN>%iNQ#F8Ak)#ez1KycdXjZ| zsU4rKZt6M~%CH#l$ZgKa+FnQV!LHA@8os$~t?Cz84;Ss$V{QnAVAJ*pAf9SxywF)2 zS1nZUKpRd3F$jCv*+?$`gm9y0^kUx_wpdP6oIpyqm4mv-yAVb;=r*Y81*Z0*OlNAFCz-}kyR9oyRTuc5 zz+HReWV6F|SFo#YV8wB})iZ|%v`&h09yFP(IN>hK!s~jY_0;}4+O9f_&P}4rKKSS% zr#4y!Dc9mx(F!6hVr_j8FW>aV4|2n$URCa;)Y^utL|2{+T=?YOLCheGOK@`srlOJC;G{Y zYjvY9=x9rmLBMZTV)WBgv^Be#fz)Top#9rFNRLiOuDygXx%EJChHaw&}^4O9WL>&Zm2!gR@bd?Ed#zO zh@m0A2fBvkz9soJB&v1#(raM^{@{?T0}#zb)4NBt*xGI9}WY<(%8*G@G%eZ z^^t&NEHlqcz`PN)ccw;T8?CP3ZO!0)Z=V+l?2)qh#eM_gEiN>j-X4pidCk>aD@heo z!7SK%cd~XhJxUeSe45VE1*gpzkH>oL23uZQ(r1SWQpRJu3MCoC0JFi)7wXRwB{RJ{ z7`iv~)4{_MzJ{^Sroc&6`oUz%R(%aef>BHs8eGH683~pRlZAgJ>46dYxIqRG+zgI+ z?B2-ujro>#kr&99^>5Y_RxY#;v0^9B%6d0LiEtl*XgbbxbFVaDnkp*(kpno*6l1vO zwqQQn2{7U!mR_7p@}soGIM`=7gm)ddt&f=aD8(-Uu|1kHhT1SJ{Jd4|1zQf1ZH^od zMk{PTPan2@mvw=)Z$ubKfq0NxEWoIghiKYpfdAN&GuqpZAC{9G7X=%I7Wp*4rPZSO zJY>zpu~6H0t8j%~pP_GspZ_{`4!9X9c@1WUyb5=!b?q}JrBff51OFGezC`G0+w44U zh$GQ20^`H%9QwvBe0R)I+HP?rQ4XtHTuD3ETS-I^yP9lds%g4FFBrJ!WRRHUnbV4& z<06tgwLDQ+n3fzodPJXPBY00^%3grPPYaGfFJ}1hILhEaI|?t_bY3nCAIbJ4-J#_O z{ZlA#sEHd8Tl8ni9GVcKl6BaMfCbDo)z)eRscFq?rkuZUy{jH#ygE9qc5UCd6#W3N zu^K~;BT`@pV!h?wk~+4iFT>3^w(%`+8?#7XPV;f+|5#2#65W8!j9ta;*XJ>Cj}XzP zzxJ~7@G($oFr@Ft4SQVlRHg#X5gs_=X8#BamHn6B?Pnuff$rMZIO@6AsxOuxTI@O<-usRosN`u1|cD_3IT z6UGEb<$`1e65+7+2C__3r`v*l^9%UqVjv##A1x4^`*%o$m};__brlVEfp^G6_s6XB zxT`()7cY2g_~Wz|$#RinggyMZat~MhPN^l8%Ml*$g&bnKVR3_s7|0jg-^k%G=&abCYkn<0*xXdwZ!T=OV1ZUDyqpN zkP$K%p2O%p3~f@acb#lUo2AM8{#7e+e7UPC0F!OZdn0VGaa-bVHm-|b5}g7;sY_og zg4#=k5_t8`(y)M?CXMvigLB(4{dGQN!B$&SFoB<@FqmwyBFopVE_Y*C^vHoh3|+o1 z$%Jp$=Qn}C=-+lfHpkHfYPMHI>KX_=XWJY}a6G^udAG_E_rvUxABS_om_;&A^Cc#l z`5~ouFZsDhNQn`R0gg!QdSis1ZX{)SR;nD$U3Pg@05lHykQU@EJfEO+tx_10PDYnN z=unJS-Hf9fgW3dQth^+J#=Cg`kiv_anfSzhq7e5m-VR|18~e%Gp^82DG|O=;I4Nc&=lxs z#+e%LeRAK?zJ{9@l%u(S3YtRhK~H8$>0^A(WI8kxQ*C1G00@tKE;QF|%MB)+r2@Le zE3y>~X$}r8L$7oC>H6sS)5DJ-yDbW~BT9yqj^73GHUL$?yFby<1RBwRwFP6&z`*Me z){m6n^IBlEdsyxxFm6fN*67J6eid-{h@z#^ksm?vvniz7BVdi0cti8BksBtdGHIwn z^S%DhB|qJU4ei%o`0wr`sLdNoO6Tx|tI7>QRWv})^>RqxwM$+Ed{&>QnhQ?vwH~e_ z+OU2aY($u>>phaGv2 zFIsYqiot94svzwa7X^3uk)M_a_fH>u0^50xX-@Ym3^?=O&u;tvsXI&N-#K5$eF*Bv z_Q-z!D4R}aX;aAwq=1wr_uk)m>D70@DIm|U%58@k1Sx5vYAP`X5kHK=InmdoB&z{+ zO00V{2XT@uBxxajBS6FW61g3&`c>gBit8mt!qKs2o49g2e#9PC+mBjBp+{}i7$5hm zY!6yl?oIFBiT{vLR~?$e+iGxH!q97_Wkjhxh9_nN5RcW#xQmEGb zJ$W=q>&mPJ6J(y0( z+&{o0(QG>A6Z$DbeDLcyUJtk`8#H7grB5J9jD||DEOuW2e~C_`%CFi7r3RdN zTIowO*1fU?B|wB1Y!~@r{rI7e+VE?bT`iXKRPv$T?UrPzqH{2_@Q-PsemII;^xV0G zh}W|z@aH7QkTVZUy8axav_MGFD`-`1cq1n@FpQd%OkuamV2e)hXVV~+yNT&yY3slJ z`Zx9_APmRg=uwZvq_$uhpJ+a8M>5T-;L`@EM%Xl8)uyJs(j!2XI+$)ue+4~6yE zgyddRUjJoqvTejRfJ>o8`5dB{bh~bZwI-Egar;$MpKutnRKNm)p)_y2>(^5u|Hay? znnW*M(8C%(INBsI>3-+x3Ps&Sn|NmbU{-lY%9nslSRY9PnLtZcV%B43$<(u31dO)CMHF? zfytNl%}aYdE>P=n`{p?s(JkiSZEYYF(l1<@G18B3>>DB~77F-x_Kvl=ks9_HX7~@L zz+3`LpvQAM95dzGD+TU)(-s(>oo%w|Eth6XHUR=tzVW}&!;0+HZn8-W+yI5ScKwiL z*_LEkmKk?>>rD2_+KBBu1Av8pagj~@yK@{W;l78$TZEW&jHQ}lEfS2#RCyfk)uW$0>;$%0>#wAR3j7*qfK>rD8W-tp$`#RZu=*oPWEjLH1ZR-SB zIwzzvkW`aOkXEr~z^a&CM&&yFqU#=v(7@nrJg)Pw805p;pV(#NNsb^0kp-hlaiVmW zThdG(G2*(6kJ2)$OZQ#1S!gBB8-Sgr%*y^ETF76PVLIM}9)ZAiHL zj=PrR@gnuDH{CV-mmsi%q8I?A3b41Tz}^Q~Z&qR5g;H+^us(+2wXn9|slbBo?e{9M zsKs{zSo^>9v(X4>AH%BR^%nA{I#};AEC6*)bVQ2M+6#?2*KQ-zsjezs?InjS+VxAR zn0T%MNornKKZ+FppXT&%IO$}(0b)!4Fh`$;&Zi&0{tnO_e!aE**#F+8-*?}6`1o^p z7JK*jq0}q8WORq-NDm~Bj=-A(8%igo#w|tn4bV~3unXepasLV0{@Frvo}(3tcWlxY zL7V#Oc6>sJO2C(cBqdG$HHK9~VU6NoK!G;y5 z2E(sDc2{O1#p1cP=vkW`Bh5al$IeVvUl}#5lK%yo!3GL22UIKNf_QY|? z7?*Ar#cmfmGswQaaKB4XxsMc^RpQW=gsaE%>!D@fIw3rPQ zpfCxcEmutHGDQ?M*^|^wq9FhaRqTwQ?c~=YHc7%-rB@e z(GZe7svGXg>$!dOhDU8r6)k1n5Ac{(9N9M#OEEU9%}_O%8SwR{D1)?kJ)5m66}Th2 z%5zX;pH{Yr;!9;H!B9glsb~yoIdc3CU5;ch;_STiiz>w&*<+kn3pD*u+d=ISvf9!?xEXFGWt1LA0Jl{istTA~pbrS;F5edI5ZFKMvt z`X+><-e6R=<2lZUD{A#<15@LRWh4a_q$v4Z-6L2dDMI+&t}{Y{nyF=C%a{k%+K6#I zcWb=sxf^gH_*tAuQX!tZdtmoE0fKibAd7BAfSJc+rX@mU(b=eilMhv#fxIzag63b|)W5r=H6P zz5aAE+5shv->UEI9`^XJ9{WS~pvdlLuq`}0Io&B1@&LE>+ZC(iinS&N0*FtPxVB~Qe%IBr zxRtcfXvXcyhxF01I?Q;4iaoTa;@tV9q242`6erzhZ;NeE55e|0$!NnW3Qk-U8qgB} znSj#L^>gxlrb>?XYW^`T zc$iK#{F(>TYxHIvE#)x8VA^nuznEbh@9#CTi%q#j8+NfSzu1IbjN5aI@p5LdKCf7d zRWx&oMn=)ZCvMCp)>^Uk3wGst{p*+OxM{WWVr}Qj5Ffz61+&GQ%5(}o1SaXSvR_Q5 zkimY;Lply&BMVzvetT*E2+|5aIf+sPgj}J?6FrOZ1Q`;5l;JT($S_7k767m zfOcWF6bZVF(tg?x>(LShvjy7J+$F3Zb~Dcg*ihomXJjy+6RocJB#yMgVuBd} z>Ea1Hjun^Zd=uX*`*>c5LA27T`ac)wb?=9vR019E?j0UEIFJ9ljNZaxkNUw*?bNYT zNgiNM0YM6C|O7juf>V<|o3rrrtvEl_=A;Ip?4Zj}$@N}Xs_-QoO zO0s$bkPc4kUww7!lOi9#{yCpyKPYf=qxaY^Fp+S;wsu~9l}0%W0S|F#hEy0Q8dgZp zinB%vncES2Z4^dDE)h{JHj2$Zl3hBn<00m$h^nor304c&5z zNz~BEW$|>ghOlBCbbR=dZ^2WU@CLk&<50u+)3Yg%GxF10C)vlvXyC4jGB=}pI|IBs zUCc0$-c*_>f#>F>?QuMCPYSRk;87-zD-5&TijjUX(FA|4S_0@Ra=ePs80G&I7XB%0 z;ts+Fnn_(>p3mfng)6%HN;MZw$6}h~$&thVY_iP5^Z)msUgAdeA_J!(sKM98vjJBX zKI2ckAbC~_BYwLlr&HrBot#T!>bKN$po(S8VYUNfcZA%X_}&^18QNsYhh@bg+Xw5$Xd`6(t?Y3LQ|pujV)?dW|HWt*?vct&0cnu zaYzYX@BVnL82b81yv|dY=;JqLWBN@uS@9v289BVrNJtxW*2H*#%^FX*37?pI{5Z=H zMHm=Xzm+KH7gaXs zW?X{h4fAQHwXXq7`pG!QnWbZI+LsH)avPGz1ZPekW=?8H=KWnnA3Tl_&LwITAGjdr+`?#775&A=lP6 zmX4Ej0hCg53fI1bdq)!J;^4Vj*$fr?64?O{9s8Dn^b(DrS0_f8qt$C(ga^YBY~shd ze@^H0j0xec`xUGaFWcbX-Zx1{s83!m%n(YrfM__Ev7mp@4WHx)lBOITnccA&PWW!%q*K zwXQwC19E0P=)MqFX4^o$JeM#Q6l@lzI6YyLvV4rPJ|Nyt7G?E z3^9-miBMo+Gla+`9&frHDb&mbn8;Az#G)lBR*ukHNev=6swlGXEj%v;pA@Axsfb`z za)s1FU79ToyVHt=%cFqsM+HSO=dZR|ucBX{G2ki(TZh zRzAysUrg3*#rI%!BdB%5Ju0ux8StV@D0tp*l%Wu`P|4g^PSTK(WuTJo-32}5-^D0EsjfcGyymK4!NDkCxd|iyQ z;KoC6$AKx;aLa*{VT%MzClV*Vvz!)|3M7#)Ln&bqd1;oj*(X$U7ejZnx9^LyX=365EnkxG@u0 zTn>GJaM1t#6ewN3q=&R{SV1SWxCP@R{Oe0{kH^3Al9xe&=!SF@1Xlvy-@Si&c=YHD z{y+T~zD}hbudzcQMOrh`s43qP2V7w1(@hZ#B-AhC9~^o}0yKRSDGc)YLW&6q;vHZ!8Pi#( z;U42v7IYJfGWW!$M%nTe6_KUSMdbXuhF@_3AB8+72-8Bh4#k9(@G*=7Z%v}erd-K9 zuGq|A-Kna0#QInxwhL3CH8ElY#VEz6+6+pYj9^)gP0P@Ve7&|4cT$MV^x~*PQFBR% zV-hqZe}5!<6$%ru=6x6q;QCv;R`vZE@+ztDn&=by91WaSia1g51y#b)(F!5w(+|y$ z330DN8O3+!REWEX&$nQ=yW;^oMcLS#C5gMp zGc4^}_(neB;DhZOZU8{|+yp>8=4Kk)0%)Ec)%kKGz#@iB=T&5eyuHVaT!&4UiHd%x zqB;RDcZ*(ProCNrjO~}{oaB){5!BgkDk~!N^b2oC>vWfv+ehm#8izX`VpwSL<^*GG zmX$ZfXPIqOGTC9NA}N269wlwN ze9TTH_CRKwW$XxK&5iA+yiP!AKGJF=QJ=#$-0rZ1eLyFC0ndtBohnMFpn_XjwjI;o z(i&Sy6=w9@`7%UtUVMH9+6>di;MrVM1f90By3RK*Ezf^#`@6XJXZMdDKHPn@*GPqW z4>@MVGM>pQiYFqN&noyp#6H~-d3_;?H$m>6wBxnijby)F;_EGMGH3IO$tT8cO2h#i z=MMTL?y6u@?(<$7>VO3F2b`LtG3&*@qz!LaILzIMJ$%e49mx?3mLtyKo%;N_x}dIn z!;+?$oabWSH@9nuwpfO zBP7qWX}1CAg%?l)xToaJWVk2}7$brWVgP48sK%zj#RA$8r%Qmy2avTJSX@NtPX2&A z#hZr-LY|iD4a52posv->=r6}0u|4)X=LcEGiwJPgClXN8p9}X25C$akSYl%M$_#CY zaru1|RGC5SM#O|!WYO?-@*#H+=y`~&k+G3(C!xwkSxmfhl2&wpHmH|8^1vm;4wr$G zxuW#xVUQ8L=y^e7H!VE&19X$}!9BMm1QgrMM=9jfi5|E|ZK^d@}lcWZ;GqlMSI{@2p}*V6v0TAERs%#q+fsV+4L z62>tW95%o8iOxxd%m(W`qtVSvGd-x-1-Lqbx09p-}B15i+T7 zpaq5rr`*Rij)6uW9iH~6Fs1Ye#l%Hk*HBE57`QaVhUsS39QJ#$EmyYyZ`wOeiiLWyYiJD1Viq`^%Oh<^Iz0uMlo5| zWyVAMeBDCsZX|Q@X65b4+&FkuB<)H9L6NK?ImUsUC03gRUP7r%_xin^BA;-Qigs+^ zf6lvb()ZFVIHHzt!U&{i?7Cru}`fOAK(`P_Kd%U{Ox1k&S#p6sU zE*ob?qy0D^QMjv3`&>|M>GWUJXGSq;?z5snonG1JkHBoa`P@E-+S22{Y;Gfp$+Eev zXy`Bt7rsTkNFx@iD{_4RHDki(h`nH=U-J+p4m4=>sC zxRtbMN|{tW9!;83yN(=fD84X)D>xFzjZ+e*68DKc+*Y}hyOq?>9MFp zm!ifMZJw)KV57ChRhO-`=*Db>Z5Sy+9>TGK`MKg*eN7|`&)uZvrGf3>oaHtIrk544 zF*nSaqxIDXCQ8R)Xd;K+KUiW^7S$+4?L=s8097kXr}{|0-pT{Pb~VZR8HU4`#-)&9 z_`RE7UNu)O%~riRCaj4k@0?I4FEMQ39B=pzXCoP^VK3_ewe{jKSz1gS)Id#$N^>Yt zd|cKp5vItlAlP~%+t4+;P}ZEGc5;>(#b2|bs$^R2jz)Evc9N-i2WH#R{z_+;HuC`B zEVJ8~yk@r&ydkz*S}Xyf)|TvS<` zkQzw&Zy@CY%~r%zt<@D2W)Y7Q<}YroXM9*wR!PW1jB^-9HoS?%!e|X`F4DA-S{~Mh zl56AB2j8rg^HMGdKFxv8O3AGOu*OM*FWw~YR;{7aM}?qPyM~$(TvS|pLurF|Ck<_c zYwGldYbxleT~mw{Dv}{yx`O-~YDLk<91GmPvA-r&qsnXZsHGvy{~jvG9jK!;Ws%mw z`z}T=!kGK88TlzIT_L#Dh7qIhjaPKiv_mYQ7A_gE^g zOVXzB^nW9L1@+eCYUNf$ zbsUbVl}muB7H=vg(PK>V@VF?Vou!4dj@+%G#Y$^+lh&o=(|Dp-o#tIcGJ9dDqb0Gm zYQRa&?JZV=mRTJFP|ImdNlTBgUA>ZITbDc=S2C`S4|%(L0*d3$Q6hxW!ajku!H)xUXvSoMiBVch%xqiKZJ53`GZg0P}^Nx+R^-0ht=M z)ASwxq!M3b{kLeLSZJEk`vuYzYVVggcOK{d8t0Z*V0MHO@Kkx6f#GdAXfKA|?S1Ka z44$C%PCq|>bol7t?D5gzqtm!rI-17q%}xGU1@!J{nonngj6i?1dwgW3nWvUcnvg(u zJKYM=PYWTEd=rTnl#odC=5gLU$TQ^Ot_#RwC&4^GSb{ z?J{wKt|ejPiF?z|SH6Lu!<8%udd)>wSe~#*D|OLAgOIP-fsX0YF-o(Jpx1TXl>srg zsGDT#53bt*+up8(jdWe&&zo`QN_ewph(S}b+-I~+OO6)aF?}&Hh*c!U&|?ZBoH7a^ zhYAhL*hqn3kf9pUB2IL>z|`$xC7J`m{fcjd8i(JK=Dk@B1XRLRz+lOsG%2xShYFfj&EmJ4z{we1ZiFK`pno*gxk-qiq zA+Xh*8RsJ}t8c=z`sw)Dn@e0aytZrG4|D$xRY=~S_|0uq3$ni^!xRedxUHlXY^1uy zhejV~qr6{S0kFt$+B|E+`n|`q@(FHrM>>Ny;}NBqnabo))D=sRydTO=J1 zT09*=Q8LE*W;_K#A$>POhjiYBYw}i%tJMT}h1fkq-KJqNwtxH1AnwCc3N#DPl$@H90b@d}+qH);0ksX(zPM zk}T?AH>C$t3wCmyPV)X!Ot_HeIsw=uBWKHEqUT(4Jyw>S#)4cS0EA!PmK?Y|F9aml zG-Y%M;^7dm4WMoaUK=R z=$Q8ar_(DXgRF$T&YWM`6wjtvBlEiv>w~rPjBvbaS-?!DkwrpsYAUs}yIw(^QD>pV zbh@ThOarpEu)Z#8wlTwQGDN4(>=2!9GDN309ir2Xhv@V#8lr^<)3fLiBrjsxwtdc~ zJ~b}PF?LjoKxrLo)RCYY>IhOJ(YiuQ+?7b;;l;QhhtX{<=mrII;%N%*lD;nrv8-U15ptB7K&#fn}nn-G6%Krr#Q|o^3uORm@Qzn zd~TD-YES6}CUw8+L)dnH8?Q92h@@>biGpdQm8zFmHA4xr%n8Eww`$$$I8JErK&a+k zFTd(A%3;oS@xH(ouJ5(fy45nl!Dpb?lVvr0)SEJ#%I?pi=`5$>e)x0-i% zO#(oJmV^KYQY)bMAiV?sK^{2Qy^eUm@9y_^-D^H|?o;Pc>aRZaS4!==@7{16@J5c$-(Pn}1pzhbH# zqPWwH36``&bPx^Efeg{Xsv#mOzz6|=1WG4RH9?FLLFnO-hl z3P?+;9$`YI6%|3jHhsOM#}IsJl(}Mv-I^AZ1kChFF~-|&Bfc^px0;Two}>W#5^g{B zQV1+gh3Hhi!69n-WPpzVIY==h^h*!kX&o{E$RO|YVFf9!hPJ^&+M_xCO8byWSBCOw$#?~=M$dE0SPe3?%J3;G zx595vPzcd<;<9luyLjTp9PH#t`jcPsu)HSVyx;&D1;)VK^5^_2bE9lXWhe9$f6t8P zY%!pFxYpmOOh*`4&YIU`{mNOtnk*h@%QD8UZ<(`pT8H}pz*ab;PCdjLP<<6dH~jOy zdo7rQI`_EPuR$@LgjU$VJVj9hzfhjkmpJ4ShfO5_MJR!o8kzJkOUv0r$6J`AJYgu2 zWv?onCk1b@&##26BEe~-US|QJvYG~oQ|D3Yubf(y;PF(Hk-<@r*?2Smu{9 zZs}A9&*x6lrs$!bOD^v>#quS;9*pL?k`Pf= zMoHa~GI0T&Rl2VDc3;SgriE}43OUSNgt?<8D>qWrvDTz;TA=Dl^T=ZbWPPjmuEQHy z=uppsnAjV$*oRl8>paZylHpZ0@iSsGr@CclJL+F*V!OFT4RcGed1u}1&Z!&f+Rf>s zluRqPxU<%|8bHBj+`T0jn0nHehFW_*rjjp(0PL2&0>~oYI}5;;-&7F(uBR@d4d{8> zQ>o#R(bg6fIowO4Z=7XUAo9virK4T3!c|&2I{yK>>h49wdj+Ld7H?D|45koe;6O$R zJ9)YPOJ0Iq!({dH!I}F2j(GSdvYynEMC>SdM!NGL9}f&tE9&x8G0EXnk<-xyD{;*r z4@;RUiLIhPag{G}x;Ngs#%F1Xo8|TuJ_XegF7vEc!SmDhl>jY#<9)62Ut~bTd^%rN z=UyF`U=TuVJL(F~fR5$Q|HF3+!^hHg^-7g1*(fK?sxu~>T4*s0J2zIqh}FZT2$J4t z+Y~iYA-h$8=JkN)YXkbV77#0|0T|I+z0nBA#m@U?>6k2GhpK1ArBvS%A)uuG02I`B z3@?{k4t3J=n>sfAorrw>S);B#4;E;n8vyEsemjOxn}Pg^IY2ZbTb^khUQ- zzZWwQC0(GZzN&-VzL^^iFq~>#jx#mm~%y4yMs5 zD}rnjWOs*~Jei$i0a2Q1O00}OsuN*ltWw*I46gPbyMeif<3aWdA4b1a+X127ppdE& z`MD_qg;ZY#;+sW#-_b}2xYm{KwJqrh&{?#h9(|4LFCs8fN6OfhRX4fz!0@d*3oT&w z7t(}jME5<>`Fsp`#TH5$S;=k?D(*EJvXrIU{iVWQx+S9>*{ZT&K*=tO$(;8bEs!~g z>Ht!0TL5jbbqiQlp|_wUix$hOT|HrHQ+vHe%J7Yu&X$%jed97+x?nCisPwrJR$HHs zpMv%*5hG0##8_5Oi>l_#ZE4x)G)lQSMm1-}b1;tuER4hM>OAl@Mqy=zoR(p#9 zF6&3Qq#^!x47`O!kS(%$_OGeoR@w6nLh@I1Db8g*ZY4@YwOgEiZ6~0s?QlIndmo5f z-f-gisTcb^S{laJxNd#^$_%!1*zgyd&^!?vP+4=Q9Gms+a`_!qUpcKY!7%t?nx=rL z%}%v@bq{srV=yFv7;yAx+D_B@EO#zoi`#)k{PI?^wbjKt`-z>g@pJcUVfRR0=hCNA zUff#UOzk81ZDV%2r3Gs@+iJ#bZb-eLwJA0Iw%9mV!3>HjkTtf@5iqlfHh|Ztey@F5 z-B4?LGJu+77KrhJ<|eJ*wUSm^$5T7`TerUoi+8$zgFRf3SVQX%D$QFexY^(42opNf3o2I(cp2l$Q~V2_H!sViqV9NfPl z`Duj2O-FEowzD8GIOUv9Kvkg9aqnD8U7$Yl>rwcIBSnV4qA{e`H9>QiSbT&iFchBt z>aC=3r^V0dWKfD{9KgeQCy4OO@H8iLvCw3c0`^a`G6CrQ(F|KgQJ6yBpr%27@Y~md zvQjNTIPuv2QQvs&pt4ur(;TDD7}_^N2`ND9g-3nXpK8zd$7ou2Zy=|@zu0_OjEDKf zY{F*rhaSQyu9j@VvHB_JC+JWyE5k>`1v3BpC1Np|QT!P0lROjxu;T^da#|dNB%VFw z4qR{xj60&$ad(a>9XZ$?_xgwK&JoR%&V%hYyPV+B_E_I>UBS?$lME&_3?X({O#d>) zc0&ALg;3|BY`yyG4mC#}p+X=a_sB2c#dLCUJ$E$5sweQ|daKgIArzP4ur;_itsEdv zJyOcwxKu-%rv(Oo7v#$3Y5<)OVG>y=%z)bfD#q*vs|4rC5KYy*^jarB!B=TcU@BQ# z_gAtb8n-6b19DRw_vh|#+@Ih>!w7``X0F~0$_=G5aao{4=DpyW+StpqjlJwv+Q0^O zkv%lcWz1_iSE%g96NGB7KPx&vr)77^-1r!Iubmet5>4k!y?9czuKO7a2-B_#kChco z!;O`><{rtP`azWPUPx8iJSNGbn3h&@R^?AFG8u>1)4mR9+>6_Q`w`2_5M7a>w*>gl z?vB5=l^XUpNPLIW5Tb>0Yy%`Tfy7w%VB+zH=l~%=sBgVJ4!U;gZNNa|vt!3`9iK0E zX?p{~#E;&^v3-t{IF92emUqOBh}qh1ZkgLKwqGL-Z}w!u^!%-s35ytYJz3u?}mXH97ewB z93dF5Zt{cuMvn;a!vgxj6P85=NGAe%TnRNxSj+t}-L9#9V;?t5oY;F_xCPIwymA@f zZs+&zMA|G{(wE=4DQj$KQ2%fuOl+^4IbTr9=1 zskzcxglK~$nyQj(!?a3n0HQ&LXR_*(9l9wgXA~wn7iiCVrF2V2Kpvqs86%W$)~5|ubz^J zsVZ)vU9afCA~~7VaFYWfwzd$$E&iq!XE=lOE{emvv1&w+=zw*p{3Q*oO$6> z#aL3V*cQpNlj#DOajrZ!Pd#S>H+QQW;Hb(ooyA8BC^&?t3)}{YL>md?LzC7D_3`Lz z0Um_%cHmx)+&hP27^cG!gmP9-FxT=Qe!MWu$fM9z4& zf}6zZWqgvxW)W$=&53`iD6k(-zlQy$@!8~y;|u5#Uml$=U`_1>1o5W7f`a3V5s6Wu z{uq%SUmS}Rk6=szh9{^6z=lB5@B?4ZFLM7TfPv@$1>v5No`lcRULpOGox(a1iHl_w zkbK+}-39zw{Xo5^cD*b?nJYM6 zpq(_{;_E=tz1PLHi1obn0&Br5o_$1Zxf=OCrQiMO zK2L3-s#Qqlb>bny9e`}e-qlsl{JBs}X0VY-w((mVhJlhBMlGU}gh2jkBw(>5f4(Nm z&C|&vdAn2DBKF2QfAwzyoRTzWV0HQ(D$5(#f+B7Tb`T_EydfYE0V zedu8EU_Xt=gZWiqYz;HZ zdCd&4SmF~e&tS@HYH3(~BF(Yo!O;NO50WDnJnlGf#x(*|BRsx=|Jld?>dgJFPLQ)d zJ8O(Z$R#7;WXBkT)Gejw%jLY7F0}W~i4M?_2AM4wgD|=eW1=SpnozjEVvFL6ub%x@ zj0LowbC`A}ljBclUn2B=K0}8!Y7aZH&&J@lK5_~_kb9$AaG>bBkt}9yYVp=T8}YHJ zj;QgaR~=E92bxf*Bep0$`l)Bu5d+w*BQ@#kz>VEhrxo=hYSgyTI@>Bt|AUIcELvd) z6mf~CZW%6B~Ey0TByUaVUr6SD+0%&iJA zVen;nReIJ-`X;Af{84o2&}~4ON#S7W3g*))X?JLhSL4U=uhN3$a(F)Vp{00Kt62)u- zE9r1if(XVvpbcSq-wjpO9iEL~)K{AC-bE*m5l@(^(L8*U>E8crAK)D@5i`^4g6L9& zp3EFiuhV9Dg6(l$CxrjTY%X!0yH4HfRox@32x_llQHcmZhtI*hwd%pesS8Nowp3}ib)-V|n9Ip+ zgQ+)FozSP#zv2kmfudxzrLnlf^<>_Wp4bX$TH-)i?z`xSLiCSl$cCZsTj~h9^&VxJ z7$P1RYDQBc03BXP^VaAK7bmYFJ@95t4dUtzSC`sQDu_yQLHGqE`d_zG1?1-uCKy3G zU=pU;_4`I=vcLen#3)_e3#IB-qJqM2J%d=wKG6gpd_}9n7GU3;5@@bY}>i{U*oP&K7h@<>j<0M(zqeJd<95bCS2G)k$h~XuK*2f9Z-q3>(e* z?f}uN?vN246{6?(L@o!81_WBarkq|rsF{V&j7*kytIGmXs8KFbg2nTg{#CpJXZtsm z=(VZ%O)QqQiX#&*jxUU0m;8(~-jn3Pn_2y#%Oea%LoSd5PQ|FD^`8NX`Hc z>YXLfC@hK#7GbGcM^HongQ5N`_p$|<2oithFMLYyW~##oq6w-WpvZpY<7N3paeXt# zv!HY=?7JA@AJ&k$Q(`5vrb<>o9P6Tvm9>$iVTbEUChJCRGgr3hVkMeJ;TQx_*&>Rr z4fE+@mg*GIflZPqJRBGqCbOw0IsctIe)}2>f&!aq8Q8lSLRhQcQaI#s_vpvt+00E* z5@)9B)j<7(5(OUl_+@e}!NBduZ4q;$M_NZavCL$sm#{PoBnfv@GU+Bon-NfBOjY1n(4a8~o5ZP&LPB!&4GlpN zOavx*Nuv{Ff?kJ1nS;E*!`gI1OS^Z=j$E9`*7Iql?6d2lh;1!uMb<@o!w1z7PB{&4 zjjGGWt8vyd@!C4~w$6Q5oj+_HPTm{8MI)548T3Y&IOnx@A?vP7vP&P?v<4R}NgCjX zt0W!puf^2oPg9zQM((~u z!+cQz5_fMu3=a$V+#2)wA0zYXcNs=3GK>FBNuiAP7XUp{%L{zt-#%R~Z`QGilugWcai3eDpghjJLy6xwE9OOgZz0zy9&p~2G!OPpG&_CT zj1OYO3l<;5Zbln=Ew>lR>XNwfRG2M(RD6YGLI6%&FC^a?XoO6wb-B=Potf$~GMlQ# zB5PS=#H}?;HDZ-@TW$tTlU>$ryRllTgB`)Gclv5|E92(3ww6$~Z}ipPR-%n>n=f_W zaOx$H!7#s}>YLBOSr)k)VSA%&Tf=NShC3PO%tb}AD5ZNbVsp;O%r8x<)LeI%bT5*8 zv>X8&Y%n;|K(}?LX%E~{o!B!oTNah$vOo?1-~IJ+Rpi+ijS&hSrptsMvquG2Ew~$# zIy)A3k+edWamCYJtS_@C0whm_oK9dElQoF^YJ4IsNm-qSTI|{ zbIG@R5WEiLk%WL8^W!oS%Kg}|zB&2q?Aa$`;&aIpA3qQI!7=Bq&v~el9lGc;$1+C| zah~~Xx(Wzp7fY^4p((7Th*W-$>=T+bT zV&xZpjGa5|RBR>5F-P@sDQWPWWsog0#nv}XNPkwxiF-AaA@{lu+wZXT>=1+FM?=k& zv5AKRoC&{O-W`3v@S~M6JvPGIQkdtV;O*vQSa*wk%C35Q{DmE6S^AOLq^82Ex}DNm z%GJ}&v<#;PZm^^#YatOU`PZ8(8@LdT?gem$P#FLZQ+2rW{@nO2xb@lEc}&EPlMxr+ zHd#gHm?_z7H*f+O{y!VJgKb#(8mzOFL4a=EU9O@H`B$KQDa*O`J{%*Xla?Ovx+;0= z-tI<_^WAR*|C*x}Imljrb{=WnWZfb97%#NmElv zOhr^uK}k+UQZ8(DVSQ3TZrd;rybI7DCce}G93kj2Ko4%>v;tzQumt41mR1%KiZnzr ziu?MmWIJ&Kw}1{5XJ>Y1mvMA+gUskXf@7qn)S=?!QE5isutCMItnE&jEe!WqW?8;K zsmVEZNj#9BhqB;?ilw!V6CDW3z&DJC4EcTftH|+~J}u-{c|}_NCa+KOE9jMPr0M8DegxStv?U>k&2#1HWT~8!L(!2k z+)b|IXf#nY%0WId;5TY_V#3xSY_;8xjw5YL(m1m44a+poB~`JWr>n&}j)1!r_fvem zy`5olth>WA>(aIiZ^x0ehvx7DE<>9gPRv(0`f~67Yt?ZD^4QyuNay_^!mko)kZKeB zu(pB@<;&Fs*Q0|}M!aO_Xv;1$SzS+k7x)94Ywo-&>|E;uf=|#-<^Mx`qF~DABwdqs zq9C(Nzlh^q@K7GZX64QFNRs58{++3lw3n3EWVU<>kP((I{~(>Pvm|HvP58^ti&;m!1&;VXeCM<{Q*!*0|XQR0ssgA001BWT?CPj`-}kq9!?to2LJ#7ZE16J zX>V@qz0Gc1NwOxm*HaK&-3w%%a{KW=Go4eU(pMCajc6vIS zAMgFgy(fQrve*85zQ0_|Uhn^x{xALipa1LmPbLS;_PeK_e)#z>tbPgl5BDc84(BgU z4;HhN<%?Idqv=1ro-Y4&a&$KRd3riOTO3Tk`S8c-hkyFd`|ba?|MBAK>XTn!$p3l& zpa1zk?7cgGtf4>4@apXNpndLtJf0o>hyAZU|2ka%x{u%V-Rxj_`7Ql_fBKqd(|=pO zK%kqx3O9ch=~k9*`Z~Jyb^qH}dtZOOH$6Vwo4>kh_A9Sq`hI%6yzxz}eZb`}U-|ok zv(x4L-IjlU`O8=SzCZaE`(XC!^93Kwj}K?7)wEyur+?mCzL_3>{u>vIJ^yigg3T}d zme0l8KNoNKT)OLX>Gsd1>z})3#dDKgwc*j^_1!jHF3zT#Y_Q?q>H5E~Kf~%PukM47 z3*6#uE~d+~#qmG&Z}{iU@8!1Npxb_9eaBsStZTdWm*r%!JUbC>-j9E?wufb(_1RxM z+3*YJXXnL1x|p7x9W6H>rSn&>j%LTxTaA9>%enr$+nDc`GyKjEynY1TbPU}2QEP6n z_S27cxnis3d^tH6nF`K@8?Ez=U zr|nEXSk4`v>*{x|J2&el(@3Abaee#F7k`~B4qx~`()Dk?(Id`x;3l6~+v^t| zaCSO9{9%50_Swe0y8nOsb^QJ}-+xVeFF)*kGd((;y<1M-?q3g3p6~zgHHHwr?Z5c* z)Bp6%(;xPJnY}yR_^ZD>CC0s{f9Sva)BNbe!JGNX*X_5@jwYWDob^BY{p7E2_nr;# zwExw=e*g5xy}SP6huQDGhWK)Jdhu1?PhKBQ_rCjZJb5=e*!(BoehmTkp1z;W|JUiV z|4sj&-%a0d{N>+%UD9v&ewn;nOz$?&Z`-4MyZPL>wA}eqZfCsTP5yn_d|70{KTf`m zVegxx$-&#bU*1d>Z?`ncU*?OW!@a*u7JGmALx0GBIi4*~xBT1w4iLVXt$zPc(@BfG z7su270Ba9>%_>)|yY>5f*7hrWxA#K}7AMEAxBR1D&c4R@Z0iMmU4D4>uekU7*~u1f z{V!ib4d2zh@8*k%;BoTaZ;vL&Z>NhJ{^pvs{`57~Z#RD2zx@7d`2F7R&!!*le%#Nt z|Hj`Ke)H{oF>Oc2>2D^p#ld3oYWbTV{->|&-p|v?$;F{~?NjIPUbbNHaPR5j-KpfA zJl%HnpLW^#PPuKPt$)+Xa=-acPq%!qZ(i*|sC$3>nzubtCT9ne)3eP#eA*1Y^(sG| zfaj~+>Ja>CghPBfIPcsseF5M0vtjvWzU{}it^ID+9_HJl*{fG~Z-}*v?6WKD3fA>{ zy13yE`}g_rbX$z&;&*RK3eUgf;#>cEzRNa$X2|9;YYM&B4X_j}K>yZ6d~tFTC~~ z==~hH`8j^KifUY+T75(=fzc*hpR8? zzaGC?{bNp_y}N@C2S)HSPbn)_Z`PE*BuX=d!^Yr!f__Jf=a-ZF7 zqn5+IZC`S_c{{AVP>k!pa5z0az5Hpu8KRuOzP^fA=a$=ldbXUuJDz^EcXD(#o9?xE zqiw9^^s{yJKREyGzs%at7GLeP%zJXYcl!3jwcmSjVd4EBm-GMc|C|qde>ysQKb!2m zI-4%mKDHV7?C?}#Aq?R*6I}b@%gO2agVXgtoSiJD2Pezp(>t8)@+mjnLm&6x<>mLL z{lmq6{}gRpVjRcQJ2JdmQ=XfDy76xQ?8`o)FDIM7_@KY?#s9MUVGI~D4U8pbVEpQ{ z+xw!x5yR)F#^opc&#Rw)4JC2;_z|@6`Bu;JU>MwLs?ee_pMSuYKieiFoZp^6iJsr*|a*md{@vYy?=Eh9b!pS9OB>%D#Eoz6+U0lt<^VUpxv=@o#f@*SZhUbNHomy^ zRl{n9*S5rJh4_^jCcZKPl#R~G8=W(6bWYyroOz>jmQ61>YgNalWvzYfhcDpc&2rLyqs3XjogGd8-0t9?*N@S)FTVck z*T4Ro_KKfPPT$`62$#R`f<8XRm7o4RJ-qd=FMj?4Z(74QvNe43SpvGa@s5RCqm8w{ z+o~|KxN^l_tpUAz*RI6#_5W!;Io$hUK0lqVS8&gX1V=3(KmW~ZKi{(MvteyF|Kde( z+AMeerPmlE`(NGgH!Wm3oE=P-7k{|U+_>@YCbJjI%iXZ?S2jQ7l|uOqAAO}ze#399 zCykd+^5phkg#R+8uC`{M3z*`^o@?E7JY4yr^MyEU&bv0`euIB@to`ugkH37s_iQmam>s{qaf9QP4NmuQ`kp`L`5Ao9GkO%K zaN3>1ey1?q2s1A}%b-7oY?~9+y9qQe&yJ2xryr)<;iTuVMuN=1n}E`PJI}YVLRkNW z^@#oB_pUwA@#OuBllkl#_3=*6yZVRMKJyYUS{dZ4YuDg(|Q)iP6JNDL1xZ$SW^08ox$NFY^^m=yo?#_q84G%?Q9;)2^Oy5q9Cx>_2i8eeE zk9vLEJkw%6S#I(2c*8@*Q4f{2c&LA$9=zH6d3tj8@@RH&=d;BP&z44QEV}#IzMCGu zn=Ibm`A})YL*+3K74Lqg-!3NCW6JA~ls7z58D*y}-r?`2^Tq3p8|&h7Ihq_#M_r*S z-p|R+e|r0$-*Osm{{a^;aEFB_A8)bn)fRu#uj|wOJHLLrM_9jR&p&&Mr&vr5XY*e! z_z-JF`P-lU!a<+@vcJt=oE;yWv$KvaaILMstG(jo)XGj5JMMwx8zcP4z@-#>dg=J_x4he#D64HpHyBK?rdB!dfa7|uTh`jy+F}62)w{mA*fIJ$XHSHd(x$ zE>G2;dd{yJ>q;Ar{fH?tFqkH40tTzO{(d*Ea-n=fvlE-4@N za;rbF`8*i+K_k<=FR``_k0Or3Rx!u;U}3aLZvY#2S=ug3+hu7FFiWEVLt>&-uw^89 zWX=}IB4@)?0WDKCd@!lnmXO>oS9=t>+AdbO`4MotZ(m>grrPWle|LdkZ-I5M>KT8y zy*&2$U%Z(e9!`&Ci2B(oS+GRZ;Y&d2BjYG##PWRqX!gF#2wWaFlUIAax#w`QI23)% z>D$@S(Zz{%G@FVdFOxI=YA|`;1uS}kzDq8)Vq(c3o}A9kAAATzrNme`L>4``5@ppR ztedXvo?~C!*+FE?K_UYcv!rCB3^u{G#@ydUU&xO8szE3(d42d z2;_0x!JEmeS7ZP9_1Q&lo#a5ec7tB*2Eh(`Go2iEM&Nlb(0IRU3CYpv?Dg>%-HI?G zXSirg5&jX4`J*eI{maRsS@qRydUPnNn5=gle6*_IRm_iH&b#i(@!5F;*nZgh5yZI1 zdXxG2{r}{Pox|hL-%aOkhd58p58hC>A{%tFYFp&NCq~A0!D3H(CyN$5%-&76Cvv=6 zO#kcI^!VVz#i??~Wx4g++n{lCa>H9&KVr@qHFuDJ$_5fp9YX@TkpuMpTv6(Ab9+`T z!xxJX5oCUu9!(FHqHN`huw711CdZGE>;f*J!o>-fC>9z3;}}Tc^00#hi3f;D`Z227 zfDp{q8j3@$1C*?@R7^Dvkw9lD6k3XXE!8tO((b94+MdFoH5Cg@ReVi_mVnDH1px;O2TW1zfby^*``U^s8`z2lwWYGy0jskEw#z>0Pr`%S1CB3SCF(2Ry(dz9-_J~(bq0KuQ2$YR{^4OYqb*#dQz#)22pM+*Mb-2+TttF z8!P6asvWT}Uh0V8>xij_LG6bz4p9rs^p#7umM@BxO9XW|3N3Wk`XGw0LU6tciPaUt zb{8TI>Y_8rJrJEeFhv6-xyAoM?}B1v6nz1#oUsl?x3jtvVl)UG`r@VLioWJbsTkny z0PRzXwyfG0FLgz7c0~p)JlcH`$KcWHt|*1wiJXhjNew0UDs;r5YV&B4+A1aIG@66f z4O=43Eg3gRq?0&$@VyY*5g+u?L#nxD(n%jbp!m>Y=R*ss^1OmDMAkYXCi!jX3;V^= z7pl4nbFFCLgHg*S>r)(g<9&7-`@NpfBj47$c3o7-`#8Es{*A z-d8jfHQo@#ASw8USnVQY?Hx#IAho4H9A9B_W@B*%HJr?)rXd*IgW|HPZ-7PZoXLYa zhYrCYa*yKhD*8Gh#TGRfAPzmo(lhkBp6g`hyyst1hGuODeU;*`c zmB6GDElvx`m%SD{fmDAPG8t^HzILg#va_`UtJ9qlVi~l@yO_V0ocU{vFzCII(V+dS zuU)#YoPjJ#`a*Qb79?&Gw-u5vJd+rMI&x@cLLRhPw7C40ok>}3JLpNIT#$yKzYDXN zX~fQ87UnV-)K=NRT7B(OYk{-1C>yk%G%p(TkpoLfA-=@--VB`$nxWZ%N-B*UeAAso znUlKt3tHr0a2d*zXkRq~#1akKp{a(Us@Wh(9ys`7%89DMZJ037pjRXir#hIOS!~d5 zeRb$SU6VlVhkfnR%g`D43n6OvR_{Sc$-oo);-%*DrLl3#Rt9Yv-J>;DOY`)lOFhxI zY8Yxs1_(TaJR}2GB=O!#&U-7eLB9Z&qHnHXIW;Rg--+3P*qxxcvw=*H9M#IcSbS*P zN=pr)UX|82S7iAaU!46gXvtZH0u5>(6hrXr%go}ENt^MkY*kEf2QfV>M`s`GGAK#y zg%k`Z@O|;Z-4%oL?rNE^8l@osJ@YS0AuZpUMN6k!wqlS@a~+aeBSc)Y0N=PLz0u9!taCmwi7m48jv|W$ntJUq>w^Zds2Ek}dyvQ?g(lRd zI(_9*2Q1DG2*n_F=R^iDXGB>ogJ>`b!X|hgV#<*(NeIW)`9|GMrnJ%YA~@Pg_bnwc_F}ZCq(}UKIoHasDsu8#UQD#qzbh~s&%JxNfxt+ zqFhzQSO0?gWvGuFN)#(HuNz8C%qryVfZ4(ULosNc>x-A}tK__|0&0QM)yBdh=tC?i znw7yhkp^w}-ZE)48OfK$%@vH!fkQ!M%+Q5ki#lWwON$luE`V8-p{W)F23wI|guVHA4x3{9yRlvn%Gg*z)d<5<0| zxnzTlWzbkL0#hdEn=oYqOt}kn>l0`(9i%vuvU+)y)rd0o8MS&+RuR`%eLKPkYeIbz z9fQH3D{((qb)FL4SE-(-9W3;2#Wd35-56cfjD!-oAR?b zA@n7@6XurV6g}8i;(&TlQaRz>mzhjR5Y_73UA;!HqAcboV{vA#Wxzq}hLi?KxL>Ztp!ZA6wFP#T6@#jrx=@<`MFS97T=uHYM69ghGj#9k+JI_3u_`7N z`7+kpGE>sJp2=_uIa$q@Pt+{MRZrc{T~$Pn#6&Tp2&*&wDkt3>dxAa}TIqgb-c@nN ztFWcJ>OQ6xRy9-U3(jJWjIYW}m$lN5N&_q{u+j(YVv!l(P%G2IqDT#2`naQ_q9upEnlu0WHJcayMDPr;w-Px`_@wXrYHu)?Go8yerS=$?#`68 zmY*oSFxDaKCtFo9Tg|sP*fv&7`f68~0?{`Uic5pQ&N5u9fB&28hk|}6J-DkNp6f59njLl-B%*A<QSOSp$-NW9XNZ06(p%A4 zSqxeTuD=wqswKLk+z-9UT1h?P3R6oni@wuPysuJVUoR}l0Aem2^&J*{=~81wXJZ8e zl6Nx}8mI&J#S71@>facxZHvxHUFQL@Hg|C@PPd>m>WkA|Zc86Gh*N3bF7k6OjW(60 zTrE_^#H6<9tSSbeujKcrAsN&xKs<BeH`jTM4+SEa$g1Es;cuT)Q;SWNnIbSGP? zyQH%?W^k4l3#I7g#W0zK4JV+BOwbePd?ZRAkV*lf(k9 z5S<0a0-?U?HJM}4x>vgjBMIxFPbq|sSzEc8mWK5~fqDWZMp(i01vPpqyp0O~U=$CTXbBtT&+E6LxNeWp*;tSUgMP52*6rylm--<&`(cYnwZyCd!KCGv#I=fqzIaxu z7G0V8`LuoA(%aBkY%BzWPJz{R7z|pR#9)?hU8nn@!I)?WF&Xrs5Xg^sUsNmg$W)JN z0YnpL6vOaXoy|pT5I#UC2FibZ@lt1u-p&~H0zS~8M7_{?U%YU4kuR#1xCVWfQ>dg? zS?((rX4KU=qh{@#%$`s)7!+Hxc<5a8t+mElvPlSmdim}so;>GUX+1x)vUGplMg->@ky+p26iYkk z^`yVPc&Rfw6WOS;0p!<*s%cpced$tTIkSzZRBZ&&XV>a+8I(fFzO%Ml?B099bkTcf z&{s7nOFU;AlCKBGJ{DA6CG3KV$>6+_yC8eJU>fwt6-2!{Fo~I@gwfkr20Gm#w=1I0 zbk&+m4EiN<_C!X5&>_ca;)>#GAtvwL74@!|Tau`+*^Bw4gxT9z*`TbGBUo5VT3q!_ zs1q6V8Dj74M78{dIGZl$9B6UXkIlrEs2HH{MV=h8^9kQJmcaoZ2mSFb4<3qlW(eA3 zClgrkxy1x!@+ByDTV?gW3K@a{UP@wqGNkD2g^;x#2nMNPU$<~yk-I(tYke>^H`dR} zBr!Fa$i0c2)V6BDsJ>mNuUr^3kaN&L>VicN8b-Altc46DKCF`SVHMPB=Ka752CXN3 z?NTRn?~7*rMVKOKg^k3tWFq&@)uitZ2&sLFI=&*g6Z&S)F;|ngJy?k3Cvh_-c{gLW zoKU^7FzCyLBqk^O)}j+*3_9K#r8=nhl(-1(TZ2y2nN)f_rkP3`hl=aZg`Gny&V)PZP-EgMwhd_?j%)Vq_Z8ni%% z*iEjVQbA%3<>cI=laoo36AeZ-^|ebkmoqXN5eEI<8Zi`jeP7AXEN5Iaax$>B1q|XQe5J}s8S;Uq4>`Z&l5%fiRgVvlZMn%~fL5^8HdpyKGen>AD$#P>k zL&&j`R);ij#i8mmXK~>fvNO>(hold&S_)8g9w=tmvNI&wazbrgf>SneKrtxF&Y)-_ z*2`)JW-#c|VJRx=Ypg_2*`Sv&a52z&7aOZ2=irJ_d9(vSJKEJqLlH|KW@kcjs=*)` z?9@{|*q-G_mNVF%BI;ooZg+&i96lD4irATvoRY!7h0sahdP)P!(;R0)a>@p(n#~pK zV36vF`N-@HkfwIz=rKQv7Hube@lta+L!_w|gIJ3&TQmo-6e2CzIeq|bsiMUXsilTm zG`WbunjWf;e-4_bjFf9=~L^2Sd&3fhs9_zJEO@N4aD9I56sNK#==&Hq@dXYnM(p-GUScTN`H+5MMMj@+fp{IC;Rdyz8 zCq#Y2^D6c3>gRU0DE#CVBfY?)Fa3cXdr#jOFqHgdBX9^T3Ta;90sMGq1#|(B^tDsDH=gc|O;8;a@2(HktZc;O5T+Sz3Npz zu%PIR%p_NHch>oZJW90wnzdSnqc5F`WqzSJleHO&&ILOuP(R36tj00UUc6*-&ld)5uc%^QY5Q~0L_Lj1!X;4S)p+&Rm>yYHSAK6>VB3FarbFM`zQY02= zsJ^jiyY+PvkfAhF>s6zxn9*09$+gr6+o%OU5}8OLi`(eQxsASW2qOpEE!?Lq2#$j;l!KsB=+QzaP`!B7fi`HCARYC*U9RBr)8XBw%q zLb1GIbyg@xPI_a70w%?1@sU-XI|Q%=-TLqfqQ&euG3Ae(DSr@hQbtx84aR}W$$rj^ zENFW|tu6yCw2J!H0QnTA>f9R8S=mT8cp-TFi2&&g$eyT2ZVXIT*lLRb1Dp&g^$6N?kgv7HtAh<#(ZPNhef;=)HMh zwcz`aycX?TFbq9SF|d_>3XEKDtvd7Gq3e05nWR05*0=YHD>~#{(P^148|Xu}i_icX zmDhBff%i}W^z4~tE;h(_#JIcfM1@45i_2-@8Me3&#UmA}vkG^gtDE#yXdtaZT@|Zv zSLa3nh&<>IcNh$UEODCSjAMmTvR>&TfL{2J1_wVsmjo-+dLE8|q`M z*y38MdN&jgRt@B9F2G_SVh*vGoLXX_)Y%!^#sG^3!xlp5JAFqSUCzwgU{c*71BxV$ z@I?0YL<0tV_rzX%R0r~X@lta+W6Ob*mI^ft`V%XPebBcO##}8Bnl2Gy5ygvjl!Gr? zT53rKV=6jXqUgt4g(Nmtb~YDfgQO=ID4F-A3y~UdMryiNZBe&4p+!wPio2qnV~1L) zXoD=)P7)9Y4d@#*w9~!l8|_zzyZU682MoU8dnqO9Go4bqjFh@|-xn`6S9La5%TbEj zTB(}cgH`N@(c2FVdJH*}p2&vckd(m}DJ^{fwpuu{RMu)Cf*2$PaJCc~%!Mv}&ZB;= z2gpMPat;|V>Zh%SP5@B1kb^kWLElWLA6YOMfVA|%P3owj#1>}r#;Gov&5xbzb{8KFYupuJxP}CJelwO6=R{#q8v8=|hN(KX&o+uul z=8VqtYK%oA7@7zJixC?1MQ9=uvbqZ;Ko|_Fg<^OHeCrgs5C2rNx=R99kJIi;mm15r zN|AHcag9o>7UF(=-BK5<-Yy90ihY-3QOmxg81rK&&btbOcF0_bg$9FYRDN9fqRBb6 z{6u|P^#q_ASWDd9zJ3#nR2 zsh}85Mqe~JGaC@Hnz_J${@xcaglEVZp24b?GN+D_>V+etoXqW80js5k!9YbB27R?K ziO+a+KI22tAMa{hMqd2#6@BNF8P!Q4$6x^Xv0U@rx5c*^E3g5G#T?Z|3PyRF<4oj+ zmO|^>F+&7{?o|{Qb=bG6!>J<<`nZ9q7>ojAaao5kJDba5_Hi?pMPa8eUK%=N=g^^q zL0{MjW6DG8p@SGx24{|PADyNq8ik01_RNyshrWn%mnSfwC}XK6XOek^#tWG=0n!KP)tvz;JmGv3;-HzH-tWhC$UOMb|%mCsl{6A3Y2;iR-t&GS!{7; zfq^tI%1LaLoSl$CjW@(FF~VaR}lVG-uW~ zporO#OwK523!M!rJJ<`g24TGX)bd41iB*+*sJV=q;;?Qf>9&f|8J=l}yS}lh^DDI? z%Hr_KnQ&WIl6?C3s?VxZ$L=5|-6A^kliO0YZB1P+*C5eBIqjBx!FQsF`Vv?!WRe%M z++4maWx|@(gzjAWFcp0fjKxG{bS5f?TJ__bxKD3YJEEAT%;>zcT6`4rTMJk}DY~y+ zYAs)^l%N>kGkG< zPDollNb|s`?rmZ*n#{gvGKI`~L*ZZ$GKg8XNZzi8`rtiAEq6`ac*5)pj$-1fr6;#- zm1`J^eyRsc@lj{i3+p@Tt!@kuVj4ePiFjmo-Nla`&XS#c5s;j4-a7|?}0Nurm zci$PJZBu2X>eDJAWQ(R%@d#1&9pllA6-i%y?y2)YdVO2@91rKV)!ITzW!ON$Kzj}3 zGNkBC;trkKuRXE)^h5QwLV3TcuMTPRLNWo|5e?+m#6qO(D+|)Bg<;SetL;y%rQ}ZN z%;F9}7J);q7Gl8So+kEfYHAy63|@Y1V{x(o{lra8?8`A?V{PewYE=DZ!D0bq`oj|q`uCiCxH~w%NfaA?4xs4r%$I~ zJsm4&3t5mTk4m$%xl*xUuT_g-t1Lda&{x2rxned6wn`dO(C0j2;(ILKyDR7i>*NZc z)+CMcgUcBwZK;MqepoxB#K059iqp>WAf@X@Y8|m+m#@*c+lv)K&{rWOQVGRC(Ws?P zdcYLL3L)(jadt&6gW3_f8c_ZE(xt`%Z(|uG)P3x#UK==xd6DExBPFN?BMd{=Wzoye zkeJb((0gmKa$A*ZQQ}GB0)BNS(ok0G0&}T)U0`uY>KlkP0nQ)AK?=EYyR(LOl^{RUYgRssZYNa-p8Y-UoZuQ*TSaqDHj((xt|V{)m>^ zR#17+--Gfzhn!t78bGBHfD9UaQLF&P$r~&!VNgq61Pf#JrAv*K-HoNR6rhF7ZIYLF zd`r@+dD_~jA@mVF`k+CKDErEawG#_a-{IR%EQ<+-a#gY94Jc=Q_jo~UNw@*pAcmBa zH>8}&!de#0kiK@QC;B4FSaQ%~Gws9~Sl!`-V#PYn!M|__dc7>l`VxL$yVP3VAZgMI zu`vx%-)f(wsGn~gtT|vVgBqU+#XuiqL=nuF8B%(eAZd9trH(oH)&niE;o2(;A|I@m3>7vBj%Fz{F&y2 zY@sbCR@vmt&U>qmFEQ9$79z@7oE+xpY%MlWVr$mQ1`R2F@zUU-ItLHY;6f}FTf(Cj z%mR?7hsF8mV(r|R^8%0h)DpuEIXU|w(ePm0P#$SzXKNuF%rRV@@mh=~%hA&6?1Uj& z1o43kfOr%u1amIVdkdlgNYjH;15Rlc(;cF>ZcjGQIO=)_`r!g%N~tfSG*Ope)wb{e zmt2ReHkO!C>PskXj>AEXX{D@ZJBZn&;4D2|+7YkjXN6LVMIRlA#i!9%d^%!G)gYe^ z%?p*JZn^Mu@hw;Y)~JQxQ?g*P^_5F)1tP!Y^w(S=Kca30m z?Ot4A#o~*?hg1xv3J@j}wsH}p@Wr{pgW7Q@{m=^0pukh41)k(v;6d&sjOcffhPN8wrwAoxNSYzIJjq~+XT!OZ&PFotL$LXGkfAH}(P*yn-j>tV5E1I4i- ztsatdISd#{zq#6VXu*~waXE~f*^Yq3FHnu-MtH;HEx zAv?FyQBD@Y7RMozKG+hs(iLaYL#V|f*ox8M+>&x0l5ebq8FMt?JoM_eo+6Uuv6e3Y z5m$Rl%kmD8Xb9>ok>n7B@2Eb^wZLGox3U4nG=V(ca;6`JWN;})o6+QAD9~5ysBNl1 z2I?V+vwp;=SnCL!XFwKCdhw8wD-KmpFC7tXIrjlmtR~?W8ML;dd>~|TX0`>)2F$kD z)e`k3YB3|%m)X`5SEBaci4?5A`h7`b{ zm8UOW8f!T-YpA6w>hS}sSWC^U5zmw68k|q9NP0p27J;CJdO?*dJyhqGi(nC$=9mY4 zKAq)ioUZW$L4r6~4CB!YkVQEUDUrJzu3iW*bd5=^mX8>Xui$)WK~kPqAsOI*eceKA z**DPQno&!OuYDe__N*dtkOjWQ)>xZM+Y*C*B33jBO0zuDBIlC}z~bbBVj&`2NxZpS15=^^)gKoA|1tNJhHQ}7KNf_n6_{$n=s?WnRNAK#s}=DvpSV#u&7P<#Y;WW_eLZh z#iqUHirGLqF^aJV3ch(_$T_Io5EIuyFNqlKa#Vf!@Buh!kE=B3CvaCO^cTUkzDgxB>(6!^QyN-}tRRR@1~Vzj@cMxzCuKQHySC`hL>it3gLXr)vTH5QM-~|)*J3bTjXL}TP8b)7zW$FXUEe5l8@~#?m7t1S0Uq%S!Tn!F)Al6rN zP+lkW-B~qMi>^#GXpffDxiR_ftJG3o{l4lqp}M)LuU(2@`LellOj+G$mP%JeT12~^rNsGIq#gy{CZYhq1 zz8fo)V1XvL6JD>L6~$_j(N_rcei~TU5 z^NAJ7gp5_xW!1iPX<5hjHsoxP8qx?s>-D0J_#%wOm$a5gwdY=ovLYIg)}k08^_{v+ z)Ft875h=00Vjsm*x1%q?uN_zn1`;6*G$>Cixf;AP6RT|q?Rau%xn&sCv^6np6nsIy zm?NPc#=_pDV=(wCiQ_A0Dflj1rf$hqp9vLzZfNKoSoSDKF zs^)#NfIe~$VpsIl=ON%~(wxIpKU6J><$0p7Fi5i&8}wgB-SI9K1;Oa7{T`UKfmInm zUn7(sRmu6N0t?mm&V|&=C-=om#~}O8t0)ysWG=WE2u3D(`s};Au-#ojUxALG?F>jG zHkR+$xfU6rc289Uu6tj%^u+Ql)R$aM^leKqP%(-@F8J=NteH8o#fe4HKszOgN!;K| z1Bsby)Wb3vfrf(mfret$hUhH%9uNlu3`?(J-d8R?xQg?^mDL*N9ktM&SVi3Z?0Xfa zsOGw(L5V(zoiF*4urOgC$*Z4Ln~Sb40b)D(UV*W9#~Bc?FsS3u5$r4HMw8s4Z9SKv zPY=+8F`h6KQ41{bfR zeO-0gU=o;wvbGk-ZvThRWmVX}39||B_m|o!7&9Hcby4s8w!na8C>Tp>@pQ#s!QFA0WYmyzN+a)%%N!$>5}+i@yMwfM z$E(TF>F)B_T^_s3!}anQm;PKPG*5(ox0s*xgYe1Si+tUF_2dud>w_)s6VcZC+mkP} zWuEW9nH?TZk0mGC^Zm2q+0yLEg;}8>)x2^`|2#jMG}}D=?iazy(>`F)vgVWdVmWzv zG~NHAp-B6t!}+^s*S=7A&8+W(&p%JF^!|=7wlhbG%}(FWj*iZ){`CEHF?l@|nOvEA z>eJ3mVZ*;PV_d`yAX-feq&`d+-%gIdTg={1M;w05L8p_$7GPckL<3On10W)VvMtCl zD*6^g-YS>;d2%>e?3_~Wl<8iaGKHZc7pxUVI%V(v4jgld#mp)Bu{-6KQO$GO-IEX4 zCG)+wB$XjU1fr0}xg-W2xO6$0N@gw@AG=F#S(JRvJC}UGE?MryB_R!5peS?|Lkx$=OSDbz4Bmt0MepxP07JD1Fl-6gjq9X?OH zT=F41WeoS?lo^M>DaSH0mBbW>5HcaxZ03{YvHRqf4QbEw&LLH!d<)?FZ(BU-``PJCc$}QC@0aP(^k6BflzyyJ z8dl^k8KaMl0_xk>$%Rr-P7}+VOLIT9JfOU(6I_KSxx|d4^y=2^6}#q^cA%zMcM@FH zYq+eG#XxPW)LUcJJ&PcguR%mtbJfV|{%Xk02g#tNr7!;BHjr@UL`AD3l|u_T3??{$ zco?^*)CgB>N4$2PSo;WACA-Rf)z|)T`)vBY;!*9H*LGHoIssUz`;oJmVjVLRdfiM3 z^Pm=H5s$}mHdQ~6qux}p3`u>iifWN~I1Mv|=pMR`ld+rQFNi+D`Nwa@RLg z>j_KG^XzOZM0Fc_GZkk8NhE1@Q=Co3Fz7c`)=%*hCpN*^P(^8^qHI+TVyP%!0~I2D zaNf3}UK$?6X^eApP)ag5pDO4!lr$^==Nqpw8Ne=~rPv1Y81fXx_k4;m>T_eDp6_V` zDHMY)zU~)$D5cee&%gwFO&^pxA^OG#u|OI#0%qMnOIjgwFu*+-Vl;!*d$Npryv_4@glxerv+)=K4Bvu`Zgt5H!Ox3`neV%PwPqftn~nYNJ1 znDA)LUXfT2?)9}xc?;;wTWCI%wc?V^ewB&`BIt|+FkmO)i%+5QjpE%kWqHV5rTY$PO z-&Zf)T;RO9uny|IRhl~&bu8c4E{(aWbIhe3Xwf6CN`sapTE)>8I7eGG7~F@k8Qh@g z+*dD+x5zi%VgP+GpGt|^tyM`JYDM2rD}e>?s&b!vuZ|utiZ8_Cd?6;%GiAz(RivlX zMtRW!o$td)dh%nt5n~$kOi?idIr);+dY-7I)n=^i>_h!T9;qi5aK=rO8ewK=VX4wi zMS2(3?2MSkI_Tl$-dC&+9ICh(2gn&Qtvsl06+_TtS|AM^fP#1Mu0O1r9|wc7MPIu# zg7-xLV{=4W z``U%p@~vIekb%|ROCh5L*B!;R3-ZO{D}@j(LiqMULkfCOOYDojSWP`I=#w@<%sht0 zyS}-^jfB4FL)#NX`Z8kMTqzl}U6L4n0P@XxD2Hmmf2d#+b%}AnME}rHmpG=c(K+f$ zS$%f3psNHub+WHr8g*sosEfg1cU8_sZ!VONFZWG>+Qpd4phr$~LS-McIQb#paK7D& ziS)Bb3x}3mt0Pnr$MfXdIi9eE^J*`I(&Bl2%~jkv4$kEGW-EPKjZ~7pm4~I_16N;T z)sO}QZhQ`U8Z%2v)V@TKTo4Vi#EdZ;)WyU!k>uM*P(xRxQ<{oGj)Rs_lcZ;RLFXz@ zwGdC?7B{F1J<_P57Ux1wVS|oV#uklc_1Rv<1ZLkh>2_YVlSa??P674j70A1#eY+0} z2pS|vR$(>7Jh!qs^Wjo4bz zd24Y{Q@lgzP3lEo;ECeRRed*C3Ps;wUN}NDuouah-o9W~3$$2Y$>+*xpsKzW#b_4z z`eF;WEQ0vRjCyt{h9seq+)IpC~~xY{`%^$NFQE+9HLr_|D!-g;tuNhUprReUWv z_aK&}mql#%B7%WNRFao0g7dWqpzpfq*J9Db45i{qQEg1UX0#Pu;u)p>6rssWp_ z67se{Ppf!uk?-Cr7}cFB98)$JrABfzkfL+I)m5Vm0*q#1)yUI8bLF-K@0(6!5Zgr1YJ@@n^r^D_ttMLxw=pFo<~r}R3Fx@6*;Jx zx#EJ4FS?Zzj;m{}+p0w&1M3U>Qgn-br#EDxV4|}hszE5v(ljwTk8r4526fj(HaOm+ z6s+-;Bg+L77__LQ5QePoZxySN`2t(H0-^y!o*=LRiBb$~6?QHoMhgvQ#@>Xe-djan zz6im&l327gL}CLLQV=U4`A%Ldh&2!D3Zg-;CWxo50VQWZs}_TJlv@gI0%(ct<$J)l zP!f`Xy&@+X3~Gqtx|s8kRcgD)Eby#4YKGMMTt9JL%((}ud69`yZu`hep+>!0JSR~1wvza0$4vfvDr+}X1+^GpU$}Hv`Oa+M(91gN zex5GxsSg_Z;-x{BZxxJIpr1O2jv-jcE`!`&z9sw?WMMVn#m6o+rO%>4T*Joz&QTTy z?bOKJ2S4d+6+v9AaPEGpwM+SEr#@9E`sscsraNF}?<+CrJ1*L#Xfd&_FJ5{r7Uye` z4U)rlFS1F?g%~TX&RA*Jwo?}lo4H2~u33XhrDuGJ&QNKwP<>$RlgZRA7h>9x^Mwf1 zP8@Z^MW0KiL`ub!5MNG6L2CQKpxdJ8Lk9qP81Fp4wJ<0H_?AcO1-(IhvO{(r-C8>x zUZ3#v@I$+;vKaIW&XZd!MZNG*?vum}<{t(z^yl33R4aipc*klmM@-BI!JM3f_lyP& zzz{^(MuB$mGm~FBXd4$Y78svh<9P&f^;D zxG~Y!j8(FFm{^oX4$-$_QMedr0b-`41eT*TB=yDra)nq1ePO5HrYbv$vA^QWz6}*D zhz^WEgO)~9#ME17oD>*P--yEP4%L_LK@5`u_!cWLMbt~Q#X<(6V}0#HYq9gB>E1}5 z^;7&>W~qj=Kn(qXFZ;G6VtsdXj6Gt|w+x6WxEP!Z7GYf1%{u6SCUeaD>ZPEA^Q7rM zY1IOB;5-C%w-d^F%OyCY4yaa#g4LW!HH)S%U5YxeGwRT8H1$E>5`h3FsDs!U3wUoX zWh-6VTM=}dN<3nkedjeWfkBf+AsDjS1^e2iv6l0I>D6dx)>n6W_kfxVFE57qwxzUS zD}zNbEcTvQeY7PmSp?^jMd#q^Q|iu)Gw4m}tCvPw&J(6smD=`Iwyc)#=BU|F;d^1K?E0=aQfPs9EG>-SJ;^)eN)JZk9%he$15tr~wcE(L( zFk!<(*6W@ZF>l$K?*QBmEj<9i9re-14`Rv#Ky}7V+tI8?nLBW5!1M+&_lTXRwpL;b zf!7v07%*x;T*U|9j=FZ0)nvhpPr-mu1LBT449-|!h;>i{r^zOi7XyLL?S~;yFab_e zG#Do)Zc@R*-fS(>Gap(kpR2(<5ERRg5j%Icc0PxJ#aS)wl)w>Q@rY^`>%>p@fbkhC;iBQs1^Yf(?gPT zlSQw*xCanW#Af_c|(nQ~by>xI!Yp7ZVt$@DtR8PJ~RcS70 zP^-WaEQYiu>3QW##Lbn7EhMxU!9XZc%)~9lxoTKUCUGNF?L}C`gm`Dta&Nz}(1oXh z27~CtoMph^T{Scr#2rhtPYi}0QR$1k`N4`-+MQnMnx>SKw zt9}#@isJ~1&MFTbVNusuV`yOnsre2h&VH~|=grj?su#sTZqb`w%BQbhy1jg7HgIAs zKcqx#cdHtP?<<$aT)xbBZX05-XmKqTqWbbS6<>Y37IKwffNsSc^u75YR=C69OPj1M z3b%;3VuC>#Zi%NgIEw)W05X^nS!<0$(x36-1}Ln);VJegTpOLXD=`^Fr&V0Qh|c}3 zDT1C~+V8|NWW9=MlqS}`&2_oiE9n(|sMD9UjwtS|^9@Z4gm!G{Aqd7kt41Aei6c{R z?n7)>HVqc|sl|va5Vs)$f-``clSM~Q7Zp+CTPP-L`L@-yP`;%s$)M{3t3e0>;?_Fw z73M6NE2#+(DNt0iYCx>Zi4eRac|Fa$1@hUX=>o)XptFo=01j#y^blHV9`ro~;`S%3 zzShEw(O@P47RDj!;nOM?eNF!OmU^IA#CExA;Vp5^r;_v5BC>!^3nzooepNieHD>Rf zmGq0e!)eY1vwpI4c6Lah%J+d~|Vz!7(vltBYZBl8` z7L$cIUM_HN-;%Y5|uZ6P38gr{P4Z>;QmD>B#wT-8E+vWlBrWAVNg z_2GQ%Ra^rpw?=}|;uYj){dfN?TF;gXl7>A_aU1CLa1oTEAEC!2}SV7-&4&nlavwnPl8uWNg z38AH#q{nOI`tjAbfPuwg_(j2zK|K<&ire&)^91TH{-8$WOV!seNZk2~HG6NYGU#_z zG~hD#rAs#!cyBB;(ASDs*`Td}lAK@TTf<;#_A=;BLLL{@SM>WP~uR@y@6*(w3SKw!89T(JzOuj`A^Q>@PIiG{(0 z2GMp`%zDDSxP+0s8x&*Ji$au`sO9MDbg{2q2%`FyF>3GURG;*;Du$@buUYDh6`VoT zih9I(MLtoUTU8u!h3pKV#$+J7-(q?7o!FNyg-^*FKCNm%uq!iKP;5}H)ft?F`BH|U z=gM={$#jZq7{0TO+RfGFkwA@`_6~Mk{4NFo!Fi%<&x7^Tf=d@DHh>>M3<5e&feJ_l zLV+!Y&so_V%yOm9;2*wM1H80aKo5QO((s+V!}p?B>}MN@5u)b`BhBvzEd1 znLe$@qHj!0k`LhQji_%AF737;gKVcSUh0g|KbKZ>O`9(o40i2n7g`IQ8&+yAdiGYK z(t?qoMrueL#}hkutWY0@q93zdvw>tF$@?&(FZjURP91g96SD!sCW_IA;(IT)tOX3Z zFxr(^)D1pGjL3uYgk=h(&!MOr&hpN4ElrH#?lYJK>4BNJKHG6K4MHc zC#1wd8<>i_#>ja{NU8=yLTa@@AH>I1cAk9!ptn_Qhm}FUxtJ#c&bDHc@fR_Y0lAID z>5lJUqZSt>0}X3zo6}$xym;KEF9w*~p~VI?Q)C7Mr3^6+=quyavNm_g&VW{1s9sI6l&&zW#k0gRTh3G9Lsxv#!dU>LIG5{amY7=_ zyv0{))azrkiy~VneUo^K7A0r#l`a~oX5#kAW%_bhl5Q?%nXS!otV`dScu z%@i|71M(lC!GYD+F4b;}&NDA!7!0P26$@*L+1=nw?=Hmp!2~(w$_CaFGrZB6;ax*! zWo@Tm4eD7cD5iI#Grha^b~?3~NToWe=W~4uyqu#IorA1m!2oRbw&=(wvC=-J>KtSx zHC)<*tZL9s*Vitsv{vWYh_M*VHL5j}fvPZx&E-6PCd8cd48Ra;8q^3NMmehGd(g*N ziZ0UXV|vs`seE!>@eNDc3bXz~Op&X>@Y^D09D#G7MMws!fTcxj`aHTXUJ7VApYYgc zBCC%qU^K9nSn7d7@{YDhUqEcpR*L$P7>R}MC_5|qL_`AwFt+4L-=31i%{Wq4Z?;ojjdu3I;PS zGR4RSolfG>)4p?`3P2wLZ$Z+s7{Ml<`vlH|x}mCd6Eib~q3UZE;!)l0CHqpeTHtL# z0PIq2dYx)$BUV0ah9@vxN$}9R4fG8P-bKqU$jBJ_Nlt7BTe*d!ihOoJ$<iM`7&; zmjcv_m&$8B*%#RY?q|Fj+JZg0T!XL$qK=dW$R_MC%+K3BQ zV*UEY{4B2}R{w}g8*WhmgJO>uiJ(m00ar1oyQV$`N?S%0#}K}1KFteJy|17b5%vAR zC|C3G1tFTTI1O4`RfGOk6ypyNqcgrWj^l9+-%=~&Mllpvd^t!3LsF}*q=acO=sy%k zrM{|1rN(9~eg9!403Du1Xh?}2sajxhy>4z9)>g;-LIbRGdS7%kN zYC(QL>Lph_!&G`D`l?IjcEXb$(8|b3U!WF?OZtZIZBKEv(9~*4fSObz4&Z$&7P)PO zYEYVPIUO1RrQ)hZi-f%+ErSTYMOrN~H4usi>2+AynX=WT2ZDYu7FkRYt74vrZyaBs z3&k5S+?XwdCP5s^114|QmOeD?q%BYj38Ng-O3s*8s`?5~jx7Wq)LBnoycE|e&bSt{ z64Oe_Ksm9mTPk7@oIx!p`e>{6f?70CF%ZKKz5;hOL=Fb^o%S(gFrgd88h7my_LkN{ zeF#yS#go2C1;hlTTD_-=p}_z)EG^8{54r8DmsX~ocUQ|54Zy8h#&j01m!`$87@X%A zl|UBBPai5~fY=1NU`_T;7J~&Wj}QjEY`k0z$+?9ZI7hW6S*L7~0nnV~aYS^EBWlt` z5D8n_6ZH{bSw->k{^A`3ZZl|A`XetK;otp_tDkj9-nha+2 zkhocez&k)KSzjP4lqu^smz)a-{>>NK)(c2u>PG8SK=EL|n4RIR8ZF?h7KIO0jWqYw zOYyDhjBoYWR4Zs2ioV;mh{;F@&Hz`-SG4F>Bnw_Viu(wna|2Y2S=#{BwZRRrhbRvn z*c*EY>K+1$81>Kth?Q#CnH7(mv`p_#InkFcNIuKlxgVH&?~@*3jv=r*#F94yNAD0T zWDDK4z+^F-TTV4~*7e~uZkq44WV%Fy*$rZWA4=ZcJketGdrZt~X0DuElajY!^{8&D70<m+^RP>IRkuAXZ5gpXd>hT3puUXULEdwED5)U)4z70@-!9w7t zMQvmNnO1QVlrJl=V1Q!4`esfzsMUSMoItGZo>&Ki5_P*QvKrY!$>v(K^!9)FTvpZo zn{c~(zP?myYWEK3)Uy4m1KavVojD-2=vlSrr91u~-C#I&&u{sMpa0SR>B;2ybbq@) zeZGG(pB*nx_qTpW+rJy3rwH9}e{!^3Jv9oMgU|PuA5NyLKiz+Jwm6<0zux<)8)0Ai zIp05fy84*#mHg3Pe0qp)p8ou!_`6@t7w;y^+5Gs$a{BJ%XtKQcF!2XnwkEVxv$UkA z#knZGE3WuVh^b}fP%|(k>8Bh|-d(KXyV=3Cz2#pU%^Nq`mKNGVptQxU&{B#!!KD;w zaVL0ich>?XxRnyzrMLxmNYUW#9-QEAPwwaZ&WrO0oOkoto$O|3XJ%)vuUse5<9MtO zj#YO~w>?BLh{U?nHFMu1SI_#J0pyxB!+pqj+)kH%-PL}--&(vJ?*CsP_s(KI^?n@OKeG2^;u}pr%%B*Cnkul!zJ8Ik z8836Qbv>FpySd}m_EJ9m;%PXPD`S8N(TB*{c_51XHV32_S{7=$2VwiWDj{H>om4cMlH3-&%upXu8wz$ zh8Mp4Ye!bN{AuL1S0{G{Br%!Yss-Hv+O1Hf%DN9Ib&rkVIC!7oR-9u-?(Ok+;;%Td zRp0LSIWs;{er?whm*mX&CxwdB?&cb{aFY=>h~Drz?j<;{*xXDq$(4ezNa@v^KI4qe zl|sd8k2$BG4t=Dmkm|lY?qy?B=_cOejoueZ%(@t1orR z-?6Di}vS*5B80Tve78-0y*W} zVLOBCsC~PNYqY@{mPkbrJ7;>w2v`jye4`P>3MXgJG#tRixB* zz9}P&M~EQWvxvENlJyjZOlc7rA{y^ojP6dMWRCKvZtRLnlQr#e6H!?>leL(bnp>k4 z_Cg~tr_R@=joYlJXQ&>T6iU`;55c*$ogqTIzuMM!%{y8B1r_VR|7f*fLaP>Z4! z8)bjP!FWqGQAb(J_9j-_MmW5zr8j^Emzr&EtPQtn+2_1dRW>ULTdKMF7ap#NeehVa~(V zb)WK3BWdl(7z2sFtS#%Wo*RI`O+rtI^B$B$;8C+9rYXyjN9a9%=+M*SyDy)we~}r;WvO-p#&657; zi2ZXqzYWVnZNmg^_FZ}AM$O#LW(9~m;)TiF&Oo4}le`_6h#WM0*1O^IEO`0gM9V|Z zi|QLSXe1Ml*jCOA(UK2aWsfsq)jhnmbNlW5QRh(DTnzs!`6%IS5?($#b7S3&0U&w^ zi|V!1MGoG>+4v9^QrMkJ=K~90#7QQjurybHxZSB3T9$F8m{^%0TyInq?a<*&HEr;c zcj%P=xQF*y=_S9!PpkmNci?a6KsH}xf^9vceUtRdBhYP93q4<>ZR5_qp za~?0Elkl3Hq$9;UTMYgl#ZvH9L5Sl(1<8lgc>dJtvayDzU9A6p>G~W3ULOfac@syu zQ;i9*pO`;)NyS>;42iCQP}QCb&0H^GTnIHL>`IU%Z1}{=R0yBQys6C_e}WP`e(IGi zlJ=Pgi`)ZSvfW@X+y4!!Ax0D1aPSRAl&b#%R1KrrsS9gA?6RYX9>2T6&`I+2=lf@Z zyM{E@GNn(K_|`C7zxmn9;fVHcSAQGQZ~u6Fj0~CQuriP;_2|`eN2exGItU6K;Ny9- zeeAJXJ3uNe!0O$ur-@o;`8Gmu#wo?ax-GuavlTQyX8GZ;`RJ(^xCM*#TT!l+=QCXM zP48o0rQ{gp0Gvf)3vz=-<_t{NU&+COG%J)Zxk4p?4Up*r-^zwj{9@v}Zl!N3M={WOc_DDKW#>VdBdv(FM1uf> zwDy_N;d^Aa@4iTFw$9S4ev+5{U0g+^b*>xKD~Z^s{Pja+5blTlT%_xmPcf_@g-N?}W8l)3p0R ziK1WfgNLwR`10e~-wZ#cRw1wA`LYX|kyP?DxyXy@tqi8rSHd(8WVAmTy0-LC19W&h zASwFl#TRV*|HP;gc+KZR1N%=#SQqDyFn%Rpq8*?q+tN{uD^i(pmt$Igva5RRjBnhq z_zP{F-?S=HyIC_fBJP&5!)y5rAE78;vlAvf`bn;=}*Y(gUmi{Tz*oO zQ!RnBxePxN^WUx`8@R~}VsQfIj#zT2%szbpSLpxB-?_Px-2OX#rzRG6ncd96@?zqz zU!8c|&$ez7NzC5dZJS6x8MhB{Pw>c+nsWx-u~#1`I2y!1OHs#J1j~|sh@)4gWEtWk zj+P}9l@aAQc+yAlp#kHQ+s_T$n1!dm+ek%!yZ*0iDO$Dv-|6e(XP*v@(ocH_?3}0E zuy9G-cyk|UL-mJrk3Nc6UmfH6)G&W0M6L8t-0@=iZcyBq{}kpRdUwViX?NEOfRqRj zJ7S5W40BAshcI=aT;K^h1$B?=5jFC&zz}~Ft6=dsw}=%lz5mQf(Q z%W#g?(b*-6f{%xaJ)?(`ck-xC;vKM21QIu*62;cd3Ssy45XI9OiE_dV7kveP!VV@6 zboC}R(SI8JY)nC^t8#dBTABTC7G`PQ6Kb3Y#j1YwFVzGB^9+;Jh)X!Pc6{!V8dJ6E z@sgSgS{RgXdicrBXtc}mzTn4@nHqiIO+i3}pn=>EtY4qF2(KwM*sI@p{9}iiGXJ2* zW4B6+L6dGygeo{N)o1C&0>n(RKM57g?QC0o9AJMQANg8^^eb)Nde&KD=eDOj`!6lb zYmVts0weNjI#2z^0Zn|J;X-K}4IF-Lu(`lHNTzV!&0O9TjlR{S>>OhSg-cDB+V_J{ zw8B$ipf&yFw?KXzW_BzLg@Lt}F0|@mEar#$Av5V&)R#7#;!~4ehY=KGKJW7}(?J`g zGAq-N-i)Di;BCc*SOyU7-zPr3P3>rI2EF+?EcmBDWCb}Y?#iS7E&P@(p4zHT9W5Wh zFE0ORh#glQtp3_zCD#?sumtMzFpJNQlDRD?_Luw#*%OfQG|$^k6_&Djv#hfH8nazC zY;43o0FAGNp2z5ezhJU^>o*^b{OGtIp>ffii)OYyPUc}jhdn8^iBqFXlh34}7tLQA zlG^8GU7q-qy+dS1k}B$4{8-ulNsqfr&hJ1v@zg@U(b?#_6NEGO#)=?n?a7V%dnNC8 z0jF}B25j{&Vg5DfCh`p#^3`0=JnvKmtc|uh7LrxL$ZCmYq8Xe{O}ItTW<)jWXSM1z z73v%xc+P5M?qj^~W6=0i(B#FX#|L%&5apNYy-hf}Sb+@AuL7s=zFQV;$k_G1m-Zq1 zY<(fWJI_Yzu)X3*V)#n)T#R0vhCy~DB_IY`pTUZx{%6&6+FlV+cM3hCZ<~gW;GW!z#b+qd1 zS?6SE;ZWH^?#RGNM_djgiMJm=xXBXERyj-&h>Pv!mGpBrH3tjlG8$|dwXk!3uNi0=0_CftGj`LbDOez#@ev)hR7O`xHcpSD`;Qspwif&YCqQN|$`n@&W z>iIlL;2FUgiL<2IE)yQ{Z@cywBjV~S0x9B&pI&dVaJI?Wat#%|B>OS%4wxikXNh*h zf3g*@ieVIa{pZg#I;*OR>C+yAm6x`GFTf{YFm)RC+7Ll|J}@e~rW>E?7XN($7t>@i!Y<>2}VA}Sx}6qg|WV3 zr1@mSU6T~9C0}SqV#bbz_GDyb`a$yXIeArb>C`myg2pIG`&X_4**D*?Ez-Y8RCqJK z8!7vWp~KacjFpESw)b{LJHZ?r_+4@aW+tRB$MhK*ck7UcNm}7XSkUM5{~AFp^**1= zjj6!dJ^c~E_06%C02Wk=Mu*fX55f~}z!$hnHC+>%AtPUvT^_#?o=#?ShDc-;IBgT- z+^pa9=Otv7$7mKN;_Ma(ko|=We zl5D-B`69|I`N>l#R=)klvL(^zc`JDip-@3zPVtIAQ|`ZipFT2m-1jPj7^am0oh7Zd zt7=z|uuC3+I?B5EqXi9ob8Epb4}@0R@&S@LO>rL_K4RcSyxaSSPa_lHZ2h5k(68$w zU#LD(Y9ZWoLBHpsw|(}I1w|9CqoZ>M-c}%rFh!~m?{)Ne?qypE%j&5-qf@(Y{y0E62 z8e0ffytC}-&Jy&T#15`xYEls1{gw5huYe_K4Q|Y&A4OUi)Tj%sS&6xR`nrQk3`C(N zsI+Nx%?3dZ05%{#1z8xTCLItt_#~&WWNg=Ii;j6f4TAGMKO?oPauER$^~iggKz}!8 znUF3nk3piP>NeY#DodvulZo82x=!Tj|#Ghb~3u%oB9W{bj`*dW9RFzr_MJ?XMxwxfN6N({fODXS;~1i@ z$p&PC2%A8aaEw6UFvPV@9pu=dm~+N3G0x?8I!;e%FVYdP$>8*Lh>a5=OR1^I)Zfl`_`h?qY6&IaqQxz?|!l$K-a331kW%9x1sR7^JG@s?K$?z-XA&IhhJ;$z?)V>H=284XseG>LVv9Za*R4UhZ26PSP`x2gWZsl}cv6g_y9%>lB0Ieo z&uMOd#b9TNj*W=PY1UK#a;ZLQ+e?bd>va3~=Qb!8wq^*zbj$1yC(UdV^qzbXd<~Mv zHha*e`tx^{y`<-o_~KtX!RvsQKozZ?6|+j^CZLR>3@ALWf4_utV8~I}{%dk`Thy=W zWUhfQso$lGna^k&B*{<`8iBVZ_8ZJuhw<%n*-mPVmPJ+8p9cFSU%vucn=QvKl(n06 z^q&}-CH~v=v=@pegQ-gi-25RcfrY?*UaOJiD{<6x1-q3*@eND`P3r*pfvTf_#nRjR zk<=NWPkrDZ?3N%ajPcU46Pl(ep>Ym*S$j64(5%Haj;HhJXvx9?q?P_0iWU55m^1 z<3A)?X2b)H8W>nG+tBa4-&Alxu-!vvPCMH#d3D@B`%Rv@ClmZ68Y7^nsV>L$sH}R{ zTms@xv6q+RvNtFFvv;yD(Q*f}S}Y*I31ZThbT3_JB@TlCTzJxruYY{QZq@L(Dk2)I zAfog}3`Oa{G4)yKwGq>7nJ$5X@^Q{u6bwfmSG(cTaMo-}O@2n%%HRrA0IZn_e;qeA zfL!pWiZZ=EgFd?Z;0~;_m`7RJY>pOplbV|L*=lO9{?S%5C`G?cc7wFlr#sUShUI#i zJqLI1;C_xp_Jx?JcKV|#;QK`ccBm;9huzZ_HBO4(TtOtSjw&8U*9-W~dfh z2@Hl7Oz(M-?|8y&qchy-lxKrI%&?qH|A!r_Vjj6lntsfb#Q|y;J}q z8;X6+;l9LClh zhbG5cy`Y@IQV2{HPjB80gt1LQ57>^sL7q{_3r5iXt-&oVA&s=xE4Zpru=H&$hUH;8)Q zVgZL@W;+&S-6|F|tEie{i*o~aUurjD`LPl~xDbZ(m`-19XV%DStEs&T{%U#6Xhq>w z+VBwS#xkjgOEAbn}DN@c9pEviLcoZgF z!ih;zte$I3k~xHCS@PQefH*yza|mWW)q;sWjbw99R(gI_&5*qaf2cJ8uw(3+(75$^aBSU32Tyj8`-2cTNZ-|wHL}mqV`iI z78JMbh1?RrtP9wvKqRJm>X5FjChzc9Q01%PCA{Mu(Updwp*eUob$W{*V#`+1sTZz6 z;gFc_A}@16xi!nC0xF?m9J+_#%z7T5v|vv4g2#^0m(E&P@YvFmh}NopUG{= zx*^W1oK(7=?%A?#6GEobTJx&d>F!Wmd$fEx@*CuUY^)%!T4{0&W` zkEbev1ahg`t>NvB?E4%A+~nZO1=2w+>S6a4UNygaqx6`x0oBU%b#QBUi~P3gp!>)g z=^1`iwj$elNTdsYqLgtifVt99%DR?XvR_+&6rGEUnWqxMETLw!Q&Jh>1CPTa=*4=V;x{?D>BZg++XQlwAI-z@t8k8T=Zft^2+mFTub|N30ApvXJ>u1LkBlY_86&j^g~^ zV3h_D_ul^gH-CRP)(mqtEyUQRy)DQ2)picAamA2h+*Jw>&VdS$qUDJ79;hOsp<4Hg z%@^Xhgn;mcyajl|EagLun%d5~7o`8)wL!bf+{DBD2h)b0=@_v}KUnLkO=e^j` z^i=sG!BwfPMcd>q&FuJ6`u*!_)sQuzDM5Gqlq|4y{tJ7>swiD5EjdzC;N8-D#(jd{ z$Ct`XkR59zplySnd|5#}kej3)?H4ypYRId%`1S?MD|oKarxJPW)!A2#(SqN-Um06_ ztl;kmdQIY)Np))WQlcH;F(Y#XJ&sNLNLxVy_RZ9Kd$}zQn#z*WCWO>258{BplHhFr zm#oMEF;h+~HB0ky6zx>IN%+Z-S4NujD)VT^tA-sd3?T&KJnE=|5yJC^)~V`+Gn@lT z3kz}F$hPKn;RWi#k!tAv0$hOGx>p-*;pY3M{4HBzplDSa6$=1(*42YyB@$Xk*S z_{KI~zUTRmS*=wVAGCb2Gc6RCBKZqq#F{edh|ErP;SDRGSomarvLFwxWOWD;M8uPM zj%wwT?J#}6{>G5q-aR+Q{;llX(+pa`G*S5zmBZMnxx+I4XEL~4op^~|7P0}aPcDX5 zDpPd-h%Uo*I`()^$7n^s5h;}Vl@}~8{S5#oP=Y|~aDz*>zu?tm36``4!2+xq*EzCo zUl8WKdB4;+%~4ijHlt%pu{l?qwbA$A3fw3Ro*7SH}cmpYPvhW?P7REcn)ju`~~uybK#E zOXbu;90RDRJ`xTg7!Fgz!I7wgrHTsZKG#BNfyOXQ&_qc&)nbD};HIGY-*?jlUR{xm zK#m9Dn=B!0{V-+yb*`q(^<>0GM;2tfQmlK|{e;Bz-$HF59bN;=yL^TO4eZ{1OMkDL z+MLTUvVT>(+AmDwm&>zo`E4KZJrkfIYAxz8Ij{aQT;cU%rYPDYr0+cmR8e>$)2ZoN zi|kM_l_N@!k=G~utE+RjFr|)PX$cQA%yL}v+ut09YC=PCT^mpJcUQ?WLxFX#4ue;4 za;j+9y4X_Yv#F~OVFhCK@%{a!9K{Qshf~acWS%46ox6o9abkydt@W%97X61y0uKq| zs|GenrWECc3DX4%)`~;qg)9M_e{^xM{@@)zko@mmfTz=JKT zH-@Uvm$5=P&}6re^ZjwO{F3O^EL^kjVBDB_1b{HaHPe*1?oNToIW0aLd zcOMD5`dT884|=c3*TSck79so#0%)NFI>;fRd@;}csk=4O#yiZ$4ozI)BsC@p#*@nKGn@Z z>8r>1Iz}fgL5K2pW`+tW2m{)9HP$CfbA<~kX#}ih(~zlYsJj@)x?H!SEpnhXLtqI}NQ0ko0^X&gZs$rX{N2NHK zD2jW!tP{wu2%E^EI0Z@VO9E@Vfh0laru|Q#sXOUJR66-l68!xg{J&g`=d>!+jgt`v zVsdJfIK1${r*u;oW|{(|)jtb$-uEX#BrQ7F#Pf4_bF%b^(s%lPz5^sH{N~b5<=2v5 z9ww2e7|>55@<~He+*Z!{(wJ>7+4w1EAu(_CFQq}t=n6$(6;~W$s@0KSGUu0>e9jR z+q4fXBi2v}nVk$WuFJI5#9ONz|&S!z3A*!4IY zl;&A!$V{6uRHkE<@0o`62C2+>{S0gq*;J#WVsDAo2=RJK zBdz$JFKQ5MJse|~6^xVqo>&QMMbpZe@Nh~jLQzJ5dT5s=aVi3?v1kts^ujo`5S6o| zMKk0+BpBV@`{$o86GctTP&d!VNtKgY5p$?bL!ydVy^gqA!xBjcpK*VlX=QZL0tir* zqVw0J@YtimyX(BRH!&s2;>R)5<;ZNE-8@%jTFL(TUkCjI69;Js*;{Nkr(=##_t%o< zGwsP3uOEW;d|xMXZHyMn^U8pD*9bj{ zO@D0mg|n_zJo#g`NBJ508^%?#$#|QEcN+Pg;s#0H5bR;C(J?&@ySZk+r zRXng@@EK=P9FKKG188dJ17kuZi5`5x_Fa!dNdiBG-Es#9mpGjH^()n>FZ!L@WS#ho z(R$od={! O=Ux00upJgH47z-pI^fJ)mKk1e}2U^=>k}apgmWiCu7Ia-G+^|(@e{+7Zxec+?>;KlG z=pCtC;8D2ZeIwV@MUTT(G$KNT)Re&t{xnZ2eLVAi2$>#q!c`(0)e50Qt{+>eNydZn zQy^n8a4J5E3J#4`ra17Q&seU|ySfOjekKzJgAZ}IZ$ z%0@|?j&ie+l3j46JXYCwd$gdhzFPBcA!ElWSEY6?HMbCW`%AH7%O;7bi`_Jqt2o4? zP6vhhqQKeM)&4CUmFGz;C4&G^B8BW2-Kztj3qL0f%Bo&=TVrI{q)m>tZ=JV~8<-d; zK|=c*$eO4P=!JjCp9k9~7chmvajR{qM?_s$I4TC#b&!~=ZF^t;X0fNCQ<1K*Y4cSI zbbv{1KFDm&h9}5$lOQ0BbNI}*+abu+@B}M7CyTdFf02b$*(QaWy+JS{s$2eYVAOL;yHhOJlf?M|QsHO3c z7-!_DMFnp^@I1yP-=;>CbI0Qdr`YrF0K_3_rN=-ybu1w?HuOQyFPI7U@hRW|Tb8K0s7p)}wYE$`D6l8vKe@ zdF$DdZox^WAmrpr)*RPRE7|t9ufC+ejuA57CcFJFo&ajV&y0OSd-mNKn!Zbwi87M% zAe40don0l>zJ`(o#0%LQY~4f@$z9USuwxnLW46>(Ju94ZrdrcuU@JJ4(H33ODnj{s z&D`hu+ji~RE3^(w)LJ|i4!EJKIkYCEv4d-wl;Dc6 z42m&GYh--o2#D=$Q{yvW-2U5zwfoo9-I#5r&z=~~l06Jw2QzW%8Gq|mHzN-rvAnBC zxCC#C>2l%!TowFDRDDH_fz};NSS;z2mi6h0OwSka8^pacnIM;-&DM4J3z^U1me|Vc zNZWgo{DF}6k-(8b;UgDpWU4a{Ev-m1nd$nzrZ`Gb{=0>Gc<_DZ>JL=u?oadn{xOaL z2jFB>r=k+QT$$BTy*$>X`4jSqJaCN;WvgYG1#vpkU%#_7F@9HKh^@wljQc}>^SXZ* zQ$5pBu5ju7Xx3}`O7$KsK34HuVVqcqr#Kx`ogcUTbo0_;(q#NnIJv$#Z9uts_D%O! zlFxIS54c?BFGS486#ZTVXKnCKys6~44c6w@ll<+YspQG*e>ubWJ=j}6y=6B5t~&42 zoYO=)s<>khij}{t$aa>m>DX!NXJn*V)+yD+lm^P#F0`)Txn#d)~8Bd#Ml9)k0(V4+VflXh};!@wkokwA}XI>$Q zO~-J^kzUhtDeyMkCdg6zCdRD%W{nNR_dX*K_xmfb=5{FJM{?s|jib=@u`yD4Kyoem zQ`L~KakO}eGc0E(@w50Fsu8tXQhnBHVi-v0*)vC-?HSKI&>=_FNjv>(pWR!;S+~eV zp`3Z)Y$a%Tu%6Jm6djV$8V|?D6HLeseo2*yi2H9p9pD937UwAcgtr}Na&thr1mAMb zWHez+pyavIPueno&k07A2YnWy_^zHL&yV=r;;^VsDuM=As1M&Hu)w~X_2pKp+`Q4? zJn0&(;IEebk_U3wN%>vGm77ZqPzvvVJuXAjqzK*)8W%H5g`>chpEMhXZ81ut>ZdJjlT#T`cvkG+pjw zL))p*%=*<+rX(N{KCY{s+(dTX-YjcVqkv3tkF96Jwt@}AtJK5~w^x*FeO6_0ZceTH`~YgG-Ms(DWIy%|~s+4tW=l+r-N2~PvDN*4V)r5c9$$(D3IRzD`! zsgGhER6+x9ljT-*{=E=GguLGqPHG;^KJPw&v{SSKd3p~@jooM0G~$J&#r{NDr& zA`Znyg(jJZ;qR4Hy&J1|_j+inb|0?;S2M#%7oMLTX@)bczQm>pK2PDs8Ca->9FtgJ zj|PKpn&PuaC|tkkWz~NiD|J$QUyKTY}8z~@Z==fehxjI2_YpkretA_O=8Aj?rA@EcAobjpK=_8 zYYcL0lP=lSqt~pZQLZ+hC$M^Mw@9Q(8RY(G_bj0^+=zxCE5I7_FK3HygzLrEWpZcbG8_4#na76C$7%jK3`E#y!iYTj>hx^0Hh8Yo`k^FI3h;`YTPpK+!%uy$d*?As4DYzoV17v z*TqlnnQCOkpk~V71TH;y0l(I4DQm_yaV2~Ur3$}N)y2E(_q)dY-Jq7(Gt#J&JGuCs&1Y_Z+p z{w7yz_r+Rd$rDS)Dnjk}Sf&)4fV_`9I?St+6<xRk3vL!-@d-RDfWJBi+xEKB zz^6U81P#KZ`fu`GtN_!H*~Jd9@={pw`^2fr63!IcS4uqv?WJBvI>LDRk=pR*?v>+j zHaTrqdF9ZkMK~-?UAt0%X8HmXjKzp8FjEqfTbLd-k_U9=PAo3@Yyq=UE^E+JmUu{S zSfCnFc9Gv<1L)P({bJrz{8fJ1WH#Db>PnK+>$B5$L*I4(Yjm{6%(<)9Ri_g9f*a}5+~z*czz=u ziFLtbdk2!kn7_m+_fO8oQR!Qsm1A>8PJ0^w=ju6^tf}ur+^59glwj6mE6s4pX|Q+C zPZC}#8xsOjGWD!c2?`nGA?AckW%P|rzQk=398~9!jo?KzNmSmMFq#Gd!SQ3{?5y0%=}p+QdSWN)R;Ie z24mjoO=T+lkRhEIEVV8J{oe3t8)%n6rO%3#X=_k%oq?Y3<>LSxQ)sTv$m1Em@=y+y z;VgYfqbGFend4*J!m&zxXq|NEEAbLpwO7lqt6Kfs6&B_5rO96`$3%&Mgp%+>6F0SN zr;vjkVQPbnhk+=B%wU6}Ggl_weuuyCvTdq@?lW1d(U_t@yg(}0 zW&I~aaObg_k4JTi(zdmjTcGpfNifSx+8X?70_28p^Kp^v^U+nFt`>ZN1$<7DR{@03 zeN8rnwJEI*q=dN!D@%iDG`rn~LxFz;q+b3t?!)c}c@d9r9IOzBa=-keoP^iO!}v@g zNx2i=2Ch2VWgFH5=)lRZ#3Qg%{03@C%|U9fn{n_UrQ*M~^25J6G{*iR8{?4KnW{$x zdadnz!Ot7mg@PU;Y}M>OEG<1*W@BJ>Asi(A+(G5dckOlqqA(8Tc*0&BP+Sr$`ou7J z{GxPwG(DWuA{1a)}Kzv)DrQemv9jH|7 zHo9xhkSiqJWQ!VEAs1#dIT`m`VA=P*s=g}g-QynSy2jxh-d%9pZM5+9X0e;T_h}#A z?O&1Gjbc`j+ch{a<8EbnJNS`DLV><Sp?|nCf^?;PkBjVTCaI4TMo!=d@{9zN3v6Uc=qUf<2Q2lXt(V1FzAPTe2jm5qe%!S}w)jB2jcqjH8hGw5+G{$aU# z=piTLZu6d~ty%3Lnla<}yot5-dKXbHV(fp_cgRiA;I}i*>UTbVc;B%mb9%vWhuR{D zN*6hG18QX(!t5R%V8bGhQ%BPq`faz!+uwa+Pw=tu9%}|xA9akp6ZrSXENofM@ebP_ z*4^~)`ld7PH{)L)-E7~wWh{}O&d;2X>(9sYY?+=?wY>opl4G_xT~XaH`8G}a!Tb*D zZVpMp+iolG;;2qYmc89C&*id2Zc%Ylc#+G?4~utR)2eSk&qT3Zp=ygSOm+7yDiNLg@MzThl7 zkk|HcfJ?JZ2JINnXyGdaR^ItAz_1t&iO&Zh88N(p0otF$@AkVh1*crl zRKDJ|$lYr=Wi6DoUi5BC=L#BxX7UiBBd(N?p1pF``~s@irXbxYf&4@D6;TU47Awu2 zl)tRd2_7Bg!}ilsZPj^;5gIi9_`78F{ns6kIda|Cw);i-*&v(gTE?LTtUT4_UL51)EnzBzAh0lC678F** z*Y&1)%qUxRfsvW*KBERU2Ae0v((v-Ne2p`O)=P%hLeCOJKDp>`fc2YexPiQD5T_6{ z%?;n|X_*(b!F8|mzYpFnTA(`%=h^j|$-zyk8O6EEshrjw2j{2a{HtQX6Q8rMysb_i z7=gXk(fkqGo)fHvQZ17{MbL3!ZTWGlL1Z2B3{?Ka*sjQebqfGH{NQIjwqhY}tL*Rc z2C;yZPAhUp{h|aNsD~eZ06OceFUbp1)Nq`4nBE#v3lQzM=M801I>ieZ!9ohL^ocAB za<7>d-XZw=IdCj&rlOj3t82zqBG@$A}!vMRm@OQ}5Gc_*&tTyUJRJyNKIpz{ny@3WMdu=CG z_)49lmzm?kXU!!sV6jmJUh5{%YXWEl@9Exs;etanVI~s5A!jE>G4|o}+W7{U(8g5v zum5tb2I^jbm;Vrn6A;W9;2L3s6}5$wq&JU#hv;B)kz`CM)RZf96S``9u) z0%SQ#DhZ=svXU;j~mzh$Q^TC<;QA_suU-iJm z99*`P&F>izyS*+&TAJ=>t69=kZ8}oDcHE8vLC?xx!Z6x1C_pCGN9PC2(ICSmgEXY3 z7d2>UUWrOo3+9AWy`4?ptex%jSVH|Z60}b6D&av`bJFc?S1#ccKJD)x*EpbsUnrx@ z$sCU`l8Xi`=f_KUY^alNeAJYHOq_GF=!b~}q7h8`jF)Y}Xuen=FOx)m%E+sg7Tc~| zw#d)XdgpM90H{4ylQT?Y;ph`o<{yZDykf8zLt#jXedgUBdfMQDYGI&0cMfO(JF!j~n!s_J1h6i{l;6WnA%W?MyH z+R~;qHaSLpt{FT#o7N)=kW#mt5AjNv#s+EYR&Xup#Cj=9J4bOWzAMzZVr|kD6C2dCIkeI%O|%6K^}jBpHgAqg_bfOq%}9ZwJ!a0#fs~8n>3C_yq7YUTr3GKW-AV z$%2O&_YhFLTko=u(?S>;v&&k|PjGPgT;+-VsuL@IpzO9EnVVxj&#gQXY+Yze%$xd! zT^^O)bFrhy!3?wFg;?0$N|HBc3o`(8as|DQJqJ4nEXHe z+L6^yP?9nT|SPg8_|GwlQ1d-r(KthLk^V*m+?sF z5KQAcFBS*z;DKXPBZ(}mKFJj3Euf9TrDL!~4(@g33GbeDbCn#>Em&Vv;7>oo-nVA& z%bm5!m*SlHMkft3jD}Ldfqr&b+tZ&8$Q0fMI)Y(I^k#SgOn5in=P9aWq7UqaCpxB) zh{))-ZhZ_EAZ)ER5m8TSA7CG_K5aSPT-Do?yoLnTDM6`HXpwpX-?3Kb6K2=1m<*Ht z$iT8+T!Lg9p4P)*N$SC!Zo2g=B^G{M#CaeY{^}3&3MQ1$_oIc&E2|HkihiYJ%%ePFxWZi|%%f1BFSG z`IV)!@5RjuqK{=5la~KXDi2Y4^ZKy`?fr{Z<8J&?%p?a7-cs>M^{$@swK!OuFHkeB z9jrb1h-%q(f6IKwcZH+ck{~i~8@Up6iMKdQwk@Tkux>)R)Y&sQ%};T5CFpbRczuLa ze!&X$g8%r)Scm`p@+i8{iV~K zIM0j9qBdvnA;CJOxS|77A=6q>hpmfzZzIb6>l}l6&4v~9R_q6}$&h4UKK?C{b%m^! z8pI?t)j9Rd&8zsmHRF48$uWZARhu@E;XTxw6#xV#qJ$1`FSVzq1xn}>%~A>R@Kku5-?=G78=I?^rgM-B18DW z@Z7E>GdnqW34cm7{fuaU8{sGrUddt@lYvR3xi+4avQ;e` z&?|nV72RI!e|k1K9Rtyazd!Gwf>QueUY-2ME>HMqMPHaiqOg(Y-Q>Mf0i5$N&=^q1 z!+G`}S+)vnWTQB}HMd)WRj0}ql#vcJ^Eq-jCCBaTR0GX=xy}gkV6`S_4^gA-T|1dZ=;s{}qlRkIKtN|Wv$ zt}xxWX&wzO2v}d{0+e{BNq7=|NOc*FR*G^c=%07*1f`5oYqV$*4S2;k79p$i?Gk|R z1q(x7BSYJvFy8;t+_!HVOno3tAd?bw87$%dzty=KVI_FGyCSJ~-> zO=i2_W(p7a^G;Jn&0+E99d(+2e(DWaf^&c*$O^mxe3 zABp6RT8yA#|=U!U)V9T(->0Fk>ubW6J$CTHW5 z^=9czuz{S$8(r%P;o1-3-?IFAUo){3oP9IqY-Z9ie7H4u&f?s^Ycp$dhE z9W=&W?+3D^PWbZ!msgrTRkK_557OPg;}R00SG4K6bQ=GlX)AL=!PHe?J?6}3>B}1? zE_^I1rp&3ZKApC}WA{VLvc%j5Yj@NalV7rh4o4d3eMt6Yh^p7I+_Z?x@t;<8IG4(=pwMb*>IpUbD77X}t`0pn?fMW``XBQROU26|_LU3z7(-i53 zkw@=hJ%*O!7YgWP1Oi=@!cYC&bZN8`KQzr%ZXL^0Zvlr@b5E1iXZaeMDm9!QUkKq) zGt^D*-SUV{N9C1@1tU+bi3Qf~5Fs8^=MEdAMTj0G;>+lJ)5LzglS9$CXQq?dhKkK( zZZ`uLoz2u}{7VYE8ltYvv;LM|s8x+MYEBFG@Xr++$wMvOp4U~UXgLnS{pTvOy+I@7 zrh2f^+$T|~aUqvs(O$H>jjF_q84rTc)kbgNH9<1~D2LQ$P_1dNZwJ(MyDmXaVWF_) zFDH5JuPWMv7XD%hy_x>KJujE)(dsxBH=*mqy<4ZC`abWDSylhNu(4LQ=A~=3*t;pR ze%w#wuzD5+qk9)RjORcD8|PMct-e9cfaX){br_t<{kD+*wv6ASTc~$0?1c1@FV@0_ z57%kdMZm4IyPhh!Ndr7`p{?H;9pO6gb!eh|IHRPX$8!dd1^Kfm%WmaHSj1C1YYIyZ zkJLTpvLwoYfwk-7@Uq_b`zxb1!b^`syNmN_&xBIMor(_;HyFIz_3qlk)-KR``S7s$n1DYjgCwM?^eri-RPSjo1 zHES=D_CkifN6qcUf^uyRFb+u?P3M;0HL98Y?csnjGg2KZ#N)33sI)e%ZaAWesvvL1 znsv-Xk2?#&f$uBnc!F0jm})C{0&5F?MW4YSD>dFODwu)%jspShqNYeDFrE95GIu+B!8EX|(Uv`)H@y1gq>HwY=%)bbArgtxChG|Fq+H{$?Qf@QN;hCF3eBe4 zF>7NTv*y63zEaPIpceYSG^JTUQ#6;Jj*^NnN_xjh%nB^rVufCY>2;M0gGx3m@@F9o zq9txB1K$Ke#Er4C8J~j`pyC`SZH&^R_DinXC0#**^Fyn|^&nAzW^kXXfvJWTAAM9k z;cU!DBGmOrDd#veslJ6G8-@N{$4e}{6@2UuAIH}?_p&mxEN8>O!=-iqPH zpf?lt6of&@c+IItN)Tr1yZMV+d#yg!wu`XZ(fgGEf|h<`QhelL{AWIa3Fo@^F=!#d zqCN5MZBIp8|K37;o&AFQwBsL9Yc}goSf$NxW|o(oEQ5KtF2@A6qq6bD`4Gq#@Szzw?rGj$1Zp%wVCdwTmmq z_r-Gz>M{bju4QagM}7MB^Z!nB#W>Eo%@{^@?!O_>8A{|17+ z&B5hZF1DM{sUQ}mtnm-t7I80ke2+{C=4cwsDjfa#IWCk)ELrytD)O(g;iq!rqPpJVzw^X8{+pQqTBgj4Q&TXxWDGc9 z_lGGpV2tzv)>-T`->mtOwPWFc@~wq7Qpu^Njkc-EuaszPWNDOXm&8-R-Oe2~ApsV7 z9Zu85*3C*8raK@YyWYhLospGqL?TBeiXK;V5L1nx;+G&Z5lo%J2~G&dyn$Z-M`r(T&=k z4xY3+El8ffQ0|6LjaP0|r4EuC+GI1DzFsbJV5Q_tj!m89Xq5YNi8^Sn_}s-pzm5oc zO(Jq7xUgr@Bi}!{QtYrwtZJR{)Y*0=8yiE=2}>fb&)AgL*Tw) zU@EZq*F#!VcqD5!tL+S~)IsT26f!l#LF3ChRoT13^IJn#bOVI7&igVh=^mUyQ0m>W zD{w}3*(Gq?=$68H^=9o(-qqc|6=uJgd~W%#cnJVy@7OJel3LUxOIO9tOrnA(`+4Wb zYo(d4hr}Dj1_8Gx8$*u?`tp?2nkj4Aae{5PKk`DjyE%I2|4{LCB=Nq>`)07rDz?zh zq0Ra#PC>FjYZ)cVJn4=WiA1;ZXm)!cqA!FPVK+;u_Be<8wtaMG=KXn17b;$)5{n*G z$ENzUqS$%U6RwXp96k*XP7L)op}v%_#i zN(;I7yQu=We0iTZ_5|Z^Ox$K@t8DOn?ll~4* za_9f9GjwHaXJDhv@Yj@AY5~llYkbELXbZ!Q!}$E4?}>V}m>MF-Xa-?B_21XM2K_P#QJL^nYNTaork@K-5V)G7sH{7SSeqY8tSHEJ~+VD`r5 z+LOVjh_Y$aqmT7od#NHR8LR9Zi`5X&2}!7DsT|liM`Go;L6X;5oi|Tes(GyG+zRQ= z)rz*^<$b?uv~SarD%M!b_kwgsr~mcsizk>oZ46dmv4v)T1sn#MR5@u)1gRiNft6DU z|Jkx=EJ8V1eL5&z`kaBsIZV)3Kqxic114s4XecpZUSU{wWudH3T_BR!4n!xb?`>zC}k-6S)#-oTt&)-627OmUE%_`@HB- z9r-cLp^^rcMAT3f5RjBu{ugK-`{#{W4Usnkwko7U;`2)%5|#RD?)fkm?vHv;Uc#ovwAaGCI_zAJR{^ zHa5eOdA-YpoCw^Z*irDM1wkYL#}GgsHEsYH>sOOmF}va;H6ymUo>*C$PFPVZMp1+A|)Vd_&CV#rDi;vzr!HBa7s!z`{2x}ZE-%~s)W0@)H%C1G}hpWoi; zo^VoBtOx*fD|XdI%-q~iWnvs|9*R^GulfTpWb@dGU4Q6ylP^gYko@V+9n1k9!WyzA z;&YSx(zuhw>Q)~(HLpV1xr8pB+sEUl5x{YSid%zn`v1gIq+NdQer3&c@^Wa*b1*wY^Z*k=(Z;udKLS2m}1C|4rzFRkZTgI$o_3V|Y<% zYS03b9$h4e+&`5hp!d>T=Z(ZRAfD2sF5yl7PKhiRAC6#5rmHBNTICht{pXJva)lfk zv{Z%K&+0UwHPq3qM_QK?BO((d#k`^INlrbZBOVm6$Ny#B*%q22l+TxT{=)8z>MhE1 zBh;?K0!2yya$f(J0W0Ilmsn`4T@jQ@ZBCRLuymtdTP%Aa6+meFZVV>_8Xxa@-xLXZ zf;!XOvYq0T2msjA7DsFAmS#AxlJiREprnRNKLB?3u@9)OiVEg8XAYHRU3c(=;Olnp za+bO#nCdty40&?pu=pdJR_>yr8D>9jy|fZ6dlCyxZT>w!V2anbhx+qh+(n{T78|9FZU|)Faf&G9E9ND@-0KV7ZWt zGu89^n@zw4F1n)5W27}bALjarzZYaN!w4?<>2~9U@^>cWwt>fblaO_ePFovw< z2Q~SbWtnW?=0IiyH3fJkre!InhtNS(ihXR>9<$s(|Er(Bs711tH~M*Tv#Daj3U-Ts zg0M96SvW*k-_gC03}C#>0%RZ#|5h@o2|~kd?Rm8?BPoW+HH*c9`EVA^<)bo~)DCsY z!R6ZSMDrkGDOd5j;sSUw+b8WolM$GiMAF?mF5Zz1*A5)ZG}~n)myu-UAnv#~$O&DD z7gacEZ%7>&=HniCssCK1fH2Hox2oU3Ew_0@r^&8`C-z|qsB&Y_dE8v_(^X~M`{fC* z)&J1ep|bKrNf^0;vgA1Zuz?a4jCWMB>Am~E@prp2&RiWVeO_x|S$yBMSWgV}8kL=3 zrt0n(fn})3MVcsLw+QC3D)LlZ0B<=R%hV0LO+J8R(;vbXW$d}tc|zG;Iik%tP3INt zRh{Iku!9uqLpUmNbrqh|^QniKuv1{HGZmX~g-q;Yz3&V0&dZRh5(0W@r3)JRcooPe zHcJr2_8oAhT8A%klwOMkk#7!yocijPD3gd{mx-ZSEH5jPDp#WM;5hxmVYr6Icq^~s zOdft2>*}$4|Ck|A0y!xoL9yTM>Swd|$6fnRQr^2aKBxLV>QF1|uA;k#(%*%$>H`gK zqc^yx%0wKK%~3mvh!4+h`2rXu2P;J%$ZL~z-;wJwunm9n#Sik^jNW%y037(ChkalG z$#K@K4(Lbq9#+nMT3F>uOR$;&^1E_Gi~-4C4u1Q{)6e3xTcsJW&T(M1C#k8>mq_aw zuTAi`CFtYcNTuCD+9~cVi>_4Yg+v1Hoevhmw6pKNhL>f~3;*<2!Llic)m%wC02<5g zVC?nQ;NnL}o*A<6t=?8}4-3c9{hZBuEvJ}6DA`hRELRg<J0+TxZsH+9gWYh6 zKmGgXPTsrKs~mFtbPD#pogX(Ugw~Wy+cxjgZ4|bewzqnAM-u_Omum{_Hn;^gFvOOfAx2 zNy9YflpwoaQ}}!^?0{(Wt7hd`+ZGObbu*(d?qI9=lKPYo(ffC8Bxv;ugF%k^BbY{3aBMabBO*$*YZ3G);BzKv_=7T83( z+3|ibveeT4`Y~y4e`2OvBiTI61Yx|A(btsRbY^#&ii7h#bElj0YgZC{BY|@h;_r1> zJ_Fbh4ilIdA6adV7GZL?>?hC=DGVMNE%xb2-=V?7Q zak$@qK7RMF*PrsFRW3F*E^c?f>mM|~c?7eapE9T0t||k;@x!gdd33Om{CkUc%3CVF zyoPi}U}ZDXRkD&sT4?2`MlQwR>%_x%IsjB-IX{aBD|6y*aehyAZ0Z{*BmXCE@D)-! z^U7dP#BDR3g9o`WOP@mN(?G(^_ekN<{US3qFU={|&dHFoCTyv>`6JEUl-^|W#3hH! z+Qj=`gwqKpy$xLQLLxCO3|A8E3E*|lF9LE!xUoZ-Is6@4E?F?Pq7rP}6BBehgt=LD z@Am!D)JZi+=I!L}pB)wwF`hRifF4~6lfYrO@ zw%*hU$!IICKTcGJxhce819hjh0FJE&wNo63rh}?q?ps)XLn7Xj0E-y_?Qz4_EzQ~i zn315#o0MmfBkf?Rcw6gyYlH2PEO$H^Ht5X%#NqLhq>nXxY;gB>+W>ZzJILLKtOpD7 z=0G&kHtI78gSFV2P9nfe%(utInZw@g;PeddHP^p;YGPu+9ce_*kJ4kS0VG}*TyKvm zKiy|czE`GY&PavTmKp5zlo3>{h4871*rF=rqZ@$Btedcy+RqBYmqTu3>=&X|?AHHY zG+nM<{8j7Fb)38tschbAq~PCq?=ejDM3oBV12{{IfS ze6?XW{mHyED@x_YlnOEZ4#^Ec8R}=_?`UXZxxdxrPqD@Q^&}O$n0$ZbVJLHe@;++# zxk{!?*I_@<#V_{z%QtosV<8vb>&$MQIW@M}w%?+-{EhO+E}ZfM;QsH)sy#8zs4k%o z3-1D`qUCeT{z;&tB{p)tX;FI8jnZ<1$T>G?k&qR4qT`}lCGn=8uruy=l7$Un=}K35 zf^Lk`i3d`x`Jw*rp~EzO%ZaaL-j!58=Rpg;v|(E>>m&xZa&fZ(YCx08Gu@71nL_wp zj9(r9iG1%qo>zTmiK&*@e7e|P_Aidzz&%(IRsx8fKi_tP16mSJAvU8^f0fauV*=4j zBCb`hiZQpk@?Wi1c3(AeL48*LzUjAd;1a;&?7nW~vf9ovP0}u(TuXD_N}tzHK*G~h z3bA%moNRR}`5cpe{|4joG3<#7gu! z(?D_|$ZFXeZTI0QEc6Gk2fNPvqO|!UHEDCFs6-%SY(4i&oi!;`TXu4715<_#xx=W6 z6gU=>E3ntH8|!~pIb3rxtg`~(!rJ!i2o4qkmfO;T-cs$#Y3YN?9+Bs5vtwa z#ZZE}b{r%9=X{_gzdE(ol*@eHi{|`a%D%b-X!eeK1aU;|xXTeUDC;2&(+${=3|uk~ zGGBG-tpicBF&8usHR7{($il|OTDq42<;!j`GNi>^)K4|sFs6!rb$WrGL83*Pl=ONa zij#FMpa}84^WbjTN}Wj&-F)T)3d2R!rE`|zGqQFd~nJ7T*u4#Ds1#m)SsWJd_up+DNsqCro#lv<2H+bHK_rOo(v|= ziaeU?9(N6T)(&CRvYoC^_Bg|6ry+Wp>sW05{Pi;06}JOZB6yZ|_$`aokQDjUW+5+5 zoCztG_IVQK0OBEm7>({~n8r~u5KHVjqnb)&mIA!CH8np z*S>LBB0L`;26HZNoJ}Ia2XK9v2Fuk1mAe%g!Xeooujg=@wLCimrpCco7EUubj8}|D zVd>7GDQn9`BC|lvLvOow#xKJBW;_GmwY1#>O+8C|fceK*mbJR(tA4?Csa61}%BBEe z@sr)51bH$i8s0V#p=eUG$n~qGV|DnO_d0dX&T)T=h5T^4XgLT^_FX=r%5zG~hE*=^ zATa8=^)x&OIpqK~4@0Xxh+e1Y=)0W`e9r6W2mLfPi3!{Iorjz9M!j~On3A&E*`;tL z8<8wCQ_Q1XXJuKZZ<+_;PC5`$^3gJx2|WgF=jtF{%2=1^C== zEo*p-gAcVC`F`jgx+SroNpw9iiu%vwn-?*zPG9Ski3qA@F_$3o!XHOiiI5O3DR;lx z!Cl+HoAR*rZ^Zmx>xzq8Oe$&Q?0rXDSvs#g+O4UJwsettH&X9Fo1PB*UZ~G+^YqRK zKEIt-qok{bC)r~zX-uFUIiONGfmgjH^#Vfjmhf7lAd?MIutFaZ;JKd3<__8BfI_;2 z0$~u<>5K+_@&RI(%i=3jqk$VJ)=XR5q{9@wGrobtHms<#h?Q5FaBOGG27bTbHTN}i zgoizIDk{~bN@aV8t{~sUCS!-{UIg9t&XZ^L*pb{uL$X@E`i8o#50u7#Z4(&lagM3X?HPZT>5o4EeEF9Ok8voEEyJ zYhvwAP8`*+wT}HUghHYlr;kgmOU#Oat7$FKUjl$ni#m>nThh1n-Wn}Zg~l_r)QV6_FbfGy6tOXi4=grd;w-pTH(yzh{wcI&O=0y; z{zLp1vmvMlWB8+oAUbW0TE2=t#!o{wq+&8NZ?2$~8u1^fS*5F!!+NJhyfhRnwQiE6 zg`;a7M98Bf3fp3zPu%)7EqP$V^e5Tsf8F9Co8Ph*aR<#!7FS6(JNBO#oY|pWzQYzx0UI!m$ zv29Qc(|5VRYt*)n@aE3O$jj+i1#DzYO-jS|D24nht9b$)PinN9R}-XH)zj%gAQI*c z+fT-F6Yt@oxE2Mg@+^mtI&=D%dY~232gqzM`Q(3pi`-j(lTMg%l0%WZI$rGIgO`DlGUWIc3@2UQYcT--i<5` zhNAn{T?gCYWlq6M%Rz)&Vf1Kp(U@vDi5~i{yn&^8alACN&;*ZdXpgdnchKP0#(i+X z==LZnvY9O_^Rf|bH^W!oy=e`_Em2Hu>9zmA$UGqDvD+wvv#~+UXt_gM(2C%c04rf9 zD$PN>Kf^N1W9`Y1pR~ne%NHenzvz43%Wv3xx0mOK<3XGfP5^xLL=3k`ceJ zW%Q6A1&F&}-2{a%dz^&_Kb<1Qy)GWt#2?o4S{`qMhY{Bs)DP02m8jjV`yCbE(-Y&V z@IAwat*3js$9a{<)8T&KJKL7~TTL`2f4M;-{&f7PY3TiUh;*d}Kc+9sC*RaceqMLT zz9oC=FkAiQ;7Vbr>w2M%aJwoxdUHab_OOb4@_GV_Kkb!@-OoOV`zp7W-V2C7-S->b zKisK^`)mf4qUrNnyk+!lHTqhIKLkIy-CR9NKdLRK9t^i!XSLj)F6M2Vp-Jh%WnV6Q zIq|#8fwcRRxR%=_cHczb%NUN^$;Q&4{VS&}IKRPp0&JNEETWlN9cz7>*Z2Ap-FT@eN=I36= zN#{qkE)S|_TaTBfkK4eV#?LXmEhjk$Pidd?H2WIgjUqzvmBy-#i-j#<)&66iSK5WR z@Ul1~ynf@Oe+Odd30U#u$i43-r5J|UocM@cKUb-B(J?x7ZutME<^P+qegFTUC#pBsk%k@`}nx~ynD=#Xa`JcBf@GPEwV*yqi>~EnUEZnDb-G<&< zDWa}1<*9ewV5(>2e1z1=)2`N?r$3{fNed4i$_Q4GrTI@q`~9q+*Dz%rWa3XI3Uj=f zh-E~q{VNPG=&(86KgV$tOX)|sq7CJDbKfx9MlLz@JC*DWO zXdvpSe`F*Ss1~Y7dzcI`TM|#CTD5bJ4t}ZS{^_hedkZJ1#X$R;tyg`b zCcUSeDSvN#3G7pvyHxkovWPdQ+f5?SVBu|(7CE8D>G@;~b>-z)6RBC7%9_0o@rtnc z?qw##lQAIn?_$}Hcf1`~vB)d&8^H&1@70&rd zjD+f;&&t~qes4y?mCcO5cj{}xvo<8*%e8-b8Oh4_(j4C>myr+(yT$JqN75N} z^~8ve#fkxCD_99^b3lWONCRHPd#a^@zKtLKuqal+*X#l3x~Cl&QA+S+ z=xiBD-wLd&h`Ze73sVc~?>H`76n04-fln)S2bZUU)3ps8OExS+xP{qs4yf(6aJ^nvC{hg@lvADjx z+S)>qXa?lZ!RBj}V^7%H&u<3$ZJzOEo%K{?rFnnOwe7BGR1D8QQOeZNSX6V^^(FpC zw)sn^b`o8Kz5Ii<#9zxmy1o+32~`2A5rp&#Z zOSRJHw(err{Qn9FaU4r~^_xO_ZR0^6AH_v}vU#M!UJapSA@5^Fye=F7YdT5a$EM(T zar_*P=xJqUUpH-x0Cn`VTZ>*7X&FlJ4;aUi*L{7-p>Mwe5gRtR=zx6PgC${AyzFi$ z#RP5i+cl*^j8!oRc0dY*X*p9|wrKN@^+4RC&>VWTfZ{f`@fs`Ag~(>=Yg6}t7gDKB zS{i99g*rmfgtb*YHZkNRJPUOk^F=vw2bVk{s&UeNmt}~TY36Skadt?_=Qm=D0F?{t zrYq(%Lim)YKycSPtN4vBL7`{ip}h^0AC*mp#x?crwVF0fb5$gtm+QvL#kt$?h1iXT zo(bGZOtE@bt+>QE_pK|o1fR$!-FP0YR+HQ^Ohw(SJWJdA1dt?k3KIc*cdS>VAQmFh z@f+S<4zCB&vXz-T7mPzBZA6eyKyEzYiqKh=#p;!X?2)X)g3hxL9b zpR#xxaT@LSQbv7(i_RiGV!h+eFKH5SV(Od_B8B|%p>iZIBVUXi6TyEYnGn{&SzO(@ zDlqOe>hTiG>U6(z%TB8|)Ukt#-d2uj`?XhNamhMgacw6tr9Q4)I&Ljko0JjeybzD6 zqO4ADw}M;pzqfXR77XP84K&Qk|CpVckTHTbQsBVTUcI{Th!$$+m{Ep76qKVFp9(Gbc&xy_H$ozzStap z_aY*%R0a-dAgA=Pv(AqF%=tf&W~DW5?A^b%f~F`w2HMHI;UEh>7G3Hl?SlbIo<*)f zm~s4(45TjEYZuc4n}gb@6s zW!z@w->2*^vr4tc+93?J20?i}TIT#Be@p>W6{m!=WCltp?)Xjd9t3PV;EyS9*iV!v zbx9*Mp?F`|O9Mfvo{L+kccC61PwLnl-S?dZ3^u}^=@IP2j&Grahg~Vd(uf&?$G^j8 z!q^qEPe+)$Ir>9gu=_**G#lp%^%1RdXrvy+n16~>XV5ra(n?_#S2Ww~^eb(vLpLYj z?@h$GyAv*DY*lf-?Pzt8nfO&e!q`%DD_XrazvYF$(L*SX(WOi=?)_(VIPZotWR9|n zA^%~fbZ6{TRoF|S?B0(gS+tKom7$NDUs)n8t7w{hWs8jd@Ol%QXTqD5lQyP+CMY+8 zb!R3sW|*l2D=Dwkpm0|HMCO}Ke307Ud)#|b7Ii3$*UD@0FR86Mv=F%xSREY|WC5>8 zj)XE458IG>=T!U#P^Z2z*z%*DRgB10~#~A^a)a?5~J3J(P>vrTTga}(E zvmvIPnW^plJi0%`kGDxn7ysiyn|Q~eW$*;c@|emfRuaqBUP!Q4P0^KIqYy>+`-y3TIvo$~a0jihQ-sOiqdah1;Z6l%u(CpQ zeWv3Uo?v4bPIQb3!;KT@`Aw zo2xyX-aKE@DN^JY9mh8b>;I%@M(B-d%3%4*r*~F-3@~8g)iS-FphjBgS1cU-)f{X1 z{@=e{Cghg5M0|1EQuoiEQ=!%uDpEyetHct< zFdXOGQO$3@#YV;PvMO)l!iv3v|087_bR-G93SzDPAbs>5%aKjQmye}om3;=?m!g~U z6J2P3HSP01d)|mmziTX5!7pS^cr<(iN;U9B*G=P9eamvLtfc4s_9^YP6ul)Q(v3h03J z`e-HoI*3ZhaEUY5sAKNaKu*PyD=vRtt;q2Q=WeQ_)6A@ul|j#wn>J1LJ2XY1x-qL% zVWH0z2~%2%=p{}RvJ-S3aW6lDNf4n8X}sN61StU8E<@Ve$Kz;{N<2`NZ<35}(q@Ly zeK6+rOngD#5i0RxwLMZkX73jTaMy1Vx8GvWfO&bMtfYIYIpuoYDHU-``UVPy@a2K(wj7D*^?lGOfokE-}?a@*X1ni37HTFKUe_4+cnIflBk zvv*gpqf8)Sp_@AGoiHN;SmcuwXN>l{W68yiBU@6Ss#A*=S{Ojaqaq(#_deug$gevX zr&-T@t2&-!k`rkgFZKYjBbDQW<;k1=WzmJkoh~L~)~)_pVHVI3T0){FT@n;v`Y6_I zUAIB_wXv2=jj66!t+F8OC~Bd84xl7gK(%b<2cM~p?vhYfE(V1kn|w(%tJjUd*|#%h z6$h?m8S8D@MgW9Y0mlOEO#!KajtK>dE0Nk-%-P1aW$Ix?sDgrTs&Mbz{vFJ_Rn|P$ zpFcMBmyFGjeLsxCD%aQEin6>`360^O9lX@HotRtts?hy62xXer zquvzH|J>tPMp*?&2wNSErRt$C_%#!D`R2!5qMi6%@+5#wIRTP8MH@YDsBX`_6d0Eso#=8*D2b)gzTvBdYA1#E# zYVUJC;ImX#2kgIhtH^8G4ENHCQY1ACS{Qg=UwEt=AH;6@1}U*;`liTl?qhFdP>@EQ z4IHu?A&Z)z<ACh zW$pcS6RPQ~#_M+4Sz>g%K>lDdpJNEo%OTR`Pu$LdH~sFHyVa*V&}wq2hz{Ec%Xf7# zjJoaP2RNtLD(}3Guz5AAT{C!ar}KHPGomo5YN`@NaM=S}3Z~p!dG;8FrkQL5=&4hO zw!U+e9GUl)?!H3W1(;Qe+ojL#(S@ehmKQ3%U0Lbf@m8SJirG)RM|rraeS8)P1Y(@o ze2+KK6amCB0}Y$>xNzfb*059*Pq|7WR5$HB9r$yv{_D$dV+ye$AdFmeb z&}yAeLH``k(cY)^YzyS(t$+lk0@$;DDgpw3s0MMlsrN~AVHvW}>QpMWezUKH>FCHc z(K=10*sBO<@&3RwJF$tU>lxQ9oi6inrmAWqw_b6)F%d%9O<%Bdx;_>}U^hM0BuX#< zkvyw_V$c=Vzg!SXGA{~__3S3eDktP+yhY4T9o2Z7zP(9ExJ^jFvB|kaZcO|jwE%SH z^r`&HThxPEdg|(iuxENZuS9%t(mMgOO6LIaQwyxOP6LX3#zHY)k@Dp?`;$vJ<-4f; z)w5)Ix=&3yY&3)1;}=evX(d9=%CGy{RV}K)Hs;Sa+DuHVkhrnjltqv4K%wPBEF7hO z#J+>Q%2mQ^1qte`*%a`T^9PRyH1^>vq4XSSc7wQCYFccTU{B1X4^3`Ha9rMqSFWd7 z8hLCD0p;qN3+a+i47QkhJgl2tjrk`JIMcBisperpMKhxsBAAlq<;XVmngYR_Tqoibm|KBUR&F!dEZOYIEM05O-0^{i5M zdG+j*=;ruo_fKL)_AyUfTj7f&VG+N>fh!-r;-XQ=Hd%KOF(D#BDSZSktMu)@!is!D z@ULlRcUW0HVfctyq6JkXGoXQ$tp&U_+yGOMwu&U9C)^u>$PHOng1VQmpm z$!cLiW6nC8BimQ=W+!lx$$@eFJ6eY(BKlATdOiIx%SsldvIV^*(Kc4*WAgI4hW&B& z+ZP`4Y27Ph6(n)7cU>p1ULm6F{d?ByU4W zg_|_ZvL529v5||1mZrJ@t({gsyMpb-#f>aKcba1V9n`kt_9Y^Sn^wf*w5CV>C??i} zu*DYov}z9#Pcp*-sA2Hd$`f&RF=A8Ab-!Ep}0x$zj9NY3QTJ;ssX!hY=mDv3rP~&Jh=%7?w{mx71e>I4hx03I#qpt zepdXELpK|By`~_e8`-Y*1I#L2GcG(FCZ1S2;c~eBsFsV5EGFAK!&Xi&5#;>DaSkI*_>0 zs0E^yO7r-^LhogPPO<4gm+^1PQV8QDYn`lUQT;NPyLgs2NTnz#uc7TP4H(W4=?Lm> zN~T72NJ|&yP=_gCK0WTRhWI|U_5q8oZz@$(WQJuwAf+AJs#>*`#;heai%DPQ);=HJ z*1ZUMe7Uv*+#-~L)d0nE3`M_qyKy=dgP#jkx2iyRi7d!ehEm}Axn6rjAGg53#xMYL zAOgVOk)uy>tUA40&@sC9_m^?cav&Cvj(B)8{Od+2t>k5YvP{mg*CUfyz}{Q9+aB3y z+Z_hGR-ilB@tG~2_`QygX5)6=dp(c*R8S>vug*Ol=LYuKiF^6(AF8BO4tAG;G;ljJ zD3@Ims6W#aPaD7F-cRPX-JU4|k$W!r!&<99{42Sbld4i^ZD<9{+J~|3w~N|Eq~RsG zWcpN&hJ3ZZZ1xh3^_<2(e}7&%c=S$>nbyLjN*7?pp{cGoIM-S0rlatd znZ-K`QbO(Pke=E0cWVBHc&H) zxQJt#`275j{z+rJGHj7Y{O|I-HFrojGH{ymuke*@NRns}j^>QF*UObrKkY-Kp(~u> z640w#7Z`zgq1>A}3+xWb+o)i1e>>M|fp3o2F(Z1;a^?ptb(QLi!C)dw_3Es>1dfl* z$H8TDfEmv>rStA&5TxhmB&(#T%=oL(U6SF{w!pbUU15)C9$|O*2;u;IFA`L%nkc^5hfv7+zS1N@k zOFJA%-N_=RL`r^j14a10-YcH-I`Cw=)DatEbx;R)x-Dt?AD`;RFd!N*F>W>Pza`JP z%N-d94cWp2TL{fWleZ=><_j=CHW96GNpWtUnncxp5T#e;em%&aUSbqJSUqgy&)xGa zmBEPrn@Ulz-W=QQ2bs?jUr`+1a`Xo zHje-B^7pUet`}tX5%+U6g(^b2h2};>-Q-D&nEXnQa|$p}k7om$FG*+km@W{x0iOZdUq)Q)uV~wtU6?oh z1>mXBW|M-|K@1WfwB(K9o9|9k1*j+gI(b37D4*LZr{+f4nxkZB7Xu)MIU{E4kaX z9~FkSwlT4#c8UFV%I;G9nQyl9eKME$GX<^Y(!{pg6y^c@)XKA6%NOPB?{zRN#LVL> zFv;C$%1K3>#$T*lr=Yg#@K1%qC{3%iuX?txiW9#7nfXWo*Pvvr_Xw*3dXlkSzq{NG zF!w4>JQ#>mE%&=1$fUio$dzV;nL_|G{q{1kq7nh{y&9r>F+NBH27&$fj zJ%`K#BzwnZ^G@U6$WMTqt2^)K!M6^cq(r$$XJX(|Fc^N3MRu#YRzowJ<%uWuCo4XZ z2S1(`81N*ru67RI*U?)7Nf6iYxuqwGQeGM{vriAS`H%e~32zMqSx*+Wdy10+Rd!-u(=bql zz#`AMgJk^#zY+ZM39Ky@oLNg?u$b@JWDiw?nYz z57j#N6&?NWOB{bn;`+{Cm>1f)Yr`MWizeEPlT(UWXYp?^55IPX7hKIaU}A4yV5PBv zwuXQ^v{LQY^A(@?zf)T-2AlLw`c9VJl^V{CH28%&-dVlBcD%YV*Msx?uhux+j$E7n z#GeU(uO0Jr@OnQ;GSDi!Y%%BBxpq5G5d6Dt4{+X^Cw^1wsuzrtYiyDqMQJ;(>{*8% zrR$7_KfX!32h$uKr@^i}u*Peq$-;qDPQ>ic^~cbse!^o1N#RK}h8u z3VYal>pCVK!qSPnpPp8VAG|mE(gGMkV)Qn|QWNuH8XOx49ol zC1lN<*B8c}L^tKjtX8n2K>{6Pthl;?LgQ*K9b<2^>lb#G9R1%4V-gnGZb`!wcA9fI zfW3o7<*^3$3~i6H1W;U`4?3k`lZvf5-h7c-#$`eJf{pO-7vOush!>~XsHhUPL)^&{ z-2H#gSL|U)p}Uq!Dya7tqqm(cK>K`+!2#=7j^OL#PwRmTxTVRl^I;dkrAaPw+w@F| z8BWZazILGQqxiEiAj}MIX;AV8QMB9**iY`x`0T22)G3`fzL#;3FRAh@fO)L-OHpDZ zwE0ZlmE6LD)-|TpOAo%eR$`1Pmv{N_3t=7-cxK<6*tAa;8RflT6!XYnC`iRpK<%@N z!}C5OJ%*HF>wPk>ckf1f7FUD{GzsD~`vn3QZ$dD~ z?Tfmx-`Ln8J~<}Bc<#Qu7}i2p!s|!=mO`aqtIT4bP?Nj;V?DH_kt=d2JL%aX=Q#L@ z)k6H*sxf9I`dYQAKSbi3%|^#2EP>eS3&D4zMya2KcA?V#x>MSs#H9?eCkbT3=0{YT zBVKax!F!!;4JKvl_W51!M~_FIf%Oai4_#jw71bB@ElT`{kZu8$Zlom@1e6qzVHg^u zTWY95S{On^0qO3c2aq1d0hNvcB!-q|Xoh}x*7JUS*E*l>x?k?O=j^l3-oJn+>E^yn zbPD9?b4p=wj(AfXLT7v}8I~c%BicGg5|6FCei8US&p)#&uD1Ju4OsDU(>pveEP*vK zOGYoMkN0PL3!`ud_uD0n6g91P@^j+{%l7%NI8pC2UTi6Ct0!3_a(|2rF}T44Mze$< zdn2&j*JmYQz@D0IVP!vL<00#pz&h&JY2Tl$DYBCf{stk%u^0)sbRcQ@rH`WtlGCiF zF|fcFK^RshqO-c3NiQ~92C8f99}|4yMzruO(nzZVB>TS4dB0=B)&(iA8`L*!{VrFv zaJy*ixCF4=*GE<2!V_-{L&UC<1&f!WP|U8^0C{$8gx zZbw!!;lfi*rTw3JOFQx7yJHW$u=EJs%UNCBZd1^6pAzd3f{f0+rbx*V8=g6sGcuRV z_Td*BaEQi%W27pIEebOtC}-U3e}}}gTR~qVoPRlId|obQOJY%SLe@V~s;C@DackZ) zlr>d9vspxbx%faqrh`(GaCCcMuLYLsYD*yW<#W0Oubm{4^8_S0|Co}9`NOVuMrhsE z;N$55w^2$s;%UC@sE_QTwKfBjYsJ6`dAkg&nBRS~@1d#$X9Ok2#Yo@4T{MI9#r=xS%^kGbGp#?=`ZV}yuug`#-$Ms z+9jusvP68#KV>s&{}H%eNFQ<>FR=KrvZS!Zd8=+iWpKtMCy@@jQ4TE4$#@oB6T&rp zZ)GnAIP{w$hyUr*YXb`q2O~Qx`ozwX(>m3G{XU`SC;7#TL%wQJ56AD_GZ}D_+#gmJ z?saA69_El+y3uPP%d0zfL(>sob%r0}YX`!y+NoP@oKGafkF&55m1R{GFiFAS4D`yk zpZ@lu;yD^32bS^qX|FiB43k1Ss{*Q0%FuGLAzd3HN(da~lA0|2)SLKa@nHY;lfNbL z>JEM_MfB*MwGayXdj=-g%giMN<7qH@*`$?cdamOu)|$C0=^c+OIuPNEMLCp{Za$WB zi)q$$g=b1!VF8l9@qz>nOU|*F)(Jz%(qiF^P1;D~8|o`B*-BdDUcRsm=n8GaJ zlYYpf>{6Y*-QxBZ}IIW!GWO$4jso;M>16zZ|%)TsS z!_#JBLiAU%&sNF^`bE4m}?(&ju&Qs5(fnp38pN8>hen_^mgsX0BV+_l=) zU&o8|whBEBg(m?v43<8FGvP^?%X!RPEIKEfPp-(+Cy+Ax5v}}eLhYSK zij>7UVo%#$7vO+6W{Jf?qglT3w@PNE`V0UM4iF05KQF5Aa>^=jfH1`82Z2|B6s+Im zzbES-bR1KVk$+4S%^owm)gw6m1-A?>j}nKv<#@m;a%4XcMg*!DAKd+yDZa$C88r=; z>VV|1aAa`9@(Z`D)!-uC%mk8BicoGKZRQz40V{LALmR$`sQ)Q^#!5n*l<~xdtCe5L_0N+`S}6|FUgESH15H=ryYTZU)`E^^QJ(Yhfua zfsx}U)II}pvAMLd@V{?&;cltHX->-T;2J8y!GSczeRu?T^fAFD2BankjOJH8mGQ`EtKeF+K)6$VIrJlG=#1+;9KTbQFgYU`@i%HBDYN|I%9R>=wr=ec z8DQ#0OZS25h~^};mazhRof zjVCiOOf-g)bUpTK;Q`M98}QK{IwR~-B|fs?3hFLRlhG3%hIW@6@6C&nxZ1#t|7B|~ zFj?EWOtmUNxHnJ+XVrO@1V3}xmb@3>8-WqYkJ+_aVISQ(s8f>Q8oLa5GL{ls%UGQz z=wTA>^efTd450H0bY~dED$i8o(>hdS9^Qmx5%Wt&Pb0s^?6b;)h{Nhp#QGi6Pq05( z^{%Cpvp2FS8F#1`TnN&>^Ws%06r*$6cZN+AGujJUnPeq?9d3UzJ$!#oq#P0_NcFE7 z^hW_}PW@*ge*VA;1H3QX+isV&>DA)?l``;=NP9jAUJr?1HW~4a--Sq!$EYz(RY{9T zSs;%-7f6Wo-d(_ioDWR00CA=3e>c;{8fxyQV-x+QRN6@5LmH0mmm$BrP~Z%#BY0(q|r|cRTdENV>)de#wUZcEq^SxZ5?TCE<+8L3YZ>&=8 z(nSU_I5JWAuQl+;S6*D`#G215&;Z8zi@RVF{r4J4@t^qNR^)4p02jqs6J)vkS4-^Y zb3SnG3xg^BN5a_(epJs2>AQ!=My=@EM3hHdHm#(LI}ItkeS%U#8+lK3!5TZ?i62t% z^fR(fKrESQ1xw$eW*K}ys1n9Y2K<(~2mCWsM+rriSYKqZBS~QQ!%XN`c#?JHWK=@r z6?W$n=SZ`4M8Bj#M_mzj?dmKOlt?&Zlt}LoLuC;)1V%aZ?*EXSb}MFbF6W(Q-wYtD z)nj*&ov4@uK1xY*#Kvwjp~sJqo-J`PV$tCBLf`+)h8PjVO5Z`kuYQ~{$k%<4lz`ah zbyL3DMc-4&Fl+Z%W&+%_IP5ykR50+dHaa17!8vaO9c8sT?|LAYukW-Xauo?OdrbP{ zVn{Fk>*Ssc+Wym3O2IBryPP^5QP1QNxN4Zd@LZ~$d$QsiG;oD%0Dks6DM2co4z#lk zmm_&TC82R&uXAB>v!fz=W)gkbxGVFVO(>>s2*KC|c@;m56aUxlcz?`9KBKN;OPAj*Xvv5zIcKk4jeY*@uRP>AJ1x~PP2CDFHH{!nezaeL` zrB8EM1!;~yHLauOAB@F$hLjjlx`Ro7vV5R5y7Ky`!hbMXX|3u#BR%aaVCnI(Z49W5 zJN@@XjCSY4uX0I(5v%ZK`V=Qup;8aEqrLVo1xxQTfQon@772x;jd+HmLVk*Bc{-Q1 zRzi8 zAHG@wTs&94Q-7x97>CB+?sD9oB;lJWLr=)?{ z$MG7X)<+2>z`j2FLU~nGjSNRg3!!#b9n}kfp8ahzx;ozE^|(2@(c`%Nx0acUyT#W{ zx2(;cKaRI*X1Vkr0ZN}QS>V1$f(17Ry5~!!&r1rDQfEI z-`)vF?$@G`Qje*tRbEl0%Uzgdu4RzcO>n^3)?ULD-ZFUB@_LGC9xv!|i;xNbm}Pmj zw;Fu&*8^v%C}alJhEC3}dsxgtY;Mlr$C<|dqL$dui=|obZs^waQQLx2+qv1gJEpzn zz@e8FBw7gzj=n6bI@4tnxj(j^p zCf!?1^SXX~?%g%_og+B+2DtU+uWXkRtKA5b2IU?;ZbaN%A)6cRlmZW9N^_xsw~u~1awwi( zosY{ng+9km6a9$__13yob`pdhFEO4Chjv*al+~41F!M)KqL%G}-t3?BI*nxOL&r<+ zruSqD`UEnrfF-rOR zi>^@osQ-a~XMEBst}E>3iam6PQO{DDi1yDc{mt2R!=)bfh0K}d-r!Hx<$jTgW>3A~ z$|UVd?#bSKr7sUGytKKTn%yFJg@e3`?6uOh5;$$x6#&ftN-$$FDyA!?+K z(!nAKS#XcMY(fBjS8|q=fxwSH@tb-$)3B?wh@T@M2g$FyC&wZ@CRS2~7Fwm=@r)GjZW} zW^inbqrEcwBVP&+x$ktMG+p9H$BSPJBul&stdhPd?Wa)fT$l;DT&pxzsk$(N&&oJ+ zE0t*qi5#+v!VBYf})5bpAPyaI<~a8;xN*A}I!r-7>6)?s_}IR89OkJ- zR5#W^4^N0pP26N^H|aBxXA<^6jE=~h^tbWY{w1LW z4X;LZtwq__$6gc}&%J?^y)F>9_D5_lgCFtxcEm53Jm>`@dW>O=oysTrdXHs;YY-`Z zMeczFp^EQ%T~3fP*1}OiE75m#7v~DyHZp+raw_-B>+4ySp$~sc*%)d!vAAWrvDWm#+RKR95yo@~m zxI8QNbVYh@BZB8WQgUzkbuy1OWrOw=fC)>^H# z5lHTOYfv?(6qH8Tm5CQ*~b2T``cGp3(r{6O%{^bwWjo+A2(wvRv2+Z`ch$k5s#<_OAJbF2& z$JV*{SeCj-7Bo+@1#NI44yF4iP1on_sM)iXppFxBfHTGjNUi`vREmR<1W?ArWk;Rg zj#~pc`851u-i<8^4c5ROSKQ2bHWuU=P=eQ=p4D;dtU+(pYHTt}UWo`nH+(qw;h4p% zH`XcZHq%(%T@GkC9bkZ1?PVK7#A$v;_k7MDEhmA2c@gzpPPN0L3iz zy#0?A3}mYI$0W8t>Wl={@>_?NUu4Yr)_6$?8Ze@TuNLvE%;|vQ4Z|N#b1s`HS zSMCLWXQB&y1Sgr?ybr4?Ns0|-Gzio-5g#6K7U@W9dL5|q@V%(n6~l@BI4bkrp!Z1( zZ|j$iQ$^6om9YBhb`n_grPrJ6CNbDyQVjLVJh)7xN>-^egSLFwem}1AgztMIOml|&e6E0Bi=r}Epyh^#u!U%8( zqBpspB1^mq{)T*G_2z2iQO9dO1`A96sL`(x>n7RevpB%klalD!4xl(x-w zknfvl?o|x@6~#JG?lt`3n|ytc?Sm&h!ZIpaN4_P7N-)5p2lLx=q7*0Yvx-I#Y3+mR zN_(&@RVIB-Dq~LUITU9$GDICZ&{G#Di>F8(q;*2H#ZJ0y^_8K%eRJg4rintvTCrUJ zuxa<$3gj=gsJ(vRquQ5B?)_q3M@k{{gubKNy5D@jH^6a1mMb~2v@U9rz$fZ;+V$$u zEdx6e5#r2_*f^W~_p|5UDN~!glEYM%P*s!N9z!x^mvlF3ileJau#}*)%nG5Th~mDj zG#TTM=JIh3K^(9e*C`yVWqV752kYcf zrq*SrmApqj1!bnz*_Mbp7nkVw8JeF?gm;b%`Iyudb;|^sy~bsE1#3q1XRNRNuMfBc zG#KAwlzG^<{0AbmmwEC5t4t@OBUr6Apo%T$8SOk@;Tq$b-3pLxGt4&aX5l{VS zXL8&8l}GH{7`fyf#{K&zjQW;WLSmBJ*R_I*0hJ+~Pt?wQ?RQ z63TV|y-Wbpi4Z%5@c|qH;RN8e#z)p(8u$JFidGXzBeWBLo~RgHyU1cJs!mnySNHxL zP4i`_VicTUH04aJyvEroWUb_NuX%~n==|&!nN)l4mie7b_05I-N>?Wj>*c|4uqsmf zL~!6t4cTd83hN!mEi!^mUi@-IMwZuj4G5jf=6|la$d^k5^Ic|bR3@c9MkiWGTaYL9 zff(5Y5QpF2}uy@IpOzKjuaSfaw&Hjjpm7ssF%= zh70d!KNd^;=WB`f8p|`pe0>h#eXP+C=ryYP-uJ>}#vxN(S!*dy<3P4(18Wpqk)gA; z95p@KZehkY)4$Tsc8#pha4SsGA8 z1!x1Th^s7UQIO~B(E+L;yOkjZLw8#dOfK5naG3J*HZl|K~cUlF_Q>11eW-D-3v-Dpl+Bn6C4Yntu`NrZC)` zDN8c0Mbf;IP+>;3==FLIvj;O z!zcxM1e>1=v9q0)4c&p}b`F(-omFb-bPvJVtG4z#!lsumjs)09c>@KpW?OCs2><66<5@9)TqB8H|khJ{`pcKLg3gBAMbyx2XxE;7t%oT;vn zOUVnCwYchuKxp*uXAcWdnBLWxX6tFA?f1;m;h|=2CR%yAD5X>bmm#Jm!@EG)Hl9jp zk^ey2p(-^@ml>Pt{WahxQFH~^xj-J5H`Qx!L*Bz%3jw}J@{^cfdv5!T5ukaHufb1T z+y}_+1*viprSy0Qqu;+_Q>3|wnNMtCqRqNjGvMe`eUK!I(;6| zf&}_NNA9z0mM2aOe0pcOQ%0*vAXFmk?`xq^7E_%!tMH(Mq%b{JzGS4x&bP3|#4$W> z`Foh`Wo$w+p(ro)e)kKnaF&e6uQAaMpkdS=3%Y8Lsh6|jbHbF<)$>u92ZO^gDC3#v z$Z6k*LQHJQu~F98x+7pPOSWQKQ-+LD!Aw899vFW8Qr?KUDV)6Fjjo1-ZJk95kDiOGG}htO%P~m^`J3e%0cw;rS2L4r|3XpYi1uvh=IzMX znUa7s7mj-0ci42S1xiiTlzLuki?%Wec)Cw*&586h8(i*FGkX|~ML3`!oYCiNNUPOY}Q``c>L zuO@N40Iqhb8Y{yaAxMEfIaNwf4lH#X?!QMy&R8G^R76si2Q-uS@|o>to{Sdg<*7vr zOPJY#F!_g(aRby|TKj)hEQe=qd?SiCT;5h%%9bi4y(e4;2v4M@yTO$&FQFM+bS#N0 z6qk@_ja~#x1BuoiLTsa-35fGpJhjCIMz3g+5 z@?-2TdsZgg*?Uh*+EEIkT=>wZ?1SzT(s@LyYKvTrVRIoS@V>2%{&96B*7H|D>Mr$U zQSla?8g8;8;+rSA-K!o?K-_%gZd%f|aZl6XZ~u4JIJ?RmswA}kJO5grLtzzAVqg0W z`C(!feDK@HdMk?vqe3BUacj*;W^^e>6e$`6jA!k2OXW_Akm8E?;>zdF$AETr$jdSA zwcJz8FMQx)W5k-5w0Q*?5~o!{qE6Q>vKCcoDxe|dTnglDgE)(<1zQeP?5utfcgx3o zKqn|o_m!0OS0{FfXLqmH`=BM2lbHa0o^c=*e|r1#6PrFF`VLTkJAYIZuYx;q#whFrw5H8II;3sC)50y(D;Ib4PT9j8cy60W*n0Y+ z;a#08Jl?K7?Ay#L*>0_~+dFyCcb-LlHwl6g5>om&dMLMauP&AMmwdopT5T_`s)_H> z5yPuvgrk(jg>%905C-0}zmllDS~sEDP4%r;N0$OaIB(5xGkw@lrG}^^vSyjE>$Ht) ziGF&3#;li7+uP$r1X#4+Hxx+Iu1%_xzJ)0eSIl3MN*#y?^bqTeYe>bnEEws(YO0KkwIJRi;aE6 zDeC(Zgm5d?YWD_m!_4tfgqX@Y=bp|bbMb2?fykf=gE`Ez=PWj6Ri}2Ti_#(w($c@9 z|IyxcX3thW^=3Xo`9k=sMNB2%h=qF@Ezt%qE;fQD{6h1u{`=RdEAh3MD5r!9=6qZ$ z{`Kc1OXFA+GMo?#L#mE|q4UOO0C&q;q1SiLVDZT-WpdtJTUO>d`mWEoN{+E|a>=@x z23f_0NH7|Ylv)~G!K$kRY`RU93RqNL5l4O=C(eIDnDGymu=+DelX8Js{=pfS8llc1 zy699YPhQ5lnm5)qx#u;8Zf9X+}IpfzV zetC2e=WI(_{2QkOys!8kc@oWo$yU|M(@gYD(LAy3eQ?F++JVjE&p&Kl<;gAWTM8$W zgwI@SZLnN{SjP@KvWdHLi{-jvxZ-6J44d`|r76q?zHD(RKV4FK6jF4&?^Qf&^G(Mj z=0nz^a-;Yv6;bM6I=JqMQZ=D^0>b5B%>eXIFHWlAG|>@256^!lp2%61$&D75+~NVO zt#zi_*QQ(F+0p~MM>-ibQ4>&mrT{SlEvwfD#~r;i^}Nz}dqD+=D0-!f$9(e~g*{D3 zUjz~i-)hn|B&p-B5;ml{Blg%lqmyjz8@$$hp#S~=_=-U9K4TgI%D4xzeZw?k!Mmtp zh0uV*BSU=61|*2lo@wCnGxIyBuJ<~gaPq-kF0kqaJO=wxInWgp%}FZsQW(9}T(NwG zHE1AL7ZC~-1YQ-KO4DwDHR>-(**%zVibSe&atz2UUH5EHU{H>pwQ-wGon5&AzOLM8 zW(*4`$gn;A`48(gwIiO(&+#)6E6`|k+Vb@4oWw~eo{Nbh>#ju{v#fPMMR2ZZ)vO9E z-pv}?8imkX!X(r_w^sJq0aV}0Znw33XiYqnp2u(2GkDlNsin$0wqf@+O~__4WyUw6 zsBA!9Qexm<*_WAqzF_94xGUu#bNISc?9U9Sczu#-V2s)J;{;GUIwV`h^OfvOz1N-m)mvfVYVU zy(@AZT5L}aYuiso{<*we)R>OicNqCsaxA~?tpolGas3Jh*m$P?;U2`(I1f1UoHyZL3IB@#cKJ-X^ z$dG~6@CsBWB{;Tq=%SElU9D{$;nT&{5kJpwS4GH)a*+6cSKplL8?n9VcCX;yF8E&k zfbF8Jc%9N{=Fm;USzQH3^Y7o3Us`m|HVnEJ?>ncn5khp9>b%a>o9t1veEj(NOHL9MXI5ND>DXI!Ak#GkPC!9d@3Zg#V&{3q3TJ znThg>5u6mxJig1lU)3ODZ|35enN$jn0n8g0ySW$_$e&uiKq~mf}K>0h_t*2`N z-a7#S5t@+d3S)=zmkqUkpY6ld2zLVC!pe{5aIUyY{>)0Az}-PUcUr%$4U|8GnrlDH z(ZJGR?#c021#a*9e6ZL_h1{ESwbC+f0O>o=sQ~&rEmn$Q+Kb8L(GqDo1@_r0*|%CE z>~D2&j5REyi;N!xhc@fNMLV-Rom3X?cI>M>%%*_#&(*I6teMl+VHBHaH<2~^9zEk) z2S;PlY8W^Zd(C9|>b|v(WTEhXya9;iCM!!uJ!HMhA<}@UiE+J(>G^X(nzsyd9@3&B zH6F(=WPbD}8ihw8kVS~)Y$*nvt7%p(g)rU-)YuFt;I)cWNpoh!ouv&!Ff&7+GfvRL z&6%WMT=$6xjRhN=ycEXsyt92mkr+qhI1-A4;D8A>K zeo^(@ou(sLXb<3G#6Z%|iCpthgy`uzEnN!lCd2a_kqC*DI{cw5qL0JJBC|!+sPOBb3AGHT2pLcjqRh=>2LfnC{GBy;B z-s^jnBYGkAomtgVtj!!IC22QE*y@+biKpQ=J01t`D`5hA?)k_!ygh#QsxAoLyid&n z4z5%g^8Ll3Lf1N_n||!16Ogz;Rp%$g(u(5bLEN~>gY5yTwDpwYiUbt1&6`4r7_rvF z&Sp$|R_c;I9dcVB5#tQ#e(AbUcJ<^HK`@*#FgJ!urB8FVlMBy$ZyL}ssaiKIdz2d7 z$Ug83l<*#6rUFx&KYPln2(z7xA}QLxXYFQ-z?JG2{w|a^==Bh!OPt|LoLEfgh)Jl8 z4~}{&RH;Vc!jT!Nk)QpA$*t;RLG%nYwlf$n>{h8!cW9ga%Aa(J01GA=?`*ZF;tYv9 zq9XGXJ6T@ECVk}LsKPkh=jq?G1tb}|AS-RP3f&y<^ZbDD*s2v zl)!$Y1jz&)FHeFU|dS?FmJq4%%~{2P55WtoW&t$m!7%dz5ov?^IChzC)3seeS z!QEFxr1l1G|9YiNO2p%-CG79x^F8CEmZH$hqc>g&Fq^cG*eJL(IVEuKE%`7AQJ`Qx zh*uB6*Ig9Q56tjE?MEP`_2!&j?8o^II}Wr$HOU2g}rZOS3HR zW9q1>^!sQ$~k-?o1#uEz)yr& zy0q&#LyKr(o>};RcykcBhKyAU%~S57!qKQUVY-Ddcmlc7ue|3E@f4uB32H+I;Vf0{ z2Y#T=*HzOlld0Tg&gvY(`2Y%+(oZML?)jvmtqiJ$R1Xqs;^asBC9TQjhCYVqO`Gp; z{{VJaKT-=PjFd7sE~Y-YLzmCKq+C^wSg>4cW@M=2V|K_)VF7>iwY^33cppKDA@B1{ z_s#;9YnmEHbssdu$es+Ik9l=mKgzysm%j>Ps?9vR3Q~dn|M4FhxZC-UyhIAo{}2D+ zd&PA1TP8Fx;C8?8&gS~Oa$PU?_C}*i;Uy#-Iy4NuUPARXa;$`2^o3q?-t3|*ukYW? zcLg16HMGg-St{J(2d^FO3<5d=&aC%It})5|NfcM4v$sjmUzR#lK22INIh+2f%4_HI z4mjY!cxi6?`S7K3$W>;V2ek8crEhsR)nk3dK~(8{<+_wI_xvAb{cJ;{9U5@ES9*!L z{m0S1vZwUi5;KdqUOrEPo-FSfLKN@d0JjHk-Ux(T_zmho50@JjI`Jpxi00MNH2<1C zrJ#gcbn`VPG+{KM>+sYvh*RL#Ioe|?dDtDhu~2KN9D4M07u7kZ+ZEt@cDQz3 z%F(Gvwo`hiG1jnv?Fz)dw^oMztq8DOnKB@{cDh5Bg`O-QrQIG#=Z$?(I;XyOC0@(H6}p#ZdK7^hU(oE(xk*#rnwL66 z`qwpi;0?R=ATg%yB+AWN-&+33siv?TDQtCUwpUc3 zy(NR)hWelFoKRAJNNj(C%3BNTkCI~I_xxifx%(1q`67kJmcEalxu`zj#P^L!Il(tq zo0*MWS4*60vx{}tgV|TN!8aScp)Io-i~2*eEdRqwCN=jMD^r3l&NCKv9T~aoYi{w!e;b;^ZueoA#{OMhF)F$Svk>sC%#)bg zzeorfo9oNUzrQy1&T60^&aO&pa-d#hGS<1Hmu-471;MjD?LzM+#S)H`l{=rXl4cPv zu;D2?5xBim+)id^WvKEG{Ct{JZu_u9JJkEk`N6+ZoKks*#|`u{Xc#w}e{l|z36-@R zzr98!#mwE{%Am*WEOepJB;`|BX-#hU`RXp|?d8qiYhI5$*rn){{W8%3xBLZ1!k(FY z``^nU-K>d-CI+4~mKqDvB#%_^=q`vYLduT|0$(xyIXs1Q_o)XvHO|mj7b0ZR1~SPJ z>}oFgfs_^BR)pqJ*)mt=4Y)fvy4p|!9*3)ar+k!J#9P!T3Iq@G&ivL=5Osig9 zWo-E+dx=j6b!TFd2X`hM7C!{2CWv$(RAAb3ZTl%MR*XIWL5|Z~1)9 z*pW~Ab`jw_Sh>O_xvKERz$Y+#Ap|b_wxDVSqgqDuXqHIEvm)VJJTj0b8+4Mr;rJ^y zsGQ!Ga5M1Wax0ZGKxi_8xB|aSYYGTEOkNbc*LBe-YszLxV6B(OF(@Q%aA)(uz|rOX z!EtU=UdOyK`H8D^DZ&Z~1gTg3>tu6Wlbd!Kau$85_!M!)%~!7+g*Az`2)D?rnOI+3 zy2#^@O0*ZOQ4ABfG(mNJ87?VcHBDsiR*IVi3*yyv7GmQjGWPgDObFvVyfb6=1UItZ zHji;pXz!XrU#S$AG9_|)5ka!w1fgK1T8gkKCp)w!gZ>KE<&4rP4=0n#rk@ z4T$eql{yNa1kOE%-fBH|Y8xbsE9*&20?UimC9BHZ4AO2-1k+e4U`g(hW~xeag*ch6 z=@dt?+l7C8y_933EXd1Wj?B6(Zlkaz)&I<`Pk*R~>mR@Hp8UGi8+Ftn=54}d8B{Q0 zt>!grL)afP@w>srIJib#*zTE>ulD#PS%>64c79!TFVhD~QtG?LegKljs!-|gLl@IJ<8X#h3hz`{C#PbB^ zi(-k>e+4AVi<9}7(;lJT^sAyZy6*su(M9+4L6ghL&Aw@wl{(cy*tQHeV+rH^b%A1hDqv12XQS))5;80ESBCvQTee<=TFk~OvYd(Jt(V%{!3Jse8T*aYW|Tkwl>Sq{-|w-bm(Oas|FPp8<#{41HNTR4JUs0u z4P?mJxzsqM#&84slf@cf=O5N*jPPS0zl`%6JxPyuXb`{-94rS8L~8`YY|hcm-ir^d zcRTCZQKGGn3K^9ziM(B1N`X4Aufl)f=0v%3Cav%j&cePv94bJ^%lB2O`2&Swz7x)U zKBxR&14hkz5IY$F9Sl+KD?z1L7JzM(gxVh@!w{^hB>AG%k+4P>sYOtoq$#x&a{PVN z7-Oo*m_)6hU7LsFUO&FDiqr5G-9>xZD# z4hVZ-8P~?--wZ~IC0^2o$%;MT2#BiF=FfA(Cg3c zZiNS$CJvh$hNUg^iVCWGHkxMbJsk1%MNP=o1-Ti~(|pbZTsV>q2uBxQW^?kdj;1r} zAdHxjx5^k=|0@&>_3m1ydHv8~cf+)_iFo1iYoyHaGd6KKGh&${coVupkW2OXm~LSz zV}DOjl`Y0aTJ+FKY zWw?vlBtwc@(|56;vB2oy2jnv@WJPijF+g)J@lO(tVH2>yH6iuhs;sj}){#*IRZ;0Q z7m20&Urkpz*eO2d6LneaRMJ*6cXlL;ao+2nNi-2AdCIr|#S*MjJ~m^4`<86DJ+gCb zI#;m2KhMxq{CTosb{Igr64?F%@0g7)WZT&Kj!96<*4c9#gpRT~w&*xw>cD`ND0nU@ zlcklItQm&+CS7q1Q7KU}oU1B}a&enEl$yAcNaPnA$p*+;JGrHe1T`i56lwTHl4t8b3^xNWP2^@y1Q^8RqUC(LpuBjPTOh@>dpkzD15COwuP5^@RC(o% zU=^OuPiF(u$8@*EKFU`xAo@m#ajBC9M>;hPAC4cVGR*n1uj(vBcj_JGtpkT=^a(BJ z-tG!8QZ9NtmQ^Okc}n=w1@)guiGX(sc3&KfTZ);gyHGAc8FK8&6$Ph~=*9GoBlPko zzrfm)avm4gKM8J&%;ksysIyp*vzyV%Hut6T=36t>ZbZ?;ET(lD8)}wfBs}z*k*+=X zmv=I_RI68nmN0}xXGcOIvO6_Z=MDjMf*uUM1HK5$ zX_1a{rlZ#($U6lf%9<_BbRtvLn#JcP;VJGg!Gn2?o`ybPk5yy0alxxPjM@6pud=RngGOE>#hT9Rtx2&B~c%rl^}p>?B;za>Cjo>Z^SdBEm)Z6fZJBX;zq#wfR*S1kmj!fadq_%{y^%^vJ*U>mrI?OM2ZlO`u?H-r%oKkWf zDCT~c⁣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 literal 0 HcmV?d00001 diff --git a/Test Missions/Moose_Test_SEAD/Moose_Test_SEAD.lua b/Moose Test Missions/Moose_Test_SEAD/Moose_Test_SEAD.lua similarity index 100% rename from Test Missions/Moose_Test_SEAD/Moose_Test_SEAD.lua rename to Moose Test Missions/Moose_Test_SEAD/Moose_Test_SEAD.lua diff --git a/Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.lua b/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.lua similarity index 100% rename from Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.lua rename to Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.lua diff --git a/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz b/Moose Test Missions/Moose_Test_SPAWN/MOOSE_Test_SPAWN.miz new file mode 100644 index 0000000000000000000000000000000000000000..7480b80d2ed1f5c5f7c9678c5f2ac59221ca8d51 GIT binary patch literal 152646 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 z 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 M9{}__f>#&te;VW7l>h($ literal 0 HcmV?d00001 diff --git a/Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.lua b/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.lua similarity index 100% rename from Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.lua rename to Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.lua diff --git a/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz b/Moose Test Missions/Moose_Test_SPAWN_Repeat/MOOSE_Test_SPAWN_Repeat.miz new file mode 100644 index 0000000000000000000000000000000000000000..349b4a06df3aa81ce47b98c4e3a3b89042c06157 GIT binary patch literal 126790 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 z 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

    Jt9ySOA^`it>S^n6sq&UqDWPsqw1g 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 E11SKae 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�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⁡aeK?4*O!n0VEjR!YR5rS55 zzyU*ph9A>P$<*OVViz}(Q}-(0RlyWczqP>(w6lUNDeI{TeVxFV1R@JAEF9ySyTssE z-#GwIRF_Ndb;ztyJC%;alkBoCbtD-r5-SifnCP}@$2ckARTRD8cX7^?UQpf$Kg+sQ ziQ&=_)P&sqBkq#7IIEldWwKAwuA)~9T!U06r#LAv{h(k1@CZJ#6qDf@I z5Q|gYo?*nzMV8%DfsF$gm(m&VarM>_Rp<#6WJ4&4S?2#*fXZh8cDa;vQr|?zYGwc$ z!7F@OxT_DFJC?%ze7r_xQKfr_8`$n_$5V@1taP=6w6Y9^79qk5~o>2BRo->tBF2SP_$5T zKc*P5U@GcAAdBTO7w>Aq?RwO(K)|N3SV}ZiB~yq#Q48z8OW}~#mXzshQ)@1OmO3tS z^aQNmC{2U{k5LuqB<1XirO)PtTd4}-9i{lJy709;T$)?NbrdWWgkbQs^oCiA!YZMj zV-C~ST!~iPjR{}}+n9o>I3e*BQ(i1_-ZXoiBz*;ES(*!;Y_LTZXFc1PayT(e>^+n( z!xoi6Dv-^;sCU{x4GxmZ2~4ya3}c>k@%P$z$8B7(MXJTV1k%030)#A;Mg;nNJg>c25RUgM)TSjBN;*{vIt56XY)V_0vm)@J+k6pg#rC=gD)_)fB zrN=N6Y3WJ!+E&wmriNKm8)84I`x}T$$aHh0PYLwq?KsyAHh$0Ce}K|@(#b#eJ*_d;(cXP*su2FNhDUbMbh5b5^amP2|Glb2 z?^3-%g0){8P8JGaE`G5OjvsXO_12d=yae#_HoL_i0 z9wX@9Mhw5&@&

    )O!xY-vNI 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

    W=q(JbL)~q-OTgkf(@}Nz(ME% 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

    =bHZE`ZZ!N&EarfTFwu)!yUZSPTE{O`wa4Ire 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