// Function from file: queen.dm
        public override bool attack(dynamic M = null, dynamic user = null, bool?def_zone = null)
        {
            dynamic A = null;
            Mob_Living_Carbon_Alien_Humanoid_Royal_Praetorian new_prae = null;


            if (!(M is Mob_Living_Carbon_Alien_Humanoid) || M is Mob_Living_Carbon_Alien_Humanoid_Royal)
            {
                user.WriteMsg("<span class='noticealien'>You may only use this with your adult, non-royal children!</span>");
                return(false);
            }

            if (GlobalFuncs.alien_type_present(typeof(Mob_Living_Carbon_Alien_Humanoid_Royal_Praetorian)))
            {
                user.WriteMsg("<span class='noticealien'>You already have a Praetorian!</span>");
                return(false);
            }
            A = M;

            if (Lang13.Bool(A.stat) == false && Lang13.Bool(A.mind) && Lang13.Bool(A.key))
            {
                if (!((Mob_Living_Carbon)user).usePlasma(500))
                {
                    user.WriteMsg("<span class='noticealien'>You must have 500 plasma stored to use this!</span>");
                    return(false);
                }
                A.WriteMsg("<span class='noticealien'>The queen has granted you a promotion to Praetorian!</span>");
                ((Ent_Static)user).visible_message("<span class='alertalien'>" + A + " begins to expand, twist and contort!</span>");
                new_prae = new Mob_Living_Carbon_Alien_Humanoid_Royal_Praetorian(A.loc);
                ((Mind)A.mind).transfer_to(new_prae);
                GlobalFuncs.qdel(A);
                GlobalFuncs.qdel(this);
                return(false);
            }
            else
            {
                user.WriteMsg("<span class='warning'>This child must be alert and responsive to become a Praetorian!</span>");
            }
            return(false);
        }
        // Function from file: drone.dm
        public override bool fire(Mob user = null)
        {
            Mob_Living_Carbon_Alien_Humanoid_Royal_Praetorian new_xeno = null;


            if (!(user.loc is Tile))
            {
                user.WriteMsg("<span class='notice'>You can't evolve here!</span>");
                return(false);
            }

            if (!GlobalFuncs.alien_type_present(typeof(Mob_Living_Carbon_Alien_Humanoid_Royal)))
            {
                new_xeno = new Mob_Living_Carbon_Alien_Humanoid_Royal_Praetorian(user.loc);
                ((Mob_Living_Carbon_Alien)user).alien_evolve(new_xeno);
                return(true);
            }
            else
            {
                user.WriteMsg("<span class='notice'>We already have a living royal!</span>");
                return(false);
            }
        }