mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Grading additions
Addition of: - AA - Angled Approach call (advisory) - Drift Right/Left - DR/DL (advisory) - Overshoot - OS - graded for start Updated default SetMPWireCorrection(Dcorr) to 12 from 8.7 based on feedback. Minor clean up and updates for intro section to include new additions and other changes previously made. TonyG
This commit is contained in:
parent
c0cc960df5
commit
6db2c4465d
@ -39,7 +39,7 @@
|
|||||||
-- * [F-14A/B Tomcat](https://forums.eagle.ru/forumdisplay.php?f=395) (Player & AI)
|
-- * [F-14A/B Tomcat](https://forums.eagle.ru/forumdisplay.php?f=395) (Player & AI)
|
||||||
-- * [A-4E Skyhawk Community Mod](https://forums.eagle.ru/showthread.php?t=224989) (Player & AI)
|
-- * [A-4E Skyhawk Community Mod](https://forums.eagle.ru/showthread.php?t=224989) (Player & AI)
|
||||||
-- * [AV-8B N/A Harrier](https://forums.eagle.ru/forumdisplay.php?f=555) (Player & AI) [**WIP**]
|
-- * [AV-8B N/A Harrier](https://forums.eagle.ru/forumdisplay.php?f=555) (Player & AI) [**WIP**]
|
||||||
-- * [T-45C Goshawk (VNAO)(Player & AI)]
|
-- * [T-45C Goshawk] https://www.vnao-cvw-7.com/t-45-goshawk) (VNAO)(Player & AI) [**WIP**]
|
||||||
-- * F/A-18C Hornet (AI)
|
-- * F/A-18C Hornet (AI)
|
||||||
-- * F-14A Tomcat (AI)
|
-- * F-14A Tomcat (AI)
|
||||||
-- * E-2D Hawkeye (AI)
|
-- * E-2D Hawkeye (AI)
|
||||||
@ -573,7 +573,10 @@
|
|||||||
-- * **L**ined **U**p **L**eft or **R**ight: LUL, LUR
|
-- * **L**ined **U**p **L**eft or **R**ight: LUL, LUR
|
||||||
-- * Too **H**igh or too **LO**w: H, LO
|
-- * Too **H**igh or too **LO**w: H, LO
|
||||||
-- * Too **F**ast or too **SLO**w: F, SLO
|
-- * Too **F**ast or too **SLO**w: F, SLO
|
||||||
-- * **Fly through** glideslope **down** or **up**: \\ , /
|
-- * **O**ver**S**hoot: OS, only referenced during **X**
|
||||||
|
-- * **Fly through** glideslope **down** or **up**: \\ , /, advisory only
|
||||||
|
-- * **D**rift **L**eft or **R**ight:DL, DR, advisory only
|
||||||
|
-- * **A**ngled **A**pproach: Angled approach (wings level and LUL): AA, advisory only
|
||||||
--
|
--
|
||||||
-- Each grading, x, is subdivided by
|
-- Each grading, x, is subdivided by
|
||||||
--
|
--
|
||||||
@ -634,7 +637,7 @@
|
|||||||
--
|
--
|
||||||
-- ## Foul Deck Waveoff
|
-- ## Foul Deck Waveoff
|
||||||
--
|
--
|
||||||
-- A foul deck waveoff is called by the LSO if an aircraft is detected within the landing area when an approaching aircraft is crossing the ship's wake during Case I/II operations,
|
-- A foul deck waveoff is called by the LSO if an aircraft is detected within the landing area when an approaching aircraft is at position IM-IC during Case I/II operations,
|
||||||
-- or with an aircraft approaching the 3/4 NM during Case III operations.
|
-- or with an aircraft approaching the 3/4 NM during Case III operations.
|
||||||
--
|
--
|
||||||
-- The approaching aircraft will be notified via LSO radio comms and is supposed to overfly the landing area to enter the Bolter pattern. **This pass is not graded**.
|
-- The approaching aircraft will be notified via LSO radio comms and is supposed to overfly the landing area to enter the Bolter pattern. **This pass is not graded**.
|
||||||
@ -1264,6 +1267,7 @@ AIRBOSS = {
|
|||||||
-- @field #string S3BTANKER Lockheed S-3B Viking tanker.
|
-- @field #string S3BTANKER Lockheed S-3B Viking tanker.
|
||||||
-- @field #string E2D Grumman E-2D Hawkeye AWACS.
|
-- @field #string E2D Grumman E-2D Hawkeye AWACS.
|
||||||
-- @field #string C2A Grumman C-2A Greyhound from Military Aircraft Mod.
|
-- @field #string C2A Grumman C-2A Greyhound from Military Aircraft Mod.
|
||||||
|
-- @field #string T-45 T-45C by VNAO
|
||||||
AIRBOSS.AircraftCarrier={
|
AIRBOSS.AircraftCarrier={
|
||||||
AV8B="AV8BNA",
|
AV8B="AV8BNA",
|
||||||
HORNET="FA-18C_hornet",
|
HORNET="FA-18C_hornet",
|
||||||
@ -2650,10 +2654,10 @@ end
|
|||||||
|
|
||||||
--- Set multiplayer environment wire correction.
|
--- Set multiplayer environment wire correction.
|
||||||
-- @param #AIRBOSS self
|
-- @param #AIRBOSS self
|
||||||
-- @param #number Dcorr Correction distance in meters. Default 8.7 m.
|
-- @param #number Dcorr Correction distance in meters. Default 12 m.
|
||||||
-- @return #AIRBOSS self
|
-- @return #AIRBOSS self
|
||||||
function AIRBOSS:SetMPWireCorrection(Dcorr)
|
function AIRBOSS:SetMPWireCorrection(Dcorr)
|
||||||
self.mpWireCorrection=Dcorr or 8.7
|
self.mpWireCorrection=Dcorr or 12
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -2819,12 +2823,14 @@ end
|
|||||||
-- @param #number Right
|
-- @param #number Right
|
||||||
-- @param #number RIGHT
|
-- @param #number RIGHT
|
||||||
-- @return #AIRBOSS self
|
-- @return #AIRBOSS self
|
||||||
function AIRBOSS:SetLineupErrorThresholds(_max,_min, Left, LEFT, Right, RIGHT)
|
function AIRBOSS:SetLineupErrorThresholds(_max,_min, Left, LeftMed, LEFT, Right, RightMed, RIGHT)
|
||||||
self.lue._max=_max or 0.5
|
self.lue._max=_max or 0.5
|
||||||
self.lue._min=_min or -0.5
|
self.lue._min=_min or -0.5
|
||||||
self.lue.Left=Left or -1.0
|
self.lue.Left=Left or -1.0
|
||||||
|
self.lue.LeftMed=LeftMed or -2.0
|
||||||
self.lue.LEFT=LEFT or -3.0
|
self.lue.LEFT=LEFT or -3.0
|
||||||
self.lue.Right=Right or 1.0
|
self.lue.Right=Right or 1.0
|
||||||
|
self.lue.RightMed=RightMed or 2.0
|
||||||
self.lue.RIGHT=RIGHT or 3.0
|
self.lue.RIGHT=RIGHT or 3.0
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
@ -10096,6 +10102,27 @@ function AIRBOSS:_Groove(playerData)
|
|||||||
-- Distance in NM.
|
-- Distance in NM.
|
||||||
local d=UTILS.MetersToNM(rho)
|
local d=UTILS.MetersToNM(rho)
|
||||||
|
|
||||||
|
-- Drift on lineup.
|
||||||
|
if rho>=RAR and rho<=RIM then
|
||||||
|
if gd.LUE>0.21 and lineupError<-0.21 then
|
||||||
|
env.info" Drift Right across centre ==> DR-"
|
||||||
|
gd.Drift=" DR"
|
||||||
|
self:T(self.lid..string.format("Got Drift Right across centre step %s, d=%.3f: Max LUE=%.3f, lower LUE=%.3f", gs, d, gd.LUE, lineupError))
|
||||||
|
elseif gd.LUE<-0.21 and lineupError>0.21 then
|
||||||
|
env.info" Drift Left ==> DL-"
|
||||||
|
gd.Drift=" DL"
|
||||||
|
self:T(self.lid..string.format("Got Drift Left across centre at step %s, d=%.3f: Min LUE=%.3f, lower LUE=%.3f", gs, d, gd.LUE, lineupError))
|
||||||
|
elseif gd.LUE>0.12 and lineupError<-0.12 then
|
||||||
|
env.info" Little Drift Right across centre ==> (DR-)"
|
||||||
|
gd.Drift=" (DR)"
|
||||||
|
self:T(self.lid..string.format("Got Little Drift Right across centre at step %s, d=%.3f: Max LUE=%.3f, lower LUE=%.3f", gs, d, gd.LUE, lineupError))
|
||||||
|
elseif gd.LUE<-0.12 and lineupError>0.12 then
|
||||||
|
env.info" Little Drift Left across centre ==> (DL-)"
|
||||||
|
gd.Drift=" (DL)"
|
||||||
|
self:E(self.lid..string.format("Got Little Drift Left across centre at step %s, d=%.3f: Min LUE=%.3f, lower LUE=%.3f", gs, d, gd.LUE, lineupError))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Update max deviation of line up error.
|
-- Update max deviation of line up error.
|
||||||
if math.abs(lineupError)>math.abs(gd.LUE) then
|
if math.abs(lineupError)>math.abs(gd.LUE) then
|
||||||
self:T(self.lid..string.format("Got bigger LUE at step %s, d=%.3f: LUE %.3f>%.3f", gs, d, lineupError, gd.LUE))
|
self:T(self.lid..string.format("Got bigger LUE at step %s, d=%.3f: LUE %.3f>%.3f", gs, d, lineupError, gd.LUE))
|
||||||
@ -12092,7 +12119,7 @@ function AIRBOSS:_LSOgrade(playerData)
|
|||||||
local nS=count(G, '%(')
|
local nS=count(G, '%(')
|
||||||
local nN=N-nS-nL
|
local nN=N-nS-nL
|
||||||
|
|
||||||
-- Groove time 16-18 sec for a unicorn.
|
-- Groove time 15-18.99 sec for a unicorn.
|
||||||
local Tgroove=playerData.Tgroove
|
local Tgroove=playerData.Tgroove
|
||||||
local TgrooveUnicorn=Tgroove and (Tgroove>=15.0 and Tgroove<=18.99) or false
|
local TgrooveUnicorn=Tgroove and (Tgroove>=15.0 and Tgroove<=18.99) or false
|
||||||
|
|
||||||
@ -12228,6 +12255,30 @@ function AIRBOSS:_Flightdata2Text(playerData, groovestep)
|
|||||||
-- Aircraft specific AoA values.
|
-- Aircraft specific AoA values.
|
||||||
local acaoa=self:_GetAircraftAoA(playerData)
|
local acaoa=self:_GetAircraftAoA(playerData)
|
||||||
|
|
||||||
|
--Angled Approach.
|
||||||
|
local P=nil
|
||||||
|
if LUE>self.lue.RIGHT and ROL<=4 and step==AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
|
P=underline("AA")
|
||||||
|
elseif
|
||||||
|
LUE>self.lue.RightMed and ROL<=4 and step==AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
|
P=("AA ")
|
||||||
|
elseif
|
||||||
|
LUE>self.lue.Right and ROL<=4 and step==AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
|
P=little("AA ")
|
||||||
|
end
|
||||||
|
|
||||||
|
--Overshoot Start.
|
||||||
|
local O=nil
|
||||||
|
if LUE<self.lue.LEFT and step==AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
|
O=underline("OS")
|
||||||
|
elseif
|
||||||
|
LUE<self.lue.Left and step==AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
|
O=("OS")
|
||||||
|
elseif
|
||||||
|
LUE<self.lue._min and step==AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
|
O=little("OS")
|
||||||
|
end
|
||||||
|
|
||||||
-- Speed via AoA. Depends on aircraft type.
|
-- Speed via AoA. Depends on aircraft type.
|
||||||
local S=nil
|
local S=nil
|
||||||
if AOA>acaoa.SLOW then
|
if AOA>acaoa.SLOW then
|
||||||
@ -12260,7 +12311,7 @@ function AIRBOSS:_Flightdata2Text(playerData, groovestep)
|
|||||||
A=little("LO")
|
A=little("LO")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Line up. Good [-0.5, 0.5]
|
-- Line up. XX Step replaced by Overshoot start (OS). Good [-0.5, 0.5]
|
||||||
local D=nil
|
local D=nil
|
||||||
if LUE>self.lue.RIGHT then
|
if LUE>self.lue.RIGHT then
|
||||||
D=underline("LUL")
|
D=underline("LUL")
|
||||||
@ -12268,11 +12319,11 @@ function AIRBOSS:_Flightdata2Text(playerData, groovestep)
|
|||||||
D="LUL"
|
D="LUL"
|
||||||
elseif LUE>self.lue._max then
|
elseif LUE>self.lue._max then
|
||||||
D=little("LUL")
|
D=little("LUL")
|
||||||
elseif LUE<self.lue.LEFT then
|
elseif LUE<self.lue.LEFT and step~=AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
D=underline("LUR")
|
D=underline("LUR")
|
||||||
elseif LUE<self.lue.Left then
|
elseif LUE<self.lue.Left and step~=AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
D="LUR"
|
D="LUR"
|
||||||
elseif LUE<self.lue._min then
|
elseif LUE<self.lue._min and step~=AIRBOSS.PatternStep.GROOVE_XX then
|
||||||
D=little("LUR")
|
D=little("LUR")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -12283,6 +12334,11 @@ function AIRBOSS:_Flightdata2Text(playerData, groovestep)
|
|||||||
if fdata.FlyThrough then
|
if fdata.FlyThrough then
|
||||||
G=G..fdata.FlyThrough
|
G=G..fdata.FlyThrough
|
||||||
end
|
end
|
||||||
|
-- Angled Approach - doesn't affect score, advisory only.
|
||||||
|
if P then
|
||||||
|
G=G..P
|
||||||
|
n=n
|
||||||
|
end
|
||||||
-- Speed.
|
-- Speed.
|
||||||
if S then
|
if S then
|
||||||
G=G..S
|
G=G..S
|
||||||
@ -12298,6 +12354,16 @@ function AIRBOSS:_Flightdata2Text(playerData, groovestep)
|
|||||||
G=G..D
|
G=G..D
|
||||||
n=n+1
|
n=n+1
|
||||||
end
|
end
|
||||||
|
--Drift in Lineup
|
||||||
|
if fdata.Drift then
|
||||||
|
G=G..fdata.Drift
|
||||||
|
n=n -- Drift doesn't affect score, advisory only.
|
||||||
|
end
|
||||||
|
-- Overshoot.
|
||||||
|
if O then
|
||||||
|
G=G..O
|
||||||
|
n=n+1
|
||||||
|
end
|
||||||
|
|
||||||
-- Add current step.
|
-- Add current step.
|
||||||
local step=self:_GS(step)
|
local step=self:_GS(step)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user