mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
commit
41690fdf7b
@ -90,6 +90,7 @@
|
|||||||
-- @field #OPSGROUP.Spot spot Laser and IR spot.
|
-- @field #OPSGROUP.Spot spot Laser and IR spot.
|
||||||
--
|
--
|
||||||
-- @field #OPSGROUP.Ammo ammo Initial ammount of ammo.
|
-- @field #OPSGROUP.Ammo ammo Initial ammount of ammo.
|
||||||
|
-- @field #OPSGROUP.WeaponData weaponData Weapon data table with key=BitType.
|
||||||
--
|
--
|
||||||
-- @extends Core.Fsm#FSM
|
-- @extends Core.Fsm#FSM
|
||||||
|
|
||||||
@ -144,6 +145,7 @@ OPSGROUP = {
|
|||||||
callsign = {},
|
callsign = {},
|
||||||
Ndestroyed = 0,
|
Ndestroyed = 0,
|
||||||
Nkills = 0,
|
Nkills = 0,
|
||||||
|
weaponData = {},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -601,14 +603,14 @@ end
|
|||||||
|
|
||||||
--- Add a weapon range for ARTY auftrag.
|
--- Add a weapon range for ARTY auftrag.
|
||||||
-- @param #OPSGROUP self
|
-- @param #OPSGROUP self
|
||||||
-- @param #number RangeMin Minimum range in kilometers. Default 0 km.
|
-- @param #number RangeMin Minimum range in nautical miles. Default 0 NM.
|
||||||
-- @param #number RangeMax Maximum range in kilometers. Default 10 km.
|
-- @param #number RangeMax Maximum range in nautical miles. Default 10 NM.
|
||||||
-- @param #number BitType Bit mask of weapon type for which the given min/max ranges apply. Default is `ENUMS.WeaponFlag.Auto`, i.e. for all weapon types.
|
-- @param #number BitType Bit mask of weapon type for which the given min/max ranges apply. Default is `ENUMS.WeaponFlag.Auto`, i.e. for all weapon types.
|
||||||
-- @return #OPSGROUP self
|
-- @return #OPSGROUP self
|
||||||
function OPSGROUP:AddWeaponRange(RangeMin, RangeMax, BitType)
|
function OPSGROUP:AddWeaponRange(RangeMin, RangeMax, BitType)
|
||||||
|
|
||||||
RangeMin=(RangeMin or 0)*1000
|
RangeMin=UTILS.NMToMeters(RangeMin or 0)
|
||||||
RangeMax=(RangeMax or 10)*1000
|
RangeMax=UTILS.NMToMeters(RangeMax or 10)
|
||||||
|
|
||||||
local weapon={} --#OPSGROUP.WeaponData
|
local weapon={} --#OPSGROUP.WeaponData
|
||||||
|
|
||||||
@ -3497,8 +3499,15 @@ function OPSGROUP:SetLaserTarget(Target)
|
|||||||
|
|
||||||
if Target then
|
if Target then
|
||||||
|
|
||||||
-- Check if we have a POSITIONABLE.
|
-- Check object type.
|
||||||
if Target:IsInstanceOf("POSITIONABLE") then
|
if Target:IsInstanceOf("SCENERY") then
|
||||||
|
|
||||||
|
-- Scenery as target. Treat it like a coordinate. Set offset to 1 meter above ground.
|
||||||
|
self.spot.TargetType=0
|
||||||
|
self.spot.offsetTarget={x=0, y=1, z=0}
|
||||||
|
|
||||||
|
elseif Target:IsInstanceOf("POSITIONABLE") then
|
||||||
|
|
||||||
local target=Target --Wrapper.Positionable#POSITIONABLE
|
local target=Target --Wrapper.Positionable#POSITIONABLE
|
||||||
|
|
||||||
if target:IsAlive() then
|
if target:IsAlive() then
|
||||||
@ -3535,13 +3544,11 @@ function OPSGROUP:SetLaserTarget(Target)
|
|||||||
end
|
end
|
||||||
|
|
||||||
elseif Target:IsInstanceOf("COORDINATE") then
|
elseif Target:IsInstanceOf("COORDINATE") then
|
||||||
|
|
||||||
-- Coordinate as target.
|
-- Coordinate as target.
|
||||||
self.spot.TargetType=0
|
self.spot.TargetType=0
|
||||||
self.spot.offsetTarget={x=0, y=0, z=0}
|
self.spot.offsetTarget={x=0, y=0, z=0}
|
||||||
elseif Target:IsInstanceOf("SCENERY") then
|
|
||||||
-- Coordinate as target.
|
|
||||||
self.spot.TargetType=0
|
|
||||||
self.spot.offsetTarget={x=0, y=1, z=0}
|
|
||||||
else
|
else
|
||||||
self:E(self.lid.."ERROR: LASER target should be a POSITIONABLE (GROUP, UNIT or STATIC) or a COORDINATE object!")
|
self:E(self.lid.."ERROR: LASER target should be a POSITIONABLE (GROUP, UNIT or STATIC) or a COORDINATE object!")
|
||||||
return
|
return
|
||||||
|
|||||||
@ -324,18 +324,34 @@ UTILS.MetersToNM = function(meters)
|
|||||||
return meters/1852
|
return meters/1852
|
||||||
end
|
end
|
||||||
|
|
||||||
|
UTILS.KiloMetersToNM = function(kilometers)
|
||||||
|
return kilometers/1852*1000
|
||||||
|
end
|
||||||
|
|
||||||
UTILS.MetersToSM = function(meters)
|
UTILS.MetersToSM = function(meters)
|
||||||
return meters/1609.34
|
return meters/1609.34
|
||||||
end
|
end
|
||||||
|
|
||||||
|
UTILS.KiloMetersToSM = function(kilometers)
|
||||||
|
return kilometers/1609.34*1000
|
||||||
|
end
|
||||||
|
|
||||||
UTILS.MetersToFeet = function(meters)
|
UTILS.MetersToFeet = function(meters)
|
||||||
return meters/0.3048
|
return meters/0.3048
|
||||||
end
|
end
|
||||||
|
|
||||||
|
UTILS.KiloMetersToFeet = function(kilometers)
|
||||||
|
return kilometers/0.3048*1000
|
||||||
|
end
|
||||||
|
|
||||||
UTILS.NMToMeters = function(NM)
|
UTILS.NMToMeters = function(NM)
|
||||||
return NM*1852
|
return NM*1852
|
||||||
end
|
end
|
||||||
|
|
||||||
|
UTILS.NMToKiloMeters = function(NM)
|
||||||
|
return NM*1852/1000
|
||||||
|
end
|
||||||
|
|
||||||
UTILS.FeetToMeters = function(feet)
|
UTILS.FeetToMeters = function(feet)
|
||||||
return feet*0.3048
|
return feet*0.3048
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user