Exemple #1
0
        public static void TryPlacing(int x, int y, int netid, int prefix, int stack)
        {
            WorldGen.RangeFrame(x, y, x + 3, y + 3);
            int index = TEWeaponsRack.Find(x, y);

            if (index == -1)
            {
                int number = Item.NewItem(x * 16, y * 16, 32, 32, 1, 1, false, 0, false, false);
                Main.item[number].netDefaults(netid);
                Main.item[number].Prefix(prefix);
                Main.item[number].stack = stack;
                NetMessage.SendData(21, -1, -1, (NetworkText)null, number, 0.0f, 0.0f, 0.0f, 0, 0, 0);
            }
            else
            {
                TEWeaponsRack teWeaponsRack = (TEWeaponsRack)TileEntity.ByID[index];
                if (teWeaponsRack.item.stack > 0)
                {
                    teWeaponsRack.DropItem();
                }
                teWeaponsRack.item = new Item();
                teWeaponsRack.item.netDefaults(netid);
                teWeaponsRack.item.Prefix(prefix);
                teWeaponsRack.item.stack = stack;
                NetMessage.SendData(86, -1, -1, (NetworkText)null, teWeaponsRack.ID, (float)x, (float)y, 0.0f, 0, 0, 0);
            }
        }
Exemple #2
0
        public static void TryPlacing(int x, int y, int netid, int prefix, int stack)
        {
            WorldGen.RangeFrame(x, y, x + 3, y + 3);
            int num = Find(x, y);

            if (num == -1)
            {
                int num2 = Item.NewItem(x * 16, y * 16, 32, 32, 1);
                Main.item[num2].netDefaults(netid);
                Main.item[num2].Prefix(prefix);
                Main.item[num2].stack = stack;
                NetMessage.SendData(21, -1, -1, null, num2);
                return;
            }
            TEWeaponsRack tEWeaponsRack = (TEWeaponsRack)TileEntity.ByID[num];

            if (tEWeaponsRack.item.stack > 0)
            {
                tEWeaponsRack.DropItem();
            }
            tEWeaponsRack.item = new Item();
            tEWeaponsRack.item.netDefaults(netid);
            tEWeaponsRack.item.Prefix(prefix);
            tEWeaponsRack.item.stack = stack;
            NetMessage.SendData(86, -1, -1, null, tEWeaponsRack.ID, x, y);
        }
Exemple #3
0
        public static void Framing_CheckTile(int callX, int callY)
        {
            int num  = 3;
            int num2 = 3;

            if (WorldGen.destroyObject)
            {
                return;
            }
            int  num3       = callX;
            int  num4       = callY;
            Tile tileSafely = Framing.GetTileSafely(callX, callY);

            num3 -= tileSafely.frameX / 18 % num;
            num4 -= tileSafely.frameY / 18 % num2;
            bool flag = false;

            for (int i = num3; i < num3 + num; i++)
            {
                for (int j = num4; j < num4 + num2; j++)
                {
                    Tile tile = Main.tile[i, j];
                    if (!tile.active() || tile.type != 471 || tile.wall == 0)
                    {
                        flag = true;
                    }
                }
            }
            if (!flag)
            {
                return;
            }
            Item.NewItem(num3 * 16, num4 * 16, 48, 48, 2699);
            WorldGen.destroyObject = true;
            int num5 = Find(num3, num4);

            if (num5 != -1)
            {
                TEWeaponsRack tEWeaponsRack = (TEWeaponsRack)TileEntity.ByID[num5];
                if (!tEWeaponsRack.item.IsAir)
                {
                    tEWeaponsRack.DropItem();
                }
            }
            for (int k = num3; k < num3 + num; k++)
            {
                for (int l = num4; l < num4 + num2; l++)
                {
                    if (Main.tile[k, l].active() && Main.tile[k, l].type == 471)
                    {
                        WorldGen.KillTile(k, l);
                    }
                }
            }
            WorldGen.destroyObject = false;
        }
Exemple #4
0
        public static void Framing_CheckTile(int callX, int callY)
        {
            int num1 = 3;
            int num2 = 3;

            if (WorldGen.destroyObject)
            {
                return;
            }
            int  num3       = callX;
            int  num4       = callY;
            Tile tileSafely = Framing.GetTileSafely(callX, callY);
            int  x          = num3 - (int)tileSafely.frameX / 18 % num1;
            int  y          = num4 - (int)tileSafely.frameY / 18 % num2;
            bool flag       = false;

            for (int index1 = x; index1 < x + num1; ++index1)
            {
                for (int index2 = y; index2 < y + num2; ++index2)
                {
                    Tile tile = Main.tile[index1, index2];
                    if (!tile.active() || tile.type != (ushort)471 || tile.wall == (ushort)0)
                    {
                        flag = true;
                    }
                }
            }
            if (!flag)
            {
                return;
            }
            Item.NewItem(x * 16, y * 16, 48, 48, 2699, 1, false, 0, false, false);
            WorldGen.destroyObject = true;
            int index = TEWeaponsRack.Find(x, y);

            if (index != -1)
            {
                TEWeaponsRack teWeaponsRack = (TEWeaponsRack)TileEntity.ByID[index];
                if (!teWeaponsRack.item.IsAir)
                {
                    teWeaponsRack.DropItem();
                }
            }
            for (int i = x; i < x + num1; ++i)
            {
                for (int j = y; j < y + num2; ++j)
                {
                    if (Main.tile[i, j].active() && Main.tile[i, j].type == (ushort)471)
                    {
                        WorldGen.KillTile(i, j, false, false, false);
                    }
                }
            }
            WorldGen.destroyObject = false;
        }