// Function from file: interactive.dm
        public void doorscan(dynamic obj = null)
        {
            dynamic            dir = null;
            Tile               T   = null;
            Obj_Machinery_Door D   = null;


            foreach (dynamic _b in Lang13.Enumerate(GlobalVars.cardinal))
            {
                dir = _b;

                T = Map13.GetStep(this, Convert.ToInt32(dir));

                if (T != null)
                {
                    foreach (dynamic _a in Lang13.Enumerate(T.contents, typeof(Obj_Machinery_Door)))
                    {
                        D = _a;


                        if (D.check_access(this.MYID) && !(D is Obj_Machinery_Door_Poddoor) && D.density)
                        {
                            Task13.Schedule(1, (Task13.Closure)(() => {
                                D.open();
                                Task13.Sleep(5);
                                this.walk2derpless(Map13.GetStep(D, Convert.ToInt32(dir)));
                                return;
                            }));
                        }
                    }
                }
            }
            return;
        }
        // Function from file: tgstation.dme
        public override bool cast(dynamic targets = null, dynamic thearea = null, dynamic user = null)
        {
            thearea = thearea ?? Task13.User;

            dynamic              T    = null;
            Obj_Machinery_Door   door = null;
            Obj_Structure_Closet C    = null;

            thearea.WriteMsg(new Sound("sound/magic/Knock.ogg"));

            foreach (dynamic _c in Lang13.Enumerate(targets))
            {
                T = _c;


                foreach (dynamic _a in Lang13.Enumerate(T.contents, typeof(Obj_Machinery_Door)))
                {
                    door = _a;

                    Task13.Schedule(1, (Task13.Closure)(() => {
                        if (door is Obj_Machinery_Door_Airlock)
                        {
                            ((dynamic)door).locked = 0;
                        }
                        door.open();
                        return;
                    }));
                }

                foreach (dynamic _b in Lang13.Enumerate(T.contents, typeof(Obj_Structure_Closet)))
                {
                    C = _b;

                    Task13.Schedule(1, (Task13.Closure)(() => {
                        C.locked = false;
                        C.open();
                        return;
                    }));
                }
            }
            return(false);
        }