RimWorld

RimWorld

Rim of Madness - Vampires [Deprecated]
Fenguard 25. feb. 2019 kl. 14:36
[Bug] "Cannot Find Third Generation Sire"
I've been getting vampire notifications when random NPC's come into my colony to Raid/Trade though when i go to look at the vampire they're surprisingly not a vampire. I did some testing with the dev commands and when i try to force spawn a vampire I get a debug message of
"Cannot find third generation sire.
Root Level Exception in OnGUI(): System.ArguementNullException: Arguement cannot be null."

So I'm assuming something happened on world generation where no Vampires were actually created, thus any later generation ones bug out upon spawn and lose their vampirism.
When I force add it to an existing colonist they have vampirism with the text of;
"Bloodline: Unknown
Sire: Unknown ()
Childer: None"
Until I unpause at which point the status is stripped from the pawn with the debug message of:
"Cannot find third generation sire.
Exception ticking hediff (ROM_Vampirism ticksSinceCreation=1) for pawn [Pawn Name]. Removing hediff... Exception System.ArguementNullException: Arguement cannot be null."

This doesn't affect every world I create, only every once in a while but it's incredibly annoying to play for 3 hours before realizing there's no vampires spawning correctly.

Here's hoping this can be fixed with ease!

I'll include the full debug error below:
Spawn Vampire (Random)
Cannot find third generation sire.
Verse.Log:Warning_Patch1(String, Boolean)
Vampire.WorldComponent_VampireTracker:TryGeneratingBloodline(Pawn, BloodlineDef)
Vampire.WorldComponent_VampireTracker:GetLaterGenerationVampire(Pawn, BloodlineDef, Int32)
Vampire.VampireRelationUtility:FindSireFor(Pawn, BloodlineDef, Int32)
Vampire.VampireRelationUtility:SetSireChildeRelations(Pawn, CompVampire, Int32)
Vampire.CompVampire:InitializeVampirism(Pawn, BloodlineDef, Int32, Boolean)
Vampire.VampireGen:GenerateVampire(Int32, BloodlineDef, Pawn, Faction, Boolean)
Vampire.<>c:<DoListingItems_MapTools_Vamp>b__115_0()
Verse.DebugTool:DebugToolOnGUI()
Verse.DebugTools:DebugToolsOnGUI()
RimWorld.UIRoot_Play:UIRootOnGUI()
Verse.Root:OnGUI()

Root level exception in OnGUI(): System.ArgumentNullException: Argument cannot be null.
Parameter name: source
at System.Linq.Check.SourceAndPredicate (System.Object source, System.Object predicate) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.FirstOrDefault[Pawn] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0
at Vampire.WorldComponent_VampireTracker.GetLaterGenerationVampire (Verse.Pawn childe, Vampire.BloodlineDef bloodline, Int32 idealGenerationOfChilde) [0x00000] in <filename unknown>:0
at Vampire.VampireRelationUtility.FindSireFor (Verse.Pawn pawn, Vampire.BloodlineDef bloodline, Int32 idealGeneration) [0x00000] in <filename unknown>:0
at Vampire.VampireRelationUtility.SetSireChildeRelations (Verse.Pawn thisChilde, Vampire.CompVampire sireComp, Int32 optionalGeneration) [0x00000] in <filename unknown>:0
at Vampire.CompVampire.InitializeVampirism (Verse.Pawn newSire, Vampire.BloodlineDef newBloodline, Int32 newGeneration, Boolean firstVampire) [0x00000] in <filename unknown>:0
at Vampire.VampireGen.GenerateVampire (Int32 generation, Vampire.BloodlineDef bloodline, Verse.Pawn sire, RimWorld.Faction vampFaction, Boolean firstVampire) [0x00000] in <filename unknown>:0
at Vampire.HarmonyPatches+<>c.<DoListingItems_MapTools_Vamp>b__115_0 () [0x00000] in <filename unknown>:0
at Verse.DebugTool.DebugToolOnGUI () [0x00000] in <filename unknown>:0
at Verse.DebugTools.DebugToolsOnGUI () [0x00000] in <filename unknown>:0
at RimWorld.UIRoot_Play.UIRootOnGUI () [0x00000] in <filename unknown>:0
at Verse.Root.OnGUI () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.Root:OnGUI()

Give Vampirism (Default)
Cannot find third generation sire.
Verse.Log:Warning_Patch1(String, Boolean)
Vampire.WorldComponent_VampireTracker:TryGeneratingBloodline(Pawn, BloodlineDef)
Vampire.WorldComponent_VampireTracker:GetLaterGenerationVampire(Pawn, BloodlineDef, Int32)
Vampire.VampireRelationUtility:FindSireFor(Pawn, BloodlineDef, Int32)
Vampire.HediffVampirism:PostTick()
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick_Patch4(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick_Patch1(Object)
Verse.TickManager:TickManagerUpdate_Patch2(Object)
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Exception ticking hediff (ROM_Vampirism ticksSinceCreation=1) for pawn Azuna. Removing hediff... Exception: System.ArgumentNullException: Argument cannot be null.
Parameter name: source
at System.Linq.Check.SourceAndPredicate (System.Object source, System.Object predicate) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.FirstOrDefault[Pawn] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0
at Vampire.WorldComponent_VampireTracker.GetLaterGenerationVampire (Verse.Pawn childe, Vampire.BloodlineDef bloodline, Int32 idealGenerationOfChilde) [0x00000] in <filename unknown>:0
at Vampire.VampireRelationUtility.FindSireFor (Verse.Pawn pawn, Vampire.BloodlineDef bloodline, Int32 idealGeneration) [0x00000] in <filename unknown>:0
at Vampire.HediffVampirism.PostTick () [0x00000] in <filename unknown>:0
at Verse.Pawn_HealthTracker.HealthTick () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.Pawn_HealthTracker:HealthTick()
Verse.Pawn:Tick_Patch4(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick_Patch1(Object)
Verse.TickManager:TickManagerUpdate_Patch2(Object)
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()