diff --git a/Moose Development/Moose/Core/Spawn.lua b/Moose Development/Moose/Core/Spawn.lua index 37e8a1962..de81f9a46 100644 --- a/Moose Development/Moose/Core/Spawn.lua +++ b/Moose Development/Moose/Core/Spawn.lua @@ -2082,13 +2082,15 @@ function SPAWN:SpawnAtAirbase( SpawnAirbase, Takeoff, TakeoffAltitude, TerminalT --self:F( { AirbaseCategory = AirbaseCategory } ) -- Set airdrome ID. For helipads and ships we need to add the helipad ID and linked unit. - SpawnPoint.airdromeId = AirbaseID + -- Note, it is important not to set the airdrome ID for at least ships, because spawn will happen at origin of the map if AirbaseCategory == Airbase.Category.SHIP then SpawnPoint.linkUnit = AirbaseID SpawnPoint.helipadId = AirbaseID elseif AirbaseCategory == Airbase.Category.HELIPAD then SpawnPoint.linkUnit = AirbaseID SpawnPoint.helipadId = AirbaseID + else + SpawnPoint.airdromeId = AirbaseID end -- Set waypoint type/action. diff --git a/Moose Development/Moose/Ops/Legion.lua b/Moose Development/Moose/Ops/Legion.lua index 6cc2ccb8c..075866209 100644 --- a/Moose Development/Moose/Ops/Legion.lua +++ b/Moose Development/Moose/Ops/Legion.lua @@ -445,6 +445,21 @@ function LEGION:DelCohort(Cohort) return self end +--- Remove specific asset from legion. +-- @param #LEGION self +-- @param Functional.Warehouse#WAREHOUSE.Assetitem Asset The asset. +-- @return #LEGION self +function LEGION:DelAsset(Asset) + + if Asset.cohort then + Asset.cohort:DelAsset(Asset) + else + self:E(self.lid..string.format("ERROR: Asset has not cohort attached. Cannot remove it from legion!")) + end + + return self +end + --- Relocate a cohort to another legion. -- Assets in stock are spawned and routed to the new legion. @@ -1643,6 +1658,9 @@ function LEGION:onafterAssetDead(From, Event, To, asset, request) if self.commander and self.commander.chief then self.commander.chief.detectionset:RemoveGroupsByName({asset.spawngroupname}) end + + -- Remove asset from cohort and legion. + self:DelAsset(asset) -- Remove asset from mission is done via Mission:AssetDead() call from flightgroup onafterFlightDead function -- Remove asset from squadron same