diff --git a/1.4/Assemblies/Numbers.dll b/1.4/Assemblies/Numbers.dll
index 2d5a821..0dccac1 100644
Binary files a/1.4/Assemblies/Numbers.dll and b/1.4/Assemblies/Numbers.dll differ
diff --git a/1.4/Defs/PawnColumnDef/PawnColumns_Numbers.xml b/1.4/Defs/PawnColumnDef/PawnColumns_Numbers.xml
index 8b6da03..1dfa73f 100644
--- a/1.4/Defs/PawnColumnDef/PawnColumns_Numbers.xml
+++ b/1.4/Defs/PawnColumnDef/PawnColumns_Numbers.xml
@@ -342,6 +342,18 @@
200
+
+
+ Numbers_Certainty
+ Numbers.PawnColumnWorker_Certainty
+ true
+ Ideology certainty level
+
+
+
+
+ 120
+
Numbers_Strip
diff --git a/1.4/Defs/PawnColumnOptionDef/Numbers_PawnColumnOptionDef.xml b/1.4/Defs/PawnColumnOptionDef/Numbers_PawnColumnOptionDef.xml
index 6addce9..35649c4 100644
--- a/1.4/Defs/PawnColumnOptionDef/Numbers_PawnColumnOptionDef.xml
+++ b/1.4/Defs/PawnColumnOptionDef/Numbers_PawnColumnOptionDef.xml
@@ -22,6 +22,7 @@
Numbers_HediffBadList
Numbers_InventoryDropAll
Numbers_Ideology
+ Numbers_Certainty
Numbers_Xenogenes
Numbers_Endogenes
Numbers_GenesRegrowTime
diff --git a/Numbers/PawnColumnWorkers/PawnColumnWorker_Certainty.cs b/Numbers/PawnColumnWorkers/PawnColumnWorker_Certainty.cs
new file mode 100644
index 0000000..bb1327c
--- /dev/null
+++ b/Numbers/PawnColumnWorkers/PawnColumnWorker_Certainty.cs
@@ -0,0 +1,44 @@
+using System.Linq;
+
+namespace Numbers
+{
+ using RimWorld;
+ using UnityEngine;
+ using Verse;
+
+ public class PawnColumnWorker_Certainty : PawnColumnWorker
+ {
+ private static readonly Texture2D BarFullTexHor = SolidColorMaterials.NewSolidColorTexture(GenUI.FillableBar_Green);
+
+ public override void DoCell(Rect rect, Pawn pawn, PawnTable table)
+ {
+ if (pawn?.Ideo == null) return;
+
+ // SocialCardUtility.DrawPawnCertainty(pawn, rect);
+ var iconRect = new Rect(rect.x, rect.y + rect.height / 2 - 16, 32, 32);
+ pawn.Ideo.DrawIcon(iconRect);
+
+ var barRect = new Rect(rect.x + 32, rect.y + 2, rect.width - 32, rect.height - 4);
+ Widgets.FillableBar(barRect, pawn.ideo.Certainty, BarFullTexHor);
+
+ Text.Anchor = TextAnchor.MiddleCenter;
+ Widgets.Label(barRect, pawn.Ideo.name.Truncate(barRect.width));
+ Text.Anchor = TextAnchor.UpperLeft;
+
+ if (Mouse.IsOver(rect))
+ {
+ Widgets.DrawHighlight(rect);
+ // IdeoUIUtility.DrawIdeoPlate(rect, pawn.Ideo, pawn);
+ var taggedString1 = (TaggedString)pawn.Ideo.name.Colorize(ColoredText.TipSectionTitleColor);
+ taggedString1 += "\n" + "Certainty".Translate().CapitalizeFirst() + ": " + pawn.ideo.Certainty.ToStringPercent();
+ if (pawn.ideo.PreviousIdeos.Any())
+ taggedString1 += "\n\n" + "Formerly".Translate().CapitalizeFirst() + ": \n" + pawn.ideo.PreviousIdeos.Select(x => x.name).ToLineList(" - ");
+ TooltipHandler.TipRegion(rect, (TipSignal)taggedString1.Resolve());
+ }
+ }
+
+ public override int GetMinWidth(PawnTable table) => Mathf.Max(base.GetMinWidth(table), 120);
+
+ public override int Compare(Pawn a, Pawn b) => (a.ideo?.Certainty ?? 0).CompareTo(b.ideo?.Certainty ?? 0);
+ }
+}
\ No newline at end of file