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

◆ CheckXmasTree()

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

Definition at line 34191 of file WorldGen.cs.

34192 {
34193 if (destroyObject)
34194 {
34195 return;
34196 }
34197 int num = x;
34198 int num2 = y;
34199 if (Main.tile[x, y].frameX < 10)
34200 {
34201 num -= Main.tile[x, y].frameX;
34202 num2 -= Main.tile[x, y].frameY;
34203 }
34204 bool flag = false;
34205 int num3 = 0;
34206 for (int i = num; i < num + 4; i++)
34207 {
34208 int num4 = 0;
34209 for (int j = num2; j < num2 + 8; j++)
34210 {
34211 if (Main.tile[i, j].active() && Main.tile[i, j].type == 171)
34212 {
34213 if (num3 != 0 && num4 != 0 && Main.tile[i, j].frameX != num3 && Main.tile[i, j].frameY != num4)
34214 {
34215 flag = true;
34216 }
34217 }
34218 else
34219 {
34220 flag = true;
34221 }
34222 num4++;
34223 }
34224 num3++;
34225 if (i > num && i < num + 3 && !SolidTile2(i, num2 + 8))
34226 {
34227 flag = true;
34228 }
34229 }
34230 if (!flag)
34231 {
34232 return;
34233 }
34234 destroyObject = true;
34235 for (int k = num; k < num + 4; k++)
34236 {
34237 for (int l = num2; l < num2 + 8; l++)
34238 {
34239 if (Main.tile[k, l].type == 171)
34240 {
34241 KillTile(k, l);
34242 }
34243 }
34244 }
34245 Item.NewItem(GetItemSource_FromTileBreak(x, y), x * 16, y * 16, 32, 32, 1873);
34246 destroyObject = false;
34247 }
static bool destroyObject
Definition WorldGen.cs:1020
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static bool SolidTile2(Tile testTile)
static IEntitySource GetItemSource_FromTileBreak(int x, int y)

References Terraria.Item.NewItem(), and Terraria.Main.tile.