Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ checkXmasTreeDrop()

static int Terraria.WorldGen.checkXmasTreeDrop ( int x,
int y,
int obj )
inlinestatic

Definition at line 33793 of file WorldGen.cs.

33794 {
33795 int num = x;
33796 int num2 = y;
33797 if (Main.tile[x, y].frameX < 10)
33798 {
33799 num -= Main.tile[x, y].frameX;
33800 num2 -= Main.tile[x, y].frameY;
33801 }
33802 int num3 = 0;
33803 if ((Main.tile[num, num2].frameY & 1) == 1)
33804 {
33805 num3++;
33806 }
33807 if ((Main.tile[num, num2].frameY & 2) == 2)
33808 {
33809 num3 += 2;
33810 }
33811 if ((Main.tile[num, num2].frameY & 4) == 4)
33812 {
33813 num3 += 4;
33814 }
33815 int num4 = 0;
33816 if ((Main.tile[num, num2].frameY & 8) == 8)
33817 {
33818 num4++;
33819 }
33820 if ((Main.tile[num, num2].frameY & 0x10) == 16)
33821 {
33822 num4 += 2;
33823 }
33824 if ((Main.tile[num, num2].frameY & 0x20) == 32)
33825 {
33826 num4 += 4;
33827 }
33828 int num5 = 0;
33829 if ((Main.tile[num, num2].frameY & 0x40) == 64)
33830 {
33831 num5++;
33832 }
33833 if ((Main.tile[num, num2].frameY & 0x80) == 128)
33834 {
33835 num5 += 2;
33836 }
33837 if ((Main.tile[num, num2].frameY & 0x100) == 256)
33838 {
33839 num5 += 4;
33840 }
33841 if ((Main.tile[num, num2].frameY & 0x200) == 512)
33842 {
33843 num5 += 8;
33844 }
33845 int num6 = 0;
33846 if ((Main.tile[num, num2].frameY & 0x400) == 1024)
33847 {
33848 num6++;
33849 }
33850 if ((Main.tile[num, num2].frameY & 0x800) == 2048)
33851 {
33852 num6 += 2;
33853 }
33854 if ((Main.tile[num, num2].frameY & 0x1000) == 4096)
33855 {
33856 num6 += 4;
33857 }
33858 if ((Main.tile[num, num2].frameY & 0x2000) == 8192)
33859 {
33860 num6 += 8;
33861 }
33862 if (obj == 0 && num3 > 0)
33863 {
33864 return num3;
33865 }
33866 if (obj == 1 && num4 > 0)
33867 {
33868 return num4;
33869 }
33870 if (obj == 2 && num5 > 0)
33871 {
33872 return num5;
33873 }
33874 if (obj == 3 && num6 > 0)
33875 {
33876 return num6;
33877 }
33878 return -1;
33879 }

References System.obj, and Terraria.Main.tile.

Referenced by Terraria.Player.PlaceThing_XMasTreeTops().