cseelhoff / RimThreaded

RimThreaded is a RimWorld mod designed to enable RimWorld to utilize multiple threads.
MIT License
119 stars 21 forks source link

[Combat Extended] trader drop pod cannot be destroyed by any means. #691

Open sealvessel opened 2 years ago

sealvessel commented 2 years ago

Describe the bug

When I receive items from a trader, it landed in the middle of an outdoors room. But there is an issue, it simply makes the drop pod landing sound repeatedly, and trying to destroy it with T:Destroy or bombs simply does nothing.

Steps to reproduce the behavior (VERY IMPORTANT)

  1. Install Combat Extended, Rimthreaded
  2. Get some trader items to land in an enclosed outdoors room.
  3. Set thread timeout to 8000.
  4. Error will appear

    Error Logs

    Root level exception in OnGUI(): System.ArgumentNullException: Value cannot be null.
    Parameter name: key
    at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00008] in <eae584ce26bc40229c1b1aa476bfa589>:0 
    at System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0 
    at (wrapper dynamic-method) CombatExtended.Utilities.ThingsTrackingModel.CombatExtended.Utilities.ThingsTrackingModel.RemoveClean_Patch2(CombatExtended.Utilities.ThingsTrackingModel,int)
    at (wrapper dynamic-method) CombatExtended.Utilities.ThingsTrackingModel.CombatExtended.Utilities.ThingsTrackingModel.DeRegister_Patch2(CombatExtended.Utilities.ThingsTrackingModel,Verse.Thing)
    at CombatExtended.Utilities.ThingsTracker.Remove (Verse.Thing thing) [0x00023] in <bbff4e43e45848d5981c3212e8eb8b82>:0 
    at CombatExtended.Utilities.ThingsTracker.Notify_DeSpawned (Verse.Thing thing) [0x00010] in <bbff4e43e45848d5981c3212e8eb8b82>:0 
    at (wrapper dynamic-method) Verse.Thing.Verse.Thing.DeSpawn_Patch3(Verse.Thing,Verse.DestroyMode)
    at Verse.Thing.Destroy (Verse.DestroyMode mode) [0x00069] in <720a4e30fed64864bd8af057c96d4eb5>:0 
    at RimWorld.ActiveDropPod.Destroy (Verse.DestroyMode mode) [0x00020] in <720a4e30fed64864bd8af057c96d4eb5>:0 
    at RimThreaded.GenSpawn_Patch.WipeExistingThings (Verse.IntVec3 thingPos, Verse.Rot4 thingRot, Verse.BuildableDef thingDef, Verse.Map map, Verse.DestroyMode mode) [0x0004e] in <8a67117be3c942638f32f14a203f795d>:0 
    at (wrapper dynamic-method) Verse.GenSpawn.Verse.GenSpawn.WipeExistingThings_Patch1(Verse.IntVec3,Verse.Rot4,Verse.BuildableDef,Verse.Map,Verse.DestroyMode)
    at WhatTheHack.Harmony.GenSpawn_Spawn.Modified_WipeExistingThings (Verse.IntVec3 thingPos, Verse.Rot4 thingRot, Verse.BuildableDef thingDef, Verse.Map map, Verse.DestroyMode mode, Verse.Thing thing) [0x0001d] in <821d499e82dd4b329ebf60af0e0aa703>:0 
    at (wrapper dynamic-method) Verse.GenSpawn.Verse.GenSpawn.Spawn_Patch2(Verse.Thing,Verse.IntVec3,Verse.Map,Verse.Rot4,Verse.WipeMode,bool)
    at RimWorld.Designator_Build.DesignateSingleCell (Verse.IntVec3 c) [0x00098] in <720a4e30fed64864bd8af057c96d4eb5>:0 
    at Verse.Designator.DesignateMultiCell (System.Collections.Generic.IEnumerable`1[T] cells) [0x00041] in <720a4e30fed64864bd8af057c96d4eb5>:0 
    at (wrapper dynamic-method) Verse.DesignatorManager.Verse.DesignatorManager.ProcessInputEvents_Patch3(Verse.DesignatorManager)
    at RimWorld.MapInterface.HandleMapClicks () [0x0000f] in <720a4e30fed64864bd8af057c96d4eb5>:0 
    at RimWorld.UIRoot_Play.UIRootOnGUI () [0x00093] in <720a4e30fed64864bd8af057c96d4eb5>:0 
    at (wrapper dynamic-method) Verse.Root.Verse.Root.OnGUI_Patch1(Verse.Root)
    UnityEngine.StackTraceUtility:ExtractStackTrace ()
    Verse.Log:Error (string)
    (wrapper dynamic-method) Verse.Root:Verse.Root.OnGUI_Patch1 (Verse.Root)

    Player.log

    https://gist.github.com/sealvessel/874be46477d87fae37544038e0108a0b

HugsLib log

https://gist.github.com/795c3facba7e1a37697639e20c323ca9

Save file

Archotesian Empire.txt ^Change format to rws.

Screenshots

image

Mod list (Preferably a RimPy compatible list.)

sealvessel commented 2 years ago

I was able to remove the error by manually destroying the drop pod in the XML of the save file.