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

◆ CheckCactus()

static bool Terraria.WorldGen.CheckCactus ( int i,
int j )
inlinestatic

Definition at line 45737 of file WorldGen.cs.

45738 {
45739 int num = j;
45740 int num2 = i;
45741 while (Main.tile[num2, num] != null && Main.tile[num2, num].active() && Main.tile[num2, num].type == 80)
45742 {
45743 num++;
45744 if (Main.tile[num2, num] == null)
45745 {
45746 return false;
45747 }
45748 if (!Main.tile[num2, num].active() || Main.tile[num2, num].type != 80)
45749 {
45750 if (Main.tile[num2 - 1, num] != null && Main.tile[num2 - 1, num].active() && Main.tile[num2 - 1, num].type == 80 && Main.tile[num2 - 1, num - 1] != null && Main.tile[num2 - 1, num - 1].active() && Main.tile[num2 - 1, num - 1].type == 80 && num2 >= i)
45751 {
45752 num2--;
45753 }
45754 if (Main.tile[num2 + 1, num] != null && Main.tile[num2 + 1, num].active() && Main.tile[num2 + 1, num].type == 80 && Main.tile[num2 + 1, num - 1] != null && Main.tile[num2 + 1, num - 1].active() && Main.tile[num2 + 1, num - 1].type == 80 && num2 <= i)
45755 {
45756 num2++;
45757 }
45758 }
45759 }
45760 if (!Main.tile[num2, num].nactive() || Main.tile[num2, num].halfBrick() || Main.tile[num2, num].slope() != 0 || (Main.tile[num2, num].type != 53 && Main.tile[num2, num].type != 112 && Main.tile[num2, num].type != 116 && Main.tile[num2, num].type != 234))
45761 {
45762 KillTile(i, j);
45763 return true;
45764 }
45765 if (i != num2)
45766 {
45767 if ((!Main.tile[i, j + 1].active() || Main.tile[i, j + 1].type != 80) && (!Main.tile[i - 1, j].active() || Main.tile[i - 1, j].type != 80) && (!Main.tile[i + 1, j].active() || Main.tile[i + 1, j].type != 80))
45768 {
45769 KillTile(i, j);
45770 return true;
45771 }
45772 }
45773 else if (i == num2 && (!Main.tile[i, j + 1].active() || (Main.tile[i, j + 1].type != 80 && Main.tile[i, j + 1].type != 53 && Main.tile[i, j + 1].type != 112 && Main.tile[i, j + 1].type != 116 && Main.tile[i, j + 1].type != 234)))
45774 {
45775 KillTile(i, j);
45776 return true;
45777 }
45778 return false;
45779 }
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)

References Terraria.Main.tile.