Merge branch 'develop' into FF/Ops

This commit is contained in:
Frank 2021-06-22 12:18:45 +02:00
commit 74513f1b5c
4 changed files with 69 additions and 8 deletions

View File

@ -13,7 +13,7 @@
--
-- ===
--
-- ### Author : **applevangelist **
-- ### Author : **applevangelist**
--
-- @module Functional.Shorad
-- @image Functional.Shorad.jpg
@ -94,7 +94,7 @@ SHORAD = {
lid = "",
DefendHarms = true,
DefendMavs = true,
DefenseLowProb = 70,
DefenseLowProb = 75,
DefenseHighProb = 90,
UseEmOnOff = false,
}

View File

@ -589,7 +589,7 @@ _ATIS={}
--- ATIS class version.
-- @field #string version
ATIS.version="0.9.5"
ATIS.version="0.9.6"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- TODO list
@ -1143,6 +1143,7 @@ function ATIS:SetSRS(PathToSRS, Gender, Culture, Voice, Port)
self.msrs:SetCulture(Culture)
self.msrs:SetVoice(Voice)
self.msrs:SetPort(Port)
self.msrs:SetCoalition(self:GetCoalition())
if self.dTQueueCheck<=10 then
self:SetQueueUpdateTime(90)
end
@ -1157,6 +1158,14 @@ function ATIS:SetQueueUpdateTime(TimeInterval)
self.dTQueueCheck=TimeInterval or 5
end
--- Get the coalition of the associated airbase.
-- @param #ATIS self
-- @return #number Coalition of the associcated airbase.
function ATIS:GetCoalition()
local coal=self.airbase and self.airbase:GetCoalition() or nil
return coal
end
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Start & Status
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@ -1203,6 +1212,10 @@ function ATIS:onafterStart(From, Event, To)
-- Start radio queue.
self.radioqueue:Start(1, 0.1)
-- Handle airbase capture
-- Handle events.
self:HandleEvent(EVENTS.BaseCaptured)
-- Init status updates.
self:__Status(-2)
@ -2259,6 +2272,36 @@ function ATIS:onafterReport(From, Event, To, Text)
end
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Event Functions
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- Base captured
-- @param #ATIS self
-- @param Core.Event#EVENTDATA EventData Event data.
function ATIS:OnEventBaseCaptured(EventData)
if EventData and EventData.Place then
-- Place is the airbase that was captured.
local airbase=EventData.Place --Wrapper.Airbase#AIRBASE
-- Check that this airbase belongs or did belong to this warehouse.
if EventData.PlaceName==self.airbasename then
-- New coalition of airbase after it was captured.
local NewCoalitionAirbase=airbase:GetCoalition()
if self.useSRS and self.msrs and self.msrs.coalition~=NewCoalitionAirbase then
self.msrs:SetCoalition(NewCoalitionAirbase)
end
end
end
end
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Misc Functions
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

View File

@ -224,13 +224,14 @@ CSAR.AircraftType["SA342Mistral"] = 2
CSAR.AircraftType["SA342Minigun"] = 2
CSAR.AircraftType["SA342L"] = 4
CSAR.AircraftType["SA342M"] = 4
CSAR.AircraftType["UH-1H"] = 4
CSAR.AircraftType["Mi-8MT"] = 8
CSAR.AircraftType["Mi-24"] = 8
CSAR.AircraftType["UH-1H"] = 8
CSAR.AircraftType["Mi-8MT"] = 12
CSAR.AircraftType["Mi-24P"] = 8
CSAR.AircraftType["Mi-24V"] = 8
--- CSAR class version.
-- @field #string version
CSAR.version="0.1.3r2"
CSAR.version="0.1.3r3"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- ToDo list
@ -1748,7 +1749,7 @@ function CSAR:_AddBeaconToGroup(_group, _freq)
end
if _group:IsAlive() then
local _radioUnit = _group:GetUnit(1)
local _radioUnit = _group:GetUnit(1)
local Frequency = _freq -- Freq in Hertz
local Sound = "l10n/DEFAULT/"..self.radioSound
trigger.action.radioTransmission(Sound, _radioUnit:GetPositionVec3(), 0, false, Frequency, 1000) -- Beacon in MP only runs for exactly 30secs straight

View File

@ -150,6 +150,7 @@ function MSRS:New(PathToSRS, Frequency, Modulation)
self:SetFrequencies(Frequency)
self:SetModulations(Modulation)
self:SetGender()
self:SetCoalition()
return self
end
@ -207,6 +208,22 @@ function MSRS:GetPort()
return self.port
end
--- Set coalition.
-- @param #MSRS self
-- @param #number Coalition Coalition. Default 0.
-- @return #MSRS self
function MSRS:SetCoalition(Coalition)
self.coalition=Coalition or 0
end
--- Get coalition.
-- @param #MSRS self
-- @return #number Coalition.
function MSRS:GetCoalition()
return self.coalition
end
--- Set frequencies.
-- @param #MSRS self
-- @param #table Frequencies Frequencies in MHz. Can also be given as a #number if only one frequency should be used.