// Function from file: bottle.dm
        public override dynamic attackby(dynamic A = null, dynamic user = null, string _params = null, bool?silent = null, bool?replace_spent = null)
        {
            dynamic    bombturf = null;
            dynamic    bombarea = null;
            int        counter  = 0;
            Ent_Static target   = null;
            Ent_Static S        = null;
            Ent_Static A2       = null;


            if (((Obj_Item)A).is_hot() != 0 && !this.active)
            {
                this.active = true;
                bombturf    = GlobalFuncs.get_turf(this);
                bombarea    = GlobalFuncs.get_area(bombturf);
                GlobalFuncs.message_admins(new Txt().item(GlobalFuncs.key_name(user)).str("<A HREF='?_src_=holder;adminmoreinfo=").Ref(user).str("'>?</A> has primed a ").item(this.name).str(" for detonation at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=").item(bombturf.x).str(";Y=").item(bombturf.y).str(";Z=").item(bombturf.z).str("'>").item(bombarea).str(" (JMP)</a>.").ToString());
                GlobalFuncs.log_game("" + GlobalFuncs.key_name(user) + " has primed a " + this.name + " for detonation at " + bombarea + " (" + bombturf.x + "," + bombturf.y + "," + bombturf.z + ").");
                user.WriteMsg(new Txt("<span class='info'>You light ").the(this).item().str(" on fire.</span>").ToString());
                this.overlays.Add(GlobalVars.fire_overlay);

                if (!this.isGlass)
                {
                    Task13.Schedule(50, (Task13.Closure)(() => {
                        if (this.active)
                        {
                            target  = this.loc;
                            counter = 0;

                            while (counter < 2)
                            {
                                if (target is Obj_Item_Weapon_Storage)
                                {
                                    S      = target;
                                    target = S.loc;
                                }
                                counter++;
                            }

                            if (target is Ent_Static)
                            {
                                A2 = target;
                                this.SplashReagents(A2);
                                A2.fire_act();
                            }
                            GlobalFuncs.qdel(this);
                        }
                        return;
                    }));
                }
            }
            return(null);
        }