Temporal Fugue fails to spawn clones; exception in Player.Log

Issue #12278 resolved
Thomas Castiglione created an issue

Hi, I’ve got an esper character whose Temporal Fugue mutation no longer works. It definitely used to function; this bug may have started occurring after the July 12 2024 update. When I activate the ability, no clones are created, and this error is logged:

ERROR:System.ArgumentException: An item with the same key has already been added. Key: Hitpoints:base
  at System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x0015a] in <51fded79cd284d4d911c5949aff4cb21>:0 
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <51fded79cd284d4d911c5949aff4cb21>:0 
  at MonoMod.Utils.Extensions.AddRange[K,V] (System.Collections.Generic.Dictionary`2[TKey,TValue] dict, System.Collections.Generic.Dictionary`2[TKey,TValue] other) [0x00020] in <0020ee40255b4dc7a0eb8b2a76225b38>:0 
  at XRL.World.GameObject.DeepCopy (System.Boolean CopyEffects, System.Boolean CopyID, System.Func`2[T,TResult] MapInv) [0x005fd] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Anatomy.BodyPart.MakeCopyWithMap (XRL.World.GameObject obj, System.Func`2[T,TResult] map) [0x00024] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Anatomy.BodyPart.DeepCopy (XRL.World.GameObject ParentObject, XRL.World.Parts.Body ParentBody, XRL.World.Anatomy.BodyPart ParentPart, System.Func`2[T,TResult] MapInv, System.Boolean CopyGameObjects) [0x00173] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Anatomy.BodyPart.DeepCopy (XRL.World.GameObject ParentObject, XRL.World.Parts.Body ParentBody, XRL.World.Anatomy.BodyPart ParentPart, System.Func`2[T,TResult] MapInv, System.Boolean CopyGameObjects) [0x00218] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Anatomy.BodyPart.DeepCopy (XRL.World.GameObject ParentObject, XRL.World.Parts.Body ParentBody, XRL.World.Anatomy.BodyPart ParentPart, System.Func`2[T,TResult] MapInv, System.Boolean CopyGameObjects) [0x00218] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Parts.Body.DeepCopy (XRL.World.GameObject Parent, System.Func`2[T,TResult] MapInv) [0x00020] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.GameObject.DeepCopy (System.Boolean CopyEffects, System.Boolean CopyID, System.Func`2[T,TResult] MapInv) [0x002f9] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Parts.Mutation.TemporalFugue.CreateFugueCopyOf (XRL.World.GameObject Actor, XRL.World.GameObject Object, XRL.World.Cell TargetCell, XRL.World.GameObject Source, System.Int32 Duration, System.Int32 HostileCopyChance, System.String Context, System.String FriendlyCopyColorString, System.String HostileCopyColorString, System.String FriendlyCopyPrefix, System.String HostileCopyPrefix, XRL.World.IPart Mutation) [0x00035] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Parts.Mutation.TemporalFugue.PerformTemporalFugue (XRL.World.GameObject Actor, XRL.World.GameObject Subject, XRL.World.GameObject Source, XRL.World.Parts.Mutation.TemporalFugue Mutation, XRL.World.IEvent TriggeringEvent, System.Boolean Involuntary, System.Nullable`1[T] Duration, System.Nullable`1[T] Copies, System.Int32 HostileCopyChance, System.String Context, System.String FriendlyCopyColorString, System.String HostileCopyColorString, System.String FriendlyCopyPrefix, System.String HostileCopyPrefix) [0x00259] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Parts.Mutation.TemporalFugue.PerformTemporalFugue (XRL.World.IEvent TriggeringEvent) [0x0000c] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Parts.Mutation.TemporalFugue.HandleEvent (XRL.World.CommandEvent E) [0x00013] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.CommandEvent.Dispatch (XRL.IEventHandler Handler) [0x00000] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.GameObject.HandleEventInner (XRL.World.MinEvent E) [0x0007d] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.GameObject.HandleEvent (XRL.World.MinEvent E) [0x00000] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.CommandEvent.Send (XRL.World.GameObject Actor, System.String Command, System.Boolean& InterfaceExitRequested, XRL.World.GameObject Target, XRL.World.Cell TargetCell, System.Int32 StandoffDistance, System.Boolean Forced, System.Boolean Silent, XRL.World.GameObject Handler) [0x000f5] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.CommandEvent.Send (XRL.World.GameObject Actor, System.String Command, XRL.World.GameObject Target, XRL.World.Cell TargetCell, System.Int32 StandoffDistance, System.Boolean Forced, System.Boolean Silent, XRL.World.GameObject Handler) [0x00002] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at XRL.World.Parts.ActivatedAbilityEntry+<>c__DisplayClass102_0.<TrySendCommandEventOnPlayer>b__0 () [0x00033] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 
  at QupKit.ThreadTaskQueueEntry.Execute (QupKit.ThreadTaskQueue parentQueue) [0x00008] in <b3b38ad1a6dc4e40be5d4725c9bbe827>:0 

I’ve attached the full Player.log and my save file.

Comments (3)

  1. Thomas Castiglione reporter

    Thanks for the rapid patch! After downloading the hotfix, the ability works again in my save.

  2. Log in to comment