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

◆ PlaceThing_Tiles_PlaceIt_AutoPaintAndActuate()

void Terraria.Player.PlaceThing_Tiles_PlaceIt_AutoPaintAndActuate ( int typeCaches[,],
int tileToCreate )
inlineprivate

Definition at line 38286 of file Player.cs.

38287 {
38288 if (!autoPaint && !autoActuator)
38289 {
38290 return;
38291 }
38292 int num = 0;
38293 int num2 = 0;
38294 int num3 = 11;
38295 int num4 = 11;
38296 bool flag = TileID.Sets.Platforms[Main.tile[tileTargetX, tileTargetY].type];
38298 if (!Main.tileFrameImportant[Main.tile[tileTargetX, tileTargetY].type] || flag)
38299 {
38300 num = (num2 = 5);
38301 num3 = (num4 = 6);
38302 }
38303 for (int i = num; i < num3; i++)
38304 {
38305 for (int j = num2; j < num4; j++)
38306 {
38307 int num5 = tileTargetX - 5 + i;
38308 int num6 = tileTargetY - 5 + j;
38309 if ((!Main.tile[num5, num6].active() && typeCaches[i, j] == -1) || (Main.tile[num5, num6].active() && !flag2 && (typeCaches[i, j] == Main.tile[num5, num6].type || Main.tile[num5, num6].type != tileToCreate)))
38310 {
38311 continue;
38312 }
38313 if (autoPaint && builderAccStatus[3] == 0)
38314 {
38316 }
38317 if (!autoActuator || builderAccStatus[2] != 0)
38318 {
38319 continue;
38320 }
38321 bool flag3 = Main.tileSolid[Main.tile[num5, num6].type] && !TileID.Sets.NotReallySolid[Main.tile[num5, num6].type];
38322 ushort type = Main.tile[num5, num6].type;
38323 if (type == 314 || (uint)(type - 386) <= 3u)
38324 {
38325 flag3 = false;
38326 }
38327 if (!flag3)
38328 {
38329 continue;
38330 }
38331 int num7 = FindItem(849);
38332 if (num7 > -1 && WorldGen.PlaceActuator(num5, num6))
38333 {
38334 NetMessage.SendData(17, -1, -1, null, 8, num5, num6);
38335 inventory[num7].stack--;
38336 if (inventory[num7].stack <= 0)
38337 {
38339 }
38340 }
38341 }
38342 }
38343 }
static bool[] NotReallySolid
Definition TileID.cs:257
static bool[] Platforms
Definition TileID.cs:163
int stack
Definition Item.cs:149
void SetDefaults(int Type=0)
Definition Item.cs:47332
int FindItem(int netid)
Definition Player.cs:52383
bool autoActuator
Definition Player.cs:2057
void TryPainting(int x, int y, bool paintingAWall=false, bool applyItemAnimation=true)
Definition Player.cs:39598
static int tileTargetY
Definition Player.cs:2085
static int tileTargetX
Definition Player.cs:2083
int[] builderAccStatus
Definition Player.cs:599
Item[] inventory
Definition Player.cs:1257

References Terraria.ID.TileID.Sets.NotReallySolid, Terraria.WorldGen.PlaceActuator(), Terraria.ID.TileID.Sets.Platforms, Terraria.NetMessage.SendData(), Terraria.Item.SetDefaults(), Terraria.Item.stack, Terraria.Main.tile, Terraria.Main.tileFrameImportant, Terraria.Main.tileSolid, and System.type.