Exemple #1
0
        // Function from file: floorbot.dm
        public override void explode(  )
        {
            dynamic Tsec = null;
            Obj_Item_Weapon_Storage_Toolbox_Mechanical N = null;
            Obj_Item_Stack_Tile_Plasteel T  = null;
            Obj_Item_Stack_Tile_Plasteel T2 = null;
            EffectSystem_SparkSpread     s  = null;

            this.on = 0;
            this.visible_message("<span class='boldannounce'>" + this + " blows apart!</span>");
            Tsec       = GlobalFuncs.get_turf(this);
            N          = new Obj_Item_Weapon_Storage_Toolbox_Mechanical(Tsec);
            N.contents = new ByTable();
            new Obj_Item_Device_Assembly_ProxSensor(Tsec);

            if (Rand13.PercentChance(50))
            {
                new Obj_Item_RobotParts_LArm(Tsec);
            }

            while (this.amount != 0)
            {
                if (this.amount >= 16)
                {
                    T            = new Obj_Item_Stack_Tile_Plasteel(Tsec);
                    T.amount     = 16;
                    this.amount -= 16;
                }
                else
                {
                    T2          = new Obj_Item_Stack_Tile_Plasteel(Tsec);
                    T2.amount   = this.amount;
                    this.amount = 0;
                }
            }
            s = new EffectSystem_SparkSpread();
            s.set_up(3, 1, this);
            s.start();
            base.explode();
            return;
        }
Exemple #2
0
        // Function from file: floorbot.dm
        public void maketile(dynamic M = null)
        {
            Obj_Item_Stack_Tile_Plasteel T = null;


            if (!(M is Obj_Item_Stack_Sheet_Metal))
            {
                return;
            }
            this.visible_message("<span class='notice'>" + this + " begins to create tiles.</span>");
            this.v_mode = 8;
            Task13.Schedule(20, (Task13.Closure)(() => {
                if (M == null)
                {
                    this.target = null;
                    this.v_mode = 0;
                    return;
                }
                T        = new Obj_Item_Stack_Tile_Plasteel();
                T.amount = 4;
                T.loc    = M.loc;

                if (Convert.ToDouble(M.amount) > 1)
                {
                    M.amount--;
                }
                else
                {
                    GlobalFuncs.qdel(M);
                }
                this.target = null;
                this.v_mode = 0;
                return;
            }));
            return;
        }