protected override bool PerformEquipmentAction(EquipmentSlot slot)
        {
            CharacterBody body = slot.characterBody;

            if (!body)
            {
                return(false);
            }
            InteractionDriver interactionDriver = body.GetComponent <InteractionDriver>();

            if (!interactionDriver)
            {
                return(false);
            }
            GameObject BestInteractableObject = interactionDriver.FindBestInteractableObject();

            if (!BestInteractableObject)
            {
                return(false);
            }
            PurchaseInteraction purchaseInteraction = BestInteractableObject.GetComponent <PurchaseInteraction>();

            if (!purchaseInteraction)
            {
                return(false);
            }

            float newUnlockChance = TrustyLockpicks_UnlockChance;

            if (ClassicItemsCompat.enabled && ClassicItemsCompat.CheckEmbryoProc(instance, body))
            {
                newUnlockChance *= 1.3f;
            }

            //interactionDriver.interactor.interactableCooldown = 0.25f;

            if (AttemptUnlock(BestInteractableObject, interactionDriver, newUnlockChance))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        // Token: 0x06002141 RID: 8513 RVA: 0x0009C2D0 File Offset: 0x0009A4D0
        private void Update()
        {
            string text   = "";
            string text2  = "";
            bool   active = false;

            if (this.hud && this.hud.targetBodyObject)
            {
                InteractionDriver component = this.hud.targetBodyObject.GetComponent <InteractionDriver>();
                if (component)
                {
                    GameObject gameObject = component.FindBestInteractableObject();
                    if (gameObject)
                    {
                        PlayerCharacterMasterController component2 = this.hud.targetMaster.GetComponent <PlayerCharacterMasterController>();
                        if (component2 && component2.networkUser && component2.networkUser.localUser != null)
                        {
                            IInteractable component3 = gameObject.GetComponent <IInteractable>();
                            if (component3 != null)
                            {
                                string text3 = (component3.GetInteractability(component.interactor) == Interactability.Available) ? component3.GetContextString(component.interactor) : null;
                                if (text3 != null)
                                {
                                    text2  = text3;
                                    text   = string.Format(CultureInfo.InvariantCulture, "<style=cKeyBinding>{0}</style>", Glyphs.GetGlyphString(this.eventSystemLocator, "Interact"));
                                    active = true;
                                }
                            }
                        }
                    }
                }
            }
            this.glyphTMP.text       = text;
            this.descriptionTMP.text = text2;
            this.contextDisplay.SetActive(active);
        }