Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
AnthillEntrance.cs
Go to the documentation of this file.
1
using
Microsoft.Xna.Framework
;
2
using
ReLogic.Utilities
;
3
using
Terraria.WorldBuilding
;
4
5
namespace
Terraria.GameContent.Biomes.Desert
;
6
7
public
static
class
AnthillEntrance
8
{
9
public
static
void
Place
(
DesertDescription
description)
10
{
11
int
num =
WorldGen
.
genRand
.Next(2, 4);
12
for
(
int
i = 0; i < num; i++)
13
{
14
int
holeRadius =
WorldGen
.
genRand
.Next(15, 18);
15
int
num2 = (int)((
double
)(i + 1) / (
double
)(num + 1) * (
double
)description.
Surface
.
Width
);
16
num2 += description.
Desert
.
Left
;
17
int
y = description.
Surface
[num2];
18
PlaceAt
(description,
new
Point
(num2, y), holeRadius);
19
}
20
}
21
22
private
static
void
PlaceAt
(
DesertDescription
description,
Point
position,
int
holeRadius)
23
{
24
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
25
ShapeData
data =
new
ShapeData
();
26
Point
origin =
new
Point
(position.
X
, position.
Y
+ 6);
27
WorldUtils
.
Gen
(origin,
new
Shapes
.
Tail
(holeRadius * 2,
new
Vector2D
(0.0, (
double
)(-holeRadius) * 1.5)),
Actions
.
Chain
(
new
Actions
.
SetTile
(53).
Output
(data)));
28
GenShapeActionPair
genShapeActionPair =
new
GenShapeActionPair
(
new
Shapes
.
Rectangle
(1, 1),
Actions
.
Chain
(
new
Modifiers
.
Blotches
(),
new
Modifiers
.
IsSolid
(),
new
Actions
.
Clear
(),
new
Actions
.
PlaceWall
(187)));
29
GenShapeActionPair
genShapeActionPair2 =
new
GenShapeActionPair
(
new
Shapes
.
Rectangle
(1, 1),
Actions
.
Chain
(
new
Modifiers
.
IsSolid
(),
new
Actions
.
Clear
(),
new
Actions
.
PlaceWall
(187)));
30
GenShapeActionPair
pair =
new
GenShapeActionPair
(
new
Shapes
.
Circle
(2, 3),
Actions
.
Chain
(
new
Modifiers
.
IsSolid
(),
new
Actions
.
SetTile
(397),
new
Actions
.
PlaceWall
(187)));
31
GenShapeActionPair
pair2 =
new
GenShapeActionPair
(
new
Shapes
.
Circle
(holeRadius, 3),
Actions
.
Chain
(
new
Modifiers
.
SkipWalls
(187),
new
Actions
.
SetTile
(53)));
32
GenShapeActionPair
pair3 =
new
GenShapeActionPair
(
new
Shapes
.
Circle
(holeRadius - 2, 3),
Actions
.
Chain
(
new
Actions
.
PlaceWall
(187)));
33
int
num = position.
X
;
34
for
(
int
i = position.
Y
- holeRadius - 3; i < description.Hive.Top + (position.Y - description.
Desert
.
Top
) * 2 + 12; i++)
35
{
36
WorldUtils
.
Gen
(
new
Point
(num, i), (i < position.
Y
) ? genShapeActionPair2 : genShapeActionPair);
37
WorldUtils
.
Gen
(
new
Point
(num, i), pair);
38
if
(i % 3 == 0 && i >= position.
Y
)
39
{
40
num +=
WorldGen
.
genRand
.Next(-1, 2);
41
WorldUtils
.
Gen
(
new
Point
(num, i), genShapeActionPair);
42
if
(i >= position.
Y
+ 5)
43
{
44
WorldUtils
.
Gen
(
new
Point
(num, i), pair2);
45
WorldUtils
.
Gen
(
new
Point
(num, i), pair3);
46
}
47
WorldUtils
.
Gen
(
new
Point
(num, i), pair);
48
}
49
}
50
WorldUtils
.
Gen
(
new
Point
(origin.
X
, origin.
Y
- (
int
)((
double
)holeRadius * 1.5) + 3),
new
Shapes
.
Circle
(holeRadius / 2, holeRadius / 3),
Actions
.
Chain
(
Actions
.
Chain
(
new
Actions
.
ClearTile
(),
new
Modifiers
.
Expand
(1),
new
Actions
.
PlaceWall
(0))));
51
WorldUtils
.
Gen
(origin,
new
ModShapes
.
All
(data),
new
Actions
.
Smooth
());
52
}
53
}
Terraria.GameContent.Biomes.Desert.AnthillEntrance.Place
static void Place(DesertDescription description)
Definition
AnthillEntrance.cs:9
Terraria.GameContent.Biomes.Desert.AnthillEntrance.PlaceAt
static void PlaceAt(DesertDescription description, Point position, int holeRadius)
Definition
AnthillEntrance.cs:22
Terraria.GameContent.Biomes.Desert.AnthillEntrance
Definition
AnthillEntrance.cs:8
Terraria.GameContent.Biomes.Desert.DesertDescription.Desert
Rectangle Desert
Definition
DesertDescription.cs:20
Terraria.GameContent.Biomes.Desert.DesertDescription.Surface
SurfaceMap Surface
Definition
DesertDescription.cs:32
Terraria.GameContent.Biomes.Desert.DesertDescription
Definition
DesertDescription.cs:8
Terraria.GameContent.Biomes.Desert.SurfaceMap.Width
int Width
Definition
SurfaceMap.cs:17
Terraria.WorldBuilding.Actions.ClearTile
Definition
Actions.cs:156
Terraria.WorldBuilding.Actions.Clear
Definition
Actions.cs:147
Terraria.WorldBuilding.Actions.PlaceWall
Definition
Actions.cs:371
Terraria.WorldBuilding.Actions.SetTile
Definition
Actions.cs:204
Terraria.WorldBuilding.Actions.Smooth
Definition
Actions.cs:455
Terraria.WorldBuilding.Actions.Chain
static GenAction Chain(params GenAction[] actions)
Definition
Actions.cs:470
Terraria.WorldBuilding.Actions
Definition
Actions.cs:11
Terraria.WorldBuilding.GenAction.Output
GenAction Output(ShapeData data)
Definition
GenAction.cs:39
Terraria.WorldBuilding.ModShapes.All
Definition
ModShapes.cs:9
Terraria.WorldBuilding.ModShapes
Definition
ModShapes.cs:7
Terraria.WorldBuilding.Modifiers.Blotches
Definition
Modifiers.cs:93
Terraria.WorldBuilding.Modifiers.Expand
Definition
Modifiers.cs:33
Terraria.WorldBuilding.Modifiers.IsSolid
Definition
Modifiers.cs:457
Terraria.WorldBuilding.Modifiers.SkipWalls
Definition
Modifiers.cs:423
Terraria.WorldBuilding.Modifiers
Definition
Modifiers.cs:8
Terraria.WorldBuilding.ShapeData
Definition
ShapeData.cs:10
Terraria.WorldBuilding.Shapes.Circle
Definition
Shapes.cs:10
Terraria.WorldBuilding.Shapes.Rectangle
Definition
Shapes.cs:134
Terraria.WorldBuilding.Shapes.Tail
Definition
Shapes.cs:169
Terraria.WorldBuilding.Shapes
Definition
Shapes.cs:8
Terraria.WorldBuilding.WorldUtils.Gen
static bool Gen(Point origin, GenShape shape, GenAction action)
Definition
WorldUtils.cs:17
Terraria.WorldBuilding.WorldUtils
Definition
WorldUtils.cs:7
Terraria.WorldGen.genRand
static UnifiedRandom genRand
Definition
WorldGen.cs:1215
Terraria.WorldGen
Definition
WorldGen.cs:32
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
ReLogic.Utilities
Definition
AttributeUtilities.cs:5
Terraria.GameContent.Biomes.Desert
Definition
AnthillEntrance.cs:5
Terraria.WorldBuilding
Definition
Actions.cs:8
Microsoft.Xna.Framework.Point.X
int X
Definition
Point.cs:14
Microsoft.Xna.Framework.Point.Y
int Y
Definition
Point.cs:17
Microsoft.Xna.Framework.Point
Definition
Point.cs:12
Microsoft.Xna.Framework.Rectangle.Left
int Left
Definition
Rectangle.cs:27
Microsoft.Xna.Framework.Rectangle.Top
int Top
Definition
Rectangle.cs:31
ReLogic.Utilities.Vector2D
Definition
Vector2D.cs:9
Terraria.WorldBuilding.GenShapeActionPair
Definition
GenShapeActionPair.cs:4
source
Terraria.GameContent.Biomes.Desert
AnthillEntrance.cs
Generated by
1.10.0