public string PrerequisitesTooltip(Hero hero, Estate estate) { StringBuilder sb = ToolTipManager.TipBody; sb.AppendFormat("<color={0}>", DarkestDungeonManager.Data.HexColors["notable"]); sb.Append(LocalizationManager.GetString("upgrade_prerequisite_tooltip_title")); sb.Append("</color>"); string prereqFormat = LocalizationManager.GetString("upgrade_prerequisite_requirement_tooltip_body_format"); for (int i = 0; i < Prerequisites.Count; i++) { if (estate.IsRequirementMet(hero.RosterId, Prerequisites[i])) { sb.AppendFormat("\n<color={0}>", DarkestDungeonManager.Data.HexColors["neutral"]); sb.AppendFormat(prereqFormat, LocalizationManager.GetString( "upgrade_tree_name_" + Prerequisites[i].TreeId), estate.GetUpgradeLevel(Prerequisites[i])); sb.Append("</color>"); } else { sb.AppendFormat("\n<color={0}>", DarkestDungeonManager.Data.HexColors["harmful"]); sb.AppendFormat(prereqFormat, LocalizationManager.GetString( "upgrade_tree_name_" + Prerequisites[i].TreeId), estate.GetUpgradeLevel(Prerequisites[i])); sb.Append("</color>"); } } if (PrerequisiteResolveLevel != 0) { if (hero.Resolve.Level < PrerequisiteResolveLevel) { sb.AppendFormat("\n<color={0}>", DarkestDungeonManager.Data.HexColors["harmful"]); sb.AppendFormat(LocalizationManager.GetString( "upgrade_prerequisite_resolve_level_tooltip_body_format"), PrerequisiteResolveLevel); sb.Append("</color>"); } else { sb.AppendFormat("\n<color={0}>", DarkestDungeonManager.Data.HexColors["neutral"]); sb.AppendFormat(LocalizationManager.GetString( "upgrade_prerequisite_resolve_level_tooltip_body_format"), PrerequisiteResolveLevel); sb.Append("</color>"); } } return(sb.ToString()); }