Better support for playing as a Twinning/Trining Lamprey

Issue #11207 open
John Snail created an issue

Currently, your run ends if the twin you control dies. It’d be fun if control was moved to another twin when it dies instead, and it’s very straightforward to do as well.

Balance-wise, I think this is okay because there are far better things to dominate than lampreys, with their low stats, inability to equip most items (which you need to keep picking up when one dies), and vulnerability to normality. For example, rhinoxen only have a slightly harder domination check than twinning lampreys, but are super tanky and have two different and powerful methods of fleeing from situations.

Twinner:

        public override bool HandleEvent(AfterDieEvent E)
        {
            if (ParentObject.IsPlayer() && Twin?.CurrentCell != null)
            {
                The.Game.Player.Body = Twin;
            }
            return base.HandleEvent(E);
        }

Triner:

        public override bool HandleEvent(AfterDieEvent E)
        {
            if (ParentObject.IsPlayer())
            {
                if (Twin?.CurrentCell != null)
                {
                    The.Game.Player.Body = Twin;
                }
                else if (Triplet?.CurrentCell != null)
                {
                    The.Game.Player.Body = Triplet;
                }
            }
            return base.HandleEvent(E);
        }

Comments (4)

  1. John Snail reporter

    Oh, looks like there’s a bug where player-controlled lampreys don’t duplicate. That’ll need fixing as well lmao

  2. Log in to comment