The RimWorld 1.4 Mod Nomad Scavanger causes an error that breaks the Assign Manage Outfits menu until you restart the game.
- Use this ModPack https://steamcommunity.com/sharedfiles/filedetails/?id=3174706609
- Start a new colony (singleplayer is fine).
- Tabs at bottom of screen -> Assign -> Manage Outfits -> Select Outfit -> Soldier -> Headgear
- Scroll down a little bit
I noticed that the Nomad Caravan Guard Helmet
seemed to appear before it would crash,
so by commenting out the other hats I discovered the error is related
only to the NS_TechnopathHood
.
Then looking closer, I noticed that the NS_TechopathHood
adds
HackingSpeed +20%. However, as I don't have Ideology DLC installed,
this was causing errors to print to player log on startup too.
The fix for me was to edit the Robes.xml
file and change the
NS_TechnopathHood
section to comment out Hacking:
<!-- <HackingSpeed>0.2</HackingSpeed> -->
If there is a way to add some logic to the XML to only add HackingSpeed if it detects Ideology is available, that might help others.
Steam Workshop user WintersKnight94
has a recent comment on Jan 14th, 2024 suggesting something possibly similar:
Hey, I'm having an issue where none of the headgear displays. it may have
something to do with one of my mods, im not sure, and its not throwing
an error in the log. I'm not expecting a perfect fix, just wondering
if anyone else is having the same issue? maybe we can compare modlists
and figure out the issue?
Exception filling window for RimWorld.Dialog_ManageOutfits: System.NullReferenceException: Object reference not set to an instance of an object
at (wrapper dynamic-method) Verse.ThingDef.Verse.ThingDef.get_DescriptionDetailed_Patch0(Verse.ThingDef)
at Verse.Listing_TreeThingFilter.DoThingDef (Verse.ThingDef tDef, System.Int32 nestLevel, Verse.Map map) [0x000c3] in <d006c28bc811417ea565feda544f6d2b>:0
at Verse.Listing_TreeThingFilter.DoCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 indentLevel, System.Int32 openMask, Verse.Map map, System.Boolean subtreeMatchedSearch) [0x000d1] in <d006c28bc811417ea565feda544f6d2b>:0
at Verse.Listing_TreeThingFilter.DoCategory (Verse.TreeNode_ThingCategory node, System.Int32 indentLevel, System.Int32 openMask, Verse.Map map, System.Boolean subtreeMatchedSearch) [0x000cf] in <d006c28bc811417ea565feda544f6d2b>:0
at Verse.Listing_TreeThingFilter.DoCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 indentLevel, System.Int32 openMask, Verse.Map map, System.Boolean subtreeMatchedSearch) [0x00078] in <d006c28bc811417ea565feda544f6d2b>:0
at Verse.Listing_TreeThingFilter.ListCategoryChildren (Verse.TreeNode_ThingCategory node, System.Int32 openMask, Verse.Map map, UnityEngine.Rect visibleRect) [0x0004a] in <d006c28bc811417ea565feda544f6d2b>:0
at (wrapper dynamic-method) Verse.ThingFilterUI.Verse.ThingFilterUI.DoThingFilterConfigWindow_Patch2(UnityEngine.Rect,Verse.ThingFilterUI/UIState,Verse.ThingFilter,Verse.ThingFilter,int,System.Collections.Generic.IEnumerable`1<Verse.ThingDef>,System.Collections.Generic.IEnumerable`1<Verse.SpecialThingFilterDef>,bool,System.Collections.Generic.List`1<Verse.ThingDef>,Verse.Map)
at (wrapper dynamic-method) RimWorld.Dialog_ManageOutfits.RimWorld.Dialog_ManageOutfits.DoWindowContents_Patch4(RimWorld.Dialog_ManageOutfits,UnityEngine.Rect)
at (wrapper dynamic-method) Verse.Window.Verse.Window.InnerWindowOnGUI_Patch0(Verse.Window,int)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string)
(wrapper dynamic-method) Verse.Window:Verse.Window.InnerWindowOnGUI_Patch0 (Verse.Window,int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Exception filling window for RimWorld.Dialog_ManageOutfits: System.Exception: Thing filter context already set!
at Multiplayer.Client.ThingFilterMarkers.set_DrawnThingFilter (Multiplayer.API.ThingFilterContext value) [0x00016] in <d797d5473e814994b088d005b6f9b57d>:0
at Multiplayer.Client.ThingFilterMarkers.ManageOutfit_Prefix (RimWorld.Dialog_ManageOutfits __instance) [0x0000b] in <d797d5473e814994b088d005b6f9b57d>:0
at (wrapper dynamic-method) RimWorld.Dialog_ManageOutfits.RimWorld.Dialog_ManageOutfits.DoWindowContents_Patch4(RimWorld.Dialog_ManageOutfits,UnityEngine.Rect)
at (wrapper dynamic-method) Verse.Window.Verse.Window.InnerWindowOnGUI_Patch0(Verse.Window,int)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string)
(wrapper dynamic-method) Verse.Window:Verse.Window.InnerWindowOnGUI_Patch0 (Verse.Window,int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Word wrap was false at end of frame.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string)
Verse.Log:ErrorOnce (string,int)
Verse.Text:StartOfOnGUI ()
(wrapper dynamic-method) Verse.UIRoot:Verse.UIRoot.UIRootOnGUI_Patch2 (Verse.UIRoot)
(wrapper dynamic-method) RimWorld.UIRoot_Play:RimWorld.UIRoot_Play.UIRootOnGUI_Patch2 (RimWorld.UIRoot_Play)
(wrapper dynamic-method) Verse.Root:Verse.Root.OnGUI_Patch2 (Verse.Root)
Mouse position stack is not empty. There were more calls to BeginScrollView than EndScrollView. Fixing.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string)
Verse.Widgets:EnsureMousePositionStackEmpty ()
(wrapper dynamic-method) Verse.Root:Verse.Root.Update_Patch1 (Verse.Root)
Verse.Root_Play:Update ()
# this next one one spams like almost 1000 times
Exception filling window for RimWorld.Dialog_ManageOutfits: System.Exception: Thing filter context already set!
at Multiplayer.Client.ThingFilterMarkers.set_DrawnThingFilter (Multiplayer.API.ThingFilterContext value) [0x00016] in <d797d5473e814994b088d005b6f9b57d>:0
at Multiplayer.Client.ThingFilterMarkers.ManageOutfit_Prefix (RimWorld.Dialog_ManageOutfits __instance) [0x0000b] in <d797d5473e814994b088d005b6f9b57d>:0
at (wrapper dynamic-method) RimWorld.Dialog_ManageOutfits.RimWorld.Dialog_ManageOutfits.DoWindowContents_Patch4(RimWorld.Dialog_ManageOutfits,UnityEngine.Rect)
at (wrapper dynamic-method) Verse.Window.Verse.Window.InnerWindowOnGUI_Patch0(Verse.Window,int)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string)
(wrapper dynamic-method) Verse.Window:Verse.Window.InnerWindowOnGUI_Patch0 (Verse.Window,int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)