mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
AIRBOSS v0.3.6w
This commit is contained in:
@@ -102,7 +102,11 @@
|
|||||||
--
|
--
|
||||||
-- ## CASE III
|
-- ## CASE III
|
||||||
--
|
--
|
||||||
-- 
|
-- 
|
||||||
|
--
|
||||||
|
-- ## CASE II
|
||||||
|
--
|
||||||
|
-- 
|
||||||
--
|
--
|
||||||
-- @field #AIRBOSS
|
-- @field #AIRBOSS
|
||||||
AIRBOSS = {
|
AIRBOSS = {
|
||||||
@@ -2832,8 +2836,10 @@ function AIRBOSS:_GetZoneArcIn(case)
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local x=12/math.cos(math.rad(self.holdingoffset))
|
||||||
|
|
||||||
-- Distance = 14 NM
|
-- Distance = 14 NM
|
||||||
local distance=UTILS.NMToMeters(12/math.cos(math.rad(self.holdingoffset)))
|
local distance=UTILS.NMToMeters(x)
|
||||||
|
|
||||||
-- Get coordinate and vec2.
|
-- Get coordinate and vec2.
|
||||||
local coord=self:GetCoordinate():Translate(distance, radial)
|
local coord=self:GetCoordinate():Translate(distance, radial)
|
||||||
@@ -2915,21 +2921,25 @@ function AIRBOSS:_GetZoneCorridor(case)
|
|||||||
-- Length of the box.
|
-- Length of the box.
|
||||||
local l=UTILS.NMToMeters(10)
|
local l=UTILS.NMToMeters(10)
|
||||||
|
|
||||||
local beta=radial-self.holdingoffset
|
-- Angle between radial and offset in rad.
|
||||||
--env.info("FF beta = "..beta)
|
local alpha=math.rad(self.holdingoffset)
|
||||||
local x=(50-9)/math.cos(math.rad(beta))
|
|
||||||
--env.info("FF x [NM] = "..x)
|
-- Distance from ArcIn to ArcOut zone
|
||||||
|
local d=UTILS.NMToMeters(12)
|
||||||
|
local y=d*math.tan(alpha)
|
||||||
|
|
||||||
|
local d2=math.cos(alpha)/UTILS.NMToMeters(2)
|
||||||
|
|
||||||
local c={}
|
local c={}
|
||||||
c[1]=self:GetCoordinate()
|
c[1]=self:GetCoordinate() -- Carrier coordinate
|
||||||
c[2]=c[1]:Translate( UTILS.NMToMeters( 1), radial-90)
|
c[2]=c[1]:Translate( UTILS.NMToMeters( 1), radial-90) -- 1 Right of carrier
|
||||||
c[3]=c[2]:Translate( UTILS.NMToMeters(13), radial)
|
c[3]=c[2]:Translate( UTILS.NMToMeters(13), radial) -- 1 Right and 13 "south"
|
||||||
c[4]=c[3]:Translate( UTILS.NMToMeters( 2), radial+90)
|
c[4]=c[3]:Translate( UTILS.NMToMeters( y), radial+90) -- y left, 13 south
|
||||||
c[5]=c[4]:Translate( UTILS.NMToMeters(10), offset)
|
c[5]=c[4]:Translate( UTILS.NMToMeters(10), offset) -- to back wall angled
|
||||||
c[6]=c[5]:Translate( UTILS.NMToMeters( 2), radial+90)
|
c[6]=c[5]:Translate( UTILS.NMToMeters( 2), offset+90) -- Back wall (angled)
|
||||||
c[7]=c[6]:Translate(-UTILS.NMToMeters(10), offset) --This is more difficult!
|
c[7]=c[6]:Translate(-UTILS.NMToMeters(10+d2), offset) -- back along X & Z
|
||||||
c[8]=c[7]:Translate( UTILS.NMToMeters( 2), radial-90)
|
c[8]=c[7]:Translate( UTILS.NMToMeters( y), radial-90) -- back along X
|
||||||
c[9]=c[8]:Translate(-UTILS.NMToMeters(13), radial)
|
c[9]=c[1]:Translate(-UTILS.NMToMeters( 1), radial+90) -- 1 left of carrier
|
||||||
|
|
||||||
|
|
||||||
-- Create an array of a square!
|
-- Create an array of a square!
|
||||||
@@ -3114,7 +3124,11 @@ function AIRBOSS:_Platform(playerData)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Next step: Dirty up and level out at 1200 ft.
|
-- Next step: Dirty up and level out at 1200 ft.
|
||||||
playerData.step=AIRBOSS.PatternStep.DIRTYUP
|
if math.abs(self.holdingoffset)>0 then
|
||||||
|
playerData.step=AIRBOSS.PatternStep.ARCIN
|
||||||
|
else
|
||||||
|
playerData.step=AIRBOSS.PatternStep.DIRTYUP
|
||||||
|
end
|
||||||
playerData.warning=nil
|
playerData.warning=nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user