Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ PlaceThing_Walls()

void Terraria.Player.PlaceThing_Walls ( )
inlineprivate

Definition at line 37407 of file Player.cs.

37408 {
37409 if (inventory[selectedItem].createWall < 0 || !(position.X / 16f - (float)tileRangeX - (float)inventory[selectedItem].tileBoost - (float)blockRange <= (float)tileTargetX) || !((position.X + (float)width) / 16f + (float)tileRangeX + (float)inventory[selectedItem].tileBoost - 1f + (float)blockRange >= (float)tileTargetX) || !(position.Y / 16f - (float)tileRangeY - (float)inventory[selectedItem].tileBoost - (float)blockRange <= (float)tileTargetY) || !((position.Y + (float)height) / 16f + (float)tileRangeY + (float)inventory[selectedItem].tileBoost - 2f + (float)blockRange >= (float)tileTargetY))
37410 {
37411 return;
37412 }
37413 cursorItemIconEnabled = true;
37414 if (!ItemTimeIsZero || itemAnimation <= 0 || !controlUseItem || (!Main.tile[tileTargetX + 1, tileTargetY].active() && Main.tile[tileTargetX + 1, tileTargetY].wall <= 0 && !Main.tile[tileTargetX - 1, tileTargetY].active() && Main.tile[tileTargetX - 1, tileTargetY].wall <= 0 && !Main.tile[tileTargetX, tileTargetY + 1].active() && Main.tile[tileTargetX, tileTargetY + 1].wall <= 0 && !Main.tile[tileTargetX, tileTargetY - 1].active() && Main.tile[tileTargetX, tileTargetY - 1].wall <= 0) || Main.tile[tileTargetX, tileTargetY].wall == inventory[selectedItem].createWall)
37415 {
37416 return;
37417 }
37418 bool flag = true;
37420 {
37421 flag = PlaceThing_TryReplacingWalls(flag);
37422 }
37423 if (!flag)
37424 {
37425 return;
37426 }
37427 WorldGen.PlaceWall(tileTargetX, tileTargetY, inventory[selectedItem].createWall);
37428 if (Main.tile[tileTargetX, tileTargetY].wall == inventory[selectedItem].createWall)
37429 {
37431 if (Main.netMode == 1)
37432 {
37433 NetMessage.SendData(17, -1, -1, null, 3, tileTargetX, tileTargetY, inventory[selectedItem].createWall);
37434 }
37436 if (autoPaint && builderAccStatus[3] == 0)
37437 {
37439 }
37440 }
37441 }
Vector2 position
Definition Entity.cs:14
int createWall
Definition Item.cs:163
int tileBoost
Definition Item.cs:159
void ApplyItemTime(Item sItem)
Definition Player.cs:3752
void PlaceThing_Walls_FillEmptySpace()
Definition Player.cs:37443
bool cursorItemIconEnabled
Definition Player.cs:1489
float wallSpeed
Definition Player.cs:2051
bool ItemTimeIsZero
Definition Player.cs:3525
void TryPainting(int x, int y, bool paintingAWall=false, bool applyItemAnimation=true)
Definition Player.cs:39598
static int tileTargetY
Definition Player.cs:2085
bool TileReplacementEnabled
Definition Player.cs:2864
static int tileRangeX
Definition Player.cs:2075
static int tileTargetX
Definition Player.cs:2083
static int tileRangeY
Definition Player.cs:2077
int[] builderAccStatus
Definition Player.cs:599
Item[] inventory
Definition Player.cs:1257
bool PlaceThing_TryReplacingWalls(bool canUse)
Definition Player.cs:37613
bool controlUseItem
Definition Player.cs:1391

References Terraria.Item.createWall, Terraria.Main.netMode, Terraria.WorldGen.PlaceWall(), Terraria.NetMessage.SendData(), Terraria.Main.tile, and Terraria.Item.tileBoost.