Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
LarvaHoleEntrance.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
LarvaHoleEntrance
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(13, 16);
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_0048: Unknown result type (might be due to invalid IL or missing references)
25
ShapeData
data =
new
ShapeData
();
26
WorldUtils
.
Gen
(position,
new
Shapes
.
Rectangle
(
new
Rectangle
(-holeRadius, -holeRadius * 2, holeRadius * 2, holeRadius * 2)),
new
Actions
.
Clear
().
Output
(data));
27
WorldUtils
.
Gen
(position,
new
Shapes
.
Tail
(holeRadius * 2,
new
Vector2D
(0.0, (
double
)holeRadius * 1.5)),
Actions
.
Chain
(
new
Actions
.
Clear
().
Output
(data)));
28
WorldUtils
.
Gen
(position,
new
ModShapes
.
All
(data),
Actions
.
Chain
(
new
Modifiers
.
Offset
(0, 1),
new
Modifiers
.
Expand
(1),
new
Modifiers
.
IsSolid
(),
new
Actions
.
Smooth
(applyToNeighbors:
true
)));
29
GenShapeActionPair
pair =
new
GenShapeActionPair
(
new
Shapes
.
Rectangle
(1, 1),
Actions
.
Chain
(
new
Modifiers
.
Blotches
(),
new
Modifiers
.
IsSolid
(),
new
Actions
.
Clear
(),
new
Actions
.
PlaceWall
(187)));
30
GenShapeActionPair
pair2 =
new
GenShapeActionPair
(
new
Shapes
.
Circle
(2, 3),
Actions
.
Chain
(
new
Modifiers
.
IsSolid
(),
new
Actions
.
SetTile
(397),
new
Actions
.
PlaceWall
(187)));
31
int
num = position.
X
;
32
for
(
int
i = position.
Y
+ (
int
)((
double
)holeRadius * 1.5); i < description.Hive.Top + (position.Y - description.
Desert
.
Top
) * 2 + 12; i++)
33
{
34
WorldUtils
.
Gen
(
new
Point
(num, i), pair);
35
WorldUtils
.
Gen
(
new
Point
(num, i), pair2);
36
if
(i % 3 == 0)
37
{
38
num +=
WorldGen
.
genRand
.Next(-1, 2);
39
WorldUtils
.
Gen
(
new
Point
(num, i), pair);
40
WorldUtils
.
Gen
(
new
Point
(num, i), pair2);
41
}
42
}
43
WorldUtils
.
Gen
(
new
Point
(position.
X
, position.
Y
+ 2),
new
ModShapes
.
All
(data),
new
Actions
.
PlaceWall
(0));
44
}
45
}
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.LarvaHoleEntrance.Place
static void Place(DesertDescription description)
Definition
LarvaHoleEntrance.cs:9
Terraria.GameContent.Biomes.Desert.LarvaHoleEntrance.PlaceAt
static void PlaceAt(DesertDescription description, Point position, int holeRadius)
Definition
LarvaHoleEntrance.cs:22
Terraria.GameContent.Biomes.Desert.LarvaHoleEntrance
Definition
LarvaHoleEntrance.cs:8
Terraria.GameContent.Biomes.Desert.SurfaceMap.Width
int Width
Definition
SurfaceMap.cs:17
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.Offset
Definition
Modifiers.cs:509
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
Microsoft.Xna.Framework.Rectangle
Definition
Rectangle.cs:12
ReLogic.Utilities.Vector2D
Definition
Vector2D.cs:9
Terraria.WorldBuilding.GenShapeActionPair
Definition
GenShapeActionPair.cs:4
source
Terraria.GameContent.Biomes.Desert
LarvaHoleEntrance.cs
Generated by
1.10.0