Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
CorruptionPitBiome.cs
Go to the documentation of this file.
1
using
Microsoft.Xna.Framework
;
2
using
Terraria.ID
;
3
using
Terraria.WorldBuilding
;
4
5
namespace
Terraria.GameContent.Biomes
;
6
7
public
class
CorruptionPitBiome
:
MicroBiome
8
{
9
public
static
bool
[]
ValidTiles
=
TileID
.
Sets
.
Factory
.CreateBoolSet(
true
, 21, 31, 26);
10
11
public
override
bool
Place
(
Point
origin,
StructureMap
structures)
12
{
13
if
(
WorldGen
.
SolidTile
(origin.
X
, origin.
Y
) &&
GenBase
.
_tiles
[origin.
X
, origin.
Y
].wall == 3)
14
{
15
return
false
;
16
}
17
if
(!
WorldUtils
.
Find
(origin,
Searches
.
Chain
(
new
Searches
.
Down
(100),
new
Conditions
.
IsSolid
()), out origin))
18
{
19
return
false
;
20
}
21
if
(!
WorldUtils
.
Find
(
new
Point
(origin.
X
- 4, origin.
Y
),
Searches
.
Chain
(
new
Searches
.
Down
(5),
new
Conditions
.
IsTile
(25).
AreaAnd
(8, 1)), out var _))
22
{
23
return
false
;
24
}
25
ShapeData
shapeData =
new
ShapeData
();
26
ShapeData
shapeData2 =
new
ShapeData
();
27
ShapeData
shapeData3 =
new
ShapeData
();
28
for
(
int
i = 0; i < 6; i++)
29
{
30
WorldUtils
.
Gen
(origin,
new
Shapes
.
Circle
(
GenBase
.
_random
.Next(10, 12) + i),
Actions
.
Chain
(
new
Modifiers
.
Offset
(0, 5 * i + 5),
new
Modifiers
.
Blotches
(3).
Output
(shapeData)));
31
}
32
for
(
int
j = 0; j < 6; j++)
33
{
34
WorldUtils
.
Gen
(origin,
new
Shapes
.
Circle
(
GenBase
.
_random
.Next(5, 7) + j),
Actions
.
Chain
(
new
Modifiers
.
Offset
(0, 2 * j + 18),
new
Modifiers
.
Blotches
(3).
Output
(shapeData2)));
35
}
36
for
(
int
k = 0; k < 6; k++)
37
{
38
WorldUtils
.
Gen
(origin,
new
Shapes
.
Circle
(
GenBase
.
_random
.Next(4, 6) + k / 2),
Actions
.
Chain
(
new
Modifiers
.
Offset
(0, (
int
)(7.5 * (
double
)k) - 10),
new
Modifiers
.
Blotches
(3).
Output
(shapeData3)));
39
}
40
ShapeData
shapeData4 =
new
ShapeData
(shapeData2);
41
shapeData2.
Subtract
(shapeData3, origin, origin);
42
shapeData4.
Subtract
(shapeData2, origin, origin);
43
Rectangle
bounds =
ShapeData
.
GetBounds
(origin, shapeData, shapeData3);
44
if
(!structures.
CanPlace
(bounds,
ValidTiles
, 2))
45
{
46
return
false
;
47
}
48
WorldUtils
.
Gen
(origin,
new
ModShapes
.
All
(shapeData),
Actions
.
Chain
(
new
Actions
.
SetTile
(25, setSelfFrames:
true
),
new
Actions
.
PlaceWall
(3)));
49
WorldUtils
.
Gen
(origin,
new
ModShapes
.
All
(shapeData2),
new
Actions
.
SetTile
(0, setSelfFrames:
true
));
50
WorldUtils
.
Gen
(origin,
new
ModShapes
.
All
(shapeData3),
new
Actions
.
ClearTile
(frameNeighbors:
true
));
51
WorldUtils
.
Gen
(origin,
new
ModShapes
.
All
(shapeData2),
Actions
.
Chain
(
new
Modifiers
.
IsTouchingAir
(useDiagonals:
true
),
new
Modifiers
.
NotTouching
(
false
, 25),
new
Actions
.
SetTile
(23, setSelfFrames:
true
)));
52
WorldUtils
.
Gen
(origin,
new
ModShapes
.
All
(shapeData4),
new
Actions
.
PlaceWall
(69));
53
structures.
AddProtectedStructure
(bounds, 2);
54
return
true
;
55
}
56
}
Terraria.GameContent.Biomes.CorruptionPitBiome.Place
override bool Place(Point origin, StructureMap structures)
Definition
CorruptionPitBiome.cs:11
Terraria.GameContent.Biomes.CorruptionPitBiome.ValidTiles
static bool[] ValidTiles
Definition
CorruptionPitBiome.cs:9
Terraria.GameContent.Biomes.CorruptionPitBiome
Definition
CorruptionPitBiome.cs:8
Terraria.ID.TileID.Sets.Factory
static SetFactory Factory
Definition
TileID.cs:81
Terraria.ID.TileID.Sets
Definition
TileID.cs:9
Terraria.ID.TileID
Definition
TileID.cs:7
Terraria.WorldBuilding.Actions.ClearTile
Definition
Actions.cs:156
Terraria.WorldBuilding.Actions.PlaceWall
Definition
Actions.cs:371
Terraria.WorldBuilding.Actions.SetTile
Definition
Actions.cs:204
Terraria.WorldBuilding.Actions.Chain
static GenAction Chain(params GenAction[] actions)
Definition
Actions.cs:470
Terraria.WorldBuilding.Actions
Definition
Actions.cs:11
Terraria.WorldBuilding.Conditions.IsSolid
Definition
Conditions.cs:51
Terraria.WorldBuilding.Conditions.IsTile
Definition
Conditions.cs:6
Terraria.WorldBuilding.Conditions
Definition
Conditions.cs:4
Terraria.WorldBuilding.GenAction.Output
GenAction Output(ShapeData data)
Definition
GenAction.cs:39
Terraria.WorldBuilding.GenBase._tiles
static Tile[,] _tiles
Definition
GenBase.cs:11
Terraria.WorldBuilding.GenBase._random
static UnifiedRandom _random
Definition
GenBase.cs:9
Terraria.WorldBuilding.GenBase
Definition
GenBase.cs:6
Terraria.WorldBuilding.GenCondition.AreaAnd
GenCondition AreaAnd(int width, int height)
Definition
GenCondition.cs:73
Terraria.WorldBuilding.MicroBiome
Definition
MicroBiome.cs:4
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.IsTouchingAir
Definition
Modifiers.cs:345
Terraria.WorldBuilding.Modifiers.NotTouching
Definition
Modifiers.cs:305
Terraria.WorldBuilding.Modifiers.Offset
Definition
Modifiers.cs:509
Terraria.WorldBuilding.Modifiers
Definition
Modifiers.cs:8
Terraria.WorldBuilding.Searches.Down
Definition
Searches.cs:52
Terraria.WorldBuilding.Searches.Chain
static GenSearch Chain(GenSearch search, params GenCondition[] conditions)
Definition
Searches.cs:123
Terraria.WorldBuilding.Searches
Definition
Searches.cs:6
Terraria.WorldBuilding.ShapeData.Subtract
void Subtract(ShapeData shapeData, Point localOrigin, Point remoteOrigin)
Definition
ShapeData.cs:58
Terraria.WorldBuilding.ShapeData.GetBounds
static Rectangle GetBounds(Point origin, params ShapeData[] shapes)
Definition
ShapeData.cs:66
Terraria.WorldBuilding.ShapeData
Definition
ShapeData.cs:10
Terraria.WorldBuilding.Shapes.Circle
Definition
Shapes.cs:10
Terraria.WorldBuilding.Shapes
Definition
Shapes.cs:8
Terraria.WorldBuilding.StructureMap.AddProtectedStructure
void AddProtectedStructure(Rectangle area, int padding=0)
Definition
StructureMap.cs:78
Terraria.WorldBuilding.StructureMap.CanPlace
bool CanPlace(Rectangle area, int padding=0)
Definition
StructureMap.cs:16
Terraria.WorldBuilding.StructureMap
Definition
StructureMap.cs:9
Terraria.WorldBuilding.WorldUtils.Find
static bool Find(Point origin, GenSearch search, out Point result)
Definition
WorldUtils.cs:27
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.SolidTile
static bool SolidTile(Tile testTile)
Definition
WorldGen.cs:60593
Terraria.WorldGen
Definition
WorldGen.cs:32
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
Terraria.GameContent.Biomes
Definition
DesertHouseBuilder.cs:6
Terraria.ID
Definition
AchievementHelperID.cs:1
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
Definition
Rectangle.cs:12
source
Terraria.GameContent.Biomes
CorruptionPitBiome.cs
Generated by
1.10.0