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

◆ CheckTight()

static void Terraria.WorldGen.CheckTight ( int x,
int j )
inlinestatic

Definition at line 33584 of file WorldGen.cs.

33585 {
33586 if (Main.tile[x, j] == null)
33587 {
33588 return;
33589 }
33590 int num = j;
33591 if (Main.tile[x, num].frameY == 72)
33592 {
33593 if (Main.tile[x, num - 1] == null)
33594 {
33595 Main.tile[x, num - 1] = new Tile();
33596 }
33597 if (Main.tile[x, num] == null)
33598 {
33599 Main.tile[x, num] = new Tile();
33600 }
33601 if (Main.tile[x, num + 1] == null)
33602 {
33603 Main.tile[x, num + 1] = new Tile();
33604 }
33605 bool flag = false;
33606 if (!SolidTile(x, num - 1))
33607 {
33608 flag = true;
33609 }
33610 if (!flag && !UpdateStalagtiteStyle(x, num))
33611 {
33612 flag = true;
33613 }
33614 if (flag)
33615 {
33616 destroyObject = true;
33617 if (Main.tile[x, num].type == Main.tile[x, j].type)
33618 {
33619 KillTile(x, num);
33620 }
33621 destroyObject = false;
33622 }
33623 return;
33624 }
33625 if (Main.tile[x, num].frameY == 90)
33626 {
33627 if (Main.tile[x, num - 1] == null)
33628 {
33629 Main.tile[x, num - 1] = new Tile();
33630 }
33631 if (Main.tile[x, num] == null)
33632 {
33633 Main.tile[x, num] = new Tile();
33634 }
33635 if (Main.tile[x, num + 1] == null)
33636 {
33637 Main.tile[x, num + 1] = new Tile();
33638 }
33639 bool flag2 = false;
33640 if (!SolidTile(x, num + 1))
33641 {
33642 flag2 = true;
33643 }
33644 if (!flag2 && !UpdateStalagtiteStyle(x, num))
33645 {
33646 flag2 = true;
33647 }
33648 if (flag2)
33649 {
33650 destroyObject = true;
33651 if (Main.tile[x, num].type == Main.tile[x, j].type)
33652 {
33653 KillTile(x, num);
33654 }
33655 destroyObject = false;
33656 }
33657 return;
33658 }
33659 if (Main.tile[x, num].frameY >= 36)
33660 {
33661 if (Main.tile[x, num].frameY == 54)
33662 {
33663 num--;
33664 }
33665 if (Main.tile[x, num] == null)
33666 {
33667 Main.tile[x, num] = new Tile();
33668 }
33669 if (Main.tile[x, num + 1] == null)
33670 {
33671 Main.tile[x, num + 1] = new Tile();
33672 }
33673 if (Main.tile[x, num + 2] == null)
33674 {
33675 Main.tile[x, num + 2] = new Tile();
33676 }
33677 bool flag3 = false;
33678 if (!SolidTile(x, num + 2))
33679 {
33680 flag3 = true;
33681 }
33682 if (Main.tile[x, num + 1].type != Main.tile[x, num].type)
33683 {
33684 flag3 = true;
33685 }
33686 if (Main.tile[x, num + 1].frameX != Main.tile[x, num].frameX)
33687 {
33688 flag3 = true;
33689 }
33690 if (!flag3 && !UpdateStalagtiteStyle(x, num))
33691 {
33692 flag3 = true;
33693 }
33694 if (flag3)
33695 {
33696 destroyObject = true;
33697 if (Main.tile[x, num].type == Main.tile[x, j].type)
33698 {
33699 KillTile(x, num);
33700 }
33701 if (Main.tile[x, num + 1].type == Main.tile[x, j].type)
33702 {
33703 KillTile(x, num + 1);
33704 }
33705 destroyObject = false;
33706 }
33707 return;
33708 }
33709 if (Main.tile[x, num].frameY == 18)
33710 {
33711 num--;
33712 }
33713 if (Main.tile[x, num - 1] == null)
33714 {
33715 Main.tile[x, num - 1] = new Tile();
33716 }
33717 if (Main.tile[x, num] == null)
33718 {
33719 Main.tile[x, num] = new Tile();
33720 }
33721 if (Main.tile[x, num + 1] == null)
33722 {
33723 Main.tile[x, num + 1] = new Tile();
33724 }
33725 bool flag4 = false;
33726 if (!SolidTile(x, num - 1))
33727 {
33728 flag4 = true;
33729 }
33730 if (Main.tile[x, num + 1].type != Main.tile[x, num].type)
33731 {
33732 flag4 = true;
33733 }
33734 if (Main.tile[x, num + 1].frameX != Main.tile[x, num].frameX)
33735 {
33736 flag4 = true;
33737 }
33738 if (!flag4 && !UpdateStalagtiteStyle(x, num))
33739 {
33740 flag4 = true;
33741 }
33742 if (flag4)
33743 {
33744 destroyObject = true;
33745 if (Main.tile[x, num].type == Main.tile[x, j].type)
33746 {
33747 KillTile(x, num);
33748 }
33749 if (Main.tile[x, num + 1].type == Main.tile[x, j].type)
33750 {
33751 KillTile(x, num + 1);
33752 }
33753 destroyObject = false;
33754 }
33755 }
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 UpdateStalagtiteStyle(int x, int j)

References Terraria.Enums.SolidTile, Terraria.DataStructures.Tile, and Terraria.Main.tile.