mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-27 07:15:24 +00:00
Fixing additional problems with AI cargo helicopters
This commit is contained in:
@@ -179,7 +179,7 @@ function AI_CARGO:onbeforeLoad( Carrier, From, Event, To, PickupZone )
|
|||||||
local Boarding = false
|
local Boarding = false
|
||||||
|
|
||||||
local LoadInterval = 10
|
local LoadInterval = 10
|
||||||
local LoadDelay = 10
|
local LoadDelay = 0
|
||||||
local Carrier_List = {}
|
local Carrier_List = {}
|
||||||
local Carrier_Weight = {}
|
local Carrier_Weight = {}
|
||||||
|
|
||||||
@@ -246,7 +246,8 @@ function AI_CARGO:onbeforeLoad( Carrier, From, Event, To, PickupZone )
|
|||||||
end
|
end
|
||||||
|
|
||||||
if not Loaded then
|
if not Loaded then
|
||||||
-- If the cargo wasn't loaded in one of the carriers, then we need to stop the loading.
|
-- No loading happened, so we need to pickup something else.
|
||||||
|
self.Relocating = false
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -344,6 +345,7 @@ function AI_CARGO:onafterUnload( Carrier, From, Event, To, DeployZone )
|
|||||||
local CarrierUnit = CarrierUnit -- Wrapper.Unit#UNIT
|
local CarrierUnit = CarrierUnit -- Wrapper.Unit#UNIT
|
||||||
Carrier:RouteStop()
|
Carrier:RouteStop()
|
||||||
for _, Cargo in pairs( CarrierUnit:GetCargo() ) do
|
for _, Cargo in pairs( CarrierUnit:GetCargo() ) do
|
||||||
|
self:F( { Cargo = Cargo:GetName(), Isloaded = Cargo:IsLoaded() } )
|
||||||
if Cargo:IsLoaded() then
|
if Cargo:IsLoaded() then
|
||||||
Cargo:__UnBoard( UnboardDelay )
|
Cargo:__UnBoard( UnboardDelay )
|
||||||
UnboardDelay = UnboardDelay + UnboardInterval
|
UnboardDelay = UnboardDelay + UnboardInterval
|
||||||
|
|||||||
@@ -358,7 +358,6 @@ function AI_CARGO_HELICOPTER:onafterOrbit( Helicopter, From, Event, To, Coordina
|
|||||||
|
|
||||||
if Helicopter and Helicopter:IsAlive() then
|
if Helicopter and Helicopter:IsAlive() then
|
||||||
|
|
||||||
if not self:IsTransporting() then
|
|
||||||
local Route = {}
|
local Route = {}
|
||||||
|
|
||||||
-- local CoordinateFrom = Helicopter:GetCoordinate()
|
-- local CoordinateFrom = Helicopter:GetCoordinate()
|
||||||
@@ -390,7 +389,6 @@ function AI_CARGO_HELICOPTER:onafterOrbit( Helicopter, From, Event, To, Coordina
|
|||||||
Helicopter:Route( Route, 0 )
|
Helicopter:Route( Route, 0 )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -406,11 +404,18 @@ end
|
|||||||
function AI_CARGO_HELICOPTER:onafterPickedUp( Helicopter, From, Event, To, PickupZone )
|
function AI_CARGO_HELICOPTER:onafterPickedUp( Helicopter, From, Event, To, PickupZone )
|
||||||
self:F( { Helicopter, From, Event, To } )
|
self:F( { Helicopter, From, Event, To } )
|
||||||
|
|
||||||
|
local HasCargo = false
|
||||||
if Helicopter and Helicopter:IsAlive() then
|
if Helicopter and Helicopter:IsAlive() then
|
||||||
|
for Cargo, CarrierUnit in pairs( self.Carrier_Cargo ) do
|
||||||
|
HasCargo = true
|
||||||
|
break
|
||||||
|
end
|
||||||
self.Relocating = false
|
self.Relocating = false
|
||||||
|
if HasCargo then
|
||||||
self.Transporting = true
|
self.Transporting = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user