// Function from file: telecrystalconsoles.dm
        public override dynamic attack_hand(dynamic a = null, bool?b = null, bool?c = null)
        {
            string dat = null;
            Obj_Machinery_Computer_Telecrystals_Uplinker A = null;
            dynamic entry = null;
            Browser popup = null;


            if (Lang13.Bool(base.attack_hand((object)(a), b, c)))
            {
                return(null);
            }
            this.add_fingerprint(a);
            ((Mob)a).set_machine(this);
            dat  = "";
            dat += new Txt("<a href='byond://?src=").Ref(this).str(";scan=1'>Scan for TC stations.</a><BR>").ToString();
            dat += "This " + this + " has " + this.storedcrystals + " telecrystals available for distribution. <BR>";
            dat += "<BR><BR>";

            foreach (dynamic _a in Lang13.Enumerate(this.TCstations, typeof(Obj_Machinery_Computer_Telecrystals_Uplinker)))
            {
                A = _a;

                dat += "" + A.name + " | ";

                if (Lang13.Bool(A.uplinkholder))
                {
                    dat += "" + A.uplinkholder.hidden_uplink.telecrystals + " telecrystals.";
                }

                if (this.storedcrystals != 0)
                {
                    dat += new Txt("<BR>Add TC: <a href ='?src=").Ref(this).str(";give1=").Ref(A).str("'>1</a> | <a href ='?src=").Ref(this).str(";give5=").Ref(A).str("'>5</a>").ToString();
                }
                dat += "<BR>";
            }

            if (this.TCstations.len != 0)
            {
                dat += new Txt("<BR><BR><a href='byond://?src=").Ref(this).str(";distrib=1'>Evenly distribute remaining TC.</a><BR><BR>").ToString();
            }

            foreach (dynamic _b in Lang13.Enumerate(this.transferlog))
            {
                entry = _b;

                dat += "<small>" + entry + "</small><BR>";
            }
            popup = new Browser(a, "computer", "Team Telecrystal Management Console", 700, 500);
            popup.set_content(dat);
            popup.set_title_image(((Mob)a).browse_rsc_icon(this.icon, this.icon_state));
            popup.open();
            return(null);
        }
        // Function from file: telecrystalconsoles.dm
        public override dynamic Topic(string href = null, ByTable href_list = null, dynamic hsrc = null)
        {
            dynamic A      = null;
            dynamic A2     = null;
            int     sanity = 0;
            Obj_Machinery_Computer_Telecrystals_Uplinker A3 = null;


            if (Lang13.Bool(base.Topic(href, href_list, (object)(hsrc))))
            {
                return(null);
            }

            if (Lang13.Bool(href_list["scan"]))
            {
                this.scanUplinkers();
            }

            if (Lang13.Bool(href_list["give1"]))
            {
                A = Lang13.FindObj(href_list["give1"]);
                ((Obj_Machinery_Computer_Telecrystals_Uplinker)A).giveTC(1);
            }

            if (Lang13.Bool(href_list["give5"]))
            {
                A2 = Lang13.FindObj(href_list["give5"]);
                ((Obj_Machinery_Computer_Telecrystals_Uplinker)A2).giveTC(5);
            }

            if (Lang13.Bool(href_list["distrib"]))
            {
                sanity = 0;

                while (this.storedcrystals != 0 && sanity < 100)
                {
                    foreach (dynamic _a in Lang13.Enumerate(this.TCstations, typeof(Obj_Machinery_Computer_Telecrystals_Uplinker)))
                    {
                        A3 = _a;

                        A3.giveTC(1, false);
                    }
                    sanity++;
                }
                this.logTransfer("" + this + " evenly distributed telecrystals.");
            }
            this.updateUsrDialog();
            return(null);
        }
        // Function from file: telecrystalconsoles.dm
        public void scanUplinkers(  )
        {
            Obj_Machinery_Computer_Telecrystals_Uplinker A = null;


            foreach (dynamic _a in Lang13.Enumerate(GlobalFuncs.ultra_range(this.scanrange, this.loc), typeof(Obj_Machinery_Computer_Telecrystals_Uplinker)))
            {
                A = _a;


                if (!(A.linkedboss != null))
                {
                    this.TCstations.Add(A);
                    A.linkedboss = this;
                }
            }

            if (this.virgin)
            {
                this.getDangerous();
                this.virgin = false;
            }
            return;
        }