This commit is contained in:
Frank
2020-05-05 00:40:02 +02:00
parent c1144b063b
commit 14cf4edc39
5 changed files with 36 additions and 10 deletions
+1 -1
View File
@@ -121,7 +121,7 @@ function RADIOQUEUE:Start(delay, dt)
self.dt=dt or 0.01
-- Debug message.
self:I(self.lid..string.format("Starting RADIOQUEUE %s on Frequency %.2f MHz [modulation=%d] in %.1f seconds (dt=%.3f sec)", self.alias, self.frequency/1000000, self.modulation, delay, dt))
self:I(self.lid..string.format("Starting RADIOQUEUE %s on Frequency %.2f MHz [modulation=%d] in %.1f seconds (dt=%.3f sec)", self.alias, self.frequency/1000000, self.modulation, self.delay, self.dt))
-- Start Scheduler.
if self.schedonce then
+7 -2
View File
@@ -59,14 +59,19 @@ do -- UserFlag
--- Set the userflag to a given Number.
-- @param #USERFLAG self
-- @param #number Number The number value to be checked if it is the same as the userflag.
-- @param #number Delay Delay in seconds, before the flag is set.
-- @return #USERFLAG The userflag instance.
-- @usage
-- local BlueVictory = USERFLAG:New( "VictoryBlue" )
-- BlueVictory:Set( 100 ) -- Set the UserFlag VictoryBlue to 100.
--
function USERFLAG:Set( Number ) --R2.3
function USERFLAG:Set( Number, Delay ) --R2.3
trigger.action.setUserFlag( self.UserFlagName, Number )
if Delay and Delay>0 then
self:ScheduleOnce(Delay, USERFLAG.Set, self, Number)
else
trigger.action.setUserFlag( self.UserFlagName, Number )
end
return self
end
+16 -5
View File
@@ -753,7 +753,7 @@ function AIRWING:onafterStatus(From, Event, To)
local skill=squadron.skill and tostring(squadron.skill) or "N/A"
-- Squadron text
text=text..string.format("\n* %s %s: %s*%d (avail %d), Callsign=%s, Modex=%d, Skill=%s", squadron.name, squadron:GetState(), squadron.aircrafttype, #squadron.assets, squadron:CountAssetsInStock(), callsign, modex, skill)
text=text..string.format("\n* %s %s: %s*%d/%d, Callsign=%s, Modex=%d, Skill=%s", squadron.name, squadron:GetState(), squadron.aircrafttype, squadron:CountAssetsInStock(), #squadron.assets, callsign, modex, skill)
-- Loop over all assets.
if self.verbose>0 then
@@ -796,6 +796,9 @@ function AIRWING:onafterStatus(From, Event, To)
local lifept, lifept0=asset.flightgroup:GetLifePoints()
text=text..string.format(" life=%d/%d", lifept, lifept0)
local ammo=asset.flightgroup:GetAmmoTot()
text=text..string.format(" ammo=[G=%d, R=%d, B=%d, M=%d]", ammo.Guns, ammo.Rockets, ammo.Bombs, ammo.Missiles)
else
text=text.."N/A"
end
@@ -858,7 +861,9 @@ function AIRWING:CheckCAP()
local patrol=self:_GetPatrolData(self.pointsCAP)
local missionCAP=AUFTRAG:NewPATROL(patrol.coord, patrol.altitude, patrol.speed, patrol.heading, patrol.leg)
local altitude=patrol.altitude+1000*patrol.noccupied
local missionCAP=AUFTRAG:NewPATROL(patrol.coord, altitude, patrol.speed, patrol.heading, patrol.leg)
missionCAP.patroldata=patrol
@@ -900,7 +905,9 @@ function AIRWING:CheckTANKER()
local patrol=self:_GetPatrolData(self.pointsTANKER)
local mission=AUFTRAG:NewTANKER(patrol.coord, patrol.altitude, patrol.speed, patrol.heading, patrol.leg, 0)
local altitude=patrol.altitude+1000*patrol.noccupied
local mission=AUFTRAG:NewTANKER(patrol.coord, altitude, patrol.speed, patrol.heading, patrol.leg, 0)
mission.patroldata=patrol
@@ -916,7 +923,9 @@ function AIRWING:CheckTANKER()
local patrol=self:_GetPatrolData(self.pointsTANKER)
local mission=AUFTRAG:NewTANKER(patrol.coord, patrol.altitude, patrol.speed, patrol.heading, patrol.leg, 1)
local altitude=patrol.altitude+1000*patrol.noccupied
local mission=AUFTRAG:NewTANKER(patrol.coord, altitude, patrol.speed, patrol.heading, patrol.leg, 1)
mission.patroldata=patrol
@@ -942,7 +951,9 @@ function AIRWING:CheckAWACS()
local patrol=self:_GetPatrolData(self.pointsAWACS)
local mission=AUFTRAG:NewAWACS(patrol.coord, patrol.altitude, patrol.speed, patrol.heading, patrol.leg)
local altitude=patrol.altitude+1000*patrol.noccupied
local mission=AUFTRAG:NewAWACS(patrol.coord, altitude, patrol.speed, patrol.heading, patrol.leg)
mission.patroldata=patrol
+9 -2
View File
@@ -3915,6 +3915,11 @@ function FLIGHTGROUP:onafterMissionExecute(From, Event, To, Mission)
-- Set mission status to EXECUTING.
Mission:Executing()
-- Formation
if Mission.optionFormation then
self:SwitchFormation(Mission.optionFormation)
end
end
--- On after "PauseMission" event.
@@ -4064,14 +4069,16 @@ function FLIGHTGROUP:RouteToMission(mission, delay)
-- Create waypoint coordinate half way between us and the target.
local waypointcoord=self.group:GetCoordinate():GetIntermediateCoordinate(mission:GetTargetCoordinate(), mission.missionFraction)
local alt=waypointcoord.y
-- Add some randomization.
waypointcoord=ZONE_RADIUS:New("Temp", waypointcoord:GetVec2(), 500):GetRandomCoordinate()
waypointcoord=ZONE_RADIUS:New("Temp", waypointcoord:GetVec2(), 1000):GetRandomCoordinate():SetAltitude(alt, false)
-- Set altitude of mission waypoint.
if mission.missionAltitude then
waypointcoord:SetAltitude(mission.missionAltitude, true)
end
env.info(string.format("FF mission alt=%d", waypointcoord.y))
-- Add enroute tasks.
for _,task in pairs(mission.enrouteTasks) do
@@ -4131,7 +4138,7 @@ function FLIGHTGROUP:RouteToMission(mission, delay)
end
-- Formation
if mission.optionFormation then
self:SwitchFormation(mission.optionFormation)
end
end
@@ -430,6 +430,9 @@ function WINGCOMMANDER:onafterStatus(From, Event, To)
--TODO: Better amount of necessary assets. Count units in asset and in contact. Might need nassetMin/Max.
mission.nassets=1
-- Missons are repeated max 3 times on failure.
mission.missionRepeatMax=3
-- Set mission contact.
contact.mission=mission