RimWorld

RimWorld

SpeakUp
 This topic has been pinned, so it's probably important
Sergio di Napoli  [developer] Sep 10, 2021 @ 5:58pm
BugHunter's reporting guide
Welcome to BugHunter's reporting guide!
So you found a dirty bug and want to tell me all about it, right?
Well... let's do this the right way, shall we? Or I won't be able to help or even consider your report.
Please don't make me ignore you — I'd deeply hate that!

So we must report this bug of ours in the right way. Right. But how?
Well, let's start by organizing this vermin in Small Bugs, Medium Bugs and Large Bugs.

Small Bugs
These are easily done with, you just report them to me and I can take care of them personally and generally in a short time.

1) A typo, you say?
Easiest thing! I'll fix it in no time! Same thing if it's an English (or other language) related mistake.

2) Maybe a weird dialogue?
"Hey, it's raining dude!"
"Well, but I ate no meat yesterday — that sucks!"

So this dialogue makes no sense, and it should be fixed. Also, you might find unexpected dialogues that do not mirror a pawn's traits or current state. Some of them are known issues or can't be helped at the moment, but others may be actual small bugs.

Since it most probably is an XML issue, this kind of bug tends to be easily eliminated.

Medium Bugs
If nothing above applies, then we're getting into something larger. We must start being more careful. So first of all...

wait...!

Some... something has got in my eye... damn mod...
Argh! A slimy tentacled mod has caught my legs, what the...!

... !!! ... @#*#@£ !!!

Phew! Ok... got rid of them. Finally!

Hey, pal — it's difficult to do a damn thing with all these mods in the way!

Tons of mods means tons of chaos. Before anything, try taking away all the unnecessary mods or at least as many mods as possible (starting with those you think might be the cause). Then load your last autosave and see if the bug happens again.

Golden hint: the best situation is when no other unnecessary mod is involved. Bugs just love (and are very skilled in) hiding in large mod jungles!

If you find out which mod forces the bug to show up, then we're facing a mod incompatibiliy. Report this, who knows I can cooperate with the other mod's creator to try to fix it? I can't guarantee anything here, but — hey! Let's give this a shot...

Oh, wait... looks like there's a Medium Bug here... what's... what's this?!
"ERR: Name" — "Grammar unresolvable" — hey what's this junk!?
This means the pawn tried to speak something, but no line came up. All the available line options were, in fact, unavailable for some reason. This case may not be easy, but it generally is.
You must provide the exact context of dialogue, that is, the line that led to the ERR: line — this alone should be enough for me to kill the bug.
Sometimes the XML is in fact fine, and this implies that the Medium Bug is actually turning into a larger, scarier one.

Large Bugs
None of the options above match our case? Then we've got a Large Bug — one of the scary kind. Since these are generally C# related, I can't fight them.

Before anything, try to soften up the mod jungle first, as described earlier.

Then, the hard truth is that we need a C# pro here, and he needs all the clues we can give him so that he can do his dirty job. The more clues we gather, the higher chance he'll listen to us and accept the job. So it's better to have them all before reporting a Large Bug sighting!

Here's the plan — let's stick to this:

1) Savegame! Quick! Now!
As soon as a bug happens, save your game and copy the savegame file to a safe, separate, cozy location.

RimWorld's save files are typically found at C:\Users\[USERNAME]\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Saves.

2) Let's get all the intel we can!
You certainly have access to the HugsLib log reporting function. What's that? Well, you just press Alt + F12 while in game, and the log reporting feature will show up, asking you to upload the data. Do this, it will give you a link. Copy the link and save it in some text file — we'll be using this link later.

3) Damn, that blasted bug got away! We need to lure it back here!
We must be able to make the bug show up at our will, not at its will. This way, we can fully understand its behaviour and eventually take it down.
Can we make the bug happen at will? What must we do to reproduce (that's the verb!) the bug? This is vital information, and the greatest help of all.
If we cannot reproduce the bug at will... alas... in general, little can be done to catch it! Keep trying, though, you never know — you might be actually be able to re-create just the perfect conditions for the bug to show up!

Oh, wait... come again? You can actually reproduce the bug? Bingo!
We must tell the C# pro, now! How? He works in a strange place called "GitHub issue reporting area". Weird, right? Hey, just click here[github.com] and let's get done with this!
Yeah, I know — you must have a GitHub account. But our C# pro only accepts his jobs there... nothing we can do about it. It actually is no big deal, just create an account if you don't have one, so that we'll be able to go on hunting.

When you're in the GitHub issue reporting area, click on New issue.
Here's what we must include in the form that appears:
a) a description of the bug
b) most important — a description of how to reproduce the bug
c) the "bugged" savegame (zip it first, please)
d) the link to the HugsLib report (from point 2) above)

So, wrapping it up:
Is it a Small, Medium or Large Bug?

If it's Small, I can probably help myself — and rather quickly too, in general.

If it's Medium... things start to get hairy, but I might still fix the bug myself.

If it's Large, gather all the data as described above and report it in the GitHub issue reporting area.

If you follow these steps, we're in for some nice bug squashing!
Otherwise... meh... we're probably in for some boring, pointless bug sightseeing... mmm... not my cup of tea, not really.

