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

◆ AddTileVariance()

static void Terraria.GameContent.Biomes.Desert.DesertHive.AddTileVariance ( DesertDescription description)
inlinestaticprivate

Definition at line 406 of file DesertHive.cs.

407 {
408 for (int i = -20; i < description.Hive.Width + 20; i++)
409 {
410 for (int j = -20; j < description.Hive.Height + 20; j++)
411 {
412 int num = i + description.Hive.X;
413 int num2 = j + description.Hive.Y;
414 if (WorldGen.InWorld(num, num2, 1))
415 {
416 Tile tile = Main.tile[num, num2];
417 Tile testTile = Main.tile[num, num2 + 1];
418 Tile testTile2 = Main.tile[num, num2 + 2];
419 if (tile.type == 53 && (!WorldGen.SolidTile(testTile) || !WorldGen.SolidTile(testTile2)))
420 {
421 tile.type = 397;
422 }
423 }
424 }
425 }
426 for (int k = -20; k < description.Hive.Width + 20; k++)
427 {
428 for (int l = -20; l < description.Hive.Height + 20; l++)
429 {
430 int num3 = k + description.Hive.X;
431 int num4 = l + description.Hive.Y;
432 if (!WorldGen.InWorld(num3, num4, 1))
433 {
434 continue;
435 }
436 Tile tile2 = Main.tile[num3, num4];
437 if (!tile2.active() || tile2.type != 396)
438 {
439 continue;
440 }
441 bool flag = true;
442 for (int num5 = -1; num5 >= -3; num5--)
443 {
444 if (Main.tile[num3, num4 + num5].active())
445 {
446 flag = false;
447 break;
448 }
449 }
450 bool flag2 = true;
451 for (int m = 1; m <= 3; m++)
452 {
453 if (Main.tile[num3, num4 + m].active())
454 {
455 flag2 = false;
456 break;
457 }
458 }
459 if (!WorldGen.remixWorldGen || !((double)num4 > Main.rockLayer + (double)WorldGen.genRand.Next(-1, 2)))
460 {
461 if (flag && WorldGen.genRand.Next(20) == 0)
462 {
463 WorldGen.PlaceTile(num3, num4 - 1, 485, mute: true, forced: true, -1, WorldGen.genRand.Next(4));
464 }
465 else if (flag && WorldGen.genRand.Next(5) == 0)
466 {
467 WorldGen.PlaceTile(num3, num4 - 1, 484, mute: true, forced: true);
468 }
469 else if ((flag ^ flag2) && WorldGen.genRand.Next(5) == 0)
470 {
471 WorldGen.PlaceTile(num3, num4 + ((!flag) ? 1 : (-1)), 165, mute: true, forced: true);
472 }
473 else if (flag && WorldGen.genRand.Next(5) == 0)
474 {
475 WorldGen.PlaceTile(num3, num4 - 1, 187, mute: true, forced: true, -1, 29 + WorldGen.genRand.Next(6));
476 }
477 }
478 }
479 }
480 }

References Terraria.WorldGen.genRand, Terraria.GameContent.Biomes.Desert.DesertDescription.Hive, Terraria.WorldGen.InWorld(), Terraria.WorldGen.PlaceTile(), Terraria.WorldGen.remixWorldGen, Terraria.Main.rockLayer, Terraria.WorldGen.SolidTile(), Terraria.Main.tile, Terraria.Tile.type, Microsoft.Xna.Framework.Rectangle.X, and Microsoft.Xna.Framework.Rectangle.Y.

Referenced by Terraria.GameContent.Biomes.Desert.DesertHive.Place().