mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-16 16:06:44 +00:00
Merge branch 'master' into develop
This commit is contained in:
@@ -1667,6 +1667,9 @@ function SPAWN:SpawnWithIndex( SpawnIndex, NoBirth )
|
|||||||
|
|
||||||
-- If RandomizeUnits, then Randomize the formation at the start point.
|
-- If RandomizeUnits, then Randomize the formation at the start point.
|
||||||
if self.SpawnRandomizeUnits then
|
if self.SpawnRandomizeUnits then
|
||||||
|
if self.SpawnRandomizePosition then
|
||||||
|
PointVec3 = COORDINATE:New( SpawnTemplate.x, SpawnTemplate.route.points[1].alt, SpawnTemplate.y )
|
||||||
|
end
|
||||||
for UnitID = 1, #SpawnTemplate.units do
|
for UnitID = 1, #SpawnTemplate.units do
|
||||||
local RandomVec2 = PointVec3:GetRandomVec2InRadius( self.SpawnOuterRadius, self.SpawnInnerRadius )
|
local RandomVec2 = PointVec3:GetRandomVec2InRadius( self.SpawnOuterRadius, self.SpawnInnerRadius )
|
||||||
if (SpawnZone) then
|
if (SpawnZone) then
|
||||||
|
|||||||
@@ -109,7 +109,6 @@
|
|||||||
-- @field Core.Menu#MENU_MISSION menuF10root Specific user defined root F10 menu.
|
-- @field Core.Menu#MENU_MISSION menuF10root Specific user defined root F10 menu.
|
||||||
-- @field #number ceilingaltitude Range ceiling altitude in ft MSL. Aircraft above this altitude are not considered to be in the range. Default is 20000 ft.
|
-- @field #number ceilingaltitude Range ceiling altitude in ft MSL. Aircraft above this altitude are not considered to be in the range. Default is 20000 ft.
|
||||||
-- @field #boolean ceilingenabled Range has a ceiling and is not unlimited. Default is false.
|
-- @field #boolean ceilingenabled Range has a ceiling and is not unlimited. Default is false.
|
||||||
|
|
||||||
-- @extends Core.Fsm#FSM
|
-- @extends Core.Fsm#FSM
|
||||||
|
|
||||||
--- *Don't only practice your art, but force your way into its secrets; art deserves that, for it and knowledge can raise man to the Divine.* - Ludwig van Beethoven
|
--- *Don't only practice your art, but force your way into its secrets; art deserves that, for it and knowledge can raise man to the Divine.* - Ludwig van Beethoven
|
||||||
@@ -1271,6 +1270,9 @@ function RANGE:SetSRS(PathToSRS, Port, Coalition, Frequency, Modulation, Volume,
|
|||||||
self.controlmsrs:SetCoalition(Coalition or coalition.side.BLUE)
|
self.controlmsrs:SetCoalition(Coalition or coalition.side.BLUE)
|
||||||
self.controlmsrs:SetLabel("RANGEC")
|
self.controlmsrs:SetLabel("RANGEC")
|
||||||
self.controlmsrs:SetVolume(Volume or 1.0)
|
self.controlmsrs:SetVolume(Volume or 1.0)
|
||||||
|
if self.rangezone then
|
||||||
|
self.controlmsrs:SetCoordinate(self.rangezone:GetCoordinate())
|
||||||
|
end
|
||||||
self.controlsrsQ = MSRSQUEUE:New("CONTROL")
|
self.controlsrsQ = MSRSQUEUE:New("CONTROL")
|
||||||
|
|
||||||
self.instructmsrs=MSRS:New(PathToSRS or MSRS.path, Frequency or 305, Modulation or radio.modulation.AM)
|
self.instructmsrs=MSRS:New(PathToSRS or MSRS.path, Frequency or 305, Modulation or radio.modulation.AM)
|
||||||
@@ -1278,6 +1280,9 @@ function RANGE:SetSRS(PathToSRS, Port, Coalition, Frequency, Modulation, Volume,
|
|||||||
self.instructmsrs:SetCoalition(Coalition or coalition.side.BLUE)
|
self.instructmsrs:SetCoalition(Coalition or coalition.side.BLUE)
|
||||||
self.instructmsrs:SetLabel("RANGEI")
|
self.instructmsrs:SetLabel("RANGEI")
|
||||||
self.instructmsrs:SetVolume(Volume or 1.0)
|
self.instructmsrs:SetVolume(Volume or 1.0)
|
||||||
|
if self.rangezone then
|
||||||
|
self.instructmsrs:SetCoordinate(self.rangezone:GetCoordinate())
|
||||||
|
end
|
||||||
self.instructsrsQ = MSRSQUEUE:New("INSTRUCT")
|
self.instructsrsQ = MSRSQUEUE:New("INSTRUCT")
|
||||||
|
|
||||||
if PathToGoogleKey then
|
if PathToGoogleKey then
|
||||||
@@ -1316,8 +1321,13 @@ function RANGE:SetSRSRangeControl( frequency, modulation, voice, culture, gender
|
|||||||
self.rangecontrol = true
|
self.rangecontrol = true
|
||||||
if relayunitname then
|
if relayunitname then
|
||||||
local unit = UNIT:FindByName(relayunitname)
|
local unit = UNIT:FindByName(relayunitname)
|
||||||
local Coordinate = unit:GetCoordinate()
|
if unit then
|
||||||
self.rangecontrolrelayname = relayunitname
|
local Coordinate = unit:GetCoordinate()
|
||||||
|
self.rangecontrolrelayname = relayunitname
|
||||||
|
self.controlmsrs:SetCoordinate(Coordinate)
|
||||||
|
else
|
||||||
|
MESSAGE:New("RANGE: Control Relay Unit "..relayunitname.." not found!",15,"ERROR"):ToAllIf(self.Debug):ToLog()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
@@ -1345,9 +1355,13 @@ function RANGE:SetSRSRangeInstructor( frequency, modulation, voice, culture, gen
|
|||||||
self.instructor = true
|
self.instructor = true
|
||||||
if relayunitname then
|
if relayunitname then
|
||||||
local unit = UNIT:FindByName(relayunitname)
|
local unit = UNIT:FindByName(relayunitname)
|
||||||
local Coordinate = unit:GetCoordinate()
|
if unit then
|
||||||
self.instructmsrs:SetCoordinate(Coordinate)
|
local Coordinate = unit:GetCoordinate()
|
||||||
self.instructorrelayname = relayunitname
|
self.instructmsrs:SetCoordinate(Coordinate)
|
||||||
|
self.instructorrelayname = relayunitname
|
||||||
|
else
|
||||||
|
MESSAGE:New("RANGE: Instructor Relay Unit "..relayunitname.." not found!",15,"ERROR"):ToAllIf(self.Debug):ToLog()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4222,25 +4222,27 @@ function UTILS.SpawnFARPAndFunctionalStatics(Name,Coordinate,FARPType,Coalition,
|
|||||||
|
|
||||||
local function PopulateStorage(Name,liquids,equip,airframes)
|
local function PopulateStorage(Name,liquids,equip,airframes)
|
||||||
local newWH = STORAGE:New(Name)
|
local newWH = STORAGE:New(Name)
|
||||||
if liquids and liquids > 0 then
|
if newWH then
|
||||||
-- Storage fill-up
|
if liquids and liquids > 0 then
|
||||||
newWH:SetLiquid(STORAGE.Liquid.DIESEL,liquids) -- kgs to tons
|
-- Storage fill-up
|
||||||
newWH:SetLiquid(STORAGE.Liquid.GASOLINE,liquids)
|
newWH:SetLiquid(STORAGE.Liquid.DIESEL,liquids) -- kgs to tons
|
||||||
newWH:SetLiquid(STORAGE.Liquid.JETFUEL,liquids)
|
newWH:SetLiquid(STORAGE.Liquid.GASOLINE,liquids)
|
||||||
newWH:SetLiquid(STORAGE.Liquid.MW50,liquids)
|
newWH:SetLiquid(STORAGE.Liquid.JETFUEL,liquids)
|
||||||
end
|
newWH:SetLiquid(STORAGE.Liquid.MW50,liquids)
|
||||||
|
end
|
||||||
if equip and equip > 0 then
|
|
||||||
for cat,nitem in pairs(ENUMS.Storage.weapons) do
|
if equip and equip > 0 then
|
||||||
for name,item in pairs(nitem) do
|
for cat,nitem in pairs(ENUMS.Storage.weapons) do
|
||||||
newWH:SetItem(item,equip)
|
for name,item in pairs(nitem) do
|
||||||
|
newWH:SetItem(item,equip)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
if airframes and airframes > 0 then
|
||||||
if airframes and airframes > 0 then
|
for typename in pairs (CSAR.AircraftType) do
|
||||||
for typename in pairs (CSAR.AircraftType) do
|
newWH:SetItem(typename,airframes)
|
||||||
newWH:SetItem(typename,airframes)
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -4319,8 +4321,6 @@ function UTILS.SpawnFARPAndFunctionalStatics(Name,Coordinate,FARPType,Coalition,
|
|||||||
}
|
}
|
||||||
-- Create BIRTH event.
|
-- Create BIRTH event.
|
||||||
world.onEvent(Event)
|
world.onEvent(Event)
|
||||||
|
|
||||||
PopulateStorage(Name.."-1",liquids,equip,airframes)
|
|
||||||
else
|
else
|
||||||
-- Spawn FARP
|
-- Spawn FARP
|
||||||
local newfarp = SPAWNSTATIC:NewFromType(STypeName,"Heliports",Country) -- "Invisible FARP" "FARP"
|
local newfarp = SPAWNSTATIC:NewFromType(STypeName,"Heliports",Country) -- "Invisible FARP" "FARP"
|
||||||
@@ -4328,10 +4328,11 @@ function UTILS.SpawnFARPAndFunctionalStatics(Name,Coordinate,FARPType,Coalition,
|
|||||||
newfarp:InitFARP(callsign,freq,mod,DynamicSpawns,HotStart)
|
newfarp:InitFARP(callsign,freq,mod,DynamicSpawns,HotStart)
|
||||||
local spawnedfarp = newfarp:SpawnFromCoordinate(farplocation,0,Name)
|
local spawnedfarp = newfarp:SpawnFromCoordinate(farplocation,0,Name)
|
||||||
table.insert(ReturnObjects,spawnedfarp)
|
table.insert(ReturnObjects,spawnedfarp)
|
||||||
|
|
||||||
PopulateStorage(Name,liquids,equip,airframes)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
PopulateStorage(Name,liquids,equip,airframes)
|
||||||
|
|
||||||
-- Spawn Objects
|
-- Spawn Objects
|
||||||
local FARPStaticObjectsNato = {
|
local FARPStaticObjectsNato = {
|
||||||
["FUEL"] = { TypeName = "FARP Fuel Depot", ShapeName = "GSM Rus", Category = "Fortifications"},
|
["FUEL"] = { TypeName = "FARP Fuel Depot", ShapeName = "GSM Rus", Category = "Fortifications"},
|
||||||
|
|||||||
Reference in New Issue
Block a user