public override bool Test(Sim actor, Sim target, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
            {
                bool result = false;

                if (!isAutonomous)
                {
                    CourtesansPerfume perfume = Courtesan.GetPerfume(target);
                    if (perfume != null)
                    {
                        if (perfume.Pimp == null)
                        {
                            InteractionDefinition interaction = BuyWooHoo.Singleton;
                            result = Courtesan.IsTalkingTo(actor, target, result);

                            if (actor.InteractionQueue.HasInteractionOfTypeAndTarget(ToggleTakeMistress.Singleton, target))
                            {
                                result = true;
                            }
                        }
                        else
                        {
                            result = true;
                        }
                    }
                }

                return(result);
            }
            private static bool IsTalkingToOrAlreadyBuying(Sim actor, Sim target, bool result)
            {
                InteractionDefinition interaction = BuyWooHoo.Singleton;

                result = Courtesan.IsTalkingTo(actor, target, result);

                if (actor.InteractionQueue.HasInteractionOfTypeAndTarget(BuyWooHoo.Singleton, target))
                {
                    result = true;
                }
                return(result);
            }