93 [JsonProperty(
"NumberOfDartTraps")]
96 [JsonProperty(
"NumberOfBoulderTraps")]
99 [JsonProperty(
"NumberOfStepsBetweenBoulderTraps")]
167 return _dartTrapPlacementSpots.Count >= 1;
186 int num3 = position.Y - 6;
187 for (
int i = 0; i <= num; i++)
210 if (
num4 > position.
X)
214 if (
num5 < position.
X)
226 for (
int i = 0; i < 50; i++)
239 for (
int i = position.
X; i < position.X + 2; i++)
241 for (
int j = position.
Y - 4;
j <= position.
Y;
j++)
254 for (
int k = position.
X - 1;
k < position.X + 2 + 1;
k++)
256 for (
int l = position.
Y - 4 - 1;
l <= position.Y - 4 + 2;
l++)
266 int num2 = position.X - num;
267 int num3 = position.Y - 4 - num;
268 int num4 = position.X + num + 1;
269 int num5 = position.Y - 4 + num + 1;
297 for (
int i = 0; i < num; i++)
314 for (
int i = 0; i < 20; i++)
333 int y = position.Y + 3;
352 for (
int i = x; i < x +
num2; i++)
365 for (
int j = x;
j < x +
num2;
j++)
409 for (
int i = 0; i < array.Length; i++)
415 for (
int j = 0;
j < 8000;
j++)
453 if (tile.
frameX / 36 != 1)
457 tile =
Main.
tile[position.
X, position.Y + 2];
475 for (
int i = 0; i < 2; i++)
477 for (
int j = 0;
j < 2;
j++)
479 int num = position.X + i;
480 int num2 = position.Y +
j;
483 tile.frameX = (
short)(144 + i * 18);
484 tile.frameY = (
short)(
j * 18);
500 if (
item2.stack != 0)
505 item[1] =
new Item();
506 item[1].SetDefaults(5007);
514 if (directionX == -1)
530 for (
int i = 0; i <= steps; i++)
538 for (
int i = position.
X; i < position.X + 2; i++)
540 for (
int j = position.
Y - requiredHeight;
j <= position.Y + 2;
j++)
543 if (
j < position.
Y - requiredHeight + 2)
547 else if (
j <= position.
Y)
551 tile.
active(active:
true);
552 tile.type = (ushort)bestType;
557 tile.
wire(wire:
true);
566 int num = position.X + 1;
567 int num2 = position.Y - requiredHeight + 1;
591 tile.frameX = (tile.frameY = 0);
void Add(TKey key, TValue value)
static int FindChest(int X, int Y)
BoulderPlacementAttempt(Point position, int yPush, int requiredHeight, int bestType)
DartTrapPlacementAttempt(Point position, int directionX, int x, int y, int xPush, Tile t)
ExplosivePlacementAttempt(Point position)
WirePlacementAttempt(Point position, int dirX, int dirY, int steps)
IntRange _numberOfStepsBetweenBoulderTraps
void FindDartTrapSpots(Point position)
void PlaceWireLine(Point start, int offsetX, int offsetY, int steps)
List< BoulderPlacementAttempt > _boulderPlacementSpots
void ActuallyPlaceDartTrap(Point position, int directionX, int x, int y, int xPush, Tile t)
bool AreThereEnoughTraps()
override bool Place(Point origin, StructureMap structures)
void PlaceBoulderTrapSpot(Point position, int yPush)
void TurnGoldChestIntoDeadMansChest(Point position)
void FindExplosiveTrapSpots(Point position)
List< ExplosivePlacementAttempt > _explosivePlacementAttempt
IntRange _numberOfDartTraps
bool FindDartTrapSpotSingle(Point position, int directionX)
void ActuallyPlaceBoulderTrap(Point position, int yPush, int requiredHeight, int bestType)
List< DartTrapPlacementAttempt > _dartTrapPlacementSpots
bool IsGoodSpotsForExplosive(int x, int y)
List< WirePlacementAttempt > _wirePlacementSpots
IntRange _numberOfBoulderTraps
void PlaceWiresForExplosives(Point origin)
static bool IsAGoodSpot(Point position)
void FindBoulderTrapSpots(Point position)
void FindBoulderTrapSpot(Point position)
void ActuallyPlaceExplosive(Point position)
List< int > GetPossibleChestsToTrapify(StructureMap structures)
static bool[] GeneralPlacementTiles
static bool[] IsAContainer
static bool[] CanBeClearedDuringGeneration
static readonly ushort Count
static bool[] tileSolidTop
static bool[] tileFrameImportant
static UnifiedRandom _random
bool CanPlace(Rectangle area, int padding=0)
static bool PlaceTile(int i, int j, int Type, bool mute=false, bool forced=false, int plr=-1, int style=0)
static int countWires(int x, int y, int size)
static bool oceanDepths(int x, int y)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
static bool InWorld(int x, int y, int fluff=0)
static int countTiles(int x, int y, bool jungle=false, bool lavaOk=false)