RimWorld

RimWorld

Underground Vault
 This topic has been pinned, so it's probably important
[Zerg03] MrHydralisk  [developer] Aug 18, 2023 @ 2:28pm
Bugs/Issues
bugs with bugs for bugs
< >
Showing 1-15 of 80 comments
Goldthorn Sep 7, 2023 @ 12:00am 
Had 9 Advanced components down in the vault, when I brought them back up, I think it changed them into normal components, as there was a pile of 9 components on the lift, and there are no longer any advanced components anywhere on pawn or map. Thought it'd be good to mention. I haven't tried to reproduce it yet, and have an extensive mod list. I'll try to see if it can be reproduced, but don't got much time right now.
[Zerg03] MrHydralisk  [developer] Sep 7, 2023 @ 2:38am 
Goldthorn, from the way I wrote code I kinda doubt that can even happen, since it not tinkering with defs. I know there is other mods that convert one item to another on spawn, which could be the case here. Try reproducing it again with current setup. If it will keep happening then try launching game without extra mods and only with main ones and UV, then this will tell us whenever it one of other mods or the case for UV.

Will check later myself too.
Goldthorn Sep 9, 2023 @ 5:54pm 
Wasn't able to reproduce. So, either I just missed something happening, or there was some fluke that probably isn't even common enough to worry about. Thought that might be the case which's why I spared logs and mod lists, etc. Just figured I'd drop word in case others had the same issue at some point and was something that needed figuring out. I wouldn't worry about it, the mod seems to be working quite well, very useful.
[Zerg03] MrHydralisk  [developer] Sep 9, 2023 @ 6:13pm 
Goldthorn, same, I wasn't able to reproduce it back then either. Since I use vanilla methods for spawning and despawning items, so it unlikely that it was this mod issue. So my guess was:
* You have some mode that adjust vanilla spawning methods.
* You have mod like like Medieval Overhaul that have it rules to change one items for other on spawn.
* Some mod adjusted save file.
And additionally to that I was a bit confused why you said that after getting items back from vault they was "on the lift", since after it items from vault reach ground it spawn them outside of Terminal building. So this adv components shouldn't have been on platform, unless some pawn moved them there later.
Dmitriy_Buyvolov Sep 20, 2023 @ 11:33pm 
the mod suddenly get broken in exiting save - ticks to move platform \ add floor \ optimize are frozen, if game unpaused console get this error

