// Function from file: Academy.dm
        public void summon_wizard(  )
        {
            Ent_Static T = null;
            Mob_Living_Carbon_Human       wizbody = null;
            Obj_Item_Weapon_Implant_Exile Implant = null;
            Mind      wizmind = null;
            Objective O       = null;

            T       = this.loc;
            wizbody = new Mob_Living_Carbon_Human(T);
            wizbody.equipOutfit(typeof(Outfit_Wizard_Academy));
            Implant = new Obj_Item_Weapon_Implant_Exile(wizbody);
            Implant.implant(wizbody);
            wizbody.faction     |= "wizard";
            wizbody.real_name    = "Academy Teacher";
            wizbody.name         = "Academy Teacher";
            wizmind              = new Mind();
            wizmind.name         = "Wizard Defender";
            wizmind.special_role = "Academy Defender";
            O = new Objective("Protect Wizard Academy from the intruders");
            wizmind.objectives.Add(O);
            wizmind.transfer_to(wizbody);
            GlobalVars.ticker.mode.wizards.Or(wizmind);
            wizmind.AddSpell(new Obj_Effect_ProcHolder_Spell_Targeted_EtherealJaunt());
            wizmind.AddSpell(new Obj_Effect_ProcHolder_Spell_Targeted_Projectile_MagicMissile());
            wizmind.AddSpell(new Obj_Effect_ProcHolder_Spell_Dumbfire_Fireball());
            this.current_wizard = wizbody;
            this.give_control();
            return;
        }
        // Function from file: gateway.dm
        public override bool Bumped(dynamic AM = null)
        {
            Obj_Item_Weapon_Implant_Exile E = null;
            dynamic M = null;


            if (!this.ready)
            {
                return(false);
            }

            if (!this.active)
            {
                return(false);
            }

            if (!Lang13.Bool(this.stationgate) || Lang13.Bool(GlobalFuncs.qdeleted(this.stationgate)))
            {
                return(false);
            }

            if (AM is Mob_Living_Carbon)
            {
                foreach (dynamic _a in Lang13.Enumerate(AM, typeof(Obj_Item_Weapon_Implant_Exile)))
                {
                    E = _a;


                    if (E.imp_in == AM)
                    {
                        AM.WriteMsg("ÿ\"The station gate has detected your exile implant and is blocking your entry.");
                        return(false);
                    }
                }
            }
            ((Ent_Dynamic)AM).forceMove(Map13.GetStep(this.stationgate.loc, ((int)(GlobalVars.SOUTH))));
            AM.dir = GlobalVars.SOUTH;

            if (AM is Mob)
            {
                M = AM;

                if (Lang13.Bool(M.client))
                {
                    M.client.move_delay = Num13.MaxInt(Game13.time + 5, Convert.ToInt32(M.client.move_delay));
                }
            }
            return(false);
        }