// Function from file: toys.dm
        public override dynamic attackby(dynamic A = null, dynamic user = null, string _params = null, bool?silent = null, bool?replace_spent = null)
        {
            dynamic C = null;
            Obj_Item_Toy_Cards_Cardhand H = null;
            dynamic H2 = null;


            if (A is Obj_Item_Toy_Cards_Singlecard)
            {
                C = A;

                if (C.parentdeck == this.parentdeck)
                {
                    H = new Obj_Item_Toy_Cards_Cardhand(user.loc);
                    H.currenthand.Add(C.cardname);
                    H.currenthand.Add(this.cardname);
                    H.parentdeck = C.parentdeck;
                    H.apply_card_vars(H, C);
                    ((Mob)user).unEquip(C);
                    H.pickup(user);
                    ((Mob)user).put_in_active_hand(H);
                    user.WriteMsg("<span class='notice'>You combine the " + C.cardname + " and the " + this.cardname + " into a hand.</span>");
                    GlobalFuncs.qdel(C);
                    GlobalFuncs.qdel(this);
                }
                else
                {
                    user.WriteMsg("<span class='warning'>You can't mix cards from other decks!</span>");
                }
            }

            if (A is Obj_Item_Toy_Cards_Cardhand)
            {
                H2 = A;

                if (H2.parentdeck == this.parentdeck)
                {
                    H2.currenthand.Add(this.cardname);
                    ((Mob)user).unEquip(this);
                    ((Ent_Static)user).visible_message(new Txt().item(user).str(" adds a card to ").his_her_its_their().str(" hand.").ToString(), "<span class='notice'>You add the " + this.cardname + " to your hand.</span>");
                    H2.interact(user);

                    if (H2.currenthand.len > 4)
                    {
                        H2.icon_state = "" + this.deckstyle + "_hand5";
                    }
                    else if (H2.currenthand.len > 3)
                    {
                        H2.icon_state = "" + this.deckstyle + "_hand4";
                    }
                    else if (H2.currenthand.len > 2)
                    {
                        H2.icon_state = "" + this.deckstyle + "_hand3";
                    }
                    GlobalFuncs.qdel(this);
                }
                else
                {
                    user.WriteMsg("<span class='warning'>You can't mix cards from other decks!</span>");
                }
            }
            return(null);
        }
        // Function from file: toys.dm
        public override dynamic Topic(string href = null, ByTable href_list = null, dynamic hsrc = null)
        {
            Mob cardUser = null;
            Obj_Item_Toy_Cards_Cardhand O = null;
            dynamic choice = null;
            Obj_Item_Toy_Cards_Singlecard C = null;
            Obj_Item_Toy_Cards_Singlecard N = null;


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

            if (Task13.User.stat != 0 || !(Task13.User is Mob_Living_Carbon_Human) || !Task13.User.canmove)
            {
                return(null);
            }
            cardUser = Task13.User;
            O        = this;

            if (Lang13.Bool(href_list["pick"]))
            {
                if (cardUser.get_item_by_slot(4) == this || cardUser.get_item_by_slot(5) == this)
                {
                    choice = href_list["pick"];
                    C      = new Obj_Item_Toy_Cards_Singlecard(cardUser.loc);
                    this.currenthand.Remove(choice);
                    C.parentdeck = this.parentdeck;
                    C.cardname   = choice;
                    C.apply_card_vars(C, O);
                    C.pickup(cardUser);
                    cardUser.put_in_hands(C);
                    cardUser.visible_message(new Txt("<span class='notice'>").item(cardUser).str(" draws a card from ").his_her_its_their().str(" hand.</span>").ToString(), "<span class='notice'>You take the " + C.cardname + " from your hand.</span>");
                    this.interact(cardUser);

                    if (this.currenthand.len < 3)
                    {
                        this.icon_state = "" + this.deckstyle + "_hand2";
                    }
                    else if (this.currenthand.len < 4)
                    {
                        this.icon_state = "" + this.deckstyle + "_hand3";
                    }
                    else if (this.currenthand.len < 5)
                    {
                        this.icon_state = "" + this.deckstyle + "_hand4";
                    }

                    if (this.currenthand.len == 1)
                    {
                        N            = new Obj_Item_Toy_Cards_Singlecard(this.loc);
                        N.parentdeck = this.parentdeck;
                        N.cardname   = this.currenthand[1];
                        N.apply_card_vars(N, O);
                        cardUser.unEquip(this);
                        N.pickup(cardUser);
                        cardUser.put_in_hands(N);
                        cardUser.WriteMsg("<span class='notice'>You also take " + this.currenthand[1] + " and hold it.</span>");
                        Interface13.Browse(cardUser, null, "window=cardhand");
                        GlobalFuncs.qdel(this);
                    }
                }
                return(null);
            }
            return(null);
        }