From 512c3c57e994a553548127a5cdb98534f0e3ce10 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Sun, 19 Oct 2025 14:38:50 +0200 Subject: [PATCH 1/2] #TIRESIAS - Fixed a problem when a script wants to add exceptions pre-start. --- .../Moose/Functional/Tiresias.lua | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Moose Development/Moose/Functional/Tiresias.lua b/Moose Development/Moose/Functional/Tiresias.lua index b0ed49798..9d5168748 100644 --- a/Moose Development/Moose/Functional/Tiresias.lua +++ b/Moose Development/Moose/Functional/Tiresias.lua @@ -33,7 +33,7 @@ -- @module Functional.Tiresias -- @image Functional.Tiresias.jpg ---- Last Update: July 2025 +--- Last Update: Oct 2025 --- **TIRESIAS** class, extends Core.Base#BASE -- @type TIRESIAS @@ -104,8 +104,8 @@ -- @field #TIRESIAS TIRESIAS = { ClassName = "TIRESIAS", - debug = true, - version = " 0.0.7-OPT" , + debug = false, + version = " 0.0.8" , Interval = 20, GroundSet = nil, VehicleSet = nil, @@ -140,7 +140,7 @@ function TIRESIAS:New() self:AddTransition("*", "Status", "*") -- TIRESIAS status update. self:AddTransition("*", "Stop", "Stopped") -- Stop FSM. - self.ExceptionSet = nil --SET_GROUP:New():Clear(false) + self.ExceptionSet = SET_GROUP:New() --:Clear(false) self._cached_zones = {} -- Initialize zone cache self:HandleEvent(EVENTS.PlayerEnterAircraft, self._EventHandler) @@ -224,10 +224,10 @@ function TIRESIAS:AddExceptionSet(Set) Set:ForEachGroupAlive( function(grp) - local inAAASet = self.AAASet:IsIncludeObject(grp) - local inVehSet = self.VehicleSet:IsIncludeObject(grp) - local inSAMSet = self.SAMSet:IsIncludeObject(grp) - if grp:IsGround() and (not grp.Tiresias) and (not inAAASet) and (not inVehSet) and (not inSAMSet) then + --local inAAASet = self.AAASet:IsIncludeObject(grp) + --local inVehSet = self.VehicleSet:IsIncludeObject(grp) + --local inSAMSet = self.SAMSet:IsIncludeObject(grp) + if grp:IsGround() and (not grp.Tiresias) then --and (not inAAASet) and (not inVehSet) and (not inSAMSet) then grp.Tiresias = exception_data exceptions:AddGroup(grp, true) BASE:T(" TIRESIAS: Added exception group: " .. grp:GetName()) @@ -419,8 +419,8 @@ function TIRESIAS:_SwitchOnGroups(group, radius) -- Use cached zones to reduce object creation local group_name = group:GetName() local cache_key = group_name .. " _" .. radius - local zone = self._cached_zones[cache_key] - local ground = self._cached_groupsets[cache_key] + local zone = self._cached_zones[cache_key] -- Core.Zone#ZONE_RADIUS + --local ground = self._cached_groupsets[cache_key] -- Core.Set#SET_GROUP if not zone then zone = ZONE_GROUP:New(" Zone-" .. group_name, group, UTILS.NMToMeters(radius)) @@ -430,12 +430,14 @@ function TIRESIAS:_SwitchOnGroups(group, radius) zone:UpdateFromGroup(group) end - if not ground then - ground = SET_GROUP:New():FilterCategoryGround():FilterZones({zone}):FilterOnce() - self._cached_groupsets[cache_key] = ground - else - ground:FilterZones({zone},true):FilterOnce() - end + --if not ground then + --ground = SET_GROUP:New():FilterCategoryGround():FilterZones({zone}):FilterOnce() + --self._cached_groupsets[cache_key] = ground + --else + --ground:FilterZones({zone},true):FilterOnce() + zone:Scan({Object.Category.UNIT},{Unit.Category.GROUND_UNIT}) + local ground = zone:GetScannedSetGroup() + --end local count = ground:CountAlive() From 1f1a068d459b0752558eb51897cbdf018054f58a Mon Sep 17 00:00:00 2001 From: Thomas <72444570+Applevangelist@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:16:33 +0200 Subject: [PATCH 2/2] Revert "Merge from master" --- Moose Development/Moose/Ops/Airboss.lua | 55 ++++++------------------- 1 file changed, 12 insertions(+), 43 deletions(-) diff --git a/Moose Development/Moose/Ops/Airboss.lua b/Moose Development/Moose/Ops/Airboss.lua index f73fd7e24..246e960d1 100644 --- a/Moose Development/Moose/Ops/Airboss.lua +++ b/Moose Development/Moose/Ops/Airboss.lua @@ -5498,15 +5498,15 @@ function AIRBOSS:_GetAircraftAoA( playerData ) aoa.OnSpeedMin = self:_AoAUnit2Deg( playerData, 14.0 ) -- 14.17 --14.5 units -- VNAO Edit - Original value 14.5 aoa.Fast = self:_AoAUnit2Deg( playerData, 13.5 ) -- 13.33 --14.0 units -- VNAO Edit - Original value 14 aoa.FAST = self:_AoAUnit2Deg( playerData, 12.5 ) -- 11.67 --13.0 units -- VNAO Edit - Original value 13 - elseif goshawk then -- These parameters tweaked by Circuit for new T45 flight model + elseif goshawk then -- T-45C Goshawk parameters. - aoa.SLOW = 9.5 --8.00 -- 19 - aoa.Slow = 9.25 --7.75 -- 18 - aoa.OnSpeedMax = 9.0 --7.25 -- 17.5 - aoa.OnSpeed = 8.5 --7.00 -- 17 - aoa.OnSpeedMin = 8.25 --6.75 -- 16.5 - aoa.Fast = 7.75 -- 6.25 -- 16 - aoa.FAST = 7.5 -- 6.00 -- 15 + aoa.SLOW = 8.00 -- 19 + aoa.Slow = 7.75 -- 18 + aoa.OnSpeedMax = 7.25 -- 17.5 + aoa.OnSpeed = 7.00 -- 17 + aoa.OnSpeedMin = 6.75 -- 16.5 + aoa.Fast = 6.25 -- 16 + aoa.FAST = 6.00 -- 15 elseif skyhawk then -- A-4E-C Skyhawk parameters from https://forums.eagle.ru/showpost.php?p=3703467&postcount=390 -- Note that these are arbitrary UNITS and not degrees. We need a conversion formula! @@ -8150,11 +8150,7 @@ function AIRBOSS:_CheckPlayerStatus() local playerData = _playerData -- #AIRBOSS.PlayerData if playerData then - local hornet = playerData.actype == AIRBOSS.AircraftCarrier.HORNET - or playerData.actype == AIRBOSS.AircraftCarrier.RHINOE - or playerData.actype == AIRBOSS.AircraftCarrier.RHINOF - or playerData.actype == AIRBOSS.AircraftCarrier.GROWLER - local tomcat = playerData.actype == AIRBOSS.AircraftCarrier.F14A or playerData.actype == AIRBOSS.AircraftCarrier.F14B + -- Player unit. local unit = playerData.unit @@ -8165,8 +8161,8 @@ function AIRBOSS:_CheckPlayerStatus() -- TODO: This might cause problems if the CCA is set to be very small! if unit:IsInZone( self.zoneCCA ) then - -- VNAO Edit - Added wrapped up call to LSO grading Hornet - if playerData.step==AIRBOSS.PatternStep.WAKE and hornet then-- VNAO Edit - Added + -- VNAO Edit - Added wrapped up call to LSO grading + if playerData.step==AIRBOSS.PatternStep.WAKE then-- VNAO Edit - Added if math.abs(playerData.unit:GetRoll())>35 and math.abs(playerData.unit:GetRoll())<=40 then-- VNAO Edit - Added playerData.wrappedUpAtWakeLittle = true -- VNAO Edit - Added elseif math.abs(playerData.unit:GetRoll()) >40 and math.abs(playerData.unit:GetRoll())<=45 then-- VNAO Edit - Added @@ -8182,32 +8178,6 @@ function AIRBOSS:_CheckPlayerStatus() else -- VNAO Edit - Added end -- VNAO Edit - Added - if math.abs(playerData.unit:GetAoA())>= 15 then -- VNAO Edit - Added - playerData.AFU = true -- VNAO Edit - Added - elseif math.abs(playerData.unit:GetAoA())<= 5 then -- VNAO Edit - Added - playerData.AFU = true -- VNAO Edit - Added - else -- VNAO Edit - Added - end -- VNAO Edit - Added - end-- VNAO Edit - Added - - - -- VNAO Edit - Added wrapped up call to LSO grading Tomcat - if playerData.step==AIRBOSS.PatternStep.WAKE and tomcat then-- VNAO Edit - Added - if math.abs(playerData.unit:GetRoll())>35 and math.abs(playerData.unit:GetRoll())<=40 then-- VNAO Edit - Added - playerData.wrappedUpAtWakeLittle = true -- VNAO Edit - Added - elseif math.abs(playerData.unit:GetRoll()) >40 and math.abs(playerData.unit:GetRoll())<=45 then-- VNAO Edit - Added - playerData.wrappedUpAtWakeFull = true-- VNAO Edit - Added - elseif math.abs(playerData.unit:GetRoll()) >45 then-- VNAO Edit - Added - playerData.wrappedUpAtWakeUnderline = true -- VNAO Edit - Added - elseif math.abs(playerData.unit:GetRoll()) <12 and math.abs(playerData.unit:GetRoll()) >=5 then -- VNAO Edit - Added a new AA comment based on discussion with Lipps today, and going to replace the AA at the X with the original LUL comments - playerData.AAatWakeLittle = true -- VNAO Edit - Added - elseif math.abs(playerData.unit:GetRoll()) <5 and math.abs(playerData.unit:GetRoll()) >=2 then -- VNAO Edit - Added a new AA comment based on discussion with Lipps today, and going to replace the AA at the X with the original LUL comments - playerData.AAatWakeFull = true -- VNAO Edit - Added - elseif math.abs(playerData.unit:GetRoll()) <2 then -- VNAO Edit - Added a new AA comment based on discussion with Lipps today, and going to replace the AA at the X with the original LUL comments - playerData.AAatWakeUnderline = true -- VNAO Edit - Added - else -- VNAO Edit - Added - end -- VNAO Edit - Added - if math.abs(playerData.unit:GetAoA())>= 15 then -- VNAO Edit - Added playerData.AFU = true -- VNAO Edit - Added elseif math.abs(playerData.unit:GetAoA())<= 5 then -- VNAO Edit - Added @@ -12712,8 +12682,7 @@ function AIRBOSS:_LSOgrade( playerData ) local nL=count(G, '_')/2 local nS=count(G, '%(') local nN=N-nS-nL - - if TIG=="_OK_" then nL = nL -1 --Circuit added to prevent grade deduction for perfect groove + -- Groove time 15-18.99 sec for a unicorn. Or 60-65 for V/STOL unicorn. local Tgroove=playerData.Tgroove