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

◆ PlaceThing_LockChest()

void Terraria.Player.PlaceThing_LockChest ( )
inlineprivate

Definition at line 40311 of file Player.cs.

40312 {
40313 Tile tile = Main.tile[tileTargetX, tileTargetY];
40314 Item item = inventory[selectedItem];
40315 if (!tile.active() || item.type != 5328 || !TileID.Sets.IsAContainer[tile.type] || !(position.X / 16f - (float)tileRangeX - (float)item.tileBoost - (float)blockRange <= (float)tileTargetX) || !((position.X + (float)width) / 16f + (float)tileRangeX + (float)item.tileBoost - 1f + (float)blockRange >= (float)tileTargetX) || !(position.Y / 16f - (float)tileRangeY - (float)item.tileBoost - (float)blockRange <= (float)tileTargetY) || !((position.Y + (float)height) / 16f + (float)tileRangeY + (float)item.tileBoost - 2f + (float)blockRange >= (float)tileTargetY) || !ItemTimeIsZero || itemAnimation <= 0 || !controlUseItem)
40316 {
40317 return;
40318 }
40319 Tile tileSafely = Framing.GetTileSafely(tileTargetX, tileTargetY);
40320 int type = tileSafely.type;
40321 int num = tileSafely.frameX / 36;
40322 switch (type)
40323 {
40324 case 21:
40325 switch (num)
40326 {
40327 default:
40328 return;
40329 case 1:
40330 case 3:
40331 case 18:
40332 case 19:
40333 case 20:
40334 case 21:
40335 case 22:
40336 case 35:
40337 case 37:
40338 case 39:
40339 break;
40340 }
40341 break;
40342 case 467:
40343 if (num != 12)
40344 {
40345 return;
40346 }
40347 break;
40348 }
40349 if (inventory[selectedItem].stack <= 0)
40350 {
40351 return;
40352 }
40353 int num2;
40354 for (num2 = Main.tile[tileTargetX, tileTargetY].frameX / 18; num2 > 1; num2 -= 2)
40355 {
40356 }
40357 num2 = tileTargetX - num2;
40358 int num3 = tileTargetY - Main.tile[tileTargetX, tileTargetY].frameY / 18;
40359 if (Chest.Lock(num2, num3))
40360 {
40362 if (inventory[selectedItem].stack <= 0)
40363 {
40364 inventory[selectedItem] = new Item();
40365 }
40366 if (Main.netMode == 1)
40367 {
40368 NetMessage.SendData(52, -1, -1, null, whoAmI, 3f, num2, num3);
40369 }
40370 }
40371 }
int whoAmI
The index of this Entity within its specific array. These arrays track the entities in the world....
Definition Entity.cs:16
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
static bool[] IsAContainer
Definition TileID.cs:383
int stack
The current stack of the item. F:Terraria.Item.maxStack indicates the max possible stack.
Definition Item.cs:396
bool ItemTimeIsZero
Definition Player.cs:4402
static int tileTargetY
Definition Player.cs:2652
static int tileRangeX
Definition Player.cs:2642
static int tileTargetX
Definition Player.cs:2650
static int tileRangeY
Definition Player.cs:2644
Item[] inventory
The player's normal inventory. Indexes 0-9 hold the hotbar items, 10-49 the rest of the main inventor...
Definition Player.cs:1767
bool controlUseItem
Definition Player.cs:1904

References Terraria.Tile.active(), Terraria.Player.blockRange, Terraria.Player.controlUseItem, Terraria.Framing.GetTileSafely(), Terraria.Entity.height, Terraria.Player.inventory, Terraria.ID.TileID.Sets.IsAContainer, Terraria.Player.itemAnimation, Terraria.Player.ItemTimeIsZero, Terraria.Chest.Lock(), Terraria.Main.netMode, Terraria.Entity.position, Terraria.Player.selectedItem, Terraria.NetMessage.SendData(), Terraria.Item.stack, Terraria.Main.tile, Terraria.Item.tileBoost, Terraria.Player.tileRangeX, Terraria.Player.tileRangeY, Terraria.Player.tileTargetX, Terraria.Player.tileTargetY, Terraria.Item.type, Terraria.Tile.type, Terraria.Entity.whoAmI, and Terraria.Entity.width.

Referenced by Terraria.Player.PlaceThing().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: