// Function from file: bedsheet_bin.dm
        public override void attack_tk(Mob_Living_Carbon_Human user = null)
        {
            Obj_Item_Weapon_Bedsheet B = null;


            if (this.amount >= 1)
            {
                this.amount--;

                if (this.sheets.len > 0)
                {
                    B = this.sheets[this.sheets.len];
                    this.sheets.Remove(B);
                }
                else
                {
                    B = new Obj_Item_Weapon_Bedsheet(this.loc);
                }
                B.loc = this.loc;
                user.WriteMsg("<span class='notice'>You telekinetically remove " + B + " from " + this + ".</span>");
                this.update_icon();

                if (Lang13.Bool(this.hidden))
                {
                    this.hidden.loc = this.loc;
                    this.hidden     = null;
                }
            }
            this.add_fingerprint(user);
            return;
        }
        // Function from file: bedsheet_bin.dm
        public override dynamic attack_hand(dynamic a = null, bool?b = null, bool?c = null)
        {
            Obj_Item_Weapon_Bedsheet B = null;


            if (Lang13.Bool(a.lying))
            {
                return(null);
            }

            if (this.amount >= 1)
            {
                this.amount--;

                if (this.sheets.len > 0)
                {
                    B = this.sheets[this.sheets.len];
                    this.sheets.Remove(B);
                }
                else
                {
                    B = new Obj_Item_Weapon_Bedsheet(this.loc);
                }
                B.loc = a.loc;
                ((Mob)a).put_in_hands(B);
                a.WriteMsg("<span class='notice'>You take " + B + " out of " + this + ".</span>");
                this.update_icon();

                if (Lang13.Bool(this.hidden))
                {
                    this.hidden.loc = a.loc;
                    a.WriteMsg("<span class='notice'>" + this.hidden + " falls out of " + B + "!</span>");
                    this.hidden = null;
                }
            }
            this.add_fingerprint(a);
            return(null);
        }
        // Function from file: washing_machine.dm
        public override bool AltClick(Mob user = null)
        {
            Ent_Static A = null;
            Obj_Item_Stack_Sheet_Hairlesshide        HH = null;
            Obj_Item_Stack_Sheet_Wetleather          WL = null;
            Obj_Item_Clothing_Suit_Hooded_IanCostume IC = null;
            dynamic wash_color = null;
            dynamic CR         = null;
            dynamic ST         = null;
            string  new_jumpsuit_icon_state = null;
            dynamic new_jumpsuit_item_state = null;
            string  new_jumpsuit_name       = null;
            bool?   new_can_adjust          = null;
            string  new_glove_icon_state    = null;
            dynamic new_glove_item_state    = null;
            string  new_glove_name          = null;
            string  new_shoe_icon_state     = null;
            string  new_shoe_name           = null;
            string  new_sheet_icon_state    = null;
            string  new_sheet_name          = null;
            string  new_softcap_icon_state  = null;
            string  new_softcap_name        = null;
            string  new_desc = null;
            dynamic T        = null;
            dynamic J        = null;
            dynamic T2       = null;
            dynamic G        = null;
            dynamic T3       = null;
            dynamic S        = null;
            dynamic T4       = null;
            dynamic B        = null;
            dynamic T5       = null;
            dynamic H        = null;
            Obj_Item_Clothing_Under_Color    J2 = null;
            Obj_Item_Clothing_Gloves_Color   G2 = null;
            Obj_Item_Clothing_Shoes_Sneakers S2 = null;
            Obj_Item_Weapon_Bedsheet         B2 = null;
            Obj_Item_Clothing_Head_Soft      H2 = null;


            if (!user.canUseTopic(this))
            {
                return(false);
            }

            if (this.state != 4)
            {
                Task13.User.WriteMsg("The washing machine cannot run in this state.");
                return(false);
            }

            if (Lang13.Bool(Lang13.FindIn(typeof(Mob), this.contents)))
            {
                this.state = 8;
            }
            else
            {
                this.state = 5;
            }
            this.update_icon();
            Task13.Sleep(200);

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

                A.clean_blood();
            }

            foreach (dynamic _b in Lang13.Enumerate(this.contents, typeof(Obj_Item_Stack_Sheet_Hairlesshide)))
            {
                HH = _b;

                WL        = new Obj_Item_Stack_Sheet_Wetleather(this);
                WL.amount = HH.amount;
                GlobalFuncs.qdel(HH);
            }

            foreach (dynamic _c in Lang13.Enumerate(this.contents, typeof(Obj_Item_Clothing_Suit_Hooded_IanCostume)))
            {
                IC = _c;

                new Obj_Item_Weapon_ReagentContainers_Food_Snacks_Meat_Slab_Corgi(this);
                GlobalFuncs.qdel(IC);
            }

            if (Lang13.Bool(this.crayon))
            {
                wash_color = null;

                if (this.crayon is Obj_Item_Toy_Crayon)
                {
                    CR         = this.crayon;
                    wash_color = CR.colourName;
                }
                else if (this.crayon is Obj_Item_Weapon_Stamp)
                {
                    ST         = this.crayon;
                    wash_color = ST.item_color;
                }

                if (Lang13.Bool(wash_color))
                {
                    new_jumpsuit_icon_state = "";
                    new_jumpsuit_item_state = "";
                    new_jumpsuit_name       = "";
                    new_can_adjust          = null;
                    new_glove_icon_state    = "";
                    new_glove_item_state    = "";
                    new_glove_name          = "";
                    new_shoe_icon_state     = "";
                    new_shoe_name           = "";
                    new_sheet_icon_state    = "";
                    new_sheet_name          = "";
                    new_softcap_icon_state  = "";
                    new_softcap_name        = "";
                    new_desc = "The colors are a bit dodgy.";

                    foreach (dynamic _d in Lang13.Enumerate(Lang13.GetTypes(typeof(Obj_Item_Clothing_Under_Color))))
                    {
                        T = _d;

                        J = Lang13.Call(T);

                        if (wash_color == J.item_color)
                        {
                            new_jumpsuit_icon_state = J.icon_state;
                            new_jumpsuit_item_state = J.item_state;
                            new_jumpsuit_name       = J.name;
                            new_can_adjust          = J.can_adjust;
                            GlobalFuncs.qdel(J);
                            break;
                        }
                        GlobalFuncs.qdel(J);
                    }

                    foreach (dynamic _e in Lang13.Enumerate(Lang13.GetTypes(typeof(Obj_Item_Clothing_Gloves_Color))))
                    {
                        T2 = _e;

                        G = Lang13.Call(T2);

                        if (wash_color == G.item_color)
                        {
                            new_glove_icon_state = G.icon_state;
                            new_glove_item_state = G.item_state;
                            new_glove_name       = G.name;
                            GlobalFuncs.qdel(G);
                            break;
                        }
                        GlobalFuncs.qdel(G);
                    }

                    foreach (dynamic _f in Lang13.Enumerate(Lang13.GetTypes(typeof(Obj_Item_Clothing_Shoes_Sneakers))))
                    {
                        T3 = _f;

                        S = Lang13.Call(T3);

                        if (wash_color == S.item_color)
                        {
                            new_shoe_icon_state = S.icon_state;
                            new_shoe_name       = S.name;
                            GlobalFuncs.qdel(S);
                            break;
                        }
                        GlobalFuncs.qdel(S);
                    }

                    foreach (dynamic _g in Lang13.Enumerate(Lang13.GetTypes(typeof(Obj_Item_Weapon_Bedsheet))))
                    {
                        T4 = _g;

                        B = Lang13.Call(T4);

                        if (wash_color == B.item_color)
                        {
                            new_sheet_icon_state = B.icon_state;
                            new_sheet_name       = B.name;
                            GlobalFuncs.qdel(B);
                            break;
                        }
                        GlobalFuncs.qdel(B);
                    }

                    foreach (dynamic _h in Lang13.Enumerate(Lang13.GetTypes(typeof(Obj_Item_Clothing_Head_Soft))))
                    {
                        T5 = _h;

                        H = Lang13.Call(T5);

                        if (wash_color == H.item_color)
                        {
                            new_softcap_icon_state = H.icon_state;
                            new_softcap_name       = H.name;
                            GlobalFuncs.qdel(H);
                            break;
                        }
                        GlobalFuncs.qdel(H);
                    }

                    if (Lang13.Bool(new_jumpsuit_icon_state) && Lang13.Bool(new_jumpsuit_item_state) && Lang13.Bool(new_jumpsuit_name))
                    {
                        foreach (dynamic _i in Lang13.Enumerate(this.contents, typeof(Obj_Item_Clothing_Under_Color)))
                        {
                            J2 = _i;

                            J2.item_state = new_jumpsuit_item_state;
                            J2.icon_state = new_jumpsuit_icon_state;
                            J2.item_color = wash_color;
                            J2.name       = new_jumpsuit_name;
                            J2.desc       = new_desc;
                            J2.suit_color = wash_color;
                            J2.can_adjust = new_can_adjust;
                        }
                    }

                    if (Lang13.Bool(new_glove_icon_state) && Lang13.Bool(new_glove_item_state) && Lang13.Bool(new_glove_name))
                    {
                        foreach (dynamic _j in Lang13.Enumerate(this.contents, typeof(Obj_Item_Clothing_Gloves_Color)))
                        {
                            G2 = _j;

                            G2.item_state = new_glove_item_state;
                            G2.icon_state = new_glove_icon_state;
                            G2.item_color = wash_color;
                            G2.name       = new_glove_name;
                            G2.desc       = new_desc;
                        }
                    }

                    if (Lang13.Bool(new_shoe_icon_state) && Lang13.Bool(new_shoe_name))
                    {
                        foreach (dynamic _k in Lang13.Enumerate(this.contents, typeof(Obj_Item_Clothing_Shoes_Sneakers)))
                        {
                            S2 = _k;


                            if (S2.chained == true)
                            {
                                S2.chained  = false;
                                S2.slowdown = 0;
                                new Obj_Item_Weapon_Restraints_Handcuffs(this);
                            }
                            S2.icon_state = new_shoe_icon_state;
                            S2.item_color = wash_color;
                            S2.name       = new_shoe_name;
                            S2.desc       = new_desc;
                        }
                    }

                    if (Lang13.Bool(new_sheet_icon_state) && Lang13.Bool(new_sheet_name))
                    {
                        foreach (dynamic _l in Lang13.Enumerate(this.contents, typeof(Obj_Item_Weapon_Bedsheet)))
                        {
                            B2 = _l;

                            B2.icon_state = new_sheet_icon_state;
                            B2.item_color = wash_color;
                            B2.name       = new_sheet_name;
                            B2.desc       = new_desc;
                        }
                    }

                    if (Lang13.Bool(new_softcap_icon_state) && Lang13.Bool(new_softcap_name))
                    {
                        foreach (dynamic _m in Lang13.Enumerate(this.contents, typeof(Obj_Item_Clothing_Head_Soft)))
                        {
                            H2 = _m;

                            H2.icon_state = new_softcap_icon_state;
                            H2.item_color = wash_color;
                            H2.name       = new_softcap_name;
                            H2.desc       = new_desc;
                        }
                    }
                }
                GlobalFuncs.qdel(this.crayon);
                this.crayon = null;
            }

            if (Lang13.Bool(Lang13.FindIn(typeof(Mob), this.contents)))
            {
                this.state      = 7;
                this.gibs_ready = true;
            }
            else
            {
                this.state = 4;
            }
            this.update_icon();
            return(false);
        }