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

◆ Check2x5()

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

Definition at line 44964 of file WorldGen.cs.

44965 {
44966 if (destroyObject)
44967 {
44968 return;
44969 }
44970 bool flag = false;
44971 int num = i;
44972 int num2 = j;
44973 num = Main.tile[i, j].frameX / 18;
44974 int num3 = 0;
44975 while (num >= 2)
44976 {
44977 num3++;
44978 num -= 2;
44979 }
44980 int num4 = i - num;
44981 int num5 = 36 * num3;
44982 int num6 = Main.tile[i, j].frameY % 80 / 18;
44983 if (num >= 3)
44984 {
44985 num -= 2;
44986 }
44987 num = i - num;
44988 num2 -= num6;
44989 for (int k = num; k < num + 2; k++)
44990 {
44991 for (int l = num2; l < num2 + 5; l++)
44992 {
44993 if (Main.tile[k, l] == null)
44994 {
44995 Main.tile[k, l] = new Tile();
44996 }
44997 if (!Main.tile[k, l].active() || Main.tile[k, l].type != type || Main.tile[k, l].frameX != (k - num4) * 18 + num5 || Main.tile[k, l].frameY != (l - num2) * 18)
44998 {
44999 flag = true;
45000 }
45001 }
45002 }
45003 for (int m = num; m < num + 2; m++)
45004 {
45005 if (Main.tile[m, num2 + 5] == null)
45006 {
45007 Main.tile[m, num2 + 5] = new Tile();
45008 }
45009 if (!SolidTileAllowBottomSlope(m, num2 + 5))
45010 {
45011 flag = true;
45012 break;
45013 }
45014 }
45015 if (!flag)
45016 {
45017 return;
45018 }
45019 destroyObject = true;
45020 for (int n = num; n < num + 2; n++)
45021 {
45022 for (int num7 = num2; num7 < num2 + 5; num7++)
45023 {
45024 if (Main.tile[n, num7].type == type && Main.tile[n, num7].active())
45025 {
45026 KillTile(n, num7);
45027 }
45028 }
45029 }
45030 switch (type)
45031 {
45032 case 547:
45033 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4430 + num3);
45034 break;
45035 case 623:
45036 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5081 + num3);
45037 break;
45038 }
45039 destroyObject = false;
45040 for (int num8 = num - 1; num8 < num + 3; num8++)
45041 {
45042 for (int num9 = num2 - 1; num9 < num2 + 6; num9++)
45043 {
45045 }
45046 }
45047 }
static bool destroyObject
Definition WorldGen.cs:1020
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
static bool SolidTileAllowBottomSlope(int i, int j)
static IEntitySource GetItemSource_FromTileBreak(int x, int y)

References Terraria.Item.NewItem(), Terraria.DataStructures.Tile, Terraria.Main.tile, and System.type.