12 {
14 {
15 return false;
16 }
18 {
19 return false;
20 }
22 {
23 return false;
24 }
26 {
27 return false;
28 }
30 {
36 {
37 return false;
38 }
39 }
40 int num3 = (result.Y - result2.Y - 9) / 5;
46 {
48 }
49 for (
int i = 0;
i <
num3;
i++)
50 {
53 WorldUtils.
Gen(
new Point(result.X +
num5 +
num9, result.Y - (i + 1) * 5),
new Shapes.
Rectangle(6 +
Math.
Abs(
num8 -
num5), 7),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
RemoveWall(),
new Actions.
SetTile(383),
new Actions.
SetFrames()));
54 WorldUtils.
Gen(
new Point(result.X +
num5 +
num9 + 2, result.Y - (i + 1) * 5),
new Shapes.
Rectangle(2 +
Math.
Abs(
num8 -
num5), 5),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
ClearTile(
frameNeighbors:
true),
new Actions.PlaceWall(78)));
55 WorldUtils.
Gen(
new Point(result.X +
num5 + 2, result.Y - i * 5),
new Shapes.
Rectangle(2, 2),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
ClearTile(
frameNeighbors:
true),
new Actions.PlaceWall(78)));
57 }
60 {
62 }
64 for (
int j = 0;
j < 2;
j++)
65 {
66 double num11 = ((double)
j + 1.0) / 3.0;
68 double num13 =
GenBase.
_random.NextDouble() * 0.7853981852531433 - 0.7853981852531433 - 0.2;
70 {
71 num13 -= 1.5707963705062866;
72 }
73 WorldUtils.
Gen(
new Point(result.X +
num12, result.Y - (
int)((
double)(
num3 * 5) *
num11)),
new ShapeBranch(
num13,
GenBase.
_random.Next(12, 16)).
OutputEndpoints(
list),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
SetTile(383),
new Actions.
SetFrames(
frameNeighbors:
true)));
75 }
77 WorldUtils.
Gen(
new Point(result.X + 6 +
num14, result.Y -
num4),
new ShapeBranch(-0.6853981852531433,
GenBase.
_random.Next(16, 22)).
OutputEndpoints(
list),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
SetTile(383),
new Actions.
SetFrames(
frameNeighbors:
true)));
78 WorldUtils.
Gen(
new Point(result.X +
num14, result.Y -
num4),
new ShapeBranch(-2.45619455575943,
GenBase.
_random.Next(16, 22)).
OutputEndpoints(
list),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
SetTile(383),
new Actions.
SetFrames(
frameNeighbors:
true)));
80 {
81 WorldUtils.
Gen(
item,
new Shapes.
Circle(4),
Actions.
Chain(
new Modifiers.
Blotches(4, 2),
new Modifiers.
SkipTiles(383, 21, 467, 226, 237),
new Modifiers.
SkipWalls(78, 87),
new Actions.
SetTile(384),
new Actions.
SetFrames(
frameNeighbors:
true)));
82 }
83 for (
int k = 0;
k < 4;
k++)
84 {
85 double angle = (double)
k / 3.0 * 2.0 + 0.57075;
86 WorldUtils.
Gen(result,
new ShapeRoot(
angle,
GenBase.
_random.Next(40, 60)),
Actions.
Chain(
new Modifiers.
SkipTiles(21, 467, 226, 237),
new Modifiers.
SkipWalls(87),
new Actions.
SetTile(383,
setSelfFrames:
true)));
87 }
90 return true;
91 }
static double Abs(double value)
static double Sin(double a)
ShapeBranch OutputEndpoints(List< Point > endpoints)
TileScanner Output(Dictionary< ushort, int > resultsOutput)
static GenAction Chain(params GenAction[] actions)
static UnifiedRandom _random
GenCondition AreaOr(int width, int height)
GenCondition AreaAnd(int width, int height)
static GenSearch Chain(GenSearch search, params GenCondition[] conditions)
void AddProtectedStructure(Rectangle area, int padding=0)
bool CanPlace(Rectangle area, int padding=0)
static bool Find(Point origin, GenSearch search, out Point result)
static bool Gen(Point origin, GenShape shape, GenAction action)