mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-21 20:24:13 +00:00
AIBOSS v0.5.6
RESCUEHELO v0.9.9
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@
|
|||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- ### Author: **funkyfranky**
|
-- ### Author: **funkyfranky**
|
||||||
-- ### Special thanks to HighwaymanEd for testing and suggesting improvements!
|
-- ### Special thanks to **HighwaymanEd** for testing and suggesting improvements!
|
||||||
--
|
--
|
||||||
-- @module Ops.RecoveryTanker
|
-- @module Ops.RecoveryTanker
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
@@ -1206,7 +1206,7 @@ function RECOVERYTANKER:_ActivateTACAN(delay)
|
|||||||
if delay and delay>0 then
|
if delay and delay>0 then
|
||||||
|
|
||||||
-- Schedule TACAN activation.
|
-- Schedule TACAN activation.
|
||||||
SCHEDULER:New(nil, self._ActivateTACAN, {self}, delay)
|
SCHEDULER:New(self, self._ActivateTACAN, {}, delay)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
--- **Ops** - (R2.5) - Rescue helo.
|
--- **Ops** - (R2.5) - Rescue helicopter for carrier operations.
|
||||||
--
|
--
|
||||||
-- Recue helicopter for carrier operations.
|
-- Recue helicopter for carrier operations.
|
||||||
--
|
--
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
-- ===
|
-- ===
|
||||||
--
|
--
|
||||||
-- ### Author: **funkyfranky**
|
-- ### Author: **funkyfranky**
|
||||||
-- ### Contributions: Flightcontrol (@{AI.#AI_FORMATION} class)
|
-- ### Contributions: Flightcontrol (@{AI.AI_Formation} class being used here)
|
||||||
--
|
--
|
||||||
-- @module Ops.RescueHelo
|
-- @module Ops.RescueHelo
|
||||||
-- @image MOOSE.JPG
|
-- @image MOOSE.JPG
|
||||||
@@ -62,20 +62,20 @@
|
|||||||
--
|
--
|
||||||
-- # Simple Script
|
-- # Simple Script
|
||||||
--
|
--
|
||||||
-- In the mission editor you have to set up a carrier unit, which will act as "mother". In the following, this unit will be named "USS Stennis".
|
-- In the mission editor you have to set up a carrier unit, which will act as "mother". In the following, this unit will be named "*USS Stennis*".
|
||||||
--
|
--
|
||||||
-- Secondly, you need to define a recue helicopter group in the mission editor and set it to "LATE ACTIVATED". The name of the group we'll use is "Recue Helo".
|
-- Secondly, you need to define a recue helicopter group in the mission editor and set it to "**LATE ACTIVATED**". The name of the group we'll use is "*Recue Helo*".
|
||||||
--
|
--
|
||||||
-- The basic script is very simple and consists of only two lines.
|
-- The basic script is very simple and consists of only two lines.
|
||||||
--
|
--
|
||||||
-- RescueheloStennis=RESCUEHELO:New(UNIT:FindByName("USS Stennis"), "Rescue Helo")
|
-- RescueheloStennis=RESCUEHELO:New(UNIT:FindByName("USS Stennis"), "Rescue Helo")
|
||||||
-- RescueheloStennis:Start()
|
-- RescueheloStennis:Start()
|
||||||
--
|
--
|
||||||
-- The first line will create a new RESCUEHELO object and the second line starts the process.
|
-- The first line will create a new @{#RESCUEHELO} object via @{#RESCUEHELO.New} and the second line starts the process by calling @{#RESCUEHELO.Start}.
|
||||||
--
|
--
|
||||||
-- **NOTE** that it is *very important* to define the RESCUEHELO object as **global** variable. Otherwise, the lua garbage collector will kill the formation!
|
-- **NOTE** that it is *very important* to define the RESCUEHELO object as **global** variable. Otherwise, the lua garbage collector will kill the formation for unknown reasons!
|
||||||
--
|
--
|
||||||
-- By default, the helo will be spawned on the USS Stennis with hot engines. Then it will take off and go on station on the starboard side of the boat.
|
-- By default, the helo will be spawned on the *USS Stennis* with hot engines. Then it will take off and go on station on the starboard side of the boat.
|
||||||
--
|
--
|
||||||
-- Once the helo is out of fuel, it will return to the carrier. When the helo lands, it will be respawned immidiately and go back on station.
|
-- Once the helo is out of fuel, it will return to the carrier. When the helo lands, it will be respawned immidiately and go back on station.
|
||||||
--
|
--
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
--
|
--
|
||||||
-- # Fine Tuning
|
-- # Fine Tuning
|
||||||
--
|
--
|
||||||
-- The implementation allows to customize quite a few settings easily.
|
-- The implementation allows to customize quite a few settings easily via user API functions.
|
||||||
--
|
--
|
||||||
-- ## Takeoff Type
|
-- ## Takeoff Type
|
||||||
--
|
--
|
||||||
@@ -136,15 +136,15 @@
|
|||||||
-- ## Rescue Operations
|
-- ## Rescue Operations
|
||||||
--
|
--
|
||||||
-- By default the rescue helo will start a rescue operation if an aircraft crashes or a pilot ejects in the vicinity of the carrier.
|
-- By default the rescue helo will start a rescue operation if an aircraft crashes or a pilot ejects in the vicinity of the carrier.
|
||||||
-- The standard "rescue zone" has a radius of 30 km around the carrier. The radius can be adjusted via the @{#RESCUEHELO.SetRescueZone}(*radius*) functions,
|
-- The standard "rescue zone" has a radius of 15 NM (~28 km) around the carrier. The radius can be adjusted via the @{#RESCUEHELO.SetRescueZone}(*radius*) functions,
|
||||||
-- where *radius* is the radius of the zone in kilometers. If you use multiple rescue helos in the same mission, you might want to ensure that the radii
|
-- where *radius* is the radius of the zone in nautical miles. If you use multiple rescue helos in the same mission, you might want to ensure that the radii
|
||||||
-- are not overlapping so that two helos try to rescue the same pilot. But it should not hurt either way.
|
-- are not overlapping so that two helos try to rescue the same pilot. But it should not hurt either way.
|
||||||
--
|
--
|
||||||
-- Once the helo reaches the crash site, the rescue operation will last 5 minutes. This time can be changed by @{#RESCUEHELO.SetRescueDuration(*time*),
|
-- Once the helo reaches the crash site, the rescue operation will last 5 minutes. This time can be changed by @{#RESCUEHELO.SetRescueDuration(*time*),
|
||||||
-- where *time* is the duration in minutes.
|
-- where *time* is the duration in minutes.
|
||||||
--
|
--
|
||||||
-- During the rescue operation, the helo will hover (orbit) over the crash site at a speed of 10 km/h. The speed can be set by @{#RESCUEHELO.SetRescueHoverSpeed}(*speed*),
|
-- During the rescue operation, the helo will hover (orbit) over the crash site at a speed of 5 knots. The speed can be set by @{#RESCUEHELO.SetRescueHoverSpeed}(*speed*),
|
||||||
-- where the *speed* is given in km/h.
|
-- where the *speed* is given in knots.
|
||||||
--
|
--
|
||||||
-- If no rescue operations should be carried out by the helo, this option can be completely disabled by using @{#RESCUEHELO.SetRescueOff}().
|
-- If no rescue operations should be carried out by the helo, this option can be completely disabled by using @{#RESCUEHELO.SetRescueOff}().
|
||||||
--
|
--
|
||||||
@@ -214,7 +214,7 @@ RESCUEHELO = {
|
|||||||
|
|
||||||
--- Class version.
|
--- Class version.
|
||||||
-- @field #string version
|
-- @field #string version
|
||||||
RESCUEHELO.version="0.9.8"
|
RESCUEHELO.version="0.9.9"
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
-- TODO list
|
-- TODO list
|
||||||
@@ -234,7 +234,7 @@ RESCUEHELO.version="0.9.8"
|
|||||||
|
|
||||||
--- Create a new RESCUEHELO object.
|
--- Create a new RESCUEHELO object.
|
||||||
-- @param #RESCUEHELO self
|
-- @param #RESCUEHELO self
|
||||||
-- @param Wrapper.Unit#UNIT carrierunit Carrier unit.
|
-- @param Wrapper.Unit#UNIT carrierunit Carrier unit object or simply the unit name.
|
||||||
-- @param #string helogroupname Name of the late activated rescue helo template group.
|
-- @param #string helogroupname Name of the late activated rescue helo template group.
|
||||||
-- @return #RESCUEHELO RESCUEHELO object.
|
-- @return #RESCUEHELO RESCUEHELO object.
|
||||||
function RESCUEHELO:New(carrierunit, helogroupname)
|
function RESCUEHELO:New(carrierunit, helogroupname)
|
||||||
@@ -412,20 +412,20 @@ end
|
|||||||
|
|
||||||
--- Set rescue zone radius. Crashed or ejected units inside this radius of the carrier will be rescued if possible.
|
--- Set rescue zone radius. Crashed or ejected units inside this radius of the carrier will be rescued if possible.
|
||||||
-- @param #RESCUEHELO self
|
-- @param #RESCUEHELO self
|
||||||
-- @param #number radius Radius of rescue zone in kilometers. Default is 30 km.
|
-- @param #number radius Radius of rescue zone in nautical miles. Default is 15 NM.
|
||||||
-- @return #RESCUEHELO self
|
-- @return #RESCUEHELO self
|
||||||
function RESCUEHELO:SetRescueZone(radius)
|
function RESCUEHELO:SetRescueZone(radius)
|
||||||
radius=(radius or 30)*1000
|
radius=UTILS.NMToMeters(radius or 15)
|
||||||
self.rescuezone=ZONE_UNIT:New("Rescue Zone", self.carrier, radius)
|
self.rescuezone=ZONE_UNIT:New("Rescue Zone", self.carrier, radius)
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Set rescue hover speed.
|
--- Set rescue hover speed.
|
||||||
-- @param #RESCUEHELO self
|
-- @param #RESCUEHELO self
|
||||||
-- @param #number speed Speed in km/h. Default 10 km/h.
|
-- @param #number speed Speed in knots. Default 5 kts.
|
||||||
-- @return #RESCUEHELO self
|
-- @return #RESCUEHELO self
|
||||||
function RESCUEHELO:SetRescueHoverSpeed(speed)
|
function RESCUEHELO:SetRescueHoverSpeed(speed)
|
||||||
self.rescuespeed=UTILS.KmphToMps(speed or 10)
|
self.rescuespeed=UTILS.KnotsToMps(speed or 5)
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -263,7 +263,11 @@ UTILS.FeetToMeters = function(feet)
|
|||||||
end
|
end
|
||||||
|
|
||||||
UTILS.KnotsToKmph = function(knots)
|
UTILS.KnotsToKmph = function(knots)
|
||||||
return knots* 1.852
|
return knots * 1.852
|
||||||
|
end
|
||||||
|
|
||||||
|
UTILS.KmphToKnots = function(knots)
|
||||||
|
return knots / 1.852
|
||||||
end
|
end
|
||||||
|
|
||||||
UTILS.KmphToMps = function( kmph )
|
UTILS.KmphToMps = function( kmph )
|
||||||
|
|||||||
Reference in New Issue
Block a user