mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Merge branch 'develop' into FF/Ops
This commit is contained in:
commit
5083428a06
@ -239,6 +239,7 @@ do -- MENU_BASE
|
|||||||
function MENU_BASE:GetMenu( MenuText )
|
function MENU_BASE:GetMenu( MenuText )
|
||||||
return self.Menus[MenuText]
|
return self.Menus[MenuText]
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Sets a menu stamp for later prevention of menu removal.
|
--- Sets a menu stamp for later prevention of menu removal.
|
||||||
-- @param #MENU_BASE self
|
-- @param #MENU_BASE self
|
||||||
-- @param MenuStamp
|
-- @param MenuStamp
|
||||||
@ -276,6 +277,7 @@ do -- MENU_BASE
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
do -- MENU_COMMAND_BASE
|
do -- MENU_COMMAND_BASE
|
||||||
--- @type MENU_COMMAND_BASE
|
--- @type MENU_COMMAND_BASE
|
||||||
-- @field #function MenuCallHandler
|
-- @field #function MenuCallHandler
|
||||||
@ -813,6 +815,7 @@ do
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Refreshes a new radio item for a group and submenus
|
--- Refreshes a new radio item for a group and submenus
|
||||||
-- @param #MENU_GROUP self
|
-- @param #MENU_GROUP self
|
||||||
-- @return #MENU_GROUP
|
-- @return #MENU_GROUP
|
||||||
|
|||||||
@ -1153,7 +1153,9 @@ do -- SET_GROUP
|
|||||||
local NearestGroup = nil --Wrapper.Group#GROUP
|
local NearestGroup = nil --Wrapper.Group#GROUP
|
||||||
local ClosestDistance = nil
|
local ClosestDistance = nil
|
||||||
|
|
||||||
for ObjectID, ObjectData in pairs( self.Set ) do
|
local Set = self:GetAliveSet()
|
||||||
|
|
||||||
|
for ObjectID, ObjectData in pairs( Set ) do
|
||||||
if NearestGroup == nil then
|
if NearestGroup == nil then
|
||||||
NearestGroup = ObjectData
|
NearestGroup = ObjectData
|
||||||
ClosestDistance = PointVec2:DistanceFromPointVec2( ObjectData:GetCoordinate() )
|
ClosestDistance = PointVec2:DistanceFromPointVec2( ObjectData:GetCoordinate() )
|
||||||
@ -5825,8 +5827,7 @@ do -- SET_ZONE
|
|||||||
if self.Filter.Prefixes then
|
if self.Filter.Prefixes then
|
||||||
local MZonePrefix = false
|
local MZonePrefix = false
|
||||||
for ZonePrefixId, ZonePrefix in pairs( self.Filter.Prefixes ) do
|
for ZonePrefixId, ZonePrefix in pairs( self.Filter.Prefixes ) do
|
||||||
env.info(string.format("zone %s %s", MZoneName, ZonePrefix))
|
self:T2( { "Prefix:", string.find( MZoneName, ZonePrefix, 1 ), ZonePrefix } )
|
||||||
self:I( { "Prefix:", string.find( MZoneName, ZonePrefix, 1 ), ZonePrefix } )
|
|
||||||
if string.find( MZoneName, ZonePrefix, 1 ) then
|
if string.find( MZoneName, ZonePrefix, 1 ) then
|
||||||
MZonePrefix = true
|
MZonePrefix = true
|
||||||
end
|
end
|
||||||
|
|||||||
@ -106,10 +106,11 @@ AUTOLASE = {
|
|||||||
-- @field #string unitname
|
-- @field #string unitname
|
||||||
-- @field #string reccename
|
-- @field #string reccename
|
||||||
-- @field #string unittype
|
-- @field #string unittype
|
||||||
|
-- @field Core.Point#COORDINATE coordinate
|
||||||
|
|
||||||
--- AUTOLASE class version.
|
--- AUTOLASE class version.
|
||||||
-- @field #string version
|
-- @field #string version
|
||||||
AUTOLASE.version = "0.0.11"
|
AUTOLASE.version = "0.0.12"
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
-- Begin Functional.Autolase.lua
|
-- Begin Functional.Autolase.lua
|
||||||
@ -578,6 +579,17 @@ function AUTOLASE:ShowStatus(Group)
|
|||||||
local typename = entry.unittype
|
local typename = entry.unittype
|
||||||
local code = entry.lasercode
|
local code = entry.lasercode
|
||||||
local locationstring = entry.location
|
local locationstring = entry.location
|
||||||
|
local playername = Group:GetPlayerName()
|
||||||
|
if playername then
|
||||||
|
local settings = _DATABASE:GetPlayerSettings(playername)
|
||||||
|
if settings then
|
||||||
|
if settings:IsA2G_MGRS() then
|
||||||
|
locationstring = entry.coordinate:ToStringMGRS(settings)
|
||||||
|
elseif settings:IsA2G_LL_DMS() then
|
||||||
|
locationstring = entry.coordinate:ToStringLLDMS()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
local text = string.format("%s lasing %s code %d\nat %s",reccename,typename,code,locationstring)
|
local text = string.format("%s lasing %s code %d\nat %s",reccename,typename,code,locationstring)
|
||||||
report:Add(text)
|
report:Add(text)
|
||||||
lines = lines + 1
|
lines = lines + 1
|
||||||
@ -833,6 +845,15 @@ function AUTOLASE:onafterMonitor(From, Event, To)
|
|||||||
local spot = SPOT:New(recce)
|
local spot = SPOT:New(recce)
|
||||||
spot:LaseOn(unit,code,self.LaseDuration)
|
spot:LaseOn(unit,code,self.LaseDuration)
|
||||||
local locationstring = unit:GetCoordinate():ToStringLLDDM()
|
local locationstring = unit:GetCoordinate():ToStringLLDDM()
|
||||||
|
if _SETTINGS:IsA2G_MGRS() then
|
||||||
|
local precision = _SETTINGS:GetMGRS_Accuracy()
|
||||||
|
local settings = {}
|
||||||
|
settings.MGRS_Accuracy = precision
|
||||||
|
locationstring = unit:GetCoordinate():ToStringMGRS(settings)
|
||||||
|
elseif _SETTINGS:IsA2G_LL_DMS() then
|
||||||
|
locationstring = unit:GetCoordinate():ToStringLLDMS()
|
||||||
|
end
|
||||||
|
|
||||||
local laserspot = { -- #AUTOLASE.LaserSpot
|
local laserspot = { -- #AUTOLASE.LaserSpot
|
||||||
laserspot = spot,
|
laserspot = spot,
|
||||||
lasedunit = unit,
|
lasedunit = unit,
|
||||||
@ -843,6 +864,7 @@ function AUTOLASE:onafterMonitor(From, Event, To)
|
|||||||
unitname = unitname,
|
unitname = unitname,
|
||||||
reccename = reccename,
|
reccename = reccename,
|
||||||
unittype = unit:GetTypeName(),
|
unittype = unit:GetTypeName(),
|
||||||
|
coordinate = unit:GetCoordinate(),
|
||||||
}
|
}
|
||||||
if self.smoketargets then
|
if self.smoketargets then
|
||||||
local coord = unit:GetCoordinate()
|
local coord = unit:GetCoordinate()
|
||||||
|
|||||||
@ -2049,9 +2049,15 @@ function RAT:_InitAircraft(DCSgroup)
|
|||||||
--self.aircraft.descriptors=DCSdesc
|
--self.aircraft.descriptors=DCSdesc
|
||||||
|
|
||||||
-- aircraft dimensions
|
-- aircraft dimensions
|
||||||
self.aircraft.length=DCSdesc.box.max.x
|
if DCSdesc.box then
|
||||||
self.aircraft.height=DCSdesc.box.max.y
|
self.aircraft.length=DCSdesc.box.max.x
|
||||||
self.aircraft.width=DCSdesc.box.max.z
|
self.aircraft.height=DCSdesc.box.max.y
|
||||||
|
self.aircraft.width=DCSdesc.box.max.z
|
||||||
|
elseif DCStype == "Mirage-F1CE" then
|
||||||
|
self.aircraft.length=16
|
||||||
|
self.aircraft.height=5
|
||||||
|
self.aircraft.width=9
|
||||||
|
end
|
||||||
self.aircraft.box=math.max(self.aircraft.length,self.aircraft.width)
|
self.aircraft.box=math.max(self.aircraft.length,self.aircraft.width)
|
||||||
|
|
||||||
-- info message
|
-- info message
|
||||||
|
|||||||
@ -104,6 +104,7 @@ __Moose.Include( 'Scripts/Moose/Ops/Fleet.lua' )
|
|||||||
__Moose.Include( 'Scripts/Moose/Ops/Awacs.lua' )
|
__Moose.Include( 'Scripts/Moose/Ops/Awacs.lua' )
|
||||||
__Moose.Include( 'Scripts/Moose/Ops/Operation.lua' )
|
__Moose.Include( 'Scripts/Moose/Ops/Operation.lua' )
|
||||||
__Moose.Include( 'Scripts/Moose/Ops/FlightControl.lua' )
|
__Moose.Include( 'Scripts/Moose/Ops/FlightControl.lua' )
|
||||||
|
__Moose.Include( 'Scripts/Moose/Ops/PlayerTask.lua' )
|
||||||
|
|
||||||
__Moose.Include( 'Scripts/Moose/AI/AI_Balancer.lua' )
|
__Moose.Include( 'Scripts/Moose/AI/AI_Balancer.lua' )
|
||||||
__Moose.Include( 'Scripts/Moose/AI/AI_Air.lua' )
|
__Moose.Include( 'Scripts/Moose/AI/AI_Air.lua' )
|
||||||
|
|||||||
1115
Moose Development/Moose/Ops/PlayerTask.lua
Normal file
1115
Moose Development/Moose/Ops/PlayerTask.lua
Normal file
File diff suppressed because it is too large
Load Diff
@ -498,6 +498,8 @@ AIRBASE.MarianaIslands={
|
|||||||
-- * AIRBASE.SouthAtlantic.Ushuaia
|
-- * AIRBASE.SouthAtlantic.Ushuaia
|
||||||
-- * AIRBASE.SouthAtlantic.Ushuaia_Helo_Port
|
-- * AIRBASE.SouthAtlantic.Ushuaia_Helo_Port
|
||||||
-- * AIRBASE.SouthAtlantic.Punta_Arenas
|
-- * AIRBASE.SouthAtlantic.Punta_Arenas
|
||||||
|
-- * AIRBASE.SouthAtlantic.Pampa_Guanaco
|
||||||
|
-- * AIRBASE.SouthAtlantic.San_Julian
|
||||||
--
|
--
|
||||||
--@field MarianaIslands
|
--@field MarianaIslands
|
||||||
AIRBASE.SouthAtlantic={
|
AIRBASE.SouthAtlantic={
|
||||||
@ -509,6 +511,8 @@ AIRBASE.SouthAtlantic={
|
|||||||
["Ushuaia"]="Ushuaia",
|
["Ushuaia"]="Ushuaia",
|
||||||
["Ushuaia_Helo_Port"]="Ushuaia Helo Port",
|
["Ushuaia_Helo_Port"]="Ushuaia Helo Port",
|
||||||
["Punta_Arenas"]="Punta Arenas",
|
["Punta_Arenas"]="Punta Arenas",
|
||||||
|
["Pampa_Guanaco"]="Pampa Guanaco",
|
||||||
|
["San_Julian"]="San Julian",
|
||||||
}
|
}
|
||||||
|
|
||||||
--- AIRBASE.ParkingSpot ".Coordinate, ".TerminalID", ".TerminalType", ".TOAC", ".Free", ".TerminalID0", ".DistToRwy".
|
--- AIRBASE.ParkingSpot ".Coordinate, ".TerminalID", ".TerminalType", ".TOAC", ".Free", ".TerminalID0", ".DistToRwy".
|
||||||
|
|||||||
@ -532,7 +532,7 @@ function POSITIONABLE:GetBoundingRadius(mindist)
|
|||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Returns the altitude of the POSITIONABLE.
|
--- Returns the altitude above sea level of the POSITIONABLE.
|
||||||
-- @param Wrapper.Positionable#POSITIONABLE self
|
-- @param Wrapper.Positionable#POSITIONABLE self
|
||||||
-- @return DCS#Distance The altitude of the POSITIONABLE.
|
-- @return DCS#Distance The altitude of the POSITIONABLE.
|
||||||
-- @return #nil The POSITIONABLE is not existing or alive.
|
-- @return #nil The POSITIONABLE is not existing or alive.
|
||||||
@ -775,7 +775,7 @@ function POSITIONABLE:GetRelativeVelocity(positionable)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Returns the POSITIONABLE height in meters.
|
--- Returns the POSITIONABLE height above sea level in meters.
|
||||||
-- @param Wrapper.Positionable#POSITIONABLE self
|
-- @param Wrapper.Positionable#POSITIONABLE self
|
||||||
-- @return DCS#Vec3 The height of the positionable.
|
-- @return DCS#Vec3 The height of the positionable.
|
||||||
-- @return #nil The POSITIONABLE is not existing or alive.
|
-- @return #nil The POSITIONABLE is not existing or alive.
|
||||||
|
|||||||
@ -179,8 +179,28 @@ function UNIT:GetDCSObject()
|
|||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Returns the unit altitude above sea level in meters.
|
||||||
|
-- @param Wrapper.Unit#UNIT self
|
||||||
|
-- @param #boolean FromGround Measure from the ground or from sea level (ASL). Provide **true** for measuring from the ground (AGL). **false** or **nil** if you measure from sea level.
|
||||||
|
-- @return #number The height of the group or nil if is not existing or alive.
|
||||||
|
function UNIT:GetAltitude(FromGround)
|
||||||
|
|
||||||
|
local DCSUnit = Unit.getByName( self.UnitName )
|
||||||
|
|
||||||
|
if DCSUnit then
|
||||||
|
local altitude = 0
|
||||||
|
local point = DCSUnit.getPoint() --DCS#Vec3
|
||||||
|
altitude = point.y
|
||||||
|
if FromGround then
|
||||||
|
local land = land.getHeight( { x = point.x, y = point.z } ) or 0
|
||||||
|
altitude = altitude - land
|
||||||
|
end
|
||||||
|
return altitude
|
||||||
|
end
|
||||||
|
|
||||||
|
return nil
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
--- Respawn the @{Wrapper.Unit} using a (tweaked) template of the parent Group.
|
--- Respawn the @{Wrapper.Unit} using a (tweaked) template of the parent Group.
|
||||||
--
|
--
|
||||||
|
|||||||
@ -99,6 +99,7 @@ Ops/CTLD.lua
|
|||||||
Ops/Awacs.lua
|
Ops/Awacs.lua
|
||||||
Ops/Operation.lua
|
Ops/Operation.lua
|
||||||
Ops/FlightControl.lua
|
Ops/FlightControl.lua
|
||||||
|
Ops/PlayerTask.lua
|
||||||
|
|
||||||
AI/AI_Balancer.lua
|
AI/AI_Balancer.lua
|
||||||
AI/AI_Air.lua
|
AI/AI_Air.lua
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user