47790 {
47793 if (!Main.tile[i,
j].nactive() || Main.tile[i,
j].halfBrick() || (!
gen && Main.tile[i,
j].slope() != 0) || Main.tile[i,
j - 1].liquid > 0 || (Main.tile[i,
j].type != 53 && Main.tile[i,
j].type != 80 && Main.tile[i,
j].type != 234 && Main.tile[i,
j].type != 112 && Main.tile[i,
j].type != 116))
47794 {
47795 return;
47796 }
47799 {
47801 {
47802 num3 += Main.tile[
k,
l].liquid;
47803 }
47804 }
47806 {
47807 return;
47808 }
47809 if (Main.tile[i,
j].type == 53 || Main.tile[i,
j].type == 112 || Main.tile[i,
j].type == 116 || Main.tile[i,
j].type == 234)
47810 {
47811 if (Main.tile[i,
j - 1].active() || Main.tile[i - 1,
j - 1].active() || Main.tile[i + 1,
j - 1].active())
47812 {
47813 return;
47814 }
47817 for (
int m = i - 6;
m <=
i + 6;
m++)
47818 {
47819 for (
int n =
j - 3;
n <=
j + 1;
n++)
47820 {
47821 try
47822 {
47823 if (!Main.tile[
m,
n].active())
47824 {
47825 continue;
47826 }
47827 if (Main.tile[
m,
n].type == 80)
47828 {
47831 {
47832 return;
47833 }
47834 }
47835 if (Main.tile[
m,
n].type == 53 || Main.tile[
m,
n].type == 112 || Main.tile[
m,
n].type == 116 || Main.tile[
m,
n].type == 234)
47836 {
47838 }
47839 }
47840 catch
47841 {
47842 }
47843 }
47844 }
47846 {
47848 {
47849 Main.tile[
i,
j].slope(0);
47850 }
47851 Main.tile[
i,
j - 1].active(active:
true);
47852 Main.tile[
i,
j - 1].type = 80;
47853 if (Main.netMode == 2)
47854 {
47855 NetMessage.SendTileSquare(-1, i,
j - 1);
47856 }
47858 }
47859 }
47860 else
47861 {
47862 if (Main.tile[i,
j].type != 80)
47863 {
47864 return;
47865 }
47866 while (Main.tile[
num2, num].active() && Main.tile[
num2, num].type == 80)
47867 {
47868 num++;
47869 if (!Main.tile[
num2, num].active() || Main.tile[
num2, num].type != 80)
47870 {
47871 if (Main.tile[
num2 - 1, num].active() && Main.tile[
num2 - 1, num].type == 80 && Main.tile[
num2 - 1, num - 1].active() && Main.tile[
num2 - 1, num - 1].type == 80 &&
num2 >= i)
47872 {
47874 }
47875 if (Main.tile[
num2 + 1, num].active() && Main.tile[
num2 + 1, num].type == 80 && Main.tile[
num2 + 1, num - 1].active() && Main.tile[
num2 + 1, num - 1].type == 80 &&
num2 <= i)
47876 {
47878 }
47879 }
47880 }
47881 num--;
47882 int num6 = num -
j;
47889 {
47891 {
47893 {
47895 }
47896 }
47897 }
47898 if (Main.drunkWorld)
47899 {
47901 {
47902 return;
47903 }
47904 }
47906 {
47907 return;
47908 }
47912 {
47914 {
47915 if (!Main.tile[
num2, num - 1].active())
47916 {
47917 Main.tile[
num2, num - 1].active(active:
true);
47918 Main.tile[
num2, num - 1].type = 80;
47920 if (Main.netMode == 2)
47921 {
47922 NetMessage.SendTileSquare(-1,
num2, num - 1);
47923 }
47924 }
47925 return;
47926 }
47927 bool flag = false;
47928 bool flag2 =
false;
47929 if (Main.tile[
num2, num - 1].active() && Main.tile[
num2, num - 1].type == 80)
47930 {
47931 if (!Main.tile[
num2 - 1, num].active() && !Main.tile[
num2 - 2, num + 1].active() && !Main.tile[
num2 - 1, num - 1].active() && !Main.tile[
num2 - 1, num + 1].active() && !Main.tile[
num2 - 2, num].active())
47932 {
47933 flag = true;
47934 }
47935 if (!Main.tile[
num2 + 1, num].active() && !Main.tile[
num2 + 2, num + 1].active() && !Main.tile[
num2 + 1, num - 1].active() && !Main.tile[
num2 + 1, num + 1].active() && !Main.tile[
num2 + 2, num].active())
47936 {
47938 }
47939 }
47941 if (
num12 == 0 && flag)
47942 {
47943 Main.tile[
num2 - 1, num].active(active:
true);
47944 Main.tile[
num2 - 1, num].type = 80;
47946 if (Main.netMode == 2)
47947 {
47948 NetMessage.SendTileSquare(-1,
num2 - 1, num);
47949 }
47950 }
47952 {
47953 Main.tile[
num2 + 1, num].active(active:
true);
47954 Main.tile[
num2 + 1, num].type = 80;
47956 if (Main.netMode == 2)
47957 {
47958 NetMessage.SendTileSquare(-1,
num2 + 1, num);
47959 }
47960 }
47961 else
47962 {
47964 {
47965 return;
47966 }
47967 if (Main.tile[
num2 - 1, num - 1].active())
47968 {
47969 _ = Main.tile[
num2 - 1, num - 1].type;
47971 }
47972 if ((!Main.tile[
num2 + 1, num - 1].active() || Main.tile[
num2 + 1, num - 1].type != 80) && !Main.tile[
num2, num - 1].active())
47973 {
47974 Main.tile[
num2, num - 1].active(active:
true);
47975 Main.tile[
num2, num - 1].type = 80;
47977 if (Main.netMode == 2)
47978 {
47979 NetMessage.SendTileSquare(-1,
num2, num - 1);
47980 }
47981 }
47982 }
47983 }
47984 else if (!Main.tile[
num2, num - 1].active() && !Main.tile[
num2, num - 2].active() && !Main.tile[
num2 +
num7, num - 1].active() && Main.tile[
num2 -
num7, num - 1].active() && Main.tile[
num2 -
num7, num - 1].type == 80)
47985 {
47986 Main.tile[
num2, num - 1].active(active:
true);
47987 Main.tile[
num2, num - 1].type = 80;
47989 if (Main.netMode == 2)
47990 {
47991 NetMessage.SendTileSquare(-1,
num2, num - 1);
47992 }
47993 }
47994 }
47995 }
static readonly int cactusWaterHeight
static readonly int cactusWaterWidth
static UnifiedRandom genRand
static readonly int cactusWaterLimit
static void SquareTileFrame(int i, int j, bool resetFrame=true)