mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Ops
This commit is contained in:
@@ -829,7 +829,6 @@ function AIRWING:onafterStatus(From, Event, To)
|
||||
------------------
|
||||
if self.verbose>=2 then
|
||||
local text=string.format("Missions Total=%d:", #self.missionqueue)
|
||||
env.info("FF verbose "..self.verbose)
|
||||
for i,_mission in pairs(self.missionqueue) do
|
||||
local mission=_mission --Ops.Auftrag#AUFTRAG
|
||||
|
||||
|
||||
@@ -3384,6 +3384,7 @@ function AIRBOSS:onafterStart(From, Event, To)
|
||||
self:HandleEvent(EVENTS.Ejection)
|
||||
self:HandleEvent(EVENTS.PlayerLeaveUnit, self._PlayerLeft)
|
||||
self:HandleEvent(EVENTS.MissionEnd)
|
||||
self:HandleEvent(EVENTS.RemoveUnit)
|
||||
|
||||
--self.StatusScheduler=SCHEDULER:New(self)
|
||||
--self.StatusScheduler:Schedule(self, self._Status, {}, 1, 0.5)
|
||||
@@ -8833,6 +8834,58 @@ function AIRBOSS:OnEventEjection(EventData)
|
||||
|
||||
end
|
||||
|
||||
--- Airboss event handler for event REMOVEUNIT.
|
||||
-- @param #AIRBOSS self
|
||||
-- @param Core.Event#EVENTDATA EventData
|
||||
function AIRBOSS:OnEventRemoveUnit(EventData)
|
||||
self:F3({eventland = EventData})
|
||||
|
||||
-- Nil checks.
|
||||
if EventData==nil then
|
||||
self:E(self.lid.."ERROR: EventData=nil in event REMOVEUNIT!")
|
||||
self:E(EventData)
|
||||
return
|
||||
end
|
||||
if EventData.IniUnit==nil then
|
||||
self:E(self.lid.."ERROR: EventData.IniUnit=nil in event REMOVEUNIT!")
|
||||
self:E(EventData)
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
local _unitName=EventData.IniUnitName
|
||||
local _unit, _playername=self:_GetPlayerUnitAndName(_unitName)
|
||||
|
||||
self:T3(self.lid.."EJECT: unit = "..tostring(EventData.IniUnitName))
|
||||
self:T3(self.lid.."EJECT: group = "..tostring(EventData.IniGroupName))
|
||||
self:T3(self.lid.."EJECT: player = "..tostring(_playername))
|
||||
|
||||
if _unit and _playername then
|
||||
self:T(self.lid..string.format("Player %s removed!",_playername))
|
||||
|
||||
-- Get player flight.
|
||||
local flight=self.players[_playername]
|
||||
|
||||
-- Remove flight completely from all queues and collapse marshal if necessary.
|
||||
if flight then
|
||||
self:_RemoveFlight(flight, true)
|
||||
end
|
||||
|
||||
else
|
||||
-- Debug message.
|
||||
self:T(self.lid..string.format("AI unit %s removed!", EventData.IniUnitName))
|
||||
|
||||
-- Remove element/unit from flight group and from all queues if no elements alive.
|
||||
self:_RemoveUnitFromFlight(EventData.IniUnit)
|
||||
|
||||
-- What could happen is, that another element has landed (recovered) already and this one crashes.
|
||||
-- This would mean that the flight would not be deleted from the queue ==> Check if section recovered.
|
||||
local flight=self:_GetFlightFromGroupInQueue(EventData.IniGroup, self.flights)
|
||||
self:_CheckSectionRecovered(flight)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--- Airboss event handler for event player leave unit.
|
||||
-- @param #AIRBOSS self
|
||||
-- @param Core.Event#EVENTDATA EventData
|
||||
|
||||
@@ -2565,17 +2565,15 @@ function FLIGHTGROUP:_InitGroup()
|
||||
-- Set default radio.
|
||||
self:SetDefaultRadio(self.radio.Freq, self.radio.Modu, self.radio.On)
|
||||
|
||||
--TODO callsign from template or getCallsign
|
||||
-- Set callsign.
|
||||
local callsign=self.template.units[1].callsign
|
||||
env.info("FF callsign:",showMessageBox)
|
||||
if type(callsign)=="number" then
|
||||
if type(callsign)=="number" then -- Sometimes callsign is just "101".
|
||||
local cs=tostring(callsign)
|
||||
callsign={}
|
||||
callsign[1]=cs:sub(1,1)
|
||||
callsign[2]=cs:sub(2,2)
|
||||
callsign[3]=cs:sub(3,3)
|
||||
end
|
||||
self:I({callsign=callsign})
|
||||
self.callsign.NumberSquad=callsign[1]
|
||||
self.callsign.NumberGroup=callsign[2]
|
||||
self.callsign.NumberElement=callsign[3] -- First element only
|
||||
|
||||
@@ -1919,7 +1919,6 @@ function OPSGROUP:onafterTaskCancel(From, Event, To, Task)
|
||||
else
|
||||
|
||||
local text=string.format("WARNING: No (current) task to cancel!")
|
||||
MESSAGE:New(text, 10, "DEBUG"):ToAllIf(self.Debug)
|
||||
self:E(self.lid..text)
|
||||
|
||||
end
|
||||
@@ -2211,7 +2210,6 @@ function OPSGROUP:onafterMissionStart(From, Event, To, Mission)
|
||||
-- Debug output.
|
||||
local text=string.format("Starting %s Mission %s, target %s", Mission.type, tostring(Mission.name), Mission:GetTargetName())
|
||||
self:T(self.lid..text)
|
||||
MESSAGE:New(text, 30, self.groupname):ToAllIf(self.Debug)
|
||||
|
||||
-- Set current mission.
|
||||
self.currentmission=Mission.auftragsnummer
|
||||
@@ -2237,7 +2235,6 @@ function OPSGROUP:onafterMissionExecute(From, Event, To, Mission)
|
||||
|
||||
local text=string.format("Executing %s Mission %s, target %s", Mission.type, tostring(Mission.name), Mission:GetTargetName())
|
||||
self:T(self.lid..text)
|
||||
MESSAGE:New(text, 30, self.groupname):ToAllIf(self.Debug)
|
||||
|
||||
-- Set group mission status to EXECUTING.
|
||||
Mission:SetGroupStatus(self, AUFTRAG.GroupStatus.EXECUTING)
|
||||
@@ -3454,7 +3451,7 @@ function OPSGROUP:SwitchROE(roe)
|
||||
|
||||
self.group:OptionROE(self.option.ROE)
|
||||
|
||||
self:I(self.lid..string.format("Setting current ROE=%d (%s)", self.option.ROE, self:_GetROEName(self.option.ROE)))
|
||||
self:T(self.lid..string.format("Setting current ROE=%d (%s)", self.option.ROE, self:_GetROEName(self.option.ROE)))
|
||||
end
|
||||
|
||||
|
||||
@@ -3893,7 +3890,7 @@ function OPSGROUP:SwitchRadio(Frequency, Modulation)
|
||||
self:I(self.lid..string.format("Switching radio to frequency %.3f MHz %s", self.radio.Freq, UTILS.GetModulationName(self.radio.Modu)))
|
||||
|
||||
else
|
||||
self:I(self.lid.."INFO: Current radio not switched as freq/modulation did not change")
|
||||
self:T(self.lid.."INFO: Current radio not switched as freq/modulation did not change")
|
||||
end
|
||||
|
||||
else
|
||||
@@ -4573,7 +4570,6 @@ function OPSGROUP:GetAmmoUnit(unit, display)
|
||||
else
|
||||
self:T3(self.lid..text)
|
||||
end
|
||||
MESSAGE:New(text, 10):ToAllIf(display)
|
||||
|
||||
-- Total amount of ammunition.
|
||||
nammo=nshells+nrockets+nmissiles+nbombs+ntorps
|
||||
|
||||
Reference in New Issue
Block a user