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

◆ AddLifeCrystal()

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

Definition at line 23696 of file WorldGen.cs.

23697 {
23698 for (int k = j; k < Main.maxTilesY; k++)
23699 {
23700 if (Main.tile[i, k].active() && Main.tileSolid[Main.tile[i, k].type])
23701 {
23702 int num = k - 1;
23703 if (Main.tile[i, num - 1].lava() || Main.tile[i - 1, num - 1].lava())
23704 {
23705 return false;
23706 }
23707 if (Main.tile[i, num - 1].shimmer())
23708 {
23709 return false;
23710 }
23711 if (!EmptyTileCheck(i - 1, i, num - 1, num))
23712 {
23713 return false;
23714 }
23715 if (Main.wallDungeon[Main.tile[i, num].wall])
23716 {
23717 return false;
23718 }
23719 Tile tile = Main.tile[i - 1, num + 1];
23720 Tile tile2 = Main.tile[i, num + 1];
23721 if (!tile.nactive() || !Main.tileSolid[tile.type])
23722 {
23723 return false;
23724 }
23725 if (!tile2.nactive() || !Main.tileSolid[tile2.type])
23726 {
23727 return false;
23728 }
23729 if (tile.blockType() != 0)
23730 {
23731 tile.slope(0);
23732 tile.halfBrick(halfBrick: false);
23733 }
23734 if (tile2.blockType() != 0)
23735 {
23736 tile2.slope(0);
23737 tile2.halfBrick(halfBrick: false);
23738 }
23739 Main.tile[i - 1, num - 1].active(active: true);
23740 Main.tile[i - 1, num - 1].type = 12;
23741 Main.tile[i - 1, num - 1].frameX = 0;
23742 Main.tile[i - 1, num - 1].frameY = 0;
23743 Main.tile[i, num - 1].active(active: true);
23744 Main.tile[i, num - 1].type = 12;
23745 Main.tile[i, num - 1].frameX = 18;
23746 Main.tile[i, num - 1].frameY = 0;
23747 Main.tile[i - 1, num].active(active: true);
23748 Main.tile[i - 1, num].type = 12;
23749 Main.tile[i - 1, num].frameX = 0;
23750 Main.tile[i - 1, num].frameY = 18;
23751 Main.tile[i, num].active(active: true);
23752 Main.tile[i, num].type = 12;
23753 Main.tile[i, num].frameX = 18;
23754 Main.tile[i, num].frameY = 18;
23755 return true;
23756 }
23757 }
23758 return false;
23759 }
static bool EmptyTileCheck(int startX, int endX, int startY, int endY, int ignoreID=-1)

References Terraria.Tile.blockType(), Terraria.Tile.halfBrick(), Terraria.Main.maxTilesY, Terraria.Tile.nactive(), Terraria.Tile.slope(), Terraria.Main.tile, Terraria.Main.tileSolid, Terraria.Tile.type, and Terraria.Main.wallDungeon.