public void RetrieveFactors(Pawn other, out List <AttractionFactorDef> veryLowFactors, out List <AttractionFactorDef> lowFactors, out List <AttractionFactorDef> highFactors, out List <AttractionFactorDef> veryHighFactors, bool romantic = false, bool chanceOnly = false)
        {
            AttractionRecord record = PullRecord(other);

            record.RetrieveFactors(out veryLowFactors, out lowFactors, out highFactors, out veryHighFactors);
            if (!romantic)
            {
                veryHighFactors.RemoveAll(x => x.category.onlyForRomance);
                highFactors.RemoveAll(x => x.category.onlyForRomance);
                lowFactors.RemoveAll(x => x.category.onlyForRomance);
                veryLowFactors.RemoveAll(x => x.category.onlyForRomance);
            }
            if (!chanceOnly)
            {
                veryHighFactors.RemoveAll(x => x.category.chanceOnly);
                highFactors.RemoveAll(x => x.category.chanceOnly);
                lowFactors.RemoveAll(x => x.category.chanceOnly);
                veryLowFactors.RemoveAll(x => x.category.chanceOnly);
            }
        }