public string CustomDescriptionString(string baseDescription) { StringBuilder builder = new StringBuilder(baseDescription); builder.AppendLine(); builder.AppendLine(); if (sourceName != null) { builder.AppendLine("QE_GenomeSequencerDescription_Name".Translate() + ": " + sourceName); } if (kindDef?.race != null) { builder.AppendLine("QE_GenomeSequencerDescription_Race".Translate() + ": " + kindDef.race.LabelCap); } if (backStoryChild != null) { builder.AppendLine("QE_BrainScanDescription_BackshortChild".Translate() + ": " + backStoryChild.title.CapitalizeFirst()); } if (backStoryAdult != null) { builder.AppendLine("QE_BrainScanDescription_BackshortAdult".Translate() + ": " + backStoryAdult.title.CapitalizeFirst()); } //Skills if (!isAnimal && skills.Count > 0) { builder.AppendLine("QE_BrainScanDescription_Skills".Translate()); foreach (ComparableSkillRecord skill in skills.OrderBy(skillRecord => skillRecord.def.index)) { builder.AppendLine(skill.ToString()); } } if (isAnimal) { builder.AppendLine("QE_BrainScanDescription_Training".Translate()); foreach (var training in trainingSteps.OrderBy(trainingPair => trainingPair.Key.index)) { builder.AppendLine(" " + training.Key.LabelCap + ": " + training.Value); } } //Hediffs HediffInfo.GenerateDescForHediffList(ref builder, hediffInfos); return(builder.ToString().TrimEndNewlines()); }
/// <summary> /// This helper function appends the data stored in the genome sequence to the item description in-game. /// </summary> public string CustomDescriptionString(string baseDescription) { StringBuilder builder = new StringBuilder(); if (IsValidTemplate()) { builder.AppendLine(baseDescription); builder.AppendLine(); builder.AppendLine(); builder.AppendLine("QE_GenomeSequencerDescription_Name".Translate() + ": " + sourceName); builder.AppendLine("QE_GenomeSequencerDescription_Race".Translate() + ": " + pawnKindDef.race.LabelCap); builder.AppendLine("QE_GenomeSequencerDescription_Gender".Translate() + ": " + GenderUtility.GetLabel(gender, pawnKindDef.race.race.Animal).CapitalizeFirst()); if (hair != null && hair.texPath != null) { builder.AppendLine("QE_GenomeSequencerDescription_Hair".Translate() + ": " + hair.ToString()); } //Traits if (traits.Count > 0) { builder.AppendLine("QE_GenomeSequencerDescription_Traits".Translate()); foreach (ExposedTraitEntry traitEntry in traits) { builder.AppendLine(" " + traitEntry.def.DataAtDegree(traitEntry.degree).label.CapitalizeFirst()); } } //Hediffs HediffInfo.GenerateDescForHediffList(ref builder, hediffInfos); } else { builder.AppendLine("QE_BlankGenomeTemplateDescription".Translate()); } return(builder.ToString().TrimEndNewlines()); }