I'd rather kill bugs! After all, it's what we BugHunters do, right?
Last edited by Sergio di Napoli; Sep 10, 2021 @ 6:06pm
< >
Showing 1-15 of 53 comments
Kayedon Oct 7, 2021 @ 12:07am 
Exception filling tab RimWorld.ITab_Pawn_Social: System.ArgumentNullException: Value cannot be null. Parameter name: source at System.Linq.Enumerable.Select[TSource,TResult] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] selector) [0x0000d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at SpeakUp.RuleEntry_ValidateConstantConstraints.Prefix (Verse.Grammar.GrammarResolver+RuleEntry __instance, System.Boolean& __result, System.Collections.Generic.Dictionary`2[TKey,TValue] constraints, System.Boolean& ___constantConstraintsChecked, System.Boolean& ___constantConstraintsValid) [0x00064] in <afe0802501c44f9d9911570622e193bc>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarResolver+RuleEntry.Verse.Grammar.GrammarResolver+RuleEntry.ValidateConstantConstraints_Patch1(Verse.Grammar.GrammarResolver/RuleEntry,System.Collections.Generic.Dictionary`2<string, string>) at Verse.Grammar.GrammarResolver.ValidateRule (System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] resolvedTags, Verse.Grammar.GrammarResolver+RuleEntry rule, Verse.Grammar.GrammarRequest+ICustomizer customizer) [0x00008] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.RandomPossiblyResolvableEntry_Patch2(string,System.Collections.Generic.Dictionary`2<string, string>,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2(Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.Boolean& success, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x003be] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x00000] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.Resolve_Patch1(string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) at Verse.GenText.AdjustedFor (System.String text, Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00046] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at Verse.TaggedString.AdjustedFor (Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00006] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.TaggedString& title, Verse.Pawn pawn) [0x0009b] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.Pawn pawn) [0x00007] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at Verse.Grammar.GrammarUtility.RulesForPawn (System.String pawnSymbol, Verse.Pawn pawn, System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Boolean addRelationInfoSymbol, System.Boolean addTags) [0x0002c] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at (wrapper dynamic-method) Verse.PlayLogEntry_Interaction.Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2(Verse.PlayLogEntry_Interaction,Verse.Thing,bool) at Verse.LogEntry.ToGameStringFromPOV (Verse.Thing pov, System.Boolean forceLog) [0x0005b] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at RimWorld.InteractionCardUtility.DrawInteractionsLog (UnityEngine.Rect rect, Verse.Pawn pawn, System.Collections.Generic.List`1[T] entries, System.Int32 maxEntries) [0x00049] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at RimWorld.SocialCardUtility.DrawSocialCard (UnityEngine.Rect rect, Verse.Pawn pawn) [0x001dc] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at RimWorld.ITab_Pawn_Social.FillTab () [0x0002b] in <b64badbf3c3d41018b3ca5d3e8c77771>:0 at (wrapper dynamic-method) Verse.InspectTabBase+<>c__DisplayClass14_0.Verse.InspectTabBase+c__DisplayClass14_0.<DoTabGUI>b__0_Patch0(Verse.InspectTabBase/<>c__DisplayClass14_0) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch3 (string) Verse.Log:ErrorOnce (string,int) (wrapper dynamic-method) Verse.InspectTabBase/<>c__DisplayClass14_0:Verse.InspectTabBase+c__DisplayClass14_0.<DoTabGUI>b__0_Patch0 (Verse.InspectTabBase/<>c__DisplayClass14_0) Verse.ImmediateWindow:DoWindowContents (UnityEngine.Rect) (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)

Occurs when clicking the Social tab, sometimes, reproducible with the same pawn that caused the error, but difficult to reproduce unless you have a lot of pawns all locked in a room and talking that you can switch between.
https://gist.github.com/f641480a7bd7803e2a1d45f3206f4305
Sergio di Napoli  [developer] Oct 7, 2021 @ 5:25am 
@Kayedon
I've seen in the github that you use more than 400 mods. That's a no-no for a bughunter :-). Have you read the guide? 400 mods means a huge risk and danger, hindering whatever effort.
Whatever Social tab bug should have been fixed in the Fun update already.
Kayedon Oct 7, 2021 @ 12:26pm 
Okay. :) I locked 8 people in a gorgeous room with a ton of beer and no work to do, here are the bugs I got with 9 mods loaded - Harmony, Hugslib, Mehni's Misc Mods, Camera+, Dubs Performance Analyzer, RimHUD, Interaction Bubbles, SpeakUp, and XML Extensions.

