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

◆ SpreadDesertWalls()

static void Terraria.WorldGen.SpreadDesertWalls ( int wallDist,
int i,
int j )
inlinestatic

Definition at line 68957 of file WorldGen.cs.

68958 {
68959 if (!InWorld(i, j, 10) || (!WallID.Sets.Conversion.Sandstone[Main.tile[i, j].wall] && (!Main.tile[i, j].active() || !TileID.Sets.Conversion.Sandstone[Main.tile[i, j].type]) && !WallID.Sets.Conversion.HardenedSand[Main.tile[i, j].wall]))
68960 {
68961 return;
68962 }
68963 int num = 0;
68964 int wall = Main.tile[i, j].wall;
68965 int type = Main.tile[i, j].type;
68966 if (WallID.Sets.Corrupt[wall] || TileID.Sets.Corrupt[type])
68967 {
68968 num = 1;
68969 }
68970 if (WallID.Sets.Hallow[wall] || TileID.Sets.Hallow[type])
68971 {
68972 num = 2;
68973 }
68974 if (WallID.Sets.Crimson[wall] || TileID.Sets.Crimson[type])
68975 {
68976 num = 3;
68977 }
68978 if (num == 0)
68979 {
68980 return;
68981 }
68982 int num2 = i + genRand.Next(-2, 3);
68983 int num3 = j + genRand.Next(-2, 3);
68984 bool flag = false;
68985 if (WallID.Sets.Conversion.PureSand[Main.tile[num2, num3].wall])
68986 {
68987 switch (num)
68988 {
68989 case 3:
68990 {
68991 for (int m = i - wallDist; m < i + wallDist; m++)
68992 {
68993 for (int n = j - wallDist; n < j + wallDist; n++)
68994 {
68995 if (Main.tile[m, n].active() && TileID.Sets.Crimson[Main.tile[m, n].type])
68996 {
68997 flag = true;
68998 break;
68999 }
69000 }
69001 if (flag)
69002 {
69003 break;
69004 }
69005 }
69006 break;
69007 }
69008 case 2:
69009 {
69010 for (int num4 = i - wallDist; num4 < i + wallDist; num4++)
69011 {
69012 for (int num5 = j - wallDist; num5 < j + wallDist; num5++)
69013 {
69014 if (Main.tile[num4, num5].active() && TileID.Sets.Hallow[Main.tile[num4, num5].type])
69015 {
69016 flag = true;
69017 break;
69018 }
69019 }
69020 if (flag)
69021 {
69022 break;
69023 }
69024 }
69025 break;
69026 }
69027 case 1:
69028 {
69029 for (int k = i - wallDist; k < i + wallDist; k++)
69030 {
69031 for (int l = j - wallDist; l < j + wallDist; l++)
69032 {
69033 if (Main.tile[k, l].active() && TileID.Sets.Corrupt[Main.tile[k, l].type])
69034 {
69035 flag = true;
69036 break;
69037 }
69038 }
69039 if (flag)
69040 {
69041 break;
69042 }
69043 }
69044 break;
69045 }
69046 }
69047 }
69048 if (!flag)
69049 {
69050 return;
69051 }
69052 ushort? num6 = null;
69053 if (WallID.Sets.Conversion.Sandstone[Main.tile[num2, num3].wall])
69054 {
69055 switch (num)
69056 {
69057 case 3:
69058 num6 = (ushort)221;
69059 break;
69060 case 2:
69061 num6 = (ushort)222;
69062 break;
69063 case 1:
69064 num6 = (ushort)220;
69065 break;
69066 }
69067 }
69068 if (WallID.Sets.Conversion.HardenedSand[Main.tile[num2, num3].wall])
69069 {
69070 switch (num)
69071 {
69072 case 3:
69073 num6 = (ushort)218;
69074 break;
69075 case 2:
69076 num6 = (ushort)219;
69077 break;
69078 case 1:
69079 num6 = (ushort)217;
69080 break;
69081 }
69082 }
69083 if (num6.HasValue && Main.tile[num2, num3].wall != num6.Value)
69084 {
69085 Main.tile[num2, num3].wall = num6.Value;
69086 if (Main.netMode == 2)
69087 {
69088 NetMessage.SendTileSquare(-1, num2, num3);
69089 }
69090 }
69091 }
static bool[] Crimson
Definition TileID.cs:316
static bool[] Corrupt
Definition TileID.cs:302
static bool[] Hallow
Definition TileID.cs:308
static bool[] Corrupt
Definition WallID.cs:45
static bool[] Crimson
Definition WallID.cs:47
static bool[] Hallow
Definition WallID.cs:49
static UnifiedRandom genRand
Definition WorldGen.cs:1455
static bool InWorld(int x, int y, int fluff=0)
Definition WorldGen.cs:6481

References Terraria.ID.TileID.Sets.Corrupt, Terraria.ID.WallID.Sets.Corrupt, Terraria.ID.TileID.Sets.Crimson, Terraria.ID.WallID.Sets.Crimson, Terraria.ID.TileID.Sets.Hallow, Terraria.ID.WallID.Sets.Hallow, Terraria.ID.WallID.Sets.Conversion.HardenedSand, Terraria.Main.netMode, Terraria.ID.WallID.Sets.Conversion.PureSand, Terraria.ID.TileID.Sets.Conversion.Sandstone, Terraria.ID.WallID.Sets.Conversion.Sandstone, Terraria.NetMessage.SendTileSquare(), and Terraria.Main.tile.

+ Here is the call graph for this function: