-- Star Wars Empire at War: Secrets of a Fallen Empire -- Lua Script: //Scripts/GameObject/SecondaryMerchantDock_Capturable.lua -- Author: Galyana -- Updated: 8 February, 2026 require("PGStateMachine") -- Once this object has fully transitioned to a playable side it spits out units for its owner function Definitions() Define_State("State_Waiting_For_Control", State_Waiting_For_Control); Define_State("State_Controlled", State_Controlled); end function State_Waiting_For_Control(message) if message == OnEnter then Object.Set_Garrison_Spawn(false) elseif message == OnUpdate then faction = Object.Get_Owner().Get_Faction_Name() if faction == "REBEL" or faction == "EMPIRE" or faction == "UNDERWORLD" or faction == "HUTTS" or faction == "PIRATES" then Set_Next_State("State_Controlled") end end end -- Once captured, lock the structure for X seconds to allow garrison to spawn function State_Controlled(message) if message == OnEnter then Object.Set_Garrison_Spawn(true) Object.Disable_Capture(true) Sleep(20) Object.Disable_Capture(false) -- Loop back to initial state if control is lost elseif message == OnUpdate then faction = Object.Get_Owner().Get_Faction_Name() if faction == "NEUTRAL" then Set_Next_State("State_Waiting_For_Control") end end end