49677 {
49678 if (Main.tile[x,
j] ==
null)
49679 {
49680 return;
49681 }
49683 bool flag = false;
49685 while ((!Main.tile[x,
num2].active() || !Main.tileSolid[Main.tile[x,
num2].type] || Main.tileSolidTop[Main.tile[x,
num2].type]) &&
num2 < Main.maxTilesY - 50)
49686 {
49687 if (Main.tile[x,
num2].active() && Main.tile[x,
num2].type != 519)
49688 {
49689 flag = true;
49690 }
49691 if (!Main.tile[x,
num2].active())
49692 {
49693 break;
49694 }
49696 if (Main.tile[x,
num2] ==
null)
49697 {
49698 return;
49699 }
49700 }
49702 if (Main.tile[x, num] == null)
49703 {
49704 return;
49705 }
49706 while (Main.tile[x, num] != null && Main.tile[x, num].liquid > 0 && num > 50)
49707 {
49708 if ((Main.tile[x, num].active() && Main.tile[x, num].type != 519) || Main.tile[x, num].liquidType() != 0)
49709 {
49710 flag = true;
49711 }
49712 num--;
49713 if (Main.tile[x, num] == null)
49714 {
49715 return;
49716 }
49717 }
49718 num++;
49719 if (Main.tile[x, num] == null)
49720 {
49721 return;
49722 }
49726 {
49727 flag = true;
49728 }
49729 int type = Main.tile[x,
num2].type;
49732 {
49733 case 2:
49734 case 477:
49736 break;
49737 case 53:
49739 break;
49740 case 199:
49741 case 234:
49742 case 662:
49744 break;
49745 case 23:
49746 case 112:
49747 case 661:
49749 break;
49750 case 70:
49752 break;
49753 }
49754 if (!Main.tile[x,
num2].nactive())
49755 {
49756 flag = true;
49757 }
49759 {
49760 flag = true;
49761 }
49763 if (Main.tile[x, num] != null && !Main.tile[x, num].active())
49764 {
49766 {
49767 if (Main.tile[x,
num6] ==
null)
49768 {
49769 return;
49770 }
49771 if (Main.tile[x,
num6].active() && Main.tile[x,
num6].type == 519)
49772 {
49774 break;
49775 }
49776 }
49777 }
49778 while (Main.tile[x, num] != null && Main.tile[x, num].active() && Main.tile[x, num].type == 519)
49779 {
49780 num--;
49781 }
49782 num++;
49783 if (Main.tile[x,
num2 - 1] !=
null && Main.tile[x,
num2 - 1].liquid < 127 &&
genRand.Next(4) == 0)
49784 {
49785 flag = true;
49786 }
49787 if (Main.tile[x, num] !=
null && Main.tile[x, num].frameX >= 180 && Main.tile[x, num].liquid > 127 &&
genRand.Next(4) == 0)
49788 {
49789 flag = true;
49790 }
49791 if (Main.tile[x, num] !=
null && Main.tile[x,
num2 - 1] !=
null && Main.tile[x, num].frameX > 18)
49792 {
49793 if (Main.tile[x,
num2 - 1].frameX < 36 || Main.tile[x,
num2 - 1].frameX > 72)
49794 {
49795 flag = true;
49796 }
49797 else if (Main.tile[x, num].frameX < 90)
49798 {
49799 flag = true;
49800 }
49801 else if (Main.tile[x, num].frameX >= 108 && Main.tile[x, num].frameX <= 162)
49802 {
49803 Main.tile[x, num].frameX = 90;
49804 }
49805 }
49806 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)
49807 {
49808 flag = true;
49809 }
49810 if (flag)
49811 {
49814 {
49816 }
49819 {
49820 if (Main.tile[x, i] != null && Main.tile[x, i].active() && Main.tile[x, i].type == 519)
49821 {
49823 if (Main.netMode == 2)
49824 {
49825 NetMessage.SendData(17, -1, -1, null, 0, x, i);
49826 }
49828 }
49829 }
49830 }
49831 else
49832 {
49833 if (
num5 == Main.tile[x, num].frameY)
49834 {
49835 return;
49836 }
49837 for (
int k = num;
k <
num2;
k++)
49838 {
49839 if (Main.tile[x,
k] !=
null && Main.tile[x,
k].active() && Main.tile[x,
k].type == 519)
49840 {
49842 if (Main.netMode == 2)
49843 {
49844 NetMessage.SendTileSquare(-1, x, num);
49845 }
49846 }
49847 }
49848 }
49849 }
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