Releases: FlightControl-Master/MOOSE
Moose 2.9.15a
Hotfix 2.9.15a
So much for no further release this year ;)
AIRBASE
- Fixed a small issue when the number of parking spots is zero on an airbase
AIRWING
- Fixed a small issue when an airbase does not have a DCS warehouse object
Moose 2.9.15
EOY/2025 Release
Welcome Year-End 2025!
This will be the last release for 2025! We have had a whopping 976 commits into Moose this year, touching or adding around 300,000 lines of code! For the community, we have added support for the Chinook, Intruder, C-130-J30, new maps, and new airbases, and have added a lot of functionality along the way!
In 2026, we will start to remove the legacy functions mainly around AI and TASKING classes and a few others, they will probably continue to "live" in some legacy branch but support definitely ended for them. Move to OPS as soon as you can if you haven't done so already. Dependencies on old classes have already been cut inside the code base, with some exceptions like OPS_TRANSPORT, which needs tweaks to relinquish dependency on CARGO. Looking forward to make all of the code base a tiny bit more maintainable.
Check out the new classes VECTOR, RADIOS, BEACONS, NAVAIDS and TOWNS as well as EasyA2G!
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky, @shaji-Dev, @leka1986, @Statua,. @smiki and the devs for VNAO as well as @kaltokri!
GENERAL
- Added support for the A-6E Intruder AI model
AIRBASE
- Added latest airbase additions to various maps old and new
- All airbase enumerators updated
- Added
AIRBASE:GetMinimumBoundingCircleFromParkingSpots()since the airbase center coordinate is usally set at the start of the main runway
AIRBOSS
- Added F-14A Early model support
AIRWING
- Made airwing fill airbase STORAGE with aircraft types when adding a Squadron and if necessary, ie limited storage and storage is lower than squadron assets number
CSAR
- Added option for Smoke Closest MASH, adjusted logic for airbase rescues
- Refactored code to detect landings (and rescues) at airbases
- Enforce pilot names on AI for saving
CTLD
- Leka has added a lot of functions to this class to make life for the big haulers like the Chinook and Hercules much easier to use!
- Enabled to extract troops while hovering
INTEL
- Added functionality (ground units) for acoustic detection
- Added functionality to define corridors with floor and ceiling, where enemy planes remain undetected
- Corridors also added to relevant OPS classes
- Added option to read properties "CorridorCeiling" and "CorridorFloor" from Zone properties to allow individual settings per zone
MANTIS
- Acoustic detection added to Mantis
- Corridor support added to Mantis
- Helos will not be attacked by long-range systems
- Added SA-31, S-300VM, S-300V4 and S-400 support
PLAYERTASK/CONTROLLER
- Added options to perpetuate certain tasks to record mission progress between restarts
SCORING
- Added functionality to save and load overall player score to file
SPAWN
- Added use of CALLSIGN.Intruder for random callsigns of the A-6E
SPAWNSTATIC
- Added options for hidden objects
UTILS
- Added functions to get a (minimum) bounding circle from a table of VEC2s
... and many, many more small additions and bug fixes as usual.
Enjoy 2026!
Moose 2.9.,14
Q4/2025 Release
Welcome Mid-Fall 2025!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
This release covers the latest updates and changes in Moose, and a lot of functional additions from DCS releases.
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky, @kaltokri, @shaji-Dev, @leka1986, @Statua,. @smiki and the devs for VNAO!
GENERAL
- Validate and Reposition Ground Units algorithm added to many classes to find valid spawn points for units - Thanks to @shaji-Dev
AIRBASE
- Added latest airbase additions to various maps old and new
AIRBOSS
- Included changes from VNAO for better user experience
- Added
SetCarrierIllumination(Mode) - Add support for Vietnam War Vessels carriers to Airboss (Thanks to Tetet)
- CVA-31 Bon Homme Richard
- Generic Essex with SCB-125 upgrade (angled Deck)
- CVAN-65 Enterprise 1966
- CVN-65 Enterprise modern
AWACS
- Added function to set own BullsEye coordinate if necessary
CONTROLLABLE (affects GROUP and UNIT)
- Added
CONTROLLABLE:OptionAAAMinFiringHeightMeters(meters)andCONTROLLABLE:OptionAAAMaxFiringHeightMeters(meters)
CSAR
- Allow also initial Mayday-Message to be suppressed
- Added functionality to determine if a landing took place at a helo base (named "H ..." in newer maps).
- Added UH-60L 'DAP
CTLD
- Added option for Vehicle Formation when going to a MOVE zone.
- Added a new option ( true by default), returntroopstobase. If set to false, troops would not return to base when dropped at load zone.
- Added UH-60L 'DAP'
EASYGCICAP
- Added FuelLow/Critical settings and stopping of Airwings if you call
Stop() - Small tweak to allow the airbase to be a carrier ship
- Allow moving zones as patrol points for CAP/TANKER/AWACS/RECON
- Fixed - for Tanker Squadrons the TACAN channel could not be nil.
MANTIS
- Added Pantsir S1, TOR M2, IRIS-T SLM to main man SAM data (from CH mod)
MSRS
- Align google voices catalog with new voice types.
PLAYERTASK/CONTROLLER
- Added
PLAYERTASKCONTROLLER:CanJoinTaskOverride function in order to implement custom logic if a player can join a task or not. - Added
EASYGCICAP:SetCAPEngageTargetTypes(types)
TIRESIAS
- Avoid creating SET_GROUPs all the time for player objects, cached now
- Fixed a problem when a script wants to add exceptions pre-start.
UTILS
- Added
UTILS.LoadMission(FileName)UTILS.SetMissionBriefing(Coalition, Text, Picture)UTILS.ShowPictureUTILS.ShowHelperGateForUnitUTILS.SetCarrierIlluminationMode(UnitID, Mode)- FARP helper - add options to spawn multiple pads
... and many, many more small additions and bug fixes as usual.
Enjoy Fall time!
Moose 2.9.13
Q3/2025 Release
Welcome Mid-Summär 2025!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
This release covers the latest updates and changes in Moose, and a lot of functional additions from DCS releases.
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky, @kaltokri, @shaji_dev/heartbreaker, @leka1986, @Statua and the devs for VNAO!
GENERAL
- Improved performance and less memory leaks - Thanks to @shaji-Dev
AIRBASE
- Added latest airbase additions to various maps old and new
AIRBOSS
- Included changes from VNAO for better user experience
- Included support for F4U-D
AICSAR
- Added functionality to use rescue zones instead of pure distance. Fixed helo not despawning after landing back at base.
AUFTRAG
- Added
AUFTRAG:NewSEADInZone() - Made condition checks for end of mission more robust
- Added
AUFTRAG:SetRepeatDelay()
AWACS
- Added FSM transitions for VID Success and Failure
COMMANDER
- Added
SetMaxMissionsStartPerCycle()
CONTROLLABLE
- Added
OptionPreferVerticalLanding()(effective in CHIEF) - Added options for landing approaches (Also affects AirWing and FlightGroup)
- Straight in
- Overhead break
- Force pair
- Restrict pair
COORDINATE
- Added
GetSimpleZones() - Added
GetLandProfileVec3()andGetLandProfileCoordinates()
CTLD
- Added Hercules fix when dropping from the air.
- Added CratesName in the
OnAfterCratesBuildStarted()parameters - Added FSM event "CratesPacked"
MANTIS
- Added SAMP/T, SA-17 data correction, HDS explanations expanded
SPAWNSTATIC
- FARP Objects - added support for DynamicSlots and HotStart (NOTE - not functional in dedi server at the moment!)
NewFromStaticnow creates a new template in the database under the new name - if not already there. This allows #WAREHOUSE static warehouses spawned that way to be respawned eg on coalition change.
SRS
- Altered documentation for SRS path for the new 2.2.x DCS-SRS release
UNIT
- Added
SetLife()- requires net.dostring_in 'mission' to be allowed
UTILS
- Added
UTILS.ShowHelperGate() - Added
UTILS.ShellZone() - Added
UTILS.RemoveObjects() - Added
UTILS.DestroyScenery() - Extended
UTILS.SpawnFARPAndFunctionalStatics() - Added
UTILS.SpawnMASHStatics() - Added
UTILS.GetSimpleZones() - Added
UTILS.FindNearestPointOnCircle() - Added
UTILS.ShowPicture()- requires net.dostring_in 'mission' to be allowed
ZONE
- Added
GetClearZonePositions()andGetRandomClearZonePositions() - Added
FindNearestCoordinateOnRadius()
... and many, many more small additions and bug fixes as usual.
Enjoy Summer!
Moose 2.9.12
Q2/2025 Release
Welcome Summer 2025!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
This release covers the latest updates and changes in Moose, and opens the year for the team from Moose.
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky, @kaltokri, @shaji_dev/heartbreaker, @leka1986 and @Statua!
AIRBASE
- Added latest airbase additions to CW Germany, Kola and Syria
**CONTROLLABLE
- Added
CONTROLLABLE:CommandSmokeOnOff(OnOff, Delay)
CSAR
- fixed design issue that prevented usage of ZONE objects as MASHes
- fixed ADF beacons
CTLD
- Added Combined Arms cargo transport (beware Multiplayer bug, where you need a SET_UNIT and not a SET_CLIENT to function)
- Additional features by Lekaa to drop and build one/many in one go and pack/load or get/load in one go
DYNAMICCARGO
- Improved handling of sling-loaded cargos and on/off load conditions
EASYGCICAP
- Made adding of conflict zones easier
- added
SetDefaultTakeOffType()
MANTIS
- Some SAM data updates
- Added C-RAM and Gepard
PLAYERTASK
- Surfaced some functions for conflict zones
- Marker for a target moves around if target is moving
... and many, many more small additions and bug fixes as usual.
Enjoy Summer!
Moose 2.9.11
Q1/2025 Release
Welcome Spring 2025!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
This release covers the latest updates and changes in Moose, and opens the year for the team from Moose.
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky, @kaltokri, @shaji_dev/heartbreaker, @leka1986 and @Statua!
AIRBASE
- Updated airbase enumerator for several new maps and added airbases (Kola, Syria, Afghanistan, Iraq)
- Airbase changes for helipads that are also airdromes
- Improved SpawnAtAirbase function
AUTOLASE
- Nicefied target reporting
- Added offset parameters for
autolase:EnableSmokeMenu({Angle=math.random(0,359),Distance=math.random(10,20)})
ARTY
- Fixed bug that MLRS does not fire (ammo count if weapon type is auto)
- Added missing/new arty units to DB (min/max firing range)
- Adjusted immobile speed check because some DCS units report a speed of 1 m/s
AWACS
- Fix a logic error: cancel the Escort mission when the replacement has arrived
- Workaround for a situation where a player has a checkin-entry in the menu and a managed group entry at the same time - which should not be the case.
- Added Escort options for formation and relative position behind the AWACS
CONTROLLABLE
- Refactored IR marker functions
COORDINATE
- Adding names to smoke to be able to switch them off earlier
CTLD
- Fixed selecting correct helo distance when hover/ground for the Chinook
- Save and load special static shapes, if they are set
- InjectTroops - if precision coords is true, do also not randomize unit positions
- If troops or vehicles have a stock set, you can only inject as many as there are in stock. Specifically, when using persistence, the load function will restrict to inject more objects than are in stock, each inject draws on the stock.
- Added
OnAfterLoadedwhich gives you access to the rebuild troops and vehicles in a table of loaded groups, each entry is a table with three values: Group, TimeStamp and CargoType - Added HelicopterLost FSM Event
- Added Options to un/load single cargo items by @Lekaa
- Slight refactoring of fixed wing support
- Added
CTLD:AddAllowedFixedWingType(typename)to add new types - Renamed enabler flags into
enableFixedWing, FixedMinAngels, FixedMaxAngels, FixedMaxSpeed - Base support for Mosquito added
MANTIS
- Added new 4-Tier-Approach
- If no EWR system is left over, MANTIS will switch on a random SR/TR each cycle to detect incoming enemies
- Improve point defense behaviour if no SAM to defend is around
MSRS
- Adjusted voice catalog to Google 2025 voice selections
OPSGROUP
- Added surface type check for ARTY mission
- Improved search for coordinate in range
- Added option to specify distance conversion for weapon ranges
OPSZONE
- Fixed OpsZone never goes to
Attackedstate ifthreatlevelCaptureis higher than 0.
PLAYERRECCE
- Added KIOWA support
PLAYERTASKMANAGER
- Allow use of multiple drones for lasing of precision bombing tasks
RANGE
- Added an optional ceiling to the range
SEAD
- Added AGM 65
SPAWN
- Added option to use the center of the zone rather than a random postion when using InitRandomizeZone
- Add optional waiting time to InitRepeatOnLanding
- Enabled explicit parking spots in SpawnAtAirbase
SHORAD
- Switch shorad group back to green&no emissions&scoot if it's directly attacked by a missile
STORAGE
- Added and corrected enumerators for weapon types with numbers only
- Added persistance options
UTILS
- Added UTILS.Weather for fog stuff
... and many, many more small additions and bug fixes as usual.
Enjoy Springtime!
Moose 2.9.10
Late 2024 Xmas Release!
Welcome to the end of 2024 Holidays!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
This release covers the latest 150 or so changes in Moose, and closes the year for the team from Moose.
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky, @kaltokri, @shaji_dev/heartbreaker and @Statua!
AIRBASE
- Updated airbase enumerator for several new maps and added airbases (Kola, Syria, Afghanistan, Iraq).
AIRBOSS
- Changed landing event to runway touch in line with ED event changes.
ATC_GROUND
- Fixed an issue kicking players for speeding w/o prior warnings.
ATIS
- Added new soundfiles
- Added support of new fog options
AUFTRAG
- Added options for a holding point for airplane missions
- Improved handling of ingress-coordinate
- Addesd speed options to holding, ingress, and egress options
AWACS
- Added option to extend mission range beyond the default of 100nm.
- Added function to use-customize creation of call signs for players.
CTLD
- Added distance option for Hercules and Chinook unloads behind the unit, for the Chinook also for hover unloads.
- Fixed a possible table key collision when extracting troops, based on a distance key duplication which could lead to leave alive groups behind and in the helo at the same time.
- Added
GetLoadedCargo(Unit)
CSAR
- Fixed naming of radio beacons.
EVENT
- Fix a couple of events where the DCS object sometimes does not have an getName() function attached.
- Set
Event.IniGroupNamefrom the database in case group does not exist any more.
GROUP
- Added
Teleport(Coordinate)function leveragingRespawn(). Now also translates routes if there are any.
OPSGROUP
AUFTRAGFixed speed unit conversion in multiple AUFTRAG types (DCS task parameter speed should be in m/s)OPSGROUP: Fixed unit conversion for engage target speed- Improved respawn-behaviour, esp. for ships (teleport Auftrag options)
- Set destination base to airwing base for flight groups
- Restored setting of home, destination and current base in OPSGROUP
- Fixed bug if no airbase associated with airwing in check rescuehelo
- Added check that cohort names are unique
- Removed InitWaypoints function from FLIGHTGROUP (obsolete)
PLAYERTASKMANAGER
- Added Constructor
PLAYERTASK:NewFromTargetthat determines task type based on the target object - Added
PLAYERTASK:_GetTaskTypeForTargetto get the task type based on target description - Added
PLAYERTASKCONTROLLER.Scoresfor RECON, ESCORT and CAP - Added
PLAYERTASK:AddStaticObjectSuccessConditiontask success condition for dead STATIC, SET_STATIC, SCENERY or SET_SCENERY targets - Added
PLAYERTASK:AddReconSuccessConditionfor AUFTRAG.Type.RECON tasks for when a client is at a certain LOS distance from the target - Added New Capture OpsZone PlayerTask with
OPSZONEandSET_OPSZONEtargets - Added Task "Time Limit" failure condition
PLAYERTASK:AddTimeLimitFailureCondition(TimeLimit) - Added
PLAYERTASK:AddOpsZoneCaptureSuccessCondition(CaptureSquadGroupNamePrefix, Coalition) - Added
PLAYERTASK:_CheckCaptureOpsZoneSuccess
WAREHOUSE
- Fix
- for incorrect plane attribute
... and many, many more small additions and bug fixes as usual.
Happy Holidays!
Moose 2.9.9
Early Fall 2024 and Tuning Release!
Welcome to Early Fall 2024!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
This release concentrates on some performance tuning measures and changes in CTLD and CSAR to cater for the new dynamic cargo and more.
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky and @kaltokri and @Statua!
Performance Tuning
- Prevent overly aggressive use of timings in
SpawnScheduled(). - SPAWN: refactored the count of alive units which was added due to the changes in the DCS EVENTS to be much more CPU friendly.
- GROUP and UNIT: refactored the API calls to
Unit/Group.getByName()to avoid sub-second re-calls. - CSAR - made the creation of ADF Beacons optional, as they are currently a CPU drag in-game
- Further tips: disable both TacView and LotATC on your servers as they create high extra CPU loads. Keep the overall count of alive units below circa 300 (YMMV depending on your server setup) to avoid performance problems. Remove stale hooks from the server for modules you do not use any longer.
ATIS
- Polar circle fixes for airbases in the North of the Kola map.
- Added French locale.
- Added support for new Light Rain presets.
CHIEF
- Strategic zone: If zero transports are available and min carriers is zero, cargo assets need to go by themselves.
CLIENTWATCH
- Added check to verify the aircraft is controlled by a player.
- Added
:FilterByCoalition()and:FilterByCategory(). - Added ability to get ALL CLIENTS by leaving param1 of
:New()blank. - Added more console outputs if
CLIENTWATCH.Debugis true. - Minor documentation fixes.
CONTROLLABLE
- Added IR Marker Beacons for UNIT and GROUP objects, e.g.
myunit:NewIRMarker(EnableImmediately, Runtime).
CSAR
- Added option to NOT add ADF beacons (for performance reasons).
- Added function to add own SET_GROUP for pilots.
- Added option for IR strobe on downed pilots.
CTLD
- Fix for helo being no Chinook not finding crates e.g. on a ship or FARP.
- Added
self.TroopUnloadDistGround = 1.5, andself.TroopUnloadDistHover = 5. - Fix for spawning the correct number of crates on inject.
- Simplified example documentation section 7 on how to build a FARP.
- Added option for crates to have any static shape (per crate type option).
- Added option for crates only to be transported by defined helicopter type names (per crate type option).
- Added function to add own SET_GROUP for pilots.
DYNAMICCARGO
- Added a new class to handle F8/Ground Crew created cargo; creates EVENTS for these, and is used in CTLD to track these items. e.g. for the Chinook.
SET
- Added #SET_DYNAMICCARGO.
- Include functional filters in all sub-classes.
RANGE
- Fix for trying to get a playername on dynamic cargo spawns.
Utils
- Added utility to spawn a FARP without a template
UTILS.SpawnFARPAndFunctionalStatics().
... and many, many more small additions and bug fixes as usual.
Moose 2.9.8
Late Summer 2024 Chinook Release!
Welcome to Late Summer 20204, and we got the Chinook now! Enjoy!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
We concentrated on fixing stuff a kiloton of lines for changes in events, Dynamic Spawns and the Chinook, but also got a some new stuff!
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky and @kaltokri and @Statua!
AIRBASE
- Added Sinai map new airbase names to the enumerator.
- Added Afghanistan map new airbase names.
- Added, corrected Kola map airbase names.
- Corrections for South Atlantic/Falklands
AIRBOSS
- Fixes for turning into the wind
- Added function to use legacy wind calc
AIRBOSS:SetIntoWindLegacy( SwitchOn )
ARTY
- Fixed counting the right artillery shells and some logic problems
ATIS
- Added option to specify Airbase and NATO paths to sound files
- Fixed Rainy presets not recognized correctly
- Do not announce runway twice if departure and arrival is the same
AUFTRAG
- Added combat land option to
NewLANDATCOORDINATE() - Added new type STRAFING for corresponding DCS task
AWACS
- MS TTS - fix spelling out "B-R-A" in Threat call
EASYGCICAP
- Added options to set default despawn after holding or landing
EVENTS
- Cleanup and add to comply to current event structure in DCS
CLIENTWATCH
- Cool new class to better manage client events by @Statua!
- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Functional.ClientWatch.html
CONTROLLABLE
- Added combat and direction options in
CONTROLLABLE:TaskLandAtVec2( Vec2, Duration , CombatLanding, DirectionAfterLand) - Added new type STRAFING for corresponding DCS task
CSAR
- Added Chinook support
CTLD
- Added Chinook support
- Added management of dynamically spawned crates from F8 Ground Crew menu
FlightControl
- Added default option to use SRS only if clients are around
FlightGroup
- Fixed for option RTB on Bingo fuel
- Fixed stop launching interceptors from conquered, wrong coalition wings
NAVYGROUP
- Added old turn into wind code
NAVYGROUP:SetIntoWindLegacy()` - Added option to extend duration of turn into wind
NAVYGROUP:ExtendTurnIntoWind(Duration, TurnIntoWind)
OPS
- Added method to reduce asset count for cohorts
- Added tacview on legion level
SET
- Added
SET_CLIENT:FilterAlive()andSET_UNIT:FilterAlive()
STORAGE
- Added
STORAGE:NewFromStaticCargo(StaticCargoName)
RANGE
- Added
RANGE:SetSoundfilesInfo
Unit
- Fixes to count ammunition correctly, as changed by ED
- improved
GetAmmunition()to also report Tank HE and AP shells and added query functions for artillery, HE and AP type of ammunition
Utils
- Added AH64 and Kiowa special callsigns to the enumerator
... and many, many more Demo Missions, small additions and bug fixes as usual.
Moose 2.9.7
Early Summer 2024 Release!
Welcome to Summer 20204, and next to the F-4E we also got the Kiowa now! And a bunch of other things ... in two weeks ;) Enjoy!
This release contains functionality from both the master and the development branches in the attached .zip and .tar.gz files.
We concentrated on bug fixing, but also got a some new stuff!
Thanks to all contributors, discussion partners, bug finders and fixers to keep this project alive! :)
Special thanks to @funkyfranky and @kaltokri!
AIRBASE
- Added Kola map new airbase names to the enumerator.
AIRBOSS
- Fixes for turning into the wind
- Added function to use legacy wind calc
AIRBOSS:SetIntoWindLegacy( SwitchOn )
CSAR
- Nicer MGRS TTS output
- Added Kiowa
CTLD
- Added Kiowa
- Fixed troops moving to active zones only
MANTIS
- Added an option to do a friendly check in firing range before activating a SAM
RANGE
- Fixed some SRS TTS settings
PLAYERTASKCONTROLLER
- Added land height to detail task info
STRATEGO
- Improved route finding
- Can now on demand detect node islands and connect them
... and many, many more Demo Missions, small additions and bug fixes as usual.