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

◆ CreateFromPlacement()

static DesertDescription Terraria.GameContent.Biomes.Desert.DesertDescription.CreateFromPlacement ( Point origin)
inlinestatic

Definition at line 43 of file DesertDescription.cs.

44 {
45 //IL_0000: Unknown result type (might be due to invalid IL or missing references)
46 //IL_0005: Unknown result type (might be due to invalid IL or missing references)
47 //IL_0064: Unknown result type (might be due to invalid IL or missing references)
48 //IL_0070: Unknown result type (might be due to invalid IL or missing references)
49 //IL_016e: Unknown result type (might be due to invalid IL or missing references)
50 Vector2D defaultBlockScale = DefaultBlockScale;
51 double num = (double)Main.maxTilesX / 4200.0;
52 int num2 = (int)(80.0 * num);
53 int num3 = (int)((WorldGen.genRand.NextDouble() * 0.5 + 1.5) * 170.0 * num);
54 if (WorldGen.remixWorldGen)
55 {
56 num3 = (int)(340.0 * num);
57 }
58 int num4 = (int)(defaultBlockScale.X * (double)num2);
59 int num5 = (int)(defaultBlockScale.Y * (double)num3);
60 origin.X -= num4 / 2;
61 SurfaceMap surfaceMap = SurfaceMap.FromArea(origin.X - 5, num4 + 10);
62 if (RowHasInvalidTiles(origin.X, surfaceMap.Bottom, num4))
63 {
64 return Invalid;
65 }
66 int num6 = (int)(surfaceMap.Average + (double)surfaceMap.Bottom) / 2;
67 origin.Y = num6 + WorldGen.genRand.Next(40, 60);
68 int num7 = 0;
69 if (Main.tenthAnniversaryWorld)
70 {
71 num7 = (int)(20.0 * num);
72 }
73 return new DesertDescription
74 {
75 CombinedArea = new Rectangle(origin.X, num6, num4, origin.Y + num5 - num6),
76 Hive = new Rectangle(origin.X, origin.Y + num7, num4, num5 - num7),
77 Desert = new Rectangle(origin.X, num6, num4, origin.Y + num5 / 2 - num6 + num7),
78 BlockScale = defaultBlockScale,
79 BlockColumnCount = num2,
80 BlockRowCount = num3,
81 Surface = surfaceMap,
82 IsValid = true
83 };
84 }
static bool RowHasInvalidTiles(int startX, int startY, int width)

References Terraria.GameContent.Biomes.Desert.SurfaceMap.Average, Terraria.GameContent.Biomes.Desert.DesertDescription.BlockColumnCount, Terraria.GameContent.Biomes.Desert.DesertDescription.BlockRowCount, Terraria.GameContent.Biomes.Desert.DesertDescription.BlockScale, Terraria.GameContent.Biomes.Desert.SurfaceMap.Bottom, Terraria.GameContent.Biomes.Desert.DesertDescription.CombinedArea, Terraria.GameContent.Biomes.Desert.DesertDescription.DefaultBlockScale, Terraria.GameContent.Biomes.Desert.SurfaceMap.FromArea(), Terraria.WorldGen.genRand, Terraria.GameContent.Biomes.Desert.DesertDescription.Hive, Terraria.GameContent.Biomes.Desert.DesertDescription.Invalid, Terraria.GameContent.Biomes.Desert.DesertDescription.IsValid, Terraria.Main.maxTilesX, Terraria.WorldGen.remixWorldGen, Terraria.GameContent.Biomes.Desert.DesertDescription.RowHasInvalidTiles(), Terraria.GameContent.Biomes.Desert.DesertDescription.Surface, Terraria.Main.tenthAnniversaryWorld, Microsoft.Xna.Framework.Point.X, ReLogic.Utilities.Vector2D.X, Microsoft.Xna.Framework.Point.Y, and ReLogic.Utilities.Vector2D.Y.

Referenced by Terraria.GameContent.Biomes.DesertBiome.Place().