21607 {
21609 for (
j = y; Main.tile[
i,
j].type == 20;
j++)
21610 {
21611 }
21612 if ((Main.tile[i - 1,
j - 1].liquid != 0 || Main.tile[i,
j - 1].liquid != 0 || Main.tile[i + 1,
j - 1].liquid != 0) && !
notTheBees)
21613 {
21614 return false;
21615 }
21616 if (Main.tile[i,
j].nactive() && !Main.tile[i,
j].halfBrick() && Main.tile[i,
j].slope() == 0 &&
IsTileTypeFitForTree(Main.tile[i,
j].type) && ((Main.remixWorld && (
double)
j > Main.worldSurface) || Main.tile[i,
j - 1].wall == 0 ||
DefaultTreeWallTest(Main.tile[i,
j - 1].wall)) && ((Main.tile[i - 1,
j].active() &&
IsTileTypeFitForTree(Main.tile[i - 1,
j].type)) || (Main.tile[i + 1,
j].active() &&
IsTileTypeFitForTree(Main.tile[i + 1,
j].type))))
21617 {
21618 TileColorCache
cache = Main.tile[
i,
j].BlockColorAndCoating();
21619 if (Main.tenthAnniversaryWorld && !
gen)
21620 {
21621 cache.Color = (byte)
genRand.Next(1, 13);
21622 }
21623 int num = 2;
21626 if (Main.tile[i,
j].type == 60)
21627 {
21629 }
21630 bool flag = false;
21632 {
21633 flag = true;
21634 }
21636 {
21637 flag = true;
21638 }
21639 if (flag)
21640 {
21641 bool flag2 = Main.remixWorld && (double)
j < Main.worldSurface;
21642 bool flag3 =
false;
21643 bool flag4 =
false;
21646 {
21647 Main.tile[
i,
k].frameNumber((
byte)
genRand.Next(3));
21648 Main.tile[
i,
k].active(active:
true);
21649 Main.tile[
i,
k].type = 5;
21650 Main.tile[
i,
k].UseBlockColors(
cache);
21654 {
21656 }
21658 {
21660 }
21664 {
21666 }
21668 {
21670 }
21672 {
21673 case 1:
21675 {
21676 Main.tile[
i,
k].frameX = 0;
21677 Main.tile[
i,
k].frameY = 66;
21678 }
21680 {
21681 Main.tile[
i,
k].frameX = 0;
21682 Main.tile[
i,
k].frameY = 88;
21683 }
21685 {
21686 Main.tile[
i,
k].frameX = 0;
21687 Main.tile[
i,
k].frameY = 110;
21688 }
21689 break;
21690 case 2:
21692 {
21693 Main.tile[
i,
k].frameX = 22;
21694 Main.tile[
i,
k].frameY = 0;
21695 }
21697 {
21698 Main.tile[
i,
k].frameX = 22;
21699 Main.tile[
i,
k].frameY = 22;
21700 }
21702 {
21703 Main.tile[
i,
k].frameX = 22;
21704 Main.tile[
i,
k].frameY = 44;
21705 }
21706 break;
21707 case 3:
21709 {
21710 Main.tile[
i,
k].frameX = 44;
21711 Main.tile[
i,
k].frameY = 66;
21712 }
21714 {
21715 Main.tile[
i,
k].frameX = 44;
21716 Main.tile[
i,
k].frameY = 88;
21717 }
21719 {
21720 Main.tile[
i,
k].frameX = 44;
21721 Main.tile[
i,
k].frameY = 110;
21722 }
21723 break;
21724 case 4:
21726 {
21727 Main.tile[
i,
k].frameX = 22;
21728 Main.tile[
i,
k].frameY = 66;
21729 }
21731 {
21732 Main.tile[
i,
k].frameX = 22;
21733 Main.tile[
i,
k].frameY = 88;
21734 }
21736 {
21737 Main.tile[
i,
k].frameX = 22;
21738 Main.tile[
i,
k].frameY = 110;
21739 }
21740 break;
21741 case 5:
21743 {
21744 Main.tile[
i,
k].frameX = 88;
21745 Main.tile[
i,
k].frameY = 0;
21746 }
21748 {
21749 Main.tile[
i,
k].frameX = 88;
21750 Main.tile[
i,
k].frameY = 22;
21751 }
21753 {
21754 Main.tile[
i,
k].frameX = 88;
21755 Main.tile[
i,
k].frameY = 44;
21756 }
21757 break;
21758 case 6:
21760 {
21761 Main.tile[
i,
k].frameX = 66;
21762 Main.tile[
i,
k].frameY = 66;
21763 }
21765 {
21766 Main.tile[
i,
k].frameX = 66;
21767 Main.tile[
i,
k].frameY = 88;
21768 }
21770 {
21771 Main.tile[
i,
k].frameX = 66;
21772 Main.tile[
i,
k].frameY = 110;
21773 }
21774 break;
21775 case 7:
21777 {
21778 Main.tile[
i,
k].frameX = 110;
21779 Main.tile[
i,
k].frameY = 66;
21780 }
21782 {
21783 Main.tile[
i,
k].frameX = 110;
21784 Main.tile[
i,
k].frameY = 88;
21785 }
21787 {
21788 Main.tile[
i,
k].frameX = 110;
21789 Main.tile[
i,
k].frameY = 110;
21790 }
21791 break;
21792 default:
21794 {
21795 Main.tile[
i,
k].frameX = 0;
21796 Main.tile[
i,
k].frameY = 0;
21797 }
21799 {
21800 Main.tile[
i,
k].frameX = 0;
21801 Main.tile[
i,
k].frameY = 22;
21802 }
21804 {
21805 Main.tile[
i,
k].frameX = 0;
21806 Main.tile[
i,
k].frameY = 44;
21807 }
21808 break;
21809 }
21811 {
21812 Main.tile[
i - 1,
k].active(active:
true);
21813 Main.tile[
i - 1,
k].type = 5;
21814 Main.tile[
i - 1,
k].UseBlockColors(
cache);
21817 {
21819 {
21820 Main.tile[
i - 1,
k].frameX = 44;
21821 Main.tile[
i - 1,
k].frameY = 198;
21822 }
21824 {
21825 Main.tile[
i - 1,
k].frameX = 44;
21826 Main.tile[
i - 1,
k].frameY = 220;
21827 }
21829 {
21830 Main.tile[
i - 1,
k].frameX = 44;
21831 Main.tile[
i - 1,
k].frameY = 242;
21832 }
21833 }
21834 else
21835 {
21837 {
21838 Main.tile[
i - 1,
k].frameX = 66;
21839 Main.tile[
i - 1,
k].frameY = 0;
21840 }
21842 {
21843 Main.tile[
i - 1,
k].frameX = 66;
21844 Main.tile[
i - 1,
k].frameY = 22;
21845 }
21847 {
21848 Main.tile[
i - 1,
k].frameX = 66;
21849 Main.tile[
i - 1,
k].frameY = 44;
21850 }
21851 }
21852 }
21854 {
21855 continue;
21856 }
21857 Main.tile[
i + 1,
k].active(active:
true);
21858 Main.tile[
i + 1,
k].type = 5;
21859 Main.tile[
i + 1,
k].UseBlockColors(
cache);
21862 {
21864 {
21865 Main.tile[
i + 1,
k].frameX = 66;
21866 Main.tile[
i + 1,
k].frameY = 198;
21867 }
21869 {
21870 Main.tile[
i + 1,
k].frameX = 66;
21871 Main.tile[
i + 1,
k].frameY = 220;
21872 }
21874 {
21875 Main.tile[
i + 1,
k].frameX = 66;
21876 Main.tile[
i + 1,
k].frameY = 242;
21877 }
21878 }
21879 else
21880 {
21882 {
21883 Main.tile[
i + 1,
k].frameX = 88;
21884 Main.tile[
i + 1,
k].frameY = 66;
21885 }
21887 {
21888 Main.tile[
i + 1,
k].frameX = 88;
21889 Main.tile[
i + 1,
k].frameY = 88;
21890 }
21892 {
21893 Main.tile[
i + 1,
k].frameX = 88;
21894 Main.tile[
i + 1,
k].frameY = 110;
21895 }
21896 }
21897 }
21899 bool flag5 =
false;
21900 bool flag6 =
false;
21901 if (Main.tile[i - 1,
j].nactive() && !Main.tile[i - 1,
j].halfBrick() && Main.tile[i - 1,
j].slope() == 0 &&
IsTileTypeFitForTree(Main.tile[i - 1,
j].type))
21902 {
21904 }
21905 if (Main.tile[i + 1,
j].nactive() && !Main.tile[i + 1,
j].halfBrick() && Main.tile[i + 1,
j].slope() == 0 &&
IsTileTypeFitForTree(Main.tile[i + 1,
j].type))
21906 {
21908 }
21910 {
21912 {
21914 }
21916 {
21918 }
21919 }
21921 {
21923 {
21925 }
21927 {
21929 }
21930 }
21932 {
21934 }
21936 {
21938 }
21940 {
21941 Main.tile[
i + 1,
j - 1].active(active:
true);
21942 Main.tile[
i + 1,
j - 1].type = 5;
21943 Main.tile[
i + 1,
j - 1].UseBlockColors(
cache);
21946 {
21947 Main.tile[
i + 1,
j - 1].frameX = 22;
21948 Main.tile[
i + 1,
j - 1].frameY = 132;
21949 }
21951 {
21952 Main.tile[
i + 1,
j - 1].frameX = 22;
21953 Main.tile[
i + 1,
j - 1].frameY = 154;
21954 }
21956 {
21957 Main.tile[
i + 1,
j - 1].frameX = 22;
21958 Main.tile[
i + 1,
j - 1].frameY = 176;
21959 }
21960 }
21962 {
21963 Main.tile[
i - 1,
j - 1].active(active:
true);
21964 Main.tile[
i - 1,
j - 1].type = 5;
21965 Main.tile[
i - 1,
j - 1].UseBlockColors(
cache);
21968 {
21969 Main.tile[
i - 1,
j - 1].frameX = 44;
21970 Main.tile[
i - 1,
j - 1].frameY = 132;
21971 }
21973 {
21974 Main.tile[
i - 1,
j - 1].frameX = 44;
21975 Main.tile[
i - 1,
j - 1].frameY = 154;
21976 }
21978 {
21979 Main.tile[
i - 1,
j - 1].frameX = 44;
21980 Main.tile[
i - 1,
j - 1].frameY = 176;
21981 }
21982 }
21985 {
21986 case 0:
21988 {
21989 Main.tile[
i,
j - 1].frameX = 88;
21990 Main.tile[
i,
j - 1].frameY = 132;
21991 }
21993 {
21994 Main.tile[
i,
j - 1].frameX = 88;
21995 Main.tile[
i,
j - 1].frameY = 154;
21996 }
21998 {
21999 Main.tile[
i,
j - 1].frameX = 88;
22000 Main.tile[
i,
j - 1].frameY = 176;
22001 }
22002 break;
22003 case 1:
22005 {
22006 Main.tile[
i,
j - 1].frameX = 0;
22007 Main.tile[
i,
j - 1].frameY = 132;
22008 }
22010 {
22011 Main.tile[
i,
j - 1].frameX = 0;
22012 Main.tile[
i,
j - 1].frameY = 154;
22013 }
22015 {
22016 Main.tile[
i,
j - 1].frameX = 0;
22017 Main.tile[
i,
j - 1].frameY = 176;
22018 }
22019 break;
22020 case 2:
22022 {
22023 Main.tile[
i,
j - 1].frameX = 66;
22024 Main.tile[
i,
j - 1].frameY = 132;
22025 }
22027 {
22028 Main.tile[
i,
j - 1].frameX = 66;
22029 Main.tile[
i,
j - 1].frameY = 154;
22030 }
22032 {
22033 Main.tile[
i,
j - 1].frameX = 66;
22034 Main.tile[
i,
j - 1].frameY = 176;
22035 }
22036 break;
22037 }
22039 {
22042 {
22043 Main.tile[
i,
j -
num2].frameX = 22;
22044 Main.tile[
i,
j -
num2].frameY = 198;
22045 }
22047 {
22048 Main.tile[
i,
j -
num2].frameX = 22;
22049 Main.tile[
i,
j -
num2].frameY = 220;
22050 }
22052 {
22053 Main.tile[
i,
j -
num2].frameX = 22;
22054 Main.tile[
i,
j -
num2].frameY = 242;
22055 }
22056 }
22057 else
22058 {
22061 {
22062 Main.tile[
i,
j -
num2].frameX = 0;
22063 Main.tile[
i,
j -
num2].frameY = 198;
22064 }
22066 {
22067 Main.tile[
i,
j -
num2].frameX = 0;
22068 Main.tile[
i,
j -
num2].frameY = 220;
22069 }
22071 {
22072 Main.tile[
i,
j -
num2].frameX = 0;
22073 Main.tile[
i,
j -
num2].frameY = 242;
22074 }
22075 }
22077 if (Main.netMode == 2)
22078 {
22079 NetMessage.SendTileSquare(-1, i - 1,
j -
num2, 3,
num2);
22080 }
22081 return true;
22082 }
22083 }
22084 return false;
22085 }
static bool IsTileTypeFitForTree(ushort type)
static UnifiedRandom genRand
static bool EmptyTileCheck(int startX, int endX, int startY, int endY, int ignoreID=-1)
static void RangeFrame(int startX, int startY, int endX, int endY)
static bool DefaultTreeWallTest(int wallType)