Stack overflow from dominating yourself as a creature you are dominating

Issue #11229 open
John Snail created an issue
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620D8C (Mono JIT Code) XRL.World.Parts.Mutation.Domination:FireEvent (XRL.World.Event)
0x2AFEF52B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620A18 (Mono JIT Code) XRL.World.Effects.Dominated:FireEvent (XRL.World.Event)
0x2AFEF49B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620D8C (Mono JIT Code) XRL.World.Parts.Mutation.Domination:FireEvent (XRL.World.Event)
0x2AFEF52B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620A18 (Mono JIT Code) XRL.World.Effects.Dominated:FireEvent (XRL.World.Event)
0x2AFEF49B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620D8C (Mono JIT Code) XRL.World.Parts.Mutation.Domination:FireEvent (XRL.World.Event)
0x2AFEF52B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620A18 (Mono JIT Code) XRL.World.Effects.Dominated:FireEvent (XRL.World.Event)
0x2AFEF49B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620D8C (Mono JIT Code) XRL.World.Parts.Mutation.Domination:FireEvent (XRL.World.Event)
0x2AFEF52B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620A18 (Mono JIT Code) XRL.World.Effects.Dominated:FireEvent (XRL.World.Event)
0x2AFEF49B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620D8C (Mono JIT Code) XRL.World.Parts.Mutation.Domination:FireEvent (XRL.World.Event)
0x2AFEF52B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)
0x2AFD2180 (Mono JIT Code) XRL.World.GameObject:FireEvent (string)
0x00620A18 (Mono JIT Code) XRL.World.Effects.Dominated:FireEvent (XRL.World.Event)
0x2AFEF49B (Mono JIT Code) XRL.World.GameObject:FireEvent (XRL.World.Event)

Comments (5)

  1. John Snail reporter

    This statement in the BeginTakeActionEvent for Dominating is crashing the game.

            if (base.Object.IsPlayer())
            {
                InterruptDomination();
            }
    

    This is a strange dilemma. The first dominating/dominated pair needs to be forcefully removed without causing inconsistent metempsychosis behaviour (dominating a third body gets you stranded in the second, dominating yourself should do the same), and in a way that will work regardless of the domination chain’s size (dominating a third, fourth, etc. body should not cause the same crash upon attempting to dominate any of the other dominators in the chain).

  2. Log in to comment