Terraria.Tile.nactive C# (CSharp) Method

nactive() public method

public nactive ( ) : bool
return bool
        public bool nactive()
        {
            return ((int)this.sTileHeader & 96) == 32;
        }

Usage Example

        public void Update()
        {
            Main.tileSolid[379] = true;
            Tile tile  = Main.tile[x - 1, y];
            Tile tile2 = Main.tile[x + 1, y];
            Tile tile3 = Main.tile[x, y - 1];
            Tile tile4 = Main.tile[x, y + 1];
            Tile tile5 = Main.tile[x, y];

            if (tile5.nactive() && Main.tileSolid[tile5.type] && !Main.tileSolidTop[tile5.type])
            {
                ushort type = tile5.type;
                int    num5 = 10;
                kill = 9;
                return;
            }
            byte  liquid = tile5.liquid;
            float num    = 0f;

            if (y > Main.maxTilesY - 200 && tile5.liquidType() == 0 && tile5.liquid > 0)
            {
                byte b = 2;
                if (tile5.liquid < b)
                {
                    b = tile5.liquid;
                }
                tile5.liquid -= b;
            }
            if (tile5.liquid == 0)
            {
                kill = 9;
                return;
            }
            if (tile5.lava())
            {
                LavaCheck(x, y);
                if (!quickFall)
                {
                    if (delay < 5)
                    {
                        delay++;
                        return;
                    }
                    delay = 0;
                }
            }
            else
            {
                if (tile.lava())
                {
                    AddWater(x - 1, y);
                }
                if (tile2.lava())
                {
                    AddWater(x + 1, y);
                }
                if (tile3.lava())
                {
                    AddWater(x, y - 1);
                }
                if (tile4.lava())
                {
                    AddWater(x, y + 1);
                }
                if (tile5.honey())
                {
                    HoneyCheck(x, y);
                    if (!quickFall)
                    {
                        if (delay < 10)
                        {
                            delay++;
                            return;
                        }
                        delay = 0;
                    }
                }
                else
                {
                    if (tile.honey())
                    {
                        AddWater(x - 1, y);
                    }
                    if (tile2.honey())
                    {
                        AddWater(x + 1, y);
                    }
                    if (tile3.honey())
                    {
                        AddWater(x, y - 1);
                    }
                    if (tile4.honey())
                    {
                        AddWater(x, y + 1);
                    }
                }
            }
            if ((!tile4.nactive() || !Main.tileSolid[tile4.type] || Main.tileSolidTop[tile4.type]) && (tile4.liquid <= 0 || tile4.liquidType() == tile5.liquidType()) && tile4.liquid < byte.MaxValue)
            {
                num = 255 - tile4.liquid;
                if (num > (float)(int)tile5.liquid)
                {
                    num = (int)tile5.liquid;
                }
                tile5.liquid -= (byte)num;
                tile4.liquid += (byte)num;
                tile4.liquidType(tile5.liquidType());
                AddWater(x, y + 1);
                tile4.skipLiquid(true);
                tile5.skipLiquid(true);
                if (tile5.liquid > 250)
                {
                    tile5.liquid = byte.MaxValue;
                }
                else
                {
                    AddWater(x - 1, y);
                    AddWater(x + 1, y);
                }
            }
            if (tile5.liquid > 0)
            {
                bool flag  = true;
                bool flag2 = true;
                bool flag3 = true;
                bool flag4 = true;
                if (tile.nactive() && Main.tileSolid[tile.type] && !Main.tileSolidTop[tile.type])
                {
                    flag = false;
                }
                else if (tile.liquid > 0 && tile.liquidType() != tile5.liquidType())
                {
                    flag = false;
                }
                else if (Main.tile[x - 2, y].nactive() && Main.tileSolid[Main.tile[x - 2, y].type] && !Main.tileSolidTop[Main.tile[x - 2, y].type])
                {
                    flag3 = false;
                }
                else if (Main.tile[x - 2, y].liquid == 0)
                {
                    flag3 = false;
                }
                else if (Main.tile[x - 2, y].liquid > 0 && Main.tile[x - 2, y].liquidType() != tile5.liquidType())
                {
                    flag3 = false;
                }
                if (tile2.nactive() && Main.tileSolid[tile2.type] && !Main.tileSolidTop[tile2.type])
                {
                    flag2 = false;
                }
                else if (tile2.liquid > 0 && tile2.liquidType() != tile5.liquidType())
                {
                    flag2 = false;
                }
                else if (Main.tile[x + 2, y].nactive() && Main.tileSolid[Main.tile[x + 2, y].type] && !Main.tileSolidTop[Main.tile[x + 2, y].type])
                {
                    flag4 = false;
                }
                else if (Main.tile[x + 2, y].liquid == 0)
                {
                    flag4 = false;
                }
                else if (Main.tile[x + 2, y].liquid > 0 && Main.tile[x + 2, y].liquidType() != tile5.liquidType())
                {
                    flag4 = false;
                }
                int num2 = 0;
                if (tile5.liquid < 3)
                {
                    num2 = -1;
                }
                if (flag && flag2)
                {
                    if (flag3 && flag4)
                    {
                        bool flag5 = true;
                        bool flag6 = true;
                        if (Main.tile[x - 3, y].nactive() && Main.tileSolid[Main.tile[x - 3, y].type] && !Main.tileSolidTop[Main.tile[x - 3, y].type])
                        {
                            flag5 = false;
                        }
                        else if (Main.tile[x - 3, y].liquid == 0)
                        {
                            flag5 = false;
                        }
                        else if (Main.tile[x - 3, y].liquidType() != tile5.liquidType())
                        {
                            flag5 = false;
                        }
                        if (Main.tile[x + 3, y].nactive() && Main.tileSolid[Main.tile[x + 3, y].type] && !Main.tileSolidTop[Main.tile[x + 3, y].type])
                        {
                            flag6 = false;
                        }
                        else if (Main.tile[x + 3, y].liquid == 0)
                        {
                            flag6 = false;
                        }
                        else if (Main.tile[x + 3, y].liquidType() != tile5.liquidType())
                        {
                            flag6 = false;
                        }
                        if (flag5 && flag6)
                        {
                            num = tile.liquid + tile2.liquid + Main.tile[x - 2, y].liquid + Main.tile[x + 2, y].liquid + Main.tile[x - 3, y].liquid + Main.tile[x + 3, y].liquid + tile5.liquid + num2;
                            num = (float)Math.Round(num / 7f);
                            int num3 = 0;
                            tile.liquidType(tile5.liquidType());
                            if (tile.liquid != (byte)num)
                            {
                                tile.liquid = (byte)num;
                                AddWater(x - 1, y);
                            }
                            else
                            {
                                num3++;
                            }
                            tile2.liquidType(tile5.liquidType());
                            if (tile2.liquid != (byte)num)
                            {
                                tile2.liquid = (byte)num;
                                AddWater(x + 1, y);
                            }
                            else
                            {
                                num3++;
                            }
                            Main.tile[x - 2, y].liquidType(tile5.liquidType());
                            if (Main.tile[x - 2, y].liquid != (byte)num)
                            {
                                Main.tile[x - 2, y].liquid = (byte)num;
                                AddWater(x - 2, y);
                            }
                            else
                            {
                                num3++;
                            }
                            Main.tile[x + 2, y].liquidType(tile5.liquidType());
                            if (Main.tile[x + 2, y].liquid != (byte)num)
                            {
                                Main.tile[x + 2, y].liquid = (byte)num;
                                AddWater(x + 2, y);
                            }
                            else
                            {
                                num3++;
                            }
                            Main.tile[x - 3, y].liquidType(tile5.liquidType());
                            if (Main.tile[x - 3, y].liquid != (byte)num)
                            {
                                Main.tile[x - 3, y].liquid = (byte)num;
                                AddWater(x - 3, y);
                            }
                            else
                            {
                                num3++;
                            }
                            Main.tile[x + 3, y].liquidType(tile5.liquidType());
                            if (Main.tile[x + 3, y].liquid != (byte)num)
                            {
                                Main.tile[x + 3, y].liquid = (byte)num;
                                AddWater(x + 3, y);
                            }
                            else
                            {
                                num3++;
                            }
                            if (tile.liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x - 1, y);
                            }
                            if (tile2.liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x + 1, y);
                            }
                            if (Main.tile[x - 2, y].liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x - 2, y);
                            }
                            if (Main.tile[x + 2, y].liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x + 2, y);
                            }
                            if (Main.tile[x - 3, y].liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x - 3, y);
                            }
                            if (Main.tile[x + 3, y].liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x + 3, y);
                            }
                            if (num3 != 6 || tile3.liquid <= 0)
                            {
                                tile5.liquid = (byte)num;
                            }
                        }
                        else
                        {
                            int num4 = 0;
                            num = tile.liquid + tile2.liquid + Main.tile[x - 2, y].liquid + Main.tile[x + 2, y].liquid + tile5.liquid + num2;
                            num = (float)Math.Round(num / 5f);
                            tile.liquidType(tile5.liquidType());
                            if (tile.liquid != (byte)num)
                            {
                                tile.liquid = (byte)num;
                                AddWater(x - 1, y);
                            }
                            else
                            {
                                num4++;
                            }
                            tile2.liquidType(tile5.liquidType());
                            if (tile2.liquid != (byte)num)
                            {
                                tile2.liquid = (byte)num;
                                AddWater(x + 1, y);
                            }
                            else
                            {
                                num4++;
                            }
                            Main.tile[x - 2, y].liquidType(tile5.liquidType());
                            if (Main.tile[x - 2, y].liquid != (byte)num)
                            {
                                Main.tile[x - 2, y].liquid = (byte)num;
                                AddWater(x - 2, y);
                            }
                            else
                            {
                                num4++;
                            }
                            Main.tile[x + 2, y].liquidType(tile5.liquidType());
                            if (Main.tile[x + 2, y].liquid != (byte)num)
                            {
                                Main.tile[x + 2, y].liquid = (byte)num;
                                AddWater(x + 2, y);
                            }
                            else
                            {
                                num4++;
                            }
                            if (tile.liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x - 1, y);
                            }
                            if (tile2.liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x + 1, y);
                            }
                            if (Main.tile[x - 2, y].liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x - 2, y);
                            }
                            if (Main.tile[x + 2, y].liquid != (byte)num || tile5.liquid != (byte)num)
                            {
                                AddWater(x + 2, y);
                            }
                            if (num4 != 4 || tile3.liquid <= 0)
                            {
                                tile5.liquid = (byte)num;
                            }
                        }
                    }
                    else if (flag3)
                    {
                        num = tile.liquid + tile2.liquid + Main.tile[x - 2, y].liquid + tile5.liquid + num2;
                        num = (float)Math.Round((double)(num / 4f) + 0.001);
                        tile.liquidType(tile5.liquidType());
                        if (tile.liquid != (byte)num || tile5.liquid != (byte)num)
                        {
                            tile.liquid = (byte)num;
                            AddWater(x - 1, y);
                        }
                        tile2.liquidType(tile5.liquidType());
                        if (tile2.liquid != (byte)num || tile5.liquid != (byte)num)
                        {
                            tile2.liquid = (byte)num;
                            AddWater(x + 1, y);
                        }
                        Main.tile[x - 2, y].liquidType(tile5.liquidType());
                        if (Main.tile[x - 2, y].liquid != (byte)num || tile5.liquid != (byte)num)
                        {
                            Main.tile[x - 2, y].liquid = (byte)num;
                            AddWater(x - 2, y);
                        }
                        tile5.liquid = (byte)num;
                    }
                    else if (flag4)
                    {
                        num = tile.liquid + tile2.liquid + Main.tile[x + 2, y].liquid + tile5.liquid + num2;
                        num = (float)Math.Round((double)(num / 4f) + 0.001);
                        tile.liquidType(tile5.liquidType());
                        if (tile.liquid != (byte)num || tile5.liquid != (byte)num)
                        {
                            tile.liquid = (byte)num;
                            AddWater(x - 1, y);
                        }
                        tile2.liquidType(tile5.liquidType());
                        if (tile2.liquid != (byte)num || tile5.liquid != (byte)num)
                        {
                            tile2.liquid = (byte)num;
                            AddWater(x + 1, y);
                        }
                        Main.tile[x + 2, y].liquidType(tile5.liquidType());
                        if (Main.tile[x + 2, y].liquid != (byte)num || tile5.liquid != (byte)num)
                        {
                            Main.tile[x + 2, y].liquid = (byte)num;
                            AddWater(x + 2, y);
                        }
                        tile5.liquid = (byte)num;
                    }
                    else
                    {
                        num = tile.liquid + tile2.liquid + tile5.liquid + num2;
                        num = (float)Math.Round((double)(num / 3f) + 0.001);
                        tile.liquidType(tile5.liquidType());
                        if (tile.liquid != (byte)num)
                        {
                            tile.liquid = (byte)num;
                        }
                        if (tile5.liquid != (byte)num || tile.liquid != (byte)num)
                        {
                            AddWater(x - 1, y);
                        }
                        tile2.liquidType(tile5.liquidType());
                        if (tile2.liquid != (byte)num)
                        {
                            tile2.liquid = (byte)num;
                        }
                        if (tile5.liquid != (byte)num || tile2.liquid != (byte)num)
                        {
                            AddWater(x + 1, y);
                        }
                        tile5.liquid = (byte)num;
                    }
                }
                else if (flag)
                {
                    num = tile.liquid + tile5.liquid + num2;
                    num = (float)Math.Round((double)(num / 2f) + 0.001);
                    if (tile.liquid != (byte)num)
                    {
                        tile.liquid = (byte)num;
                    }
                    tile.liquidType(tile5.liquidType());
                    if (tile5.liquid != (byte)num || tile.liquid != (byte)num)
                    {
                        AddWater(x - 1, y);
                    }
                    tile5.liquid = (byte)num;
                }
                else if (flag2)
                {
                    num = tile2.liquid + tile5.liquid + num2;
                    num = (float)Math.Round((double)(num / 2f) + 0.001);
                    if (tile2.liquid != (byte)num)
                    {
                        tile2.liquid = (byte)num;
                    }
                    tile2.liquidType(tile5.liquidType());
                    if (tile5.liquid != (byte)num || tile2.liquid != (byte)num)
                    {
                        AddWater(x + 1, y);
                    }
                    tile5.liquid = (byte)num;
                }
            }
            if (tile5.liquid != liquid)
            {
                if (tile5.liquid == 254 && liquid == byte.MaxValue)
                {
                    tile5.liquid = byte.MaxValue;
                    kill++;
                }
                else
                {
                    AddWater(x, y - 1);
                    kill = 0;
                }
            }
            else
            {
                kill++;
            }
        }
All Usage Examples Of Terraria.Tile::nactive