Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ dropXmasTree()

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

Definition at line 33881 of file WorldGen.cs.

33882 {
33883 int num = x;
33884 int num2 = y;
33885 if (Main.tile[x, y].frameX < 10)
33886 {
33887 num -= Main.tile[x, y].frameX;
33888 num2 -= Main.tile[x, y].frameY;
33889 }
33890 int num3 = 0;
33891 if ((Main.tile[num, num2].frameY & 1) == 1)
33892 {
33893 num3++;
33894 }
33895 if ((Main.tile[num, num2].frameY & 2) == 2)
33896 {
33897 num3 += 2;
33898 }
33899 if ((Main.tile[num, num2].frameY & 4) == 4)
33900 {
33901 num3 += 4;
33902 }
33903 int num4 = 0;
33904 if ((Main.tile[num, num2].frameY & 8) == 8)
33905 {
33906 num4++;
33907 }
33908 if ((Main.tile[num, num2].frameY & 0x10) == 16)
33909 {
33910 num4 += 2;
33911 }
33912 if ((Main.tile[num, num2].frameY & 0x20) == 32)
33913 {
33914 num4 += 4;
33915 }
33916 int num5 = 0;
33917 if ((Main.tile[num, num2].frameY & 0x40) == 64)
33918 {
33919 num5++;
33920 }
33921 if ((Main.tile[num, num2].frameY & 0x80) == 128)
33922 {
33923 num5 += 2;
33924 }
33925 if ((Main.tile[num, num2].frameY & 0x100) == 256)
33926 {
33927 num5 += 4;
33928 }
33929 if ((Main.tile[num, num2].frameY & 0x200) == 512)
33930 {
33931 num5 += 8;
33932 }
33933 int num6 = 0;
33934 if ((Main.tile[num, num2].frameY & 0x400) == 1024)
33935 {
33936 num6++;
33937 }
33938 if ((Main.tile[num, num2].frameY & 0x800) == 2048)
33939 {
33940 num6 += 2;
33941 }
33942 if ((Main.tile[num, num2].frameY & 0x1000) == 4096)
33943 {
33944 num6 += 4;
33945 }
33946 if ((Main.tile[num, num2].frameY & 0x2000) == 8192)
33947 {
33948 num6 += 8;
33949 }
33950 if (obj == 0 && num3 > 0)
33951 {
33952 int number = Item.NewItem(GetItemSource_FromTileBreak(x, y), x * 16, y * 16, 16, 16, 1874 + num3 - 1);
33953 if (Main.netMode == 1)
33954 {
33955 NetMessage.SendData(21, -1, -1, null, number, 1f);
33956 }
33957 }
33958 else if (obj == 1 && num4 > 0)
33959 {
33960 int number2 = Item.NewItem(GetItemSource_FromTileBreak(x, y), x * 16, y * 16, 16, 16, 1878 + num4 - 1);
33961 if (Main.netMode == 1)
33962 {
33963 NetMessage.SendData(21, -1, -1, null, number2, 1f);
33964 }
33965 }
33966 else if (obj == 2 && num5 > 0)
33967 {
33968 int number3 = Item.NewItem(GetItemSource_FromTileBreak(x, y), x * 16, y * 16, 16, 16, 1884 + num5 - 1);
33969 if (Main.netMode == 1)
33970 {
33971 NetMessage.SendData(21, -1, -1, null, number3, 1f);
33972 }
33973 }
33974 else if (obj == 3 && num6 > 0)
33975 {
33976 int number4 = Item.NewItem(GetItemSource_FromTileBreak(x, y), x * 16, y * 16, 16, 16, 1895 + num6 - 1);
33977 if (Main.netMode == 1)
33978 {
33979 NetMessage.SendData(21, -1, -1, null, number4, 1f);
33980 }
33981 }
33982 }
static IEntitySource GetItemSource_FromTileBreak(int x, int y)

References Terraria.Main.netMode, Terraria.Item.NewItem(), System.obj, Terraria.NetMessage.SendData(), and Terraria.Main.tile.

Referenced by Terraria.Player.PlaceThing_XMasTreeTops().