diff --git a/Moose Development/Moose/Functional/Warehouse.lua b/Moose Development/Moose/Functional/Warehouse.lua index 1d4e76d2e..cf02c728f 100644 --- a/Moose Development/Moose/Functional/Warehouse.lua +++ b/Moose Development/Moose/Functional/Warehouse.lua @@ -2631,9 +2631,8 @@ end --- Check parking ID. -- @param #WAREHOUSE self -- @param Wrapper.Airbase#AIRBASE.ParkingSpot spot Parking spot. --- @param Wrapper.Airbase#AIRBASE airbase The airbase. -- @return #boolean If true, parking is valid. -function WAREHOUSE:_CheckParkingValid(spot, airbase) +function WAREHOUSE:_CheckParkingValid(spot) if self.parkingIDs==nil then return true @@ -7841,7 +7840,7 @@ function WAREHOUSE:_FindParkingForAssets(airbase, assets) local parkingspot=_parkingspot --Wrapper.Airbase#AIRBASE.ParkingSpot -- Check correct terminal type for asset. We don't want helos in shelters etc. - if AIRBASE._CheckTerminalType(parkingspot.TerminalType, terminaltype) and self:_CheckParkingValid(parkingspot, airbase) and airbase:_CheckParkingLists(parkingspot.TerminalID) then + if AIRBASE._CheckTerminalType(parkingspot.TerminalType, terminaltype) and self:_CheckParkingValid(parkingspot) and airbase:_CheckParkingLists(parkingspot.TerminalID) then -- Coordinate of the parking spot. local _spot=parkingspot.Coordinate -- Core.Point#COORDINATE diff --git a/Moose Development/Moose/Ops/AirWing.lua b/Moose Development/Moose/Ops/AirWing.lua index 62207fbb6..4b44b6b91 100644 --- a/Moose Development/Moose/Ops/AirWing.lua +++ b/Moose Development/Moose/Ops/AirWing.lua @@ -1429,7 +1429,7 @@ function AIRWING:onafterMissionRequest(From, Event, To, Mission) asset.flightgroup:AddMission(Mission) -- Trigger event. - self:FlightOnMission(asset.flightgroup, Mission) + self:__FlightOnMission(5, asset.flightgroup, Mission) else self:E(self.lid.."ERROR: flight group for asset does NOT exist!") @@ -1662,6 +1662,8 @@ function AIRWING:onafterAssetSpawned(From, Event, To, group, asset, request) local Tacan=squadron:FetchTacan() if Tacan then asset.tacan=Tacan + --flightgroup:SetDefaultTACAN(Tacan,Morse,UnitName,Band,OffSwitch) + flightgroup:SwitchTACAN(Tacan, Morse, UnitName, Band) end -- Set radio frequency and modulation @@ -1689,19 +1691,19 @@ function AIRWING:onafterAssetSpawned(From, Event, To, group, asset, request) if mission then if Tacan then - mission:SetTACAN(Tacan, Morse, UnitName, Band) + --mission:SetTACAN(Tacan, Morse, UnitName, Band) end -- Add mission to flightgroup queue. asset.flightgroup:AddMission(mission) -- Trigger event. - self:FlightOnMission(flightgroup, mission) + self:__FlightOnMission(5, flightgroup, mission) else if Tacan then - flightgroup:SwitchTACAN(Tacan, Morse, UnitName, Band) + --flightgroup:SwitchTACAN(Tacan, Morse, UnitName, Band) end end @@ -1743,6 +1745,7 @@ end -- @param #string To To state. function AIRWING:onafterDestroyed(From, Event, To) + -- Debug message. self:I(self.lid.."Airwing warehouse destroyed!") -- Cancel all missions. diff --git a/Moose Development/Moose/Ops/Auftrag.lua b/Moose Development/Moose/Ops/Auftrag.lua index 7a952cba8..06183c53d 100644 --- a/Moose Development/Moose/Ops/Auftrag.lua +++ b/Moose Development/Moose/Ops/Auftrag.lua @@ -1823,6 +1823,8 @@ function AUFTRAG:AssignSquadrons(Squadrons) end self.squadrons=Squadrons + + return self end --- Add a required payload for this mission. Only these payloads will be used for this mission. If they are not available, the mission cannot start. Only available for use with an AIRWING. @@ -1835,12 +1837,14 @@ function AUFTRAG:AddRequiredPayload(Payload) table.insert(self.payloads, Payload) + return self end --- Add a Ops group to the mission. -- @param #AUFTRAG self -- @param Ops.OpsGroup#OPSGROUP OpsGroup The OPSGROUP object. +-- @return #AUFTRAG self function AUFTRAG:AddOpsGroup(OpsGroup) self:T(self.lid..string.format("Adding Ops group %s", OpsGroup.groupname)) @@ -1853,11 +1857,13 @@ function AUFTRAG:AddOpsGroup(OpsGroup) self.groupdata[OpsGroup.groupname]=groupdata + return self end --- Remove an Ops group from the mission. -- @param #AUFTRAG self -- @param Ops.OpsGroup#OPSGROUP OpsGroup The OPSGROUP object. +-- @return #AUFTRAG self function AUFTRAG:DelOpsGroup(OpsGroup) self:T(self.lid..string.format("Removing OPS group %s", OpsGroup and OpsGroup.groupname or "nil (ERROR)!")) @@ -1870,6 +1876,7 @@ function AUFTRAG:DelOpsGroup(OpsGroup) end + return self end --- Check if mission is PLANNED. diff --git a/Moose Development/Moose/Ops/FlightGroup.lua b/Moose Development/Moose/Ops/FlightGroup.lua index 5534aa11e..7d487a335 100644 --- a/Moose Development/Moose/Ops/FlightGroup.lua +++ b/Moose Development/Moose/Ops/FlightGroup.lua @@ -1020,6 +1020,8 @@ function FLIGHTGROUP:onafterStatus(From, Event, To) if self:IsAlive() and self.group:IsAirborne(true) then local fuelmin=self:GetFuelMin() + + self:I(self.lid..string.format("Fuel state=%d", fuelmin)) if fuelmin>=self.fuellowthresh then self.fuellow=false @@ -2751,8 +2753,10 @@ end -- @param #string To To state. function FLIGHTGROUP:onafterFuelLow(From, Event, To) + local fuel=self:GetFuelMin() or 0 + -- Debug message. - local text=string.format("Low fuel for flight group %s", self.groupname) + local text=string.format("Low fuel %d for flight group %s", fuel, self.groupname) self:I(self.lid..text) -- Set switch to true. diff --git a/Moose Development/Moose/Ops/OpsGroup.lua b/Moose Development/Moose/Ops/OpsGroup.lua index fc0022178..29ee92ccd 100644 --- a/Moose Development/Moose/Ops/OpsGroup.lua +++ b/Moose Development/Moose/Ops/OpsGroup.lua @@ -7663,6 +7663,12 @@ function OPSGROUP:GetTACAN() return self.tacan.Channel, self.tacan.Morse, self.tacan.Band, self.tacan.On, self.tacan.BeaconName end +--- Get current TACAN parameters. +-- @param #OPSGROUP self +-- @return #OPSGROUP.Beacon TACAN beacon. +function OPSGROUP:GetBeaconTACAN() + return self.tacan +end --- Set default ICLS parameters. diff --git a/Moose Development/Moose/Ops/Squadron.lua b/Moose Development/Moose/Ops/Squadron.lua index c0f53d960..266fe7f4c 100644 --- a/Moose Development/Moose/Ops/Squadron.lua +++ b/Moose Development/Moose/Ops/Squadron.lua @@ -302,7 +302,7 @@ function SQUADRON:SetTakeoffType(TakeoffType) return self end ---- Set takeoff type cold (default). +--- Set takeoff type cold (default). All assets of this squadron will be spawned with engines off (cold). -- @param #SQUADRON self -- @return #SQUADRON self function SQUADRON:SetTakeoffCold() @@ -310,7 +310,7 @@ function SQUADRON:SetTakeoffCold() return self end ---- Set takeoff type hot. +--- Set takeoff type hot. All assets of this squadron will be spawned with engines on (hot). -- @param #SQUADRON self -- @return #SQUADRON self function SQUADRON:SetTakeoffHot() @@ -801,7 +801,8 @@ end -- @param #string To To state. function SQUADRON:onafterStop(From, Event, To) - self:I(self.lid.."STOPPING Squadron!") + -- Debug info. + self:I(self.lid.."STOPPING Squadron and removing all assets!") -- Remove all assets. for i=#self.assets,1,-1 do @@ -809,6 +810,7 @@ function SQUADRON:onafterStop(From, Event, To) self:DelAsset(asset) end + -- Clear call scheduler. self.CallScheduler:Clear() end