mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
OPSGROUP
- #1677 - Fixed that damaged is triggered when group is despawned. - Fixed total ammo calculation when group is dead - Fixed assets do not carry out patrol zone after transport
This commit is contained in:
@@ -837,7 +837,7 @@ function FLIGHTGROUP:Status()
|
|||||||
|
|
||||||
-- ROE and Alarm State.
|
-- ROE and Alarm State.
|
||||||
local roe=self:GetROE() or -1
|
local roe=self:GetROE() or -1
|
||||||
local als=self:GetAlarmstate() or -1
|
local rot=self:GetROT() or -1
|
||||||
|
|
||||||
-- Waypoint stuff.
|
-- Waypoint stuff.
|
||||||
local wpidxCurr=self.currentwp
|
local wpidxCurr=self.currentwp
|
||||||
@@ -882,8 +882,8 @@ function FLIGHTGROUP:Status()
|
|||||||
local curr=self.currbase and self.currbase:GetName() or "N/A"
|
local curr=self.currbase and self.currbase:GetName() or "N/A"
|
||||||
|
|
||||||
-- Info text.
|
-- Info text.
|
||||||
local text=string.format("%s [%d/%d]: ROE/AS=%d/%d | T/M=%d/%d | Wp=%d[%d]-->%d[%d]/%d [%s] | Life=%.1f | v=%.1f (%d) | Hdg=%03d | Ammo=%d | Detect=%s | Cargo=%.1f | Base=%s [%s-->%s]",
|
local text=string.format("%s [%d/%d]: ROE/ROT=%d/%d | T/M=%d/%d | Wp=%d[%d]-->%d[%d]/%d [%s] | Life=%.1f | v=%.1f (%d) | Hdg=%03d | Ammo=%d | Detect=%s | Cargo=%.1f | Base=%s [%s-->%s]",
|
||||||
fsmstate, nelem, Nelem, roe, als, nTaskTot, nMissions, wpidxCurr, wpuidCurr, wpidxNext, wpuidNext, wpN, wpF, life, speed, speedEx, hdg, ammo, ndetected, cargo, curr, home, dest)
|
fsmstate, nelem, Nelem, roe, rot, nTaskTot, nMissions, wpidxCurr, wpuidCurr, wpidxNext, wpuidNext, wpN, wpF, life, speed, speedEx, hdg, ammo, ndetected, cargo, curr, home, dest)
|
||||||
self:I(self.lid..text)
|
self:I(self.lid..text)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4395,6 +4395,7 @@ function OPSGROUP:onafterTaskDone(From, Event, To, Task)
|
|||||||
|
|
||||||
if Task.description=="Task_Land_At" then
|
if Task.description=="Task_Land_At" then
|
||||||
self:T(self.lid.."Taske DONE Task_Land_At ==> Wait")
|
self:T(self.lid.."Taske DONE Task_Land_At ==> Wait")
|
||||||
|
self:Cruise()
|
||||||
self:Wait(20, 100)
|
self:Wait(20, 100)
|
||||||
else
|
else
|
||||||
self:T(self.lid.."Task Done but NO mission found ==> _CheckGroupDone in 1 sec")
|
self:T(self.lid.."Task Done but NO mission found ==> _CheckGroupDone in 1 sec")
|
||||||
@@ -4790,6 +4791,11 @@ function OPSGROUP:onafterMissionExecute(From, Event, To, Mission)
|
|||||||
|
|
||||||
-- Set mission status to EXECUTING.
|
-- Set mission status to EXECUTING.
|
||||||
Mission:Executing()
|
Mission:Executing()
|
||||||
|
|
||||||
|
-- Group is holding but has waypoints ==> Cruise.
|
||||||
|
if self:IsHolding() and not self:HasPassedFinalWaypoint() then
|
||||||
|
self:Cruise()
|
||||||
|
end
|
||||||
|
|
||||||
-- Set auto engage detected targets.
|
-- Set auto engage detected targets.
|
||||||
if Mission.engagedetectedOn then
|
if Mission.engagedetectedOn then
|
||||||
@@ -9698,6 +9704,8 @@ function OPSGROUP:_CheckDamage()
|
|||||||
for _,_element in pairs(self.elements) do
|
for _,_element in pairs(self.elements) do
|
||||||
local element=_element --Ops.OpsGroup#OPSGROUP.Element
|
local element=_element --Ops.OpsGroup#OPSGROUP.Element
|
||||||
|
|
||||||
|
if element.status~=OPSGROUP.ElementStatus.DEAD and element.status~=OPSGROUP.ElementStatus.INUTERO then
|
||||||
|
|
||||||
-- Current life points.
|
-- Current life points.
|
||||||
local life=element.unit:GetLife()
|
local life=element.unit:GetLife()
|
||||||
|
|
||||||
@@ -9708,6 +9716,8 @@ function OPSGROUP:_CheckDamage()
|
|||||||
self:ElementDamaged(element)
|
self:ElementDamaged(element)
|
||||||
damaged=true
|
damaged=true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -11845,7 +11855,7 @@ function OPSGROUP:GetAmmoTot()
|
|||||||
Ammo.MissilesCR=0
|
Ammo.MissilesCR=0
|
||||||
Ammo.MissilesSA=0
|
Ammo.MissilesSA=0
|
||||||
|
|
||||||
for _,_unit in pairs(units) do
|
for _,_unit in pairs(units or {}) do
|
||||||
local unit=_unit --Wrapper.Unit#UNIT
|
local unit=_unit --Wrapper.Unit#UNIT
|
||||||
|
|
||||||
if unit and unit:IsAlive()~=nil then
|
if unit and unit:IsAlive()~=nil then
|
||||||
|
|||||||
Reference in New Issue
Block a user