mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Merge branch 'master' into develop
This commit is contained in:
commit
1f268b3b5d
@ -1699,7 +1699,7 @@ function DATABASE:_EventOnBirth( Event )
|
||||
if PlayerName then
|
||||
|
||||
-- Debug info.
|
||||
self:I(string.format("Player '%s' joined unit '%s' of group '%s'", tostring(PlayerName), tostring(Event.IniDCSUnitName), tostring(Event.IniDCSGroupName)))
|
||||
self:I(string.format("Player '%s' joined unit '%s' (%s) of group '%s'", tostring(PlayerName), tostring(Event.IniDCSUnitName), tostring(Event.IniTypeName), tostring(Event.IniDCSGroupName)))
|
||||
|
||||
-- Add client in case it does not exist already.
|
||||
if client == nil or (client and client:CountPlayers() == 0) then
|
||||
|
||||
@ -32,6 +32,7 @@
|
||||
-- * [USS George Washington](https://en.wikipedia.org/wiki/USS_George_Washington_\(CVN-73\)) (CVN-73) [Super Carrier Module]
|
||||
-- * [USS Harry S. Truman](https://en.wikipedia.org/wiki/USS_Harry_S._Truman) (CVN-75) [Super Carrier Module]
|
||||
-- * [USS Forrestal](https://en.wikipedia.org/wiki/USS_Forrestal_\(CV-59\)) (CV-59) [Heatblur Carrier Module]
|
||||
-- * [Essex Class](https://en.wikipedia.org/wiki/Essex-class_aircraft_carrier) (CV-11) [Magnitude 3 Carrier Module]
|
||||
-- * [HMS Hermes](https://en.wikipedia.org/wiki/HMS_Hermes_\(R12\)) (R12)
|
||||
-- * [HMS Invincible](https://en.wikipedia.org/wiki/HMS_Invincible_\(R05\)) (R05)
|
||||
-- * [USS Tarawa](https://en.wikipedia.org/wiki/USS_Tarawa_\(LHA-1\)) (LHA-1)
|
||||
@ -47,6 +48,7 @@
|
||||
-- * [AV-8B N/A Harrier](https://forums.eagle.ru/forumdisplay.php?f=555) (Player & AI)
|
||||
-- * [T-45C Goshawk](https://forum.dcs.world/topic/203816-vnao-t-45-goshawk/) (VNAO mod) (Player & AI)
|
||||
-- * [FE/A-18E/F/G Superhornet](https://forum.dcs.world/topic/316971-cjs-super-hornet-community-mod-v20-official-thread/) (CJS mod) (Player & AI)
|
||||
-- * [F4U-1D Corsair](https://forum.dcs.world/forum/781-f4u-1d/) (Player & AI)
|
||||
-- * F/A-18C Hornet (AI)
|
||||
-- * F-14A Tomcat (AI)
|
||||
-- * E-2D Hawkeye (AI)
|
||||
@ -1283,6 +1285,8 @@ AIRBOSS = {
|
||||
-- @field #string RHINOE F/A-18E Superhornet (mod).
|
||||
-- @field #string RHINOF F/A-18F Superhornet (mod).
|
||||
-- @field #string GROWLER FEA-18G Superhornet (mod).
|
||||
-- @field #string CORSAIR F4U-1D Corsair.
|
||||
-- @field #string CORSAIR_CW F4U-1D Corsair Mk.4 (clipped wing).
|
||||
AIRBOSS.AircraftCarrier={
|
||||
AV8B="AV8BNA",
|
||||
HORNET="FA-18C_hornet",
|
||||
@ -1299,6 +1303,8 @@ AIRBOSS.AircraftCarrier={
|
||||
RHINOE="FA-18E",
|
||||
RHINOF="FA-18F",
|
||||
GROWLER="EA-18G",
|
||||
CORSAIR="F4U-1D",
|
||||
CORSAIR_CW="F4U-1D CW",
|
||||
}
|
||||
|
||||
--- Carrier types.
|
||||
@ -1310,6 +1316,7 @@ AIRBOSS.AircraftCarrier={
|
||||
-- @field #string TRUMAN USS Harry S. Truman (CVN-75) [Super Carrier Module]
|
||||
-- @field #string FORRESTAL USS Forrestal (CV-59) [Heatblur Carrier Module]
|
||||
-- @field #string VINSON USS Carl Vinson (CVN-70) [Deprecated!]
|
||||
-- @field #string ESSEX Essex class carrier (e.g. USS Yorktown (CV-10)) [Magnitude 3 Carrier Module]
|
||||
-- @field #string HERMES HMS Hermes (R12) [V/STOL Carrier]
|
||||
-- @field #string INVINCIBLE HMS Invincible (R05) [V/STOL Carrier]
|
||||
-- @field #string TARAWA USS Tarawa (LHA-1) [V/STOL Carrier]
|
||||
@ -1325,6 +1332,7 @@ AIRBOSS.CarrierType = {
|
||||
STENNIS = "Stennis",
|
||||
FORRESTAL = "Forrestal",
|
||||
VINSON = "VINSON",
|
||||
ESSEX = "Essex",
|
||||
HERMES = "HERMES81",
|
||||
INVINCIBLE = "hms_invincible",
|
||||
TARAWA = "LHA_Tarawa",
|
||||
@ -1747,7 +1755,7 @@ AIRBOSS.MenuF10Root = nil
|
||||
|
||||
--- Airboss class version.
|
||||
-- @field #string version
|
||||
AIRBOSS.version = "1.3.3"
|
||||
AIRBOSS.version = "1.4.0"
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- TODO list
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@ -2013,6 +2021,8 @@ function AIRBOSS:New( carriername, alias )
|
||||
elseif self.carriertype == AIRBOSS.CarrierType.VINSON then
|
||||
-- Carl Vinson is legacy now.
|
||||
self:_InitStennis()
|
||||
elseif self.carriertype == AIRBOSS.CarrierType.ESSEX then
|
||||
self:_InitEssex()
|
||||
elseif self.carriertype == AIRBOSS.CarrierType.HERMES then
|
||||
-- Hermes parameters.
|
||||
self:_InitHermes()
|
||||
@ -2866,23 +2876,28 @@ end
|
||||
function AIRBOSS:SetGlideslopeErrorThresholds(_max,_min, High, HIGH, Low, LOW)
|
||||
|
||||
--Check if V/STOL Carrier
|
||||
if self.carriertype == AIRBOSS.CarrierType.INVINCIBLE or self.carriertype == AIRBOSS.CarrierType.HERMES or self.carriertype == AIRBOSS.CarrierType.TARAWA or self.carriertype == AIRBOSS.CarrierType.AMERICA or self.carriertype == AIRBOSS.CarrierType.JCARLOS or self.carriertype == AIRBOSS.CarrierType.CANBERRA then
|
||||
if self.carriertype == AIRBOSS.CarrierType.INVINCIBLE or
|
||||
self.carriertype == AIRBOSS.CarrierType.HERMES or
|
||||
self.carriertype == AIRBOSS.CarrierType.TARAWA or
|
||||
self.carriertype == AIRBOSS.CarrierType.AMERICA or
|
||||
self.carriertype == AIRBOSS.CarrierType.JCARLOS or
|
||||
self.carriertype == AIRBOSS.CarrierType.CANBERRA then
|
||||
|
||||
-- allow a larger GSE for V/STOL operations --Pene Testing
|
||||
self.gle._max=_max or 0.7
|
||||
self.gle.High=High or 1.4
|
||||
self.gle.HIGH=HIGH or 1.9
|
||||
self.gle._min=_min or -0.5
|
||||
self.gle.Low=Low or -1.2
|
||||
self.gle.LOW=LOW or -1.5
|
||||
-- CVN values
|
||||
-- allow a larger GSE for V/STOL operations --Pene Testing
|
||||
self.gle._max=_max or 0.7
|
||||
self.gle.High=High or 1.4
|
||||
self.gle.HIGH=HIGH or 1.9
|
||||
self.gle._min=_min or -0.5
|
||||
self.gle.Low=Low or -1.2
|
||||
self.gle.LOW=LOW or -1.5
|
||||
else
|
||||
self.gle._max=_max or 0.4
|
||||
self.gle.High=High or 0.8
|
||||
self.gle.HIGH=HIGH or 1.5
|
||||
self.gle._min=_min or -0.3
|
||||
self.gle.Low=Low or -0.6
|
||||
self.gle.LOW=LOW or -0.9
|
||||
-- CVN values
|
||||
self.gle._max=_max or 0.4
|
||||
self.gle.High=High or 0.8
|
||||
self.gle.HIGH=HIGH or 1.5
|
||||
self.gle._min=_min or -0.3
|
||||
self.gle.Low=Low or -0.6
|
||||
self.gle.LOW=LOW or -0.9
|
||||
end
|
||||
|
||||
return self
|
||||
@ -4627,6 +4642,51 @@ function AIRBOSS:_InitForrestal()
|
||||
|
||||
end
|
||||
|
||||
--- Init parameters for Essec class carriers.
|
||||
-- @param #AIRBOSS self
|
||||
function AIRBOSS:_InitEssex()
|
||||
|
||||
-- Init Nimitz as default.
|
||||
self:_InitNimitz()
|
||||
|
||||
-- Carrier Parameters.
|
||||
self.carrierparam.sterndist = -126
|
||||
self.carrierparam.deckheight = 19.27 --DCS World\CoreMods\tech\M3 WWII PTO units\Database\Essex_Class_Carrier_1944.lua
|
||||
|
||||
-- Total size of the carrier (approx as rectangle).
|
||||
self.carrierparam.totlength = 268
|
||||
self.carrierparam.totwidthport = 23
|
||||
self.carrierparam.totwidthstarboard = 23
|
||||
|
||||
-- Landing runway.
|
||||
self.carrierparam.rwyangle = 0.0
|
||||
self.carrierparam.rwylength = 265
|
||||
self.carrierparam.rwywidth = 20
|
||||
|
||||
-- Wires.
|
||||
self.carrierparam.wire1 = 21.9
|
||||
self.carrierparam.wire2 = 28.3
|
||||
self.carrierparam.wire3 = 34.7
|
||||
self.carrierparam.wire4 = 41.1
|
||||
self.carrierparam.wire5 = 47.4
|
||||
self.carrierparam.wire6 = 53.7
|
||||
self.carrierparam.wire7 = 59.0
|
||||
|
||||
self.carrierparam.wire8 = 64.1
|
||||
self.carrierparam.wire9 = 72.7
|
||||
self.carrierparam.wire10 = 78.0
|
||||
self.carrierparam.wire11 = 85.5
|
||||
|
||||
self.carrierparam.wire12 = 105.9
|
||||
self.carrierparam.wire13 = 113.3
|
||||
self.carrierparam.wire14 = 121.0
|
||||
self.carrierparam.wire15 = 128.5
|
||||
|
||||
-- Landing distance.
|
||||
self.carrierparam.landingdist = self.carrierparam.sterndist+self.carrierparam.wire3
|
||||
|
||||
end
|
||||
|
||||
--- Init parameters for R12 HMS Hermes carrier.
|
||||
-- @param #AIRBOSS self
|
||||
function AIRBOSS:_InitHermes()
|
||||
@ -5329,7 +5389,8 @@ function AIRBOSS:_GetAircraftAoA( playerData )
|
||||
local goshawk = playerData.actype == AIRBOSS.AircraftCarrier.T45C
|
||||
local skyhawk = playerData.actype == AIRBOSS.AircraftCarrier.A4EC
|
||||
local harrier = playerData.actype == AIRBOSS.AircraftCarrier.AV8B
|
||||
local tomcat = playerData.actype == AIRBOSS.AircraftCarrier.F14A or playerData.actype == AIRBOSS.AircraftCarrier.F14B
|
||||
local tomcat = playerData.actype == AIRBOSS.AircraftCarrier.F14A or playerData.actype == AIRBOSS.AircraftCarrier.F14B
|
||||
local corsair = playerData.actype == AIRBOSS.AircraftCarrier.CORSAIR or playerData.actype == AIRBOSS.AircraftCarrier.CORSAIR_CW
|
||||
|
||||
-- Table with AoA values.
|
||||
local aoa = {} -- #AIRBOSS.AircraftAoA
|
||||
@ -5374,7 +5435,6 @@ function AIRBOSS:_GetAircraftAoA( playerData )
|
||||
aoa.Fast = 8.25 -- =17.5/2
|
||||
aoa.FAST = 8.00 -- =16.5/2
|
||||
elseif harrier then
|
||||
|
||||
-- AV-8B Harrier parameters. Tuning done on the Fast AoA to allow for abeam and ninety at Nozzles 55. Pene testing
|
||||
aoa.SLOW = 16.0
|
||||
aoa.Slow = 13.5
|
||||
@ -5383,7 +5443,15 @@ function AIRBOSS:_GetAircraftAoA( playerData )
|
||||
aoa.OnSpeedMin = 9.5
|
||||
aoa.Fast = 8.0
|
||||
aoa.FAST = 7.5
|
||||
|
||||
elseif corsair then
|
||||
-- F4U-1D Corsair parameters.
|
||||
aoa.SLOW = 16.0
|
||||
aoa.Slow = 13.5
|
||||
aoa.OnSpeedMax = 12.5
|
||||
aoa.OnSpeed = 10.0
|
||||
aoa.OnSpeedMin = 9.5
|
||||
aoa.Fast = 8.0
|
||||
aoa.FAST = 7.5
|
||||
end
|
||||
|
||||
return aoa
|
||||
@ -5496,6 +5564,7 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
local tomcat = playerData.actype == AIRBOSS.AircraftCarrier.F14A or playerData.actype == AIRBOSS.AircraftCarrier.F14B
|
||||
local harrier = playerData.actype == AIRBOSS.AircraftCarrier.AV8B
|
||||
local goshawk = playerData.actype == AIRBOSS.AircraftCarrier.T45C
|
||||
local corsair = playerData.actype == AIRBOSS.AircraftCarrier.CORSAIR or playerData.actype == AIRBOSS.AircraftCarrier.CORSAIR_CW
|
||||
|
||||
-- Return values.
|
||||
local alt
|
||||
@ -5555,6 +5624,9 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
elseif goshawk then
|
||||
alt = UTILS.FeetToMeters( 800 )
|
||||
speed = UTILS.KnotsToMps( 300 )
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 300 )
|
||||
speed = UTILS.KnotsToMps( 120 )
|
||||
end
|
||||
|
||||
elseif step == AIRBOSS.PatternStep.BREAKENTRY then
|
||||
@ -5568,6 +5640,9 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
elseif goshawk then
|
||||
alt = UTILS.FeetToMeters( 800 )
|
||||
speed = UTILS.KnotsToMps( 300 )
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 200 )
|
||||
speed = UTILS.KnotsToMps( 110 )
|
||||
end
|
||||
|
||||
elseif step == AIRBOSS.PatternStep.EARLYBREAK then
|
||||
@ -5576,6 +5651,9 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
alt = UTILS.FeetToMeters( 800 )
|
||||
elseif skyhawk then
|
||||
alt = UTILS.FeetToMeters( 600 )
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 200 )
|
||||
speed = UTILS.KnotsToMps( 100 )
|
||||
end
|
||||
|
||||
elseif step == AIRBOSS.PatternStep.LATEBREAK then
|
||||
@ -5584,6 +5662,9 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
alt = UTILS.FeetToMeters( 800 )
|
||||
elseif skyhawk then
|
||||
alt = UTILS.FeetToMeters( 600 )
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 150 )
|
||||
speed = UTILS.KnotsToMps( 100 )
|
||||
end
|
||||
|
||||
elseif step == AIRBOSS.PatternStep.ABEAM then
|
||||
@ -5592,6 +5673,9 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
alt = UTILS.FeetToMeters( 600 )
|
||||
elseif skyhawk then
|
||||
alt = UTILS.FeetToMeters( 500 )
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 150 )
|
||||
speed = UTILS.KnotsToMps( 90 )
|
||||
end
|
||||
|
||||
aoa = aoaac.OnSpeed
|
||||
@ -5616,6 +5700,9 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
alt = UTILS.FeetToMeters( 500 )
|
||||
elseif harrier then
|
||||
alt = UTILS.FeetToMeters( 425 )
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 90 )
|
||||
speed = UTILS.KnotsToMps( 90 )
|
||||
end
|
||||
|
||||
aoa = aoaac.OnSpeed
|
||||
@ -5628,6 +5715,8 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
alt = UTILS.FeetToMeters( 430 ) -- Tomcat should be a bit higher as it intercepts the GS a bit higher.
|
||||
elseif skyhawk then
|
||||
alt = UTILS.FeetToMeters( 370 ) -- ?
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 80 )
|
||||
end
|
||||
-- Harrier wont get into wake pos. Runway is not angled and it stays port.
|
||||
|
||||
@ -5643,6 +5732,8 @@ function AIRBOSS:_GetAircraftParameters( playerData, step )
|
||||
alt = UTILS.FeetToMeters( 300 ) -- ?
|
||||
elseif harrier then
|
||||
alt=UTILS.FeetToMeters(312)-- 300-325 ft
|
||||
elseif corsair then
|
||||
alt = UTILS.FeetToMeters( 80 )
|
||||
end
|
||||
|
||||
aoa = aoaac.OnSpeed
|
||||
@ -6519,6 +6610,8 @@ function AIRBOSS:_LandAI( flight )
|
||||
Speed = UTILS.KnotsToKmph( 175 )
|
||||
elseif flight.actype == AIRBOSS.AircraftCarrier.S3B or flight.actype == AIRBOSS.AircraftCarrier.S3BTANKER then
|
||||
Speed = UTILS.KnotsToKmph( 140 )
|
||||
elseif flight.actype == AIRBOSS.AircraftCarrier.CORSAIR or flight.actype == AIRBOSS.AircraftCarrier.CORSAIR_CW then
|
||||
Speed = UTILS.KnotsToKmph( 100 )
|
||||
end
|
||||
|
||||
-- Carrier position.
|
||||
@ -10314,6 +10407,9 @@ function AIRBOSS:_GetSternCoord()
|
||||
elseif self.carriertype == AIRBOSS.CarrierType.FORRESTAL then
|
||||
-- Forrestal
|
||||
self.sterncoord:Translate( self.carrierparam.sterndist, hdg, true, true ):Translate( 7.5, FB + 90, true, true )
|
||||
elseif self.carriertype == AIRBOSS.CarrierType.ESSEX then
|
||||
-- Forrestal
|
||||
self.sterncoord:Translate( self.carrierparam.sterndist, hdg, true, true ):Translate( -1, FB + 90, true, true )
|
||||
else
|
||||
-- Nimitz SC: translate 8 meters starboard wrt Final bearing.
|
||||
self.sterncoord:Translate( self.carrierparam.sterndist, hdg, true, true ):Translate( 9.5, FB + 90, true, true )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user