Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ PlaceThing_LockChest()

void Terraria.Player.PlaceThing_LockChest ( )
inlineprivate

Definition at line 39254 of file Player.cs.

39255 {
39256 Tile tile = Main.tile[tileTargetX, tileTargetY];
39258 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)
39259 {
39260 return;
39261 }
39262 Tile tileSafely = Framing.GetTileSafely(tileTargetX, tileTargetY);
39263 int type = tileSafely.type;
39264 int num = tileSafely.frameX / 36;
39265 switch (type)
39266 {
39267 case 21:
39268 switch (num)
39269 {
39270 default:
39271 return;
39272 case 1:
39273 case 3:
39274 case 18:
39275 case 19:
39276 case 20:
39277 case 21:
39278 case 22:
39279 case 35:
39280 case 37:
39281 case 39:
39282 break;
39283 }
39284 break;
39285 case 467:
39286 if (num != 12)
39287 {
39288 return;
39289 }
39290 break;
39291 }
39292 if (inventory[selectedItem].stack <= 0)
39293 {
39294 return;
39295 }
39296 int num2;
39297 for (num2 = Main.tile[tileTargetX, tileTargetY].frameX / 18; num2 > 1; num2 -= 2)
39298 {
39299 }
39300 num2 = tileTargetX - num2;
39301 int num3 = tileTargetY - Main.tile[tileTargetX, tileTargetY].frameY / 18;
39302 if (Chest.Lock(num2, num3))
39303 {
39305 if (inventory[selectedItem].stack <= 0)
39306 {
39307 inventory[selectedItem] = new Item();
39308 }
39309 if (Main.netMode == 1)
39310 {
39311 NetMessage.SendData(52, -1, -1, null, whoAmI, 3f, num2, num3);
39312 }
39313 }
39314 }
Vector2 position
Definition Entity.cs:14
static bool[] IsAContainer
Definition TileID.cs:297
int stack
Definition Item.cs:149
bool ItemTimeIsZero
Definition Player.cs:3525
static int tileTargetY
Definition Player.cs:2085
static int tileRangeX
Definition Player.cs:2075
static int tileTargetX
Definition Player.cs:2083
static int tileRangeY
Definition Player.cs:2077
Item[] inventory
Definition Player.cs:1257
bool controlUseItem
Definition Player.cs:1391

References Terraria.Tile.active(), Terraria.Framing.GetTileSafely(), Terraria.ID.TileID.Sets.IsAContainer, System.item, Terraria.Chest.Lock(), Terraria.Main.netMode, Terraria.NetMessage.SendData(), Terraria.Item.stack, Terraria.Main.tile, System.type, and Terraria.Tile.type.