From a2f62d797bc117e7669cca26ada28f3d3eb0fdf2 Mon Sep 17 00:00:00 2001 From: dutchie031 Date: Wed, 7 May 2025 13:18:45 +0200 Subject: [PATCH] Feature/mission refactor (#26) * Refactored Mission classes to add Missions other than trigger zone missions. (eg. Runway Strikes, Resupply etc.) * Runway strike initial POC Co-authored-by: dutchie032 --- .DS_Store | Bin 6148 -> 6148 bytes .gitignore | 1 + .vscode/settings.json | 11 +- _docs/pages/reference.html | 17 +- _miz/SPEARHEADDEV.miz | Bin 118187 -> 120693 bytes classes/_baseClasses/Queue.lua | 50 ++ classes/capClasses/CapAirbase.lua | 63 +- classes/capClasses/CapGroup.lua | 11 +- classes/capClasses/GlobalCapManager.lua | 23 +- .../runwayBombing/RunwayBombingTracker.lua | 129 +++++ classes/configuration/StageConfig.lua | 12 +- classes/definitions/aliases.lua | 19 - classes/fleetClasses/FleetGroup.lua | 17 +- classes/spearhead_base.lua | 425 ++++++++------ classes/spearhead_db.lua | 90 ++- classes/spearhead_events.lua | 39 +- classes/spearhead_routeutil.lua | 9 +- classes/stageClasses/GlobalStageManager.lua | 11 +- classes/stageClasses/SpecialZones/BlueSam.lua | 3 +- .../stageClasses/Stages/BaseStage/Stage.lua | 94 +-- classes/stageClasses/Stages/ExtraStage.lua | 12 +- classes/stageClasses/Stages/WaitingStage.lua | 7 +- .../helpers/MissionCommandsHelper.lua | 3 +- .../missions/RunwayStrikeMission.lua | 543 ++++++++++++++++++ .../Mission.lua => missions/ZoneMission.lua} | 370 ++++++------ .../missions/baseMissions/Mission.lua | 147 +++++ config.lua | 5 + dev/dev_classes.lua | 8 +- dev/dev_config.lua | 4 +- main.lua | 4 +- 30 files changed, 1580 insertions(+), 547 deletions(-) create mode 100644 .gitignore create mode 100644 classes/_baseClasses/Queue.lua create mode 100644 classes/capClasses/runwayBombing/RunwayBombingTracker.lua create mode 100644 classes/stageClasses/missions/RunwayStrikeMission.lua rename classes/stageClasses/{Missions/Mission.lua => missions/ZoneMission.lua} (62%) create mode 100644 classes/stageClasses/missions/baseMissions/Mission.lua diff --git a/.DS_Store b/.DS_Store index e35c55716bd3f347c6d86e6528e7b826e52778c0..fb8405977e1740f503ce62a7a3cb7db7564d00f0 100644 GIT binary patch delta 67 zcmZoMXfc=|#>B)qu~2NHo+2aH#(>?7j9im>SVA|qvotVoY*1s`%+A5j0aUVCkmEb^ VWPTAx4hA4#WME*~93irX8306=4|f0n delta 90 zcmZoMXfc=|#>B!ku~2NHo+2an#(>?7i&&T#xhL~5g^DvXBr+5*WP0Z0Cnx3PCowQE t2rw`(%5Dx~>Sx}}&cV+C)VcX1^LOUS{34DVj0_A+KqU;DBSh9P0|3t06eR!v diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a3e68d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/.DS_Store \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index a7d14c9..75d8e18 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,5 +6,14 @@ ], "Lua.diagnostics.globals": [ "lfs" - ] + ], + "maptz.regionfolder": { + "[lua]" : { + "foldEnd": "--endregion", + "foldEndRegex": "[\\s]*--endregion", + "foldStart": "--region [NAME]", + "foldStartRegex": "[\\s]*--region[\\s]*(.*)", + "disableFolding": false + } + } } \ No newline at end of file diff --git a/_docs/pages/reference.html b/_docs/pages/reference.html index abd4fea..0f73df6 100644 --- a/_docs/pages/reference.html +++ b/_docs/pages/reference.html @@ -292,10 +292,25 @@ Missions can be randomized using the RANDOMMISSION prefix.
Spearhead will pick one random mission from zones with the same name.

+ +

Runway Bombing

+

+ Runway bombing can be a very effective OCA tactic. With Spearhead we've tried adding as much logic and detail to it so it will feel as engaging as possible.
+ + Firstly, the runway is split up in 5 sections and only sections 2, 3 and 4 are then actually tracked.
+ + + +-----------+-----------+-----------+-----------+-----------+
+ | Section 1 | Section 2 | Section 3 | Section 4 | Section 5 |
+ +-----------+-----------+-----------+-----------+-----------+
+
+ + + +

-