private Func <string> GetRestTooltip() => () => { var builder = new StringBuilder(); HudModel.BuildStatString(this, builder, StatDefOf.RestRateMultiplier); return(builder.Length > 0 ? builder.ToStringTrimmed().Size(Theme.RegularTextStyle.ActualSize) : null); };
private Func <string> GetFoodTooltip() => () => { var builder = new StringBuilder(); if (Model.Base.RaceProps?.foodType != null) { builder.AppendLine("Diet".Translate() + ": " + Model.Base.RaceProps.foodType.ToHumanString().CapitalizeFirst()); builder.AppendLine(); } HudModel.BuildStatString(this, builder, StatDefOf.EatingSpeed); HudModel.BuildStatString(this, builder, StatDefOf.HungerRateMultiplier); return(builder.Length > 0 ? builder.ToStringTrimmed().Size(Theme.RegularTextStyle.ActualSize) : null); };
private Func <string> GetTooltip() => () => { var builder = new StringBuilder(); builder.AppendLine(GetSkillDescription()); if (Skill.TotallyDisabled) { return(builder.ToStringTrimmed().Size(Theme.RegularTextStyle.ActualSize)); } builder.AppendLine(); if (Def == SkillDefOf.Shooting) { HudModel.BuildStatString(this, builder, StatDefOf.ShootingAccuracyPawn); HudModel.BuildStatString(this, builder, StatDefOf.AimingDelayFactor); } else if (Def == SkillDefOf.Melee) { HudModel.BuildStatString(this, builder, StatDefOf.MeleeDPS); HudModel.BuildStatString(this, builder, StatDefOf.MeleeHitChance); HudModel.BuildStatString(this, builder, StatDefOf.MeleeDodgeChance); } else if (!Skill.TotallyDisabled) { HudModel.BuildStatString(this, builder, StatDefOf.WorkSpeedGlobal); HudModel.BuildStatString(this, builder, StatDefOf.GeneralLaborSpeed); builder.AppendLine(); if (Def == SkillDefOf.Construction) { HudModel.BuildStatString(this, builder, StatDefOf.ConstructSuccessChance); HudModel.BuildStatString(this, builder, StatDefOf.ConstructionSpeedFactor); HudModel.BuildStatString(this, builder, StatDefOf.FixBrokenDownBuildingSuccessChance); HudModel.BuildStatString(this, builder, StatDefOf.SmoothingSpeed); } else if (Def == SkillDefOf.Mining) { HudModel.BuildStatString(this, builder, StatDefOf.MiningSpeed); HudModel.BuildStatString(this, builder, StatDefOf.MiningYield); } else if (Def == SkillDefOf.Cooking) { HudModel.BuildStatString(this, builder, CookSpeed); HudModel.BuildStatString(this, builder, StatDefOf.FoodPoisonChance); HudModel.BuildStatString(this, builder, ButcheryFleshSpeed); HudModel.BuildStatString(this, builder, ButcheryFleshEfficiency); HudModel.BuildStatString(this, builder, DrugCookingSpeed); } else if (Def == SkillDefOf.Plants) { HudModel.BuildStatString(this, builder, StatDefOf.PlantWorkSpeed); HudModel.BuildStatString(this, builder, StatDefOf.PlantHarvestYield); } else if (Def == SkillDefOf.Animals) { HudModel.BuildStatString(this, builder, StatDefOf.AnimalGatherSpeed); HudModel.BuildStatString(this, builder, StatDefOf.AnimalGatherYield); HudModel.BuildStatString(this, builder, StatDefOf.TameAnimalChance); HudModel.BuildStatString(this, builder, StatDefOf.TrainAnimalChance); HudModel.BuildStatString(this, builder, StatDefOf.HuntingStealth); } else if (Def == SkillDefOf.Crafting) { HudModel.BuildStatString(this, builder, SmeltingSpeed); HudModel.BuildStatString(this, builder, ButcheryMechanoidSpeed); HudModel.BuildStatString(this, builder, ButcheryMechanoidEfficiency); } else if (Def == SkillDefOf.Artistic) { } else if (Def == SkillDefOf.Medicine) { HudModel.BuildStatString(this, builder, MedicalOperationSpeed); HudModel.BuildStatString(this, builder, StatDefOf.MedicalSurgerySuccessChance); HudModel.BuildStatString(this, builder, StatDefOf.MedicalTendSpeed); HudModel.BuildStatString(this, builder, StatDefOf.MedicalTendQuality); } else if (Def == SkillDefOf.Social) { HudModel.BuildStatString(this, builder, StatDefOf.NegotiationAbility); HudModel.BuildStatString(this, builder, StatDefOf.TradePriceImprovement); HudModel.BuildStatString(this, builder, StatDefOf.SocialImpact); } else if (Def == SkillDefOf.Intellectual) { HudModel.BuildStatString(this, builder, StatDefOf.ResearchSpeedFactor); } } return(builder.Length > 0 ? builder.ToStringTrimmed().Size(Theme.RegularTextStyle.ActualSize) : null); };