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

◆ CheckMan()

static void Terraria.WorldGen.CheckMan ( int i,
int j )
inlinestatic

Definition at line 37435 of file WorldGen.cs.

37436 {
37437 if (destroyObject)
37438 {
37439 return;
37440 }
37441 int num = i;
37442 int num2 = j - Main.tile[i, j].frameY / 18;
37443 int num3;
37444 for (num3 = Main.tile[i, j].frameX; num3 >= 100; num3 -= 100)
37445 {
37446 }
37447 while (num3 >= 36)
37448 {
37449 num3 -= 36;
37450 }
37451 num -= num3 / 18;
37452 bool flag = false;
37453 for (int k = 0; k <= 1; k++)
37454 {
37455 for (int l = 0; l <= 2; l++)
37456 {
37457 int num4 = num + k;
37458 int num5 = num2 + l;
37459 int num6;
37460 for (num6 = Main.tile[num4, num5].frameX; num6 >= 100; num6 -= 100)
37461 {
37462 }
37463 if (num6 >= 36)
37464 {
37465 num6 -= 36;
37466 }
37467 if (!Main.tile[num4, num5].active() || Main.tile[num4, num5].type != 128 || Main.tile[num4, num5].frameY != l * 18 || num6 != k * 18)
37468 {
37469 flag = true;
37470 }
37471 }
37472 }
37473 if (!SolidTileAllowBottomSlope(num, num2 + 3) || !SolidTileAllowBottomSlope(num + 1, num2 + 3))
37474 {
37475 flag = true;
37476 }
37477 if (!flag)
37478 {
37479 return;
37480 }
37481 destroyObject = true;
37482 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 498);
37483 for (int m = 0; m <= 1; m++)
37484 {
37485 for (int n = 0; n <= 2; n++)
37486 {
37487 int num7 = num + m;
37488 int num8 = num2 + n;
37489 if (Main.tile[num7, num8].active() && Main.tile[num7, num8].type == 128)
37490 {
37491 KillTile(num7, num8);
37492 }
37493 }
37494 }
37495 destroyObject = false;
37496 }
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 SolidTileAllowBottomSlope(int i, int j)
static IEntitySource GetItemSource_FromTileBreak(int x, int y)

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