81    {
   83            return;
   84        
   85        ClearInventoryReservationEx(action_data);
   86        AttachActionData action_data_a = AttachActionData.Cast(action_data);
   88            
   89        if ( action_data.m_Target.IsProxy() )
   90        {
   91            target_EAI = 
EntityAI.Cast( action_data_a.m_Target.GetParent() );
 
   92        }
   93        else
   94        {
   95            target_EAI = 
EntityAI.Cast( action_data_a.m_Target.GetObject() );
 
   96        }
   97        
   98        if (target_EAI && action_data_a.m_MainItem)
   99        {
  100            ref InventoryLocation il = new InventoryLocation;
  101            il.SetAttachment( target_EAI, action_data.m_MainItem, action_data_a.
m_AttSlot );
 
  102            action_data.m_Player.PredictiveForceSwapEntities( target_EAI, action_data.m_MainItem, il );
  103        }
  104    }
proto native CGame GetGame()