SonicTHI / SaveOurShip2Experimental

Experimental branch of Save Our Ship 2
Other
231 stars 86 forks source link

Weird interaction with quest generation & Apparel_SpaceSuitBody #43

Closed twstagg closed 7 months ago

twstagg commented 1 year ago
Cannot get AdjustedCostList for Apparel_SpaceSuitBody with null Stuff.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch6 (string)
(wrapper dynamic-method) RimWorld.CostListCalculator:RimWorld.CostListCalculator.CostListAdjusted_Patch1 (Verse.BuildableDef,Verse.ThingDef,bool)
RimWorld.CostListCalculator:CostListAdjusted (Verse.Thing)
RimWorld.PlayerItemAccessibilityUtility:CacheAccessibleThings (int)
RimWorld.PlayerItemAccessibilityUtility:Accessible (Verse.ThingDef,int,Verse.Map)
RimWorld.QuestGen.QuestNode_Root_Beggars/<>c__DisplayClass12_0:<TryFindRandomRequestedThing>b__0 (Verse.ThingDef)
RimWorld.QuestGen.QuestNode_Root_Beggars/<>c__DisplayClass12_0:<TryFindRandomRequestedThing>b__1 (Verse.ThingDef)
System.Linq.Enumerable/WhereEnumerableIterator`1<Verse.ThingDef>:ToList ()
System.Linq.Enumerable:ToList<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>)
Verse.GenCollection:TryRandomElement<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>,Verse.ThingDef&)
RimWorld.QuestGen.QuestNode_Root_Beggars:TryFindRandomRequestedThing (Verse.Map,single,Verse.ThingDef&,int&,System.Collections.Generic.IEnumerable`1<Verse.ThingDef>)
RimWorld.QuestGen.QuestNode_Root_Beggars:TestRunInt (RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestGen.QuestNode:RimWorld.QuestGen.QuestNode.TestRun_Patch0 (RimWorld.QuestGen.QuestNode,RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestScriptDef:RimWorld.QuestScriptDef.CanRun_Patch0 (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate)
RimWorld.QuestScriptDef:CanRun (single)
RimWorld.IncidentWorker_GiveQuest:CanFireNowSub (RimWorld.IncidentParms)
(wrapper dynamic-method) RimWorld.IncidentWorker:RimWorld.IncidentWorker.CanFireNow_Patch2 (RimWorld.IncidentWorker,RimWorld.IncidentParms)
RimWorld.StorytellerComp_OnOffCycle:GenerateIncident (RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_OnOffCycle/<MakeIntervalIncidents>d__2:MoveNext ()
RimWorld.Storyteller/<MakeIncidentsForInterval>d__23:MoveNext ()
RimWorld.Storyteller/<MakeIncidentsForInterval>d__22:MoveNext ()
RimWorld.Storyteller:StorytellerTick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch9 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch6 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch0 (Verse.Root_Play)

In this instance, none of the kids had a space suit, so i'm unsure what's going on here:

image

twstagg commented 1 year ago

This happened with another kind of quest:

Cannot get AdjustedCostList for Apparel_SpaceSuitBody with null Stuff.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch6 (string)
(wrapper dynamic-method) RimWorld.CostListCalculator:RimWorld.CostListCalculator.CostListAdjusted_Patch1 (Verse.BuildableDef,Verse.ThingDef,bool)
RimWorld.CostListCalculator:CostListAdjusted (Verse.Thing)
RimWorld.PlayerItemAccessibilityUtility:CacheAccessibleThings (int)
RimWorld.PlayerItemAccessibilityUtility:Accessible (Verse.ThingDef,int,Verse.Map)
RimWorld.PlayerItemAccessibilityUtility:PossiblyAccessible (Verse.ThingDef,int,Verse.Map)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing/<>c__DisplayClass4_0:<TryFindRandomRequestedThingDef>b__0 (Verse.ThingDef)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing/<>c__DisplayClass4_0:<TryFindRandomRequestedThingDef>b__1 (Verse.ThingDef)
System.Linq.Enumerable/WhereListIterator`1<Verse.ThingDef>:ToList ()
System.Linq.Enumerable:ToList<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>)
Verse.GenCollection:TryRandomElement<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>,Verse.ThingDef&)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing:TryFindRandomRequestedThingDef (Verse.Map,Verse.ThingDef&,int&,System.Collections.Generic.List`1<Verse.ThingDef>)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing:TestRunInt (RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestGen.QuestNode:RimWorld.QuestGen.QuestNode.TestRun_Patch0 (RimWorld.QuestGen.QuestNode,RimWorld.QuestGen.Slate)
RimWorld.QuestGen.QuestNode_Sequence:TestRunInt (RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestGen.QuestNode:RimWorld.QuestGen.QuestNode.TestRun_Patch0 (RimWorld.QuestGen.QuestNode,RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestScriptDef:RimWorld.QuestScriptDef.CanRun_Patch0 (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate)
RimWorld.QuestScriptDef:CanRun (single)
RimWorld.NaturalRandomQuestChooser/<>c__DisplayClass1_1:<ChooseNaturalRandomQuest>b__1 (RimWorld.QuestScriptDef)
System.Linq.Enumerable/WhereListIterator`1<RimWorld.QuestScriptDef>:MoveNext ()
Verse.GenCollection:TryRandomElementByWeight<RimWorld.QuestScriptDef> (System.Collections.Generic.IEnumerable`1<RimWorld.QuestScriptDef>,System.Func`2<RimWorld.QuestScriptDef, single>,RimWorld.QuestScriptDef&)
RimWorld.NaturalRandomQuestChooser/<>c__DisplayClass1_0:<ChooseNaturalRandomQuest>g__TryGetQuest|0 (bool,RimWorld.QuestScriptDef&)
RimWorld.NaturalRandomQuestChooser:ChooseNaturalRandomQuest (single,RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_RandomQuest:GenerateParms (RimWorld.IncidentCategoryDef,RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_OnOffCycle:GenerateIncident (RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_OnOffCycle/<MakeIntervalIncidents>d__2:MoveNext ()
RimWorld.Storyteller/<MakeIncidentsForInterval>d__23:MoveNext ()
RimWorld.Storyteller/<MakeIncidentsForInterval>d__22:MoveNext ()
RimWorld.Storyteller:StorytellerTick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch11 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch6 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch2 (Verse.Root_Play)

image

twstagg commented 1 year ago
Cannot get AdjustedCostList for Apparel_SpaceSuitBody with null Stuff.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch6 (string)
(wrapper dynamic-method) RimWorld.CostListCalculator:RimWorld.CostListCalculator.CostListAdjusted_Patch1 (Verse.BuildableDef,Verse.ThingDef,bool)
RimWorld.CostListCalculator:CostListAdjusted (Verse.Thing)
RimWorld.PlayerItemAccessibilityUtility:CacheAccessibleThings (int)
RimWorld.PlayerItemAccessibilityUtility:Accessible (Verse.ThingDef,int,Verse.Map)
RimWorld.PlayerItemAccessibilityUtility:PossiblyAccessible (Verse.ThingDef,int,Verse.Map)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing/<>c__DisplayClass4_0:<TryFindRandomRequestedThingDef>b__0 (Verse.ThingDef)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing/<>c__DisplayClass4_0:<TryFindRandomRequestedThingDef>b__1 (Verse.ThingDef)
System.Linq.Enumerable/WhereListIterator`1<Verse.ThingDef>:ToList ()
System.Linq.Enumerable:ToList<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>)
Verse.GenCollection:TryRandomElement<Verse.ThingDef> (System.Collections.Generic.IEnumerable`1<Verse.ThingDef>,Verse.ThingDef&)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing:TryFindRandomRequestedThingDef (Verse.Map,Verse.ThingDef&,int&,System.Collections.Generic.List`1<Verse.ThingDef>)
RimWorld.QuestGen.QuestNode_TradeRequest_GetRequestedThing:TestRunInt (RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestGen.QuestNode:RimWorld.QuestGen.QuestNode.TestRun_Patch0 (RimWorld.QuestGen.QuestNode,RimWorld.QuestGen.Slate)
RimWorld.QuestGen.QuestNode_Sequence:TestRunInt (RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestGen.QuestNode:RimWorld.QuestGen.QuestNode.TestRun_Patch0 (RimWorld.QuestGen.QuestNode,RimWorld.QuestGen.Slate)
(wrapper dynamic-method) RimWorld.QuestScriptDef:RimWorld.QuestScriptDef.CanRun_Patch0 (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate)
RimWorld.QuestScriptDef:CanRun (single)
RimWorld.NaturalRandomQuestChooser/<>c__DisplayClass1_1:<ChooseNaturalRandomQuest>b__1 (RimWorld.QuestScriptDef)
System.Linq.Enumerable/WhereListIterator`1<RimWorld.QuestScriptDef>:MoveNext ()
Verse.GenCollection:TryRandomElementByWeight<RimWorld.QuestScriptDef> (System.Collections.Generic.IEnumerable`1<RimWorld.QuestScriptDef>,System.Func`2<RimWorld.QuestScriptDef, single>,RimWorld.QuestScriptDef&)
RimWorld.NaturalRandomQuestChooser/<>c__DisplayClass1_0:<ChooseNaturalRandomQuest>g__TryGetQuest|0 (bool,RimWorld.QuestScriptDef&)
RimWorld.NaturalRandomQuestChooser:ChooseNaturalRandomQuest (single,RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_RandomQuest:GenerateParms (RimWorld.IncidentCategoryDef,RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_OnOffCycle:GenerateIncident (RimWorld.IIncidentTarget)
RimWorld.StorytellerComp_OnOffCycle/<MakeIntervalIncidents>d__2:MoveNext ()
RimWorld.Storyteller/<MakeIncidentsForInterval>d__23:MoveNext ()
RimWorld.Storyteller/<MakeIncidentsForInterval>d__22:MoveNext ()
RimWorld.Storyteller:StorytellerTick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch9 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch6 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch0 (Verse.Root_Play)

image