From 5c5b9df4703f0226d2e278768523f75d614474dc Mon Sep 17 00:00:00 2001 From: FlightControl Date: Sun, 9 Sep 2018 18:44:04 +0200 Subject: [PATCH] Fixing problem with AI cargo helicopter pickup --- Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua | 4 +++- Moose Development/Moose/AI/AI_Cargo_Helicopter.lua | 14 +++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua b/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua index eb448955f..4b40ae379 100644 --- a/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua +++ b/Moose Development/Moose/AI/AI_Cargo_Dispatcher.lua @@ -903,7 +903,8 @@ function AI_CARGO_DISPATCHER:onafterMonitor() if not self.PickupZoneSet or PickupZone then for CarrierPickup, Coordinate in pairs( self.PickupCargo ) do if CarrierPickup:IsAlive() == true then - if CargoCoordinate:Get2DDistance( Coordinate ) <= 100 then + if CargoCoordinate:Get2DDistance( Coordinate ) <= 25 then + self:F( { "Coordinate not free for ", Cargo = Cargo:GetName(), Carrier:GetName(), PickupCargo = self.PickupCargo[Carrier] ~= nil } ) CoordinateFree = false break end @@ -1025,6 +1026,7 @@ function AI_CARGO_DISPATCHER:onafterTransport( From, Event, To, Carrier, Cargo ) end end + self:F( { Carrier = Carrier:GetName(), PickupCargo = self.PickupCargo } ) self.PickupCargo[Carrier] = nil end diff --git a/Moose Development/Moose/AI/AI_Cargo_Helicopter.lua b/Moose Development/Moose/AI/AI_Cargo_Helicopter.lua index 019840b32..199065f6d 100644 --- a/Moose Development/Moose/AI/AI_Cargo_Helicopter.lua +++ b/Moose Development/Moose/AI/AI_Cargo_Helicopter.lua @@ -254,7 +254,6 @@ function AI_CARGO_HELICOPTER:onafterLanded( Helicopter, From, Event, To ) --self:Load( Helicopter:GetPointVec2() ) self:Load( self.PickupZone ) self.RoutePickup = false - self.Relocating = true end end @@ -262,8 +261,6 @@ function AI_CARGO_HELICOPTER:onafterLanded( Helicopter, From, Event, To ) if Helicopter:GetHeight( true ) <= 5 and Helicopter:GetVelocityKMH() < 10 then self:Unload( self.DeployZone ) self.RouteDeploy = false - self.Transporting = false - self.Relocating = false end end @@ -410,6 +407,7 @@ function AI_CARGO_HELICOPTER:onafterPickedUp( Helicopter, From, Event, To, Picku self:F( { Helicopter, From, Event, To } ) if Helicopter and Helicopter:IsAlive() then + self.Relocating = false self.Transporting = true end end @@ -437,6 +435,8 @@ function AI_CARGO_HELICOPTER:onafterDeployed( Helicopter, From, Event, To, Deplo end, Helicopter ) + self.Transporting = false + end --- On after Pickup event. @@ -500,7 +500,9 @@ function AI_CARGO_HELICOPTER:onafterPickup( Helicopter, From, Event, To, Coordin Helicopter:Route( Route, 1 ) self.PickupZone = PickupZone - self.Transporting = true + + self.Relocating = true + self.Transporting = false end end @@ -576,7 +578,9 @@ function AI_CARGO_HELICOPTER:onafterDeploy( Helicopter, From, Event, To, Coordin -- Now route the helicopter Helicopter:Route( Route, 0 ) - + + self.Relocating = false + self.Transporting = true end end