70680 {
70681 x = Utils.Clamp(x, 1, Main.maxTilesX - 2);
70682 y = Utils.Clamp(y, 1, Main.maxTilesY - 2);
70683 for (
int i = x - 1;
i <= x + 1;
i++)
70684 {
70685 for (
int j = y - 1;
j <= y + 1;
j++)
70686 {
70687 if (Main.tile[i,
j] ==
null)
70688 {
70689 return;
70690 }
70691 }
70692 }
70693 int num = -1;
70694 int num2 = Main.tile[x, y].type;
70698 _ = Main.maxTilesX;
70701 if (y + 1 >= Main.maxTilesY)
70702 {
70704 }
70705 if (x - 1 >= 0 && Main.tile[x - 1, y] != null && Main.tile[x - 1, y].nactive())
70706 {
70707 _ = Main.tile[x - 1, y].type;
70708 }
70709 if (x + 1 < Main.maxTilesX && Main.tile[x + 1, y] != null && Main.tile[x + 1, y].nactive())
70710 {
70711 _ = Main.tile[x + 1, y].type;
70712 }
70713 if (y - 1 >= 0 && Main.tile[x, y - 1] != null && Main.tile[x, y - 1].nactive())
70714 {
70715 _ = Main.tile[x, y - 1].type;
70716 }
70717 if (y + 1 < Main.maxTilesY && Main.tile[x, y + 1] != null && Main.tile[x, y + 1].nactive() && !Main.tile[x, y + 1].halfBrick() && Main.tile[x, y + 1].slope() == 0)
70718 {
70719 num = Main.tile[x, y + 1].type;
70720 }
70721 if (x - 1 >= 0 && y - 1 >= 0 && Main.tile[x - 1, y - 1] != null && Main.tile[x - 1, y - 1].nactive())
70722 {
70723 _ = Main.tile[x - 1, y - 1].type;
70724 }
70725 if (x + 1 < Main.maxTilesX && y - 1 >= 0 && Main.tile[x + 1, y - 1] != null && Main.tile[x + 1, y - 1].nactive())
70726 {
70727 _ = Main.tile[x + 1, y - 1].type;
70728 }
70729 if (x - 1 >= 0 && y + 1 < Main.maxTilesY && Main.tile[x - 1, y + 1] != null && Main.tile[x - 1, y + 1].nactive())
70730 {
70731 _ = Main.tile[x - 1, y + 1].type;
70732 }
70733 if (x + 1 < Main.maxTilesX && y + 1 < Main.maxTilesY && Main.tile[x + 1, y + 1] != null && Main.tile[x + 1, y + 1].nactive())
70734 {
70735 _ = Main.tile[x + 1, y + 1].type;
70736 }
70737 if ((
num2 != 3 || num == 2 || num == 477 || num == 78 || num == 380 || num == 579) && (
num2 != 73 || num == 2 || num == 477 || num == 78 || num == 380 || num == 579) && (
num2 != 24 || num == 23 || num == 661) && (
num2 != 61 || num == 60) && (
num2 != 74 || num == 60) && (
num2 != 71 || num == 70) && (
num2 != 110 || num == 109 || num == 492) && (
num2 != 113 || num == 109 || num == 492) && (
num2 != 201 || num == 199 || num == 662) && (
num2 != 637 || num == 633))
70738 {
70739 return;
70740 }
70741 bool flag = false;
70743 {
70744 flag = Main.tile[x, y].frameX == 144;
70745 }
70747 {
70748 flag = Main.tile[x, y].frameX == 270;
70749 }
70750 if ((
num2 == 3 ||
num2 == 73) && num != 2 && num != 477 && Main.tile[x, y].frameX >= 162)
70751 {
70752 Main.tile[x, y].frameX = 126;
70753 }
70754 if (
num2 == 74 && num != 60 && Main.tile[x, y].frameX >= 162)
70755 {
70756 Main.tile[x, y].frameX = 126;
70757 }
70758 switch (num)
70759 {
70760 case 23:
70761 case 661:
70763 if (Main.tile[x, y].frameX >= 162)
70764 {
70765 Main.tile[x, y].frameX = 126;
70766 }
70767 break;
70768 case 2:
70769 case 477:
70771 break;
70772 case 109:
70773 case 492:
70774 num2 = ((
num2 != 73) ? 110 : 113);
70775 break;
70776 case 199:
70777 case 662:
70779 break;
70780 case 60:
70782 while (Main.tile[x, y].frameX > 126)
70783 {
70784 Main.tile[x, y].frameX -= 126;
70785 }
70786 break;
70787 case 70:
70789 while (Main.tile[x, y].frameX > 72)
70790 {
70791 Main.tile[x, y].frameX -= 72;
70792 }
70793 break;
70794 }
70795 if (
num2 != Main.tile[x, y].type)
70796 {
70797 Main.tile[x, y].type = (ushort)
num2;
70798 if (flag)
70799 {
70800 Main.tile[x, y].frameX = 144;
70802 {
70803 Main.tile[x, y].frameX = 270;
70804 }
70805 }
70806 }
70807 else
70808 {
70810 }
70811 }
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)