OrionFive / Hospitality

Orion's "Hospitality" and more
https://www.patreon.com/orionmods
GNU General Public License v3.0
91 stars 52 forks source link

Error when getting quests #665

Closed Haigens closed 2 years ago

Haigens commented 2 years ago

Describe the bug When generating a quest, an error occurs due to which it is impossible to understand what kind of quest was issued. Also, when accepting a quest, it does not start. When viewing the log, I could understand that the quest is from this mod

To Reproduce Steps to reproduce the behavior: Just waiting quest

Console log https://gist.github.com/50999af620173d532653ac437aa254f2

Error stacktrace The error has extra information that is not included in the log. Please select it in the console and copy the whole error message. Exception running QuestNode_Root_Hospitality_Refugee: System.NullReferenceException: Object reference not set to an instance of an object at RimWorld.ChildRelationUtility.GetMelanin (Verse.Pawn pawn, System.Nullable1[T] request) [0x0001c] in <cdbd0ed5089a418da09b9a259f9dbd8f>:0 at (wrapper dynamic-method) RimWorld.ChildRelationUtility.RimWorld.ChildRelationUtility.ChanceOfBecomingChildOf_Patch1(Verse.Pawn,Verse.Pawn,Verse.Pawn,System.Nullable1,System.Nullable1<Verse.PawnGenerationRequest>,System.Nullable1) at (wrapper dynamic-method) RimWorld.PawnRelationWorker_Sibling.RimWorld.PawnRelationWorker_Sibling.GenerationChance_Patch1(RimWorld.PawnRelationWorker_Sibling,Verse.Pawn,Verse.Pawn,Verse.PawnGenerationRequest) at Verse.PawnGenerator+<>c__DisplayClass38_0.b__1 (Verse.Pair2[T1,T2] x) [0x00025] in <cdbd0ed5089a418da09b9a259f9dbd8f>:0 at Verse.GenCollection.RandomElementByWeightWithDefault[T] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] weightSelector, System.Single defaultValueWeight) [0x0002f] in <cdbd0ed5089a418da09b9a259f9dbd8f>:0 at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GeneratePawnRelations_Patch2(Verse.Pawn,Verse.PawnGenerationRequest&) at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.TryGenerateNewPawnInternal_Patch4(Verse.PawnGenerationRequest&,string&,bool,bool) at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GenerateNewPawnInternal_Patch1(Verse.PawnGenerationRequest&) at Verse.PawnGenerator.GenerateOrRedressPawnInternal (Verse.PawnGenerationRequest request) [0x00183] in <cdbd0ed5089a418da09b9a259f9dbd8f>:0 at (wrapper dynamic-method) Verse.PawnGenerator.Verse.PawnGenerator.GeneratePawn_Patch4(Verse.PawnGenerationRequest) at (wrapper dynamic-method) RimWorld.QuestGen.QuestGen_Pawns.RimWorld.QuestGen.QuestGen_Pawns.GeneratePawn_Patch1(RimWorld.Quest,Verse.PawnKindDef,RimWorld.Faction,bool,System.Collections.Generic.IEnumerable1,single,bool,Verse.Pawn,single,single,bool,bool) at RimWorld.QuestGen.QuestNode_Root_Hospitality_Refugee.RunInt () [0x0022e] in :0 at RimWorld.QuestGen.QuestNode.Run () [0x00015] in :0

Slate vars: inSignal=Quest46.Initiate points=795.9291 UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string) RimWorld.QuestGen.QuestNode:Run () RimWorld.QuestScriptDef:Run () (wrapper dynamic-method) RimWorld.QuestGen.QuestGen:RimWorld.QuestGen.QuestGen.Generate_Patch1 (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate) RimWorld.QuestUtility:GenerateQuestAndMakeAvailable (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate) RimWorld.QuestUtility:GenerateQuestAndMakeAvailable (RimWorld.QuestScriptDef,single) RimWorld.IncidentWorker_GiveQuest:GiveQuest (RimWorld.IncidentParms,RimWorld.QuestScriptDef) RimWorld.IncidentWorker_GiveQuest:TryExecuteWorker (RimWorld.IncidentParms) (wrapper dynamic-method) RimWorld.IncidentWorker:RimWorld.IncidentWorker.TryExecute_Patch5 (RimWorld.IncidentWorker,RimWorld.IncidentParms) (wrapper dynamic-method) RimWorld.Storyteller:RimWorld.Storyteller.TryFire_Patch1 (RimWorld.Storyteller,RimWorld.FiringIncident) RimWorld.Storyteller:StorytellerTick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch6 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch3 (Verse.Game) Verse.Root_Play:Update ()

Grammar unresolvable. Root 'questName'

GRAMMAR RESOLUTION TRACE questName → UNRESOLVABLE

CUSTOM RULES ■questName → [lodgerAdj] [asker_nameDef] ■questName → [lodgerAdjFem] [asker_nameDef] ■questName → [lodgerAdj] [lodgerSingle] ■questName → [lodgerAdjFem] [lodgerSingleFem] ■questName → [lodgerAdjPlural] [lodgerPlural] ■questName → [asker_nameDef] и [lodgerAdjPlural] [lodgerPlural] ■questName → [asker_nameDef] и [lodgerPlural] ■lodgerAdj → уставший ■lodgerAdj → потерянный ■lodgerAdj → несчастный ■lodgerAdj → бедный ■lodgerAdj → отчаянный ■lodgerAdj → печальный ■lodgerAdj → потрёпанный ■lodgerAdj → отчаявшийся ■lodgerAdj → неизвестный ■lodgerAdj → одинокий ■lodgerAdj → забытый ■lodgerAdjFem → уставшая ■lodgerAdjFem → потерянная ■lodgerAdjFem → несчастная ■lodgerAdjFem → бедная ■lodgerAdjFem → отчаянная ■lodgerAdjFem → печальная ■lodgerAdjFem → потрёпанная ■lodgerAdjFem → безнадёжная ■lodgerAdjFem → неизвестная ■lodgerAdjFem → одинокая ■lodgerAdjFem → забытый ■lodgerAdjPlural → уставшие ■lodgerAdjPlural → потерянные ■lodgerAdjPlural → несчастные ■lodgerAdjPlural → бедные ■lodgerAdjPlural → отчаянные ■lodgerAdjPlural → печальные ■lodgerAdjPlural → потрёпанные ■lodgerAdjPlural → отчаявшиеся ■lodgerAdjPlural → неизвестные ■lodgerAdjPlural → одинокие ■lodgerAdjPlural → забытые ■lodgerSingle → странник ■lodgerSingle → беженец ■lodgerSingle → бродяга ■lodgerSingle → выживший ■lodgerSingle → кочевник ■lodgerSingle → оборванец ■lodgerSingleFem → странница ■lodgerSingleFem → беженка ■lodgerSingleFem → бродяга ■lodgerSingleFem → выжившая ■lodgerSingleFem → кочевница ■lodgerSingleFem → оборванка ■lodgerPlural → странники ■lodgerPlural → беженцы ■lodgerPlural → бродяги ■lodgerPlural → выжившие ■lodgerPlural → кочевники ■lodgerPlural → оборванцы ■lodgerSingle → беженец ■lodgersLabel → беженец ■lodgersLabel → беженка ■lodgersLabelPlural → беженцы ■lodgersLabelGen → беженца ■lodgersLabelGen → беженки ■lodgersLabelPluralGen → беженцев ■lodgersLabelAcc → беженца ■lodgersLabelAcc → беженку ■lodgersLabelPluralAcc → беженцев

UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string) Verse.Log:ErrorOnce (string,int) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,bool&,string,bool,bool,System.Collections.Generic.List1<string>,System.Collections.Generic.List1,bool) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,string,bool,bool,System.Collections.Generic.List1<string>,System.Collections.Generic.List1,bool) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,bool&,string,bool,bool,System.Collections.Generic.List1<string>,System.Collections.Generic.List1,bool) Verse.Grammar.GrammarResolver:Resolve (string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List1<string>,System.Collections.Generic.List1,bool) RimWorld.NameGenerator:GenerateName (Verse.Grammar.GrammarRequest,System.Predicate`1,bool,string,string) RimWorld.QuestGen.QuestNode_ResolveQuestName:GenerateName () RimWorld.QuestGen.QuestNode_ResolveQuestName:Resolve () (wrapper dynamic-method) RimWorld.QuestGen.QuestGen:RimWorld.QuestGen.QuestGen.Generate_Patch1 (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate) RimWorld.QuestUtility:GenerateQuestAndMakeAvailable (RimWorld.QuestScriptDef,RimWorld.QuestGen.Slate) RimWorld.QuestUtility:GenerateQuestAndMakeAvailable (RimWorld.QuestScriptDef,single) RimWorld.IncidentWorker_GiveQuest:GiveQuest (RimWorld.IncidentParms,RimWorld.QuestScriptDef) RimWorld.IncidentWorker_GiveQuest:TryExecuteWorker (RimWorld.IncidentParms) (wrapper dynamic-method) RimWorld.IncidentWorker:RimWorld.IncidentWorker.TryExecute_Patch5 (RimWorld.IncidentWorker,RimWorld.IncidentParms) (wrapper dynamic-method) RimWorld.Storyteller:RimWorld.Storyteller.TryFire_Patch1 (RimWorld.Storyteller,RimWorld.FiringIncident) RimWorld.Storyteller:StorytellerTick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch6 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch3 (Verse.Game) Verse.Root_Play:Update ()

Paste it here

OrionFive commented 2 years ago

I can see how that is misleading. But this is actually from the vanilla refugee quest in RImWorld (which is internally called "Hospitality"). Worse still, I have no idea what's going wrong there. My best bet is that it's Psychology (and or more mods), since it patches the method where it goes wrong.