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

◆ ToggleGemLock()

static void Terraria.WorldGen.ToggleGemLock ( int i,
int j,
bool on )
inlinestatic

Definition at line 37378 of file WorldGen.cs.

37379 {
37380 Tile tileSafely = Framing.GetTileSafely(i, j);
37381 if (!tileSafely.active() || tileSafely.type != 440 || (tileSafely.frameY < 54 && !on))
37382 {
37383 return;
37384 }
37385 bool flag = false;
37386 int num = -1;
37387 if (tileSafely.frameY >= 54)
37388 {
37389 flag = true;
37390 }
37391 int num2 = Main.tile[i, j].frameX / 54;
37392 int num3 = Main.tile[i, j].frameX % 54 / 18;
37393 int num4 = Main.tile[i, j].frameY % 54 / 18;
37394 switch (num2)
37395 {
37396 case 0:
37397 num = 1526;
37398 break;
37399 case 1:
37400 num = 1524;
37401 break;
37402 case 2:
37403 num = 1525;
37404 break;
37405 case 3:
37406 num = 1523;
37407 break;
37408 case 4:
37409 num = 1522;
37410 break;
37411 case 5:
37412 num = 1527;
37413 break;
37414 case 6:
37415 num = 3643;
37416 break;
37417 }
37418 for (int k = i - num3; k < i - num3 + 3; k++)
37419 {
37420 for (int l = j - num4; l < j - num4 + 3; l++)
37421 {
37422 Main.tile[k, l].frameY = (short)((on ? 54 : 0) + (l - j + num4) * 18);
37423 }
37424 }
37425 if (num != -1 && flag)
37426 {
37427 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num);
37428 }
37429 SquareTileFrame(i, j);
37430 NetMessage.SendTileSquare(-1, i - num3, j - num4, 3, 3);
37431 Wiring.HitSwitch(i - num3, j - num4);
37432 NetMessage.SendData(59, -1, -1, null, i - num3, j - num4);
37433 }
static IEntitySource GetItemSource_FromTileBreak(int x, int y)
static void SquareTileFrame(int i, int j, bool resetFrame=true)

References Terraria.Framing.GetTileSafely(), Terraria.Wiring.HitSwitch(), Terraria.Item.NewItem(), Terraria.NetMessage.SendData(), Terraria.NetMessage.SendTileSquare(), and Terraria.Main.tile.

Referenced by Terraria.MessageBuffer.GetData(), and Terraria.Player.TileInteractionsUse().