52902 {
52903 if (Main.tile[x,
j] ==
null)
52904 {
52905 return;
52906 }
52910 while ((!Main.tile[x,
num2].active() || !Main.tileSolid[Main.tile[x,
num2].type] || Main.tileSolidTop[Main.tile[x,
num2].type]) &&
num2 < Main.maxTilesY - 50)
52911 {
52912 if (Main.tile[x,
num2].active() && Main.tile[x,
num2].type != 519)
52913 {
52915 }
52916 if (!Main.tile[x,
num2].active())
52917 {
52918 break;
52919 }
52921 if (Main.tile[x,
num2] ==
null)
52922 {
52923 return;
52924 }
52925 }
52927 if (Main.tile[x,
num] ==
null)
52928 {
52929 return;
52930 }
52931 while (Main.tile[x,
num] !=
null && Main.tile[x,
num].liquid > 0 &&
num > 50)
52932 {
52933 if ((Main.tile[x,
num].active() && Main.tile[x,
num].type != 519) || Main.tile[x,
num].liquidType() != 0)
52934 {
52936 }
52938 if (Main.tile[x,
num] ==
null)
52939 {
52940 return;
52941 }
52942 }
52944 if (Main.tile[x,
num] ==
null)
52945 {
52946 return;
52947 }
52951 {
52953 }
52954 int type = Main.tile[x,
num2].type;
52956 switch (type)
52957 {
52958 case 2:
52959 case 477:
52961 break;
52962 case 53:
52964 break;
52965 case 199:
52966 case 234:
52967 case 662:
52969 break;
52970 case 23:
52971 case 112:
52972 case 661:
52974 break;
52975 case 70:
52977 break;
52978 }
52979 if (!Main.tile[x,
num2].nactive())
52980 {
52982 }
52984 {
52986 }
52988 if (Main.tile[x,
num] !=
null && !Main.tile[x,
num].active())
52989 {
52991 {
52992 if (Main.tile[x,
num6] ==
null)
52993 {
52994 return;
52995 }
52996 if (Main.tile[x,
num6].active() && Main.tile[x,
num6].type == 519)
52997 {
52999 break;
53000 }
53001 }
53002 }
53003 while (Main.tile[x,
num] !=
null && Main.tile[x,
num].active() && Main.tile[x,
num].type == 519)
53004 {
53006 }
53008 if (Main.tile[x,
num2 - 1] !=
null && Main.tile[x,
num2 - 1].liquid < 127 &&
genRand.Next(4) == 0)
53009 {
53011 }
53012 if (Main.tile[x,
num] !=
null && Main.tile[x,
num].frameX >= 180 && Main.tile[x,
num].liquid > 127 &&
genRand.Next(4) == 0)
53013 {
53015 }
53016 if (Main.tile[x,
num] !=
null && Main.tile[x,
num2 - 1] !=
null && Main.tile[x,
num].frameX > 18)
53017 {
53018 if (Main.tile[x,
num2 - 1].frameX < 36 || Main.tile[x,
num2 - 1].frameX > 72)
53019 {
53021 }
53022 else if (Main.tile[x,
num].frameX < 90)
53023 {
53025 }
53026 else if (Main.tile[x,
num].frameX >= 108 && Main.tile[x,
num].frameX <= 162)
53027 {
53028 Main.tile[x,
num].frameX = 90;
53029 }
53030 }
53031 if (
num2 >
num + 4 && Main.tile[x,
num + 4] !=
null && Main.tile[x,
num + 3] !=
null && Main.tile[x,
num + 4].liquid == 0 && Main.tile[x,
num + 3].type == 519)
53032 {
53034 }
53036 {
53039 {
53041 }
53043 for (
int i =
num7; i <=
num2; i++)
53044 {
53045 if (Main.tile[x, i] != null && Main.tile[x, i].active() && Main.tile[x, i].type == 519)
53046 {
53048 if (Main.netMode == 2)
53049 {
53050 NetMessage.SendData(17, -1, -1, null, 0, x, i);
53051 }
53053 }
53054 }
53055 }
53056 else
53057 {
53058 if (
num5 == Main.tile[x,
num].frameY)
53059 {
53060 return;
53061 }
53063 {
53064 if (Main.tile[x,
k] !=
null && Main.tile[x,
k].active() && Main.tile[x,
k].type == 519)
53065 {
53066 Main.tile[x,
k].frameY = (short)
num5;
53067 if (Main.netMode == 2)
53068 {
53069 NetMessage.SendTileSquare(-1, x,
num);
53070 }
53071 }
53072 }
53073 }
53074 }
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static UnifiedRandom genRand
static void SquareTileFrame(int i, int j, bool resetFrame=true)
static int catTailDistance