[SpeakUp] Latch tried to repeat a reply for ReactToThought_NeedBeauty_gorgeous while talking to Freckles. Latch is participating in 1 current talks UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string) SpeakUp.Talk:MakeReply (RimWorld.InteractionDef,bool) SpeakUp.Talk:Reply (string) SpeakUp.Talk:.ctor (string) SpeakUp.DialogManager:Ensue (System.Collections.Generic.List`1<string>) SpeakUp.GrammarResolver_TryResolveRecursive:Postfix (bool,Verse.Grammar.GrammarResolver/RuleEntry,System.Collections.Generic.List`1<string>) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2 (Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2 (Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,bool&,string,bool,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,string,bool,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.Resolve_Patch1 (string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) (wrapper dynamic-method) Verse.PlayLogEntry_Interaction:Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2 (Verse.PlayLogEntry_Interaction,Verse.Thing,bool) Verse.LogEntry:ToGameStringFromPOV (Verse.Thing,bool) Bubbles.Interface.Bubbler:Add (Verse.LogEntry,bool) Bubbles.Patch.Verse_PlayLog_Add:Postfix (Verse.LogEntry) (wrapper dynamic-method) Verse.PlayLog:Verse.PlayLog.Add_Patch1 (Verse.PlayLog,Verse.LogEntry) (wrapper dynamic-method) RimWorld.Pawn_InteractionsTracker:RimWorld.Pawn_InteractionsTracker.TryInteractWith_Patch1 (RimWorld.Pawn_InteractionsTracker,Verse.Pawn,RimWorld.InteractionDef) RimWorld.Pawn_InteractionsTracker:TryInteractRandomly () (wrapper dynamic-method) RimWorld.Pawn_InteractionsTracker:RimWorld.Pawn_InteractionsTracker.InteractionsTrackerTick_Patch1 (RimWorld.Pawn_InteractionsTracker) Verse.Pawn:Tick () Verse.TickList:Tick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch1 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () Verse.Game:UpdatePlay () Verse.Root_Play:Update ()

https://gist.github.com/0f74d73778674cca8745cb6152f1740f

[SpeakUp] White tried to repeat a reply for MeaningOfLife while talking to Cooke. White is participating in 1 current talks UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string) SpeakUp.Talk:MakeReply (RimWorld.InteractionDef,bool) SpeakUp.Talk:Reply (string) SpeakUp.Talk:.ctor (string) SpeakUp.DialogManager:Ensue (System.Collections.Generic.List`1<string>) SpeakUp.GrammarResolver_TryResolveRecursive:Postfix (bool,Verse.Grammar.GrammarResolver/RuleEntry,System.Collections.Generic.List`1<string>) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2 (Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2 (Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,bool&,string,bool,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) Verse.Grammar.GrammarResolver:ResolveUnsafe (string,Verse.Grammar.GrammarRequest,string,bool,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.Resolve_Patch1 (string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) (wrapper dynamic-method) Verse.PlayLogEntry_Interaction:Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2 (Verse.PlayLogEntry_Interaction,Verse.Thing,bool) Verse.LogEntry:ToGameStringFromPOV (Verse.Thing,bool) Bubbles.Interface.Bubbler:Add (Verse.LogEntry,bool) Bubbles.Patch.Verse_PlayLog_Add:Postfix (Verse.LogEntry) (wrapper dynamic-method) Verse.PlayLog:Verse.PlayLog.Add_Patch1 (Verse.PlayLog,Verse.LogEntry) (wrapper dynamic-method) RimWorld.Pawn_InteractionsTracker:RimWorld.Pawn_InteractionsTracker.TryInteractWith_Patch1 (RimWorld.Pawn_InteractionsTracker,Verse.Pawn,RimWorld.InteractionDef) RimWorld.Pawn_InteractionsTracker:TryInteractRandomly () (wrapper dynamic-method) RimWorld.Pawn_InteractionsTracker:RimWorld.Pawn_InteractionsTracker.InteractionsTrackerTick_Patch1 (RimWorld.Pawn_InteractionsTracker) Verse.Pawn:Tick () Verse.TickList:Tick () (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch1 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () Verse.Game:UpdatePlay () Verse.Root_Play:Update ()

https://gist.github.com/444c6f2face88c28a7e7d3e732ac6642

Provided the same bug twice, just in case anything between them changed, but a large enough group of people in a social situation trigger is with relative frequency. (Separately from the previous message bug)
Kayedon Oct 7, 2021 @ 12:29pm 
https://pastebin.com/Mge68T53 This one is too long for Steam.

https://gist.github.com/aa630b62efdde68fd4d78ed0d78bc872

Yellow entry:
[SpeakUp] Error processing extra rules: Object reference not set to an instance of an object Initator: Birdie, recipient: Winter. Zero rules processed. UnityEngine.StackTraceUtility:ExtractStackTrace () Verse.Log:Warning (string) SpeakUp.ExtraGrammarUtility:ExtraRules () SpeakUp.GrammarResolver_Resolve:Prefix (string&,object,string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) (wrapper dynamic-method) Verse.Grammar.GrammarResolver:Verse.Grammar.GrammarResolver.Resolve_Patch1 (string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) (wrapper dynamic-method) Verse.PlayLogEntry_Interaction:Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2 (Verse.PlayLogEntry_Interaction,Verse.Thing,bool) Verse.LogEntry:ToGameStringFromPOV (Verse.Thing,bool) RimWorld.InteractionCardUtility:DrawInteractionsLog (UnityEngine.Rect,Verse.Pawn,System.Collections.Generic.List`1<Verse.LogEntry>,int) RimWorld.SocialCardUtility:DrawSocialCard (UnityEngine.Rect,Verse.Pawn) RimWorld.ITab_Pawn_Social:FillTab () Verse.InspectTabBase/<>c__DisplayClass14_0:<DoTabGUI>b__0 () Verse.ImmediateWindow:DoWindowContents (UnityEngine.Rect) Verse.Window:InnerWindowOnGUI (int) UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)

https://gist.github.com/fb1b7f8cf2cf14ae703bfeb7d6b6cf33


I'm still attempting to reproduce the socials tab bug, and figure out what mod conflict it is, but it is not fixed as it happens eventually in almost every save I run. :) And yes, I play with all those mods, and will defend each one!
I will let you know when I sus out the conflicting mod! Cheers.
Last edited by Kayedon; Oct 7, 2021 @ 12:30pm
tuk0z Nov 2, 2021 @ 12:01pm 
Medium (?) bug here where adding Speak-up (and Bubbles) has:
1. Heavy issue with training animal: pawn ordered to train begins, and 2 sec later 'stand by' having forgotten everything about their job(s).
2. "Log" tab of said training pawns gets fully empty
3. Three errors spawn the log, particularily this one up to 1k times:
Random state stack is not empty. There were more calls to PushState than PopState. Fixing.
Deactivating Seak-up has the 3 issues above disapear, eg. even past logs display in pawns' "Log" tab.
Here's a full log with the modlist: gist.github.com/HugsLibRecordKeeper/ab8e4874fba11c83fda9459cce43c4b0
PS I otherwise do luv the features Speak-up adds to my games :)
frankenzombies Apr 7, 2022 @ 7:12am 
[SpeakUp] Error processing extra rules: Object reference not set to an instance of an object
Initator: Ruuj, recipient: Theja.
Last successful rule: RECIPIENT_adulthood → ARR_VieraAdulthood_VieraStalker
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)
Edward May 17, 2022 @ 5:41am 
I encounter the same problem as the others. SpeakUp works for a while before reverting back to vanilla interactions after a while.
How to reproduce the bug?
Just check the logs or social tab of a pawn while they interact. I tested with a group of three in a Taiga, they were just chilling. I only checked their logs and social tabs until the bug appeared.

Here is the log I have published with Hugslib :
https://gist.github.com/HugsLibRecordKeeper/a8547b6b82f5fe85b0f599076a40f14c
As you can see, although I usually use some hundreds of mods, I have isolated to some mods among which only Speakup and Interaction Bubbles had something even remotely to do with pawns' social interactions.
As the log was trimmed down to 10,000, it misses these logs that appear in-game reported by RocketMan :

[SpeakUp] Hod is interacting with Chitchat SOYUZ:[README] !!IMPORTANT!! There is a large chance this error is not related to RocketMan at all. RocketMan has patch on pawns that enables throttling, it will cause it to appear in the stacktrace and in visual exceptions, but in 99.9% of the time it's not RocketMan causing this issue but something down the line. RocketMan patches Pawn.Tick function just to add the throttling ability, the new code doesn't have any known issues and the issue is most likely futher down the line with error System.ArgumentNullException: Value cannot be null. Parameter name: source at System.Linq.Enumerable.Select[TSource,TResult] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] selector) [0x0000d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at SpeakUp.RuleEntry_ValidateConstantConstraints.Prefix (Verse.Grammar.GrammarResolver+RuleEntry __instance, System.Boolean& __result, System.Collections.Generic.Dictionary`2[TKey,TValue] constraints, System.Boolean& ___constantConstraintsChecked, System.Boolean& ___constantConstraintsValid) [0x00064] in <2564c327ef6f4139b935936f039e097d>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarResolver+RuleEntry.Verse.Grammar.GrammarResolver+RuleEntry.ValidateConstantConstraints_Patch1(Verse.Grammar.GrammarResolver/RuleEntry,System.Collections.Generic.Dictionary`2<string, string>) at Verse.Grammar.GrammarResolver.ValidateRule (System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] resolvedTags, Verse.Grammar.GrammarResolver+RuleEntry rule, Verse.Grammar.GrammarRequest+ICustomizer customizer) [0x00008] in <99518a644a3e4a7ea3fde566568df84a>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.RandomPossiblyResolvableEntry_Patch2(string,System.Collections.Generic.Dictionary`2<string, string>,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2(Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer) at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.Boolean& success, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x003be] in <99518a644a3e4a7ea3fde566568df84a>:0 at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x00000] in <99518a644a3e4a7ea3fde566568df84a>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.Resolve_Patch1(string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool) at Verse.GenText.AdjustedFor (System.String text, Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00046] in <99518a644a3e4a7ea3fde566568df84a>:0 at Verse.TaggedString.AdjustedFor (Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00006] in <99518a644a3e4a7ea3fde566568df84a>:0 at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.TaggedString& title, Verse.Pawn pawn) [0x0009b] in <99518a644a3e4a7ea3fde566568df84a>:0 at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.Pawn pawn) [0x00007] in <99518a644a3e4a7ea3fde566568df84a>:0 at (wrapper dynamic-method) Verse.Grammar.GrammarUtility.Verse.Grammar.GrammarUtility.RulesForPawn_Patch1(string,Verse.Pawn,System.Collections.Generic.Dictionary`2<string, string>,bool,bool) at (wrapper dynamic-method) Verse.PlayLogEntry_Interaction.Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2(Verse.PlayLogEntry_Interaction,Verse.Thing,bool) at Verse.LogEntry.ToGameStringFromPOV (Verse.Thing pov, System.Boolean forceLog) [0x0005b] in <99518a644a3e4a7ea3fde566568df84a>:0 at Bubbles.Interface.Bubbler.Add (Verse.LogEntry entry, System.Boolean isCombat) [0x0013f] in <eaf7f73fc638400baa84c55701064a81>:0 at Bubbles.Patch.Verse_PlayLog_Add.Postfix (Verse.LogEntry entry) [0x00000] in <eaf7f73fc638400baa84c55701064a81>:0 at (wrapper dynamic-method) Verse.PlayLog.Verse.PlayLog.Add_Patch1(Verse.PlayLog,Verse.LogEntry) at (wrapper dynamic-method) RimWorld.Pawn_InteractionsTracker.RimWorld.Pawn_InteractionsTracker.TryInteractWith_Patch1(RimWorld.Pawn_InteractionsTracker,Verse.Pawn,RimWorld.InteractionDef) at RimWorld.Pawn_InteractionsTracker.TryInteractRandomly () [0x000d7] in <99518a644a3e4a7ea3fde566568df84a>:0 at (wrapper dynamic-method) RimWorld.Pawn_InteractionsTracker.RimWorld.Pawn_InteractionsTracker.InteractionsTrackerTick_Patch1(RimWorld.Pawn_InteractionsTracker) at (wrapper dynamic-method) Verse.Pawn.Verse.Pawn.Tick_Patch1(Verse.Pawn) (Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39) Exception ticking Binah (at (134, 0, 156)): System.ArgumentNullException: Value cannot be null. Parameter name: source at (wrapper dynamic-method) Verse.Pawn.Verse.Pawn.Tick_Patch1(Verse.Pawn) at Verse.TickList.Tick () [0x0015c] in <99518a644a3e4a7ea3fde566568df84a>:0 (Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39) Random state stack is not empty. There were more calls to PushState than PopState. Fixing. (Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

It seems that this bug is inherent to Speakup, or possibly Interaction Bubbles. I will retest it with only the most basic mods of my original modlist to ensure it was not a fluke.
Edward May 17, 2022 @ 6:20am 
Alright I retested and...
I cannot achieve to reproduce the bug at all. Even if I came back to the initial conditions, same characters and same environment. The same test and nothing even suspicious. Even came back to the first test and nothing.
Guess it's solved for now yet I am confused how.
Last edited by Edward; May 17, 2022 @ 6:31am
XSlayer300 Jun 9, 2022 @ 8:47am 
I narrowed down the cause and RimHUD seems to conflict with the mod, same error as Kayedon experienced above when paired with this mod. It somehow only happens for quite some time, but not immediately...
Edward Jun 9, 2022 @ 9:08am 
Thanks for your inputs, might test this later.
phantasma Oct 26, 2022 @ 9:39pm 
Exception filling tab RimWorld.ITab_Pawn_Social: System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.Select[TSource,TResult] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] selector) [0x0000d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at SpeakUp.RuleEntry_ValidateConstantConstraints.Prefix (Verse.Grammar.GrammarResolver+RuleEntry __instance, System.Boolean& __result, System.Collections.Generic.Dictionary`2[TKey,TValue] constraints, System.Boolean& ___constantConstraintsChecked, System.Boolean& ___constantConstraintsValid) [0x00064] in <5a4f2ea9b69249c6967e15d1fcb9aed1>:0
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver+RuleEntry.Verse.Grammar.GrammarResolver+RuleEntry.ValidateConstantConstraints_Patch1(Verse.Grammar.GrammarResolver/RuleEntry,System.Collections.Generic.Dictionary`2<string, string>)
at Verse.Grammar.GrammarResolver.ValidateRule (System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] resolvedTags, Verse.Grammar.GrammarResolver+RuleEntry rule, Verse.Grammar.GrammarRequest+ICustomizer customizer) [0x00008] in <e5e3eba73a8e46a39c1159649251e857>:0
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.RandomPossiblyResolvableEntry_Patch2(string,System.Collections.Generic.Dictionary`2<string, string>,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer)
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2(Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer)
at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.Boolean& success, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x003be] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x00000] in <e5e3eba73a8e46a39c1159649251e857>:0
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.Resolve_Patch1(string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool)
at Verse.GenText.AdjustedFor (System.String text, Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00046] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.TaggedString.AdjustedFor (Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00006] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.TaggedString& title, Verse.Pawn pawn) [0x0009b] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.Pawn pawn) [0x00007] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.Grammar.GrammarUtility.RulesForPawn (System.String pawnSymbol, Verse.Pawn pawn, System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Boolean addRelationInfoSymbol, System.Boolean addTags) [0x0002c] in <e5e3eba73a8e46a39c1159649251e857>:0
at (wrapper dynamic-method) Verse.PlayLogEntry_Interaction.Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2(Verse.PlayLogEntry_Interaction,Verse.Thing,bool)
at Verse.LogEntry.ToGameStringFromPOV (Verse.Thing pov, System.Boolean forceLog) [0x0005b] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.InteractionCardUtility.DrawInteractionsLog (UnityEngine.Rect rect, Verse.Pawn pawn, System.Collections.Generic.List`1[T] entries, System.Int32 maxEntries) [0x00049] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.SocialCardUtility.DrawSocialCard (UnityEngine.Rect rect, Verse.Pawn pawn) [0x00206] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.ITab_Pawn_Social.FillTab () [0x0002b] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.InspectTabBase+<>c__DisplayClass16_0.<DoTabGUI>b__0 () [0x00039] in <e5e3eba73a8e46a39c1159649251e857>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.Log:ErrorOnce (string,int)
Verse.InspectTabBase/<>c__DisplayClass16_0:<DoTabGUI>b__0 ()
Verse.ImmediateWindow:DoWindowContents (UnityEngine.Rect)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate

https://gist.github.com/7568b10ebe340179fa910b064d4ec393




I believe the first error was thrown due to selecting the social tab of a pawn as a social interaction played out. GUI seemed a little unstable but showed everything normally after a fashion (when I selected the social tab after the first error was thrown, things flickered for a fraction of a second.) After this first error I got another error thrown with the next social interaction which has removed social interaction history from the social tab, turned off interaction bubbles and has turned the GUI into a shadow of itself when I have the social tab of a pawn open. Not sure this second bit is a SpeakUp problem or an Interaction Bubbles problem.




[Interaction Bubbles v2.5] Deactivated because draw failed with error: [System.Core: Value cannot be null.
Parameter name: source]

Stacktrace:
at System.Linq.Enumerable.Select[TSource,TResult] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] selector) [0x0000d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at SpeakUp.RuleEntry_ValidateConstantConstraints.Prefix (Verse.Grammar.GrammarResolver+RuleEntry __instance, System.Boolean& __result, System.Collections.Generic.Dictionary`2[TKey,TValue] constraints, System.Boolean& ___constantConstraintsChecked, System.Boolean& ___constantConstraintsValid) [0x00064] in <5a4f2ea9b69249c6967e15d1fcb9aed1>:0
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver+RuleEntry.Verse.Grammar.GrammarResolver+RuleEntry.ValidateConstantConstraints_Patch1(Verse.Grammar.GrammarResolver/RuleEntry,System.Collections.Generic.Dictionary`2<string, string>)
at Verse.Grammar.GrammarResolver.ValidateRule (System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] resolvedTags, Verse.Grammar.GrammarResolver+RuleEntry rule, Verse.Grammar.GrammarRequest+ICustomizer customizer) [0x00008] in <e5e3eba73a8e46a39c1159649251e857>:0
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.RandomPossiblyResolvableEntry_Patch2(string,System.Collections.Generic.Dictionary`2<string, string>,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer)
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.TryResolveRecursive_Patch2(Verse.Grammar.GrammarResolver/RuleEntry,int,System.Collections.Generic.Dictionary`2<string, string>,string&,bool,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,Verse.Grammar.GrammarRequest/ICustomizer)
at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.Boolean& success, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x003be] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.Grammar.GrammarResolver.ResolveUnsafe (System.String rootKeyword, Verse.Grammar.GrammarRequest request, System.String debugLabel, System.Boolean forceLog, System.Boolean useUntranslatedRules, System.Collections.Generic.List`1[T] extraTags, System.Collections.Generic.List`1[T] outTags, System.Boolean capitalizeFirstSentence) [0x00000] in <e5e3eba73a8e46a39c1159649251e857>:0
at (wrapper dynamic-method) Verse.Grammar.GrammarResolver.Verse.Grammar.GrammarResolver.Resolve_Patch1(string,Verse.Grammar.GrammarRequest,string,bool,string,System.Collections.Generic.List`1<string>,System.Collections.Generic.List`1<string>,bool)
at Verse.GenText.AdjustedFor (System.String text, Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00046] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.TaggedString.AdjustedFor (Verse.Pawn p, System.String pawnSymbol, System.Boolean addRelationInfoSymbol) [0x00006] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.TaggedString& title, Verse.Pawn pawn) [0x0009b] in <e5e3eba73a8e46a39c1159649251e857>:0
at RimWorld.PawnRelationUtility.TryAppendRelationsWithColonistsInfo (Verse.TaggedString& text, Verse.Pawn pawn) [0x00007] in <e5e3eba73a8e46a39c1159649251e857>:0
at Verse.Grammar.GrammarUtility.RulesForPawn (System.String pawnSymbol, Verse.Pawn pawn, System.Collections.Generic.Dictionary`2[TKey,TValue] constants, System.Boolean addRelationInfoSymbol, System.Boolean addTags) [0x0002c] in <e5e3eba73a8e46a39c1159649251e857>:0
at (wrapper dynamic-method) Verse.PlayLogEntry_Interaction.Verse.PlayLogEntry_Interaction.ToGameStringFromPOV_Worker_Patch2(Verse.PlayLogEntry_Interaction,Verse.Thing,bool)
at Verse.LogEntry.ToGameStringFromPOV (Verse.Thing pov, System.Boolean forceLog) [0x0005b] in <e5e3eba73a8e46a39c1159649251e857>:0
at Bubbles.Core.Bubble.GetText () [0x00006] in <8d27262610864a85889b1931a849b9c3>:0
at Bubbles.Core.Bubble.get_Text () [0x0000a] in <8d27262610864a85889b1931a849b9c3>:0
at Bubbles.Core.Bubble.ScaleDimensions (System.Single scale) [0x00000] in <8d27262610864a85889b1931a849b9c3>:0
at Bubbles.Core.Bubble.Draw (UnityEngine.Vector2 pos, System.Boolean isSelected, System.Single scale) [0x00008] in <8d27262610864a85889b1931a849b9c3>:0
at Bubbles.Core.Bubbler.DrawBubble (Verse.Pawn pawn, System.Boolean isSelected, System.Single scale) [0x000a4] in <8d27262610864a85889b1931a849b9c3>:0
at Bubbles.Core.Bubbler.Draw () [0x000c5] in <8d27262610864a85889b1931a849b9c3>:0
at Bubbles.Patch.RimWorld_MapInterface_MapInterfaceOnGUI_BeforeMainTabs.Postfix () [0x00000] in <8d27262610864a85889b1931a849b9c3>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Bubbles.Mod:Error (string)
Bubbles.Patch.RimWorld_MapInterface_MapInterfaceOnGUI_BeforeMainTabs:Postfix ()
(wrapper dynamic-method) RimWorld.MapInterface:RimWorld.MapInterface.MapInterfaceOnGUI_BeforeMainTabs_Patch1 (RimWorld.MapInterface)
RimWorld.UIRoot_Play:UIRootOnGUI ()
(wrapper dynamic-method) Verse.Root:Verse.Root.OnGUI_Patch1 (Verse.Root)


