public override float GetValueUnfinalized(StatRequest req, bool applyPostProcess = true)
        {
            if (req.HasThing && req.Thing is Pawn)
            {
                return(base.GetValueUnfinalized(StatRequest.For(req.Def, req.StuffDef, QualityCategory.Normal), applyPostProcess) * PriceUtility.PawnQualityPriceFactor((Pawn)req.Thing, null) + PriceUtility.PawnQualityPriceOffset((Pawn)req.Thing, null));
            }
            float result;

            if (req.Def.statBases.StatListContains(StatDefOf.MarketValue))
            {
                result = base.GetValueUnfinalized(req, true);
            }
            else
            {
                result = StatWorker_MarketValue.CalculatedBaseMarketValue(req.Def, req.StuffDef);
            }
            return(result);
        }
 public override string GetExplanationUnfinalized(StatRequest req, ToStringNumberSense numberSense)
 {
     if (req.HasThing && req.Thing is Pawn)
     {
         Pawn          pawn          = (Pawn)req.Thing;
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.Append(base.GetExplanationUnfinalized(req, numberSense));
         stringBuilder.AppendLine();
         PriceUtility.PawnQualityPriceFactor(pawn, stringBuilder);
         PriceUtility.PawnQualityPriceOffset(pawn, stringBuilder);
         return(stringBuilder.ToString());
     }
     if (req.Def.statBases.StatListContains(StatDefOf.MarketValue))
     {
         return(base.GetExplanationUnfinalized(req, numberSense));
     }
     return("StatsReport_MarketValueFromStuffsAndWork".Translate().TrimEnd(new char[]
     {
         '.'
     }) + ": " + StatWorker_MarketValue.CalculatedBaseMarketValue(req.Def, req.StuffDef).ToStringByStyle(this.stat.ToStringStyleUnfinalized, numberSense));
 }