Exception ticking UVTerminalStorageXL403686 (at (84, 0, 219)): System.NullReferenceException: Object reference not set to an instance of an object
at UndergroundVault.Building_UVTerminalStorage.AddItemToVault (Verse.Thing thing) [0x0002c] in <70cc29b28ecd43bc8577dc28919711de>:0
at UndergroundVault.Building_UVTerminal.AddItemsToVault (System.Collections.Generic.List`1[T] things) [0x00011] in <70cc29b28ecd43bc8577dc28919711de>:0
at UndergroundVault.Building_UVTerminal.Tick () [0x0009c] in <70cc29b28ecd43bc8577dc28919711de>:0
at Verse.TickList.Tick () [0x0015c] in <95de19971c5d40878d8742747904cdcd>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch3 (string)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager)
Verse.Game/<>c:<LoadGame>b__64_1 ()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished ()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent ()
Verse.LongEventHandler:LongEventsUpdate (bool&)
(wrapper dynamic-method) Verse.Root:Verse.Root.Update_Patch1 (Verse.Root)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)

if i load previous autosaves - it's working, but... in lateslt save or in previous save, if i type anything is search window - there will be no results, search box stop being active, console "shadow" appear, when i select anything instead of vault "shadow" became normal console and this occurs

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_Patch3 (string)
Verse.Widgets:EnsureMousePositionStackEmpty ()
(wrapper dynamic-method) Verse.Root:Verse.Root.Update_Patch1 (Verse.Root)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)

in new game all works fine
and sorry for my english, i'm not very good at it
[Zerg03] MrHydralisk  [developer] Sep 21, 2023 @ 12:39am 
Dmitriy_Buyvolov, No worries, english seems fine. It looks like some items that was moved to the vault become null, aka got destroyed, thus triggering null exception error, which usually tend to break things. It should be an easy fix.

I do wonder what could cause it. Do you remember what items it was suppose to store before it broke? Or maybe you had added/removed some mods, which also could lead to items being removed?

Additionally, since it only breaks in one of saves, then try going into Save Folder and open .rws file with any Notepad. And search in it for "UVTerminalStorageXL403686". Then you will find something like this:
<thing Class="UndergroundVault.Building_UVTerminalStorage"> <def>UVTerminalStorageXL</def> <id>UVTerminalStorageXL403686</id> <map>0</map> ... </thing>
This way we could see what exact was saved that caused issue.
Last edited by [Zerg03] MrHydralisk; Sep 21, 2023 @ 12:40am
Dmitriy_Buyvolov Sep 21, 2023 @ 1:46am 
well... i had some item from altered carbon, that was removed from mod in last update, so... maybe it's it, wil tryl test with previous version of mod. also, when checked stored in vault ( not terminal ) things, found

<li IsNull="True" />

insted of something like

<li Class="ThingWithComps">
(stored item info)
</li>

i'm not 100% sure, but i think it's altered carbon thing, cause... well, they removed "ancient cortical stack", and i'm not found something like that in stored things
there are code from terminal, expecting settings, due it's size

<thing Class="UndergroundVault.Building_UVTerminalStorage">
<def>UVTerminalStorageXL</def>
<id>UVTerminalStorageXL403686</id>
<map>0</map>
<pos>(84, 0, 219)</pos>
<health>2650</health>
<faction>Faction_59</faction>
<questTags IsNull="True" />
<parentThing>Thing_PowerConduit402350</parentThing>
<ARKPPP_wantWireless>False</ARKPPP_wantWireless>
<ARKPPP_wirelessOn>False</ARKPPP_wirelessOn>
<upgradesCached>
<li>Thing_UVUpgradeDeepDrill403999</li>
<li>Thing_UVUpgradePlatformSpeed404476</li>
<li>Thing_UVUpgradeAI476831</li>
<li>Thing_UVUpgradeStorageEfficiency478415</li>
<li>Thing_UVUpgradePlatformSpeed478520</li>
<li>Thing_UVUpgradeStorageEfficiency478688</li>
</upgradesCached>
<PlatformContainer>
<li Class="ThingWithComps">
<def>WoodLog</def>
<id>WoodLog972972</id>
<pos>(85, 0, 219)</pos>
<health>150</health>
<stackCount>65</stackCount>
<questTags IsNull="True" />
<verbTracker>
<verbs IsNull="True" />
</verbTracker>
</li>
<li Class="ThingWithComps">
<def>WoodLog</def>
<id>WoodLog894174</id>
<pos>(85, 0, 219)</pos>
<health>150</health>
<stackCount>75</stackCount>
<questTags IsNull="True" />
<verbTracker>
<verbs IsNull="True" />
</verbTracker>
</li>
<li Class="ThingWithComps">
<def>OE_Mooncloth</def>
<id>OE_Mooncloth935562</id>
<pos>(85, 0, 218)</pos>
<health>150</health>
<stackCount>75</stackCount>
<questTags IsNull="True" />
</li>
<li Class="ThingWithComps">
<def>OE_Mooncloth</def>
<id>OE_Mooncloth972660</id>
<pos>(84, 0, 219)</pos>
<health>150</health>
<stackCount>75</stackCount>
<questTags IsNull="True" />
</li>
<li Class="ThingWithComps">
<def>OE_Mooncloth</def>
<id>OE_Mooncloth972451</id>
<pos>(84, 0, 218)</pos>
<health>150</health>
<stackCount>75</stackCount>
<questTags IsNull="True" />
</li>
<li Class="ThingWithComps">
<def>OE_Mooncloth</def>
<id>OE_Mooncloth974222</id>
<pos>(83, 0, 219)</pos>
<health>150</health>
<stackCount>75</stackCount>
<questTags IsNull="True" />
</li>
</PlatformContainer>
<PlatformSurfaceThings />
<PlatformUndergroundThings />
<uVVaultCached>Thing_UVVaultStorageXL403687</uVVaultCached>
<platformMode>Down</platformMode>
<upgradeLevel>1</upgradeLevel>
(there was settings part)
<storageGroup>null</storageGroup>
</thing>

So... search broken by "null" stored item ( i guess ), it's safe to just delete this from stored items code? I checked save where terminal "working". well, it seems to work, but when it places thing into vault ( ticks \ work reach 0 ) it starts throwing error ( stored vanilla wooden logs )
[Zerg03] MrHydralisk  [developer] Sep 21, 2023 @ 5:45am 
Ye, it quite helpful. If I wouldn't get busy irl, then will try to fix it today. I did considered things becoming deleted/null for PlatformSurfaceThings and PlatformUndergroundThings, but just totally forgot about PlatformContainer. So that's why when other mod removed item it got this issue.
[Zerg03] MrHydralisk  [developer] Sep 21, 2023 @ 6:22am 
Dmitriy_Buyvolov, should be working without issues now. I was able to reproduce it and new 1.3.3 ver now able to solve null reference, if some other mod content was deleted.
Anrock Oct 29, 2023 @ 5:57am 
Found a funny glitch
1. Build a vault
2. Order construction of some upgrade for it
3. Wait until a pawn comes and starts building the upgrade
4. Click "Store items" in a vault.
5. Along items that you have on a platform there also will be "Mote" with sparkly ball icon in the list.

I haven't tried storing this mote thing in fear something will break. Maybe it's just graphical glitch.
[Zerg03] MrHydralisk  [developer] Oct 30, 2023 @ 3:48am 
Anrock, seems like it counted as item smh, shouldn't be gamebreaking at least even if you accidentally put it in Vault. But ye, funny to see.
Last edited by [Zerg03] MrHydralisk; Oct 30, 2023 @ 4:25am
WhisperRain Nov 6, 2023 @ 5:07am 
Hello sir! i just loaded save from like 10 hrs ago and errors started to pop up:

Exception ticking UVTerminalStorageXL5859377 (at (174, 0, 160)): System.ArgumentNullException: Value cannot be null.
Parameter name: collection
at System.ThrowHelper.ThrowArgumentNullException (System.ExceptionArgument argument) [0x00006] in <eae584ce26bc40229c1b1aa476bfa589>:0
at System.Collections.Generic.List`1[T].InsertRange (System.Int32 index, System.Collections.Generic.IEnumerable`1[T] collection) [0x00003] in <eae584ce26bc40229c1b1aa476bfa589>:0
at System.Collections.Generic.List`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] collection) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0
at UndergroundVault.Building_UVTerminal.get_AvailableThings () [0x00039] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.CostLeftForConstruction (System.Collections.Generic.List`1[T] costList) [0x0002e] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.get_CostLeftUpgradeFloorVault () [0x00035] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.get_isCostDoneUpgradeFloorVault () [0x00000] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.Tick () [0x0009b] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at Verse.TickList.Tick () [0x0015c] in <cd7169108ea74757aa50c5b33d275c15>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch0 (Verse.Root_Play)

And

Mech_Lifter94484 threw exception in WorkGiver DeliverExpandUVTerminal: System.ArgumentNullException: Value cannot be null.
Parameter name: collection
at System.ThrowHelper.ThrowArgumentNullException (System.ExceptionArgument argument) [0x00006] in <eae584ce26bc40229c1b1aa476bfa589>:0
at System.Collections.Generic.List`1[T].InsertRange (System.Int32 index, System.Collections.Generic.IEnumerable`1[T] collection) [0x00003] in <eae584ce26bc40229c1b1aa476bfa589>:0
at System.Collections.Generic.List`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] collection) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0
at UndergroundVault.Building_UVTerminal.get_AvailableThings () [0x00039] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.CostLeftForConstruction (System.Collections.Generic.List`1[T] costList) [0x0002e] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.get_CostLeftUpgradeFloorVault () [0x00035] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.Building_UVTerminal.get_isCostDoneUpgradeFloorVault () [0x00000] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at UndergroundVault.WorkGiver_DeliverExpandUVTerminal.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x00034] in <21b497fdc81c4a06a8ff84b90870a9c9>:0
at RimWorld.JobGiver_Work+<>c__DisplayClass3_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00013] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest+<>c__DisplayClass2_0.<ClosestThingReachable>b__0 (Verse.Thing t) [0x00034] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest.<ClosestThing_Global>g__Process|5_0 (Verse.Thing t, Verse.GenClosest+<>c__DisplayClass5_0& ) [0x00047] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest.ClosestThing_Global (Verse.IntVec3 center, System.Collections.IEnumerable searchSet, System.Single maxDistance, System.Predicate`1[T] validator, System.Func`2[T,TResult] priorityGetter) [0x00125] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest.ClosestThingReachable (Verse.IntVec3 root, Verse.Map map, Verse.ThingRequest thingReq, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator, System.Collections.Generic.IEnumerable`1[T] customGlobalSearchSet, System.Int32 searchRegionsMin, System.Int32 searchRegionsMax, System.Boolean forceAllowGlobalSearch, Verse.RegionType traversableRegionTypes, System.Boolean ignoreEntirelyForbiddenRegions) [0x0014c] in <cd7169108ea74757aa50c5b33d275c15>:0
at (wrapper dynamic-method) RimWorld.JobGiver_Work.RimWorld.JobGiver_Work.TryIssueJobPackage_Patch2(RimWorld.JobGiver_Work,Verse.Pawn,Verse.AI.JobIssueParams)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string)
(wrapper dynamic-method) RimWorld.JobGiver_Work:RimWorld.JobGiver_Work.TryIssueJobPackage_Patch2 (RimWorld.JobGiver_Work,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Conditional:Verse.AI.ThinkNode_Conditional.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Conditional,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Conditional:Verse.AI.ThinkNode_Conditional.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Conditional,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Conditional:Verse.AI.ThinkNode_Conditional.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Conditional,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch1 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch1 (Verse.Pawn)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch0 (Verse.Root_Play)

And cannot store anything in or out.
idk if its reported and in your hotfix list, but just in case
WhisperRain Nov 6, 2023 @ 5:11am 
Upgraded was queued, and removing and rebuilding the terminal got rid of the error log, and made it unstuck. perhaps it was the upgrade causing the issue?
[Zerg03] MrHydralisk  [developer] Nov 6, 2023 @ 5:20am 
WhisperRain, it fixed with latest update 1.4.2.1, so just update the mod.
[Zerg03] MrHydralisk  [developer] Nov 6, 2023 @ 5:22am 
Dmitriy_Buyvolov, when you will try to open tab for stored items it will clean all null ones, so no reason to get bothered yourself.
< >
Showing 1-15 of 80 comments
Per page: 1530 50