https://gist.github.com/dc9f674d020755a448ae2efebbbd32ec

image of GUI issue (I think)

https://steamuserimages-a.akamaihd.net/ugc/1883094124815868678/F6F15A5E66D5D41CC0DB10F7936A9B8AC79DC94B/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Edit: Combat log effected too.
Last edited by phantasma; Oct 27, 2022 @ 7:46am
Dragonissa Oct 27, 2022 @ 1:27am 
Getting similar issue as above:

Seem to get a couple of C# related errors. Pawn social log is completely empty, combat log works fine.

https://gist.github.com/532e1497276757b82e78cad7313d9d32

https://imgur.com/a/APXLfvr
Last edited by Dragonissa; Oct 27, 2022 @ 1:30am
Dragonissa Oct 27, 2022 @ 12:38pm 
Fixed it by deleting my playlog

<playLog>
<entries>
</entries>
</playLog>
载入中... Jan 22, 2023 @ 10:13pm 
I found that there are some rule strings that does not have any output, they might be used to provide protection for cases that does not fulfill any other options? But these empty-output rule strings seems produce unresolvable error?

GRAMMAR RESOLUTION TRACE 1 r_logentry → [good_opinion] 2 good_opinion → [recipient_raw] [medical_opinion_raw] 3 recipient_raw → I'm sorry to hear that, [recipient]! [cooking_offer] 4 recipient → [RECIPIENT_nameDef] 5 RECIPIENT_nameDef → <color=#D09B61FF>落叶</color> cooking_offer → UNRESOLVABLE recipient_raw → UNRESOLVABLE 3 medical_opinion_raw → good_opinion → UNRESOLVABLE r_logentry → UNRESOLVABLE BARE INCLUDES recipient → [RECIPIENT_nameDef] recipient → [recipient_love] recipient → [recipient_love] recipient → [recipient_love] recipient_love → honey recipient_love → honey pot recipient_love → love recipient_love → lovebug recipient_love → sweetie recipient_love → sweetheart recipient_love → babe recipient_love → cutiepie recipient_love → starshine recipient_love → angelwing recipient_love → gummybear recipient_love → darling recipient_love → dreamship recipient_love → amore recipient_love → amore mio recipient → [recipient_sibling] recipient_sibling → [recipient_brother] recipient_brother → brother recipient_sibling → [recipient_sister] recipient_sister → sister recipient → [recipient_parent] recipient_parent → [recipient_father] recipient_father → father recipient_father → dad recipient_parent → [recipient_mother] recipient_mother → mother recipient_mother → mum recipient → [recipient_child] recipient_child → my child recipient_child → dear recipient_child → [recipient_son] recipient_son → son recipient_son → my son recipient_child → [recipient_daughter] recipient_daughter → daughter recipient_daughter → my daughter recipient → [RECIPIENT_nameDef] wanna → would you like to wanna → would you like to wanna → want to wanna → wanna intensifier → intensifier → so intensifier → very intensifier → really intensifier → truly intensifier → so [intensifier] intensifier → intensifier → so intensifier → very intensifier → really intensifier → so [intensifier] intensifier → intensifier → most intensifier → quite intensifier → super damned_intensifier → damned_intensifier → damned damned_intensifier → bloody damned_intensifier → blasted damned_intensifier → sodding damned_intensifier → ♥♥♥♥♥♥♥ damned_intensifier → ♥♥♥♥♥♥♥ [damned_intensifier] damned_intensifier → ♥♥♥♥♥♥♥ damned_intensifier → frigging damned_intensifier → ♥♥♥♥♥♥♥♥♥ damned_intensifier → ♥♥♥♥♥♥♥ [damned_intensifier] r_logentry → ... r_logentry → [good_opinion] good_opinion → [recipient_lavish] recipient_lavish → Me too! [medical_opinion_lavish_1] recipient_lavish → I don't think they're as abundant as you say, but I agree with you! [medical_opinion_lavish_1] recipient_lavish → Really? Mine were plain and ordinary. [medical_opinion_lavish_2] recipient_lavish → Really? Mine were plain plain and ordinary. [cook_opinion] recipient_lavish → What?! I had to eat some disgusting food earlier! [medical_opinion_lavish_2] recipient_lavish → What?! I had to eat some disgusting food earlier! [cook_opinion] recipient_lavish → What?! I had to eat some raw food earlier! [medical_opinion_lavish_2] recipient_lavish → What?! I had to eat some raw food earlier! [cook_opinion] recipient_lavish → What?! I had to eat some kibble earlier! [medical_opinion_lavish_2] recipient_lavish → What?! I had to eat some kibble earlier! [cook_opinion] recipient_lavish → Are you kidding me?! I had to eat some unbutchered corpse earlier! That was horrible! good_opinion → [recipient_fine] recipient_fine → And abundant, too! [medical_opinion_fine_1] recipient_fine → Me too! [medical_opinion_fine_1] recipient_fine → Really? I found them plain and ordinary. [medical_opinion_fine_2] recipient_fine → Really? I found them plain and ordinary. [cook_opinion] recipient_fine → What?! I had to eat some disgusting food earlier! [medical_opinion_fine_2] recipient_fine → What?! I had to eat some disgusting food earlier! [cook_opinion] recipient_fine → What?! I had to eat some raw food earlier! [medical_opinion_fine_2] recipient_fine → What?! I had to eat some raw food earlier! [cook_opinion] recipient_fine → What?! I had to eat some kibble earlier! [medical_opinion_fine_2] recipient_fine → What?! I had to eat some kibble earlier! [cook_opinion] recipient_fine → Are you kidding me?! I had to eat some unbutchered corpse earlier! That was horrible! good_opinion → [recipient_awful] recipient_awful → I'm sorry to hear that, [recipient]. [cooking_offer] recipient_awful → I'm sorry to hear that, [recipient]. [cooking_offer] recipient_awful → I'm sorry to hear that, [recipient]. [cooking_offer] recipient_awful → I totally agree! [cook_opinion] recipient_awful → Lucky you — I had to eat some raw food earlier! [cook_opinion] recipient_awful → Lucky you — I had to eat some kibble earlier! [cook_opinion] recipient_awful → And I had to eat some unbutchered corpse earlier! That was horrible! good_opinion → [recipient_raw] [medical_opinion_raw] recipient_raw → I'm so sorry to hear that, [recipient]! [cooking_offer] recipient_raw → I'm so sorry to hear that, [recipient]! [cooking_offer] recipient_raw → I'm sorry to hear that, [recipient]! [cooking_offer] recipient_raw → I'm sorry to hear that, [recipient]! [cooking_offer] recipient_raw → Me too! [cook_opinion] recipient_raw → Lucky you — I had to eat some kibble earlier! [cook_opinion] recipient_raw → And I had to eat some unbutchered corpse earlier! That was horrible! good_opinion → [recipient_kibble] recipient_kibble → I'm so sorry to hear that, [recipient]! [cooking_offer] recipient_kibble → I'm so sorry to hear that, [recipient]! [cooking_offer] recipient_kibble → I'm sorry to hear that, [recipient]! [cooking_offer] recipient_kibble → I'm sorry to hear that, [recipient]! [cooking_offer] recipient_kibble → I'm sorry to hear that, [recipient]! [cooking_offer] recipient_kibble → Me too! [cook_opinion] recipient_kibble → And I had to eat some unbutchered corpse earlier! That was horrible! good_opinion → [recipient_corpse] [medical_opinion_corpse] recipient_corpse → That's disgusting and gross, [recipient]! I hope I won't ever come to that! recipient_corpse → That's disgusting and gross, [recipient]! I hope I won't ever come to that! recipient_corpse → That's disgusting and gross, [recipient]! I hope I won't ever come to that! recipient_corpse → That's disgusting and gross, [recipient]! I hope I won't ever come to that! recipient_corpse → That's disgusting and gross, [recipient]! I hope I won't ever come to that! recipient_corpse → That's disgusting and gross, [recipient]! I hope I won't ever come to that! recipient_corpse → Me too! That was horrible! Oh my, what have we come to?! medical_opinion_lavish_1 → medical_opinion_lavish_1 → [although] I think it'd be healthier to eat less lavishly. medical_opinion_lavish_2 → medical_opinion_lavish_2 → [moreover] I think you'd be healthier if you ate less lavishly. medical_opinion_fine_1 → medical_opinion_fine_1 → [moreover] our well-balanced, varied diet is excellent for our health. medical_opinion_fine_2 → medical_opinion_fine_2 → At least, you're lucky enough to have a well-balanced diet — excellent for your health. medical_opinion_raw → medical_opinion_raw → [moreover] eating raw food is dangerous for your health! medical_opinion_corpse → medical_opinion_corpse → [moreover] it's highly dangerous for your health! cooking_offer → cooking_offer → I'll try and cook something better for you. cook_opinion → If only I were a better cook... cook_opinion → I could cook some better meals! although → Although, although → Yet, although → Nonetheless, although → Even so, moreover → Moreover, moreover → Besides,
Sergio di Napoli  [developer] Jan 23, 2023 @ 5:25am 
@Ordpus you're probably not playing in English. SpeakUp only supports English. When the game checks for "INITIATOR_cooking_level", it finds something in another language (not "cooking" but its translation), so since there is no line available, it fires off the error.
< >
Showing 1-15 of 53 comments
Per page: 1530 50