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

◆ ShimmerMakeBiomeOpening()

static void Terraria.WorldGen.ShimmerMakeBiomeOpening ( int direction,
int X,
int Y,
int caveOpenningSize )
inlinestaticprivate

Definition at line 26498 of file WorldGen.cs.

26499 {
26500 int num = X;
26502 bool flag;
26503 do
26504 {
26505 num += direction;
26506 flag = true;
26507 for (int i = Y - caveOpenningSize + 1; i < Y - 1; i++)
26508 {
26509 if (SolidTile(num, i))
26510 {
26511 flag = false;
26512 }
26513 if (SolidTile(num + direction, i))
26514 {
26515 flag = false;
26516 }
26517 if (SolidTile(num + direction * 2, i))
26518 {
26519 flag = false;
26520 }
26521 Main.tile[num, i].active(active: false);
26522 }
26523 for (int j = Y - caveOpenningSize; j < Y; j++)
26524 {
26525 Main.tile[num - direction, j].active(active: false);
26526 }
26527 if (SolidTile(num - direction, Y - caveOpenningSize - 1))
26528 {
26529 Main.tile[num - direction, Y - caveOpenningSize - 1].wall = 0;
26530 }
26531 if (SolidTile(num - direction, Y))
26532 {
26533 Main.tile[num - direction, Y].wall = 0;
26534 }
26535 if (genRand.Next(2) == 0)
26536 {
26537 Y += genRand.Next(-1, 2);
26538 }
26539 }
26540 while (!flag && num >= 50 && num <= Main.maxTilesX - 50 && Math.Abs(num - X) <= 100);
26541 }
static double Abs(double value)
static UnifiedRandom genRand
Definition WorldGen.cs:1215

References System.Math.Abs(), Terraria.Main.maxTilesX, Terraria.Enums.SolidTile, Terraria.Main.tile, System.X, and System.Y.