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

◆ SwitchMonolith()

static void Terraria.WorldGen.SwitchMonolith ( int i,
int j )
inlinestatic

Definition at line 42380 of file WorldGen.cs.

42381 {
42382 int num = i;
42383 int num2 = j;
42384 int num3;
42385 for (num3 = Main.tile[i, j].frameX / 18; num3 >= 2; num3 -= 2)
42386 {
42387 }
42388 int num4;
42389 for (num4 = Main.tile[i, j].frameY / 18; num4 >= 3; num4 -= 3)
42390 {
42391 }
42392 num = i - num3;
42393 num2 = j - num4;
42394 for (int k = num; k < num + 2; k++)
42395 {
42396 for (int l = num2; l < num2 + 3; l++)
42397 {
42398 if (Main.tile[k, l] == null)
42399 {
42400 Main.tile[k, l] = new Tile();
42401 }
42402 Tile tile = Main.tile[k, l];
42403 if (!tile.active())
42404 {
42405 continue;
42406 }
42407 if (tile.type == 410)
42408 {
42409 if (tile.frameY < 56)
42410 {
42411 tile.frameY += 56;
42412 }
42413 else
42414 {
42415 tile.frameY -= 56;
42416 }
42417 }
42418 else if (tile.type == 480)
42419 {
42420 if (tile.frameY < 54)
42421 {
42422 tile.frameY += 54;
42423 }
42424 else
42425 {
42426 tile.frameY -= 54;
42427 }
42428 }
42429 else if (tile.type == 509)
42430 {
42431 if (tile.frameY < 54)
42432 {
42433 tile.frameY += 54;
42434 }
42435 else
42436 {
42437 tile.frameY -= 54;
42438 }
42439 }
42440 else if (tile.type == 657)
42441 {
42442 if (tile.frameY < 54)
42443 {
42444 tile.frameY += 54;
42445 }
42446 else
42447 {
42448 tile.frameY -= 54;
42449 }
42450 }
42451 else if (tile.type == 658)
42452 {
42453 short num5 = 54;
42454 short num6 = 3;
42455 short num7 = (short)(num5 * num6);
42456 tile.frameY += num5;
42457 if (tile.frameY >= num7)
42458 {
42459 tile.frameY -= num7;
42460 }
42461 }
42462 }
42463 }
42464 if (Wiring.running)
42465 {
42466 Wiring.SkipWire(num, num2);
42467 Wiring.SkipWire(num, num2 + 1);
42468 Wiring.SkipWire(num, num2 + 2);
42469 Wiring.SkipWire(num + 1, num2);
42470 Wiring.SkipWire(num + 1, num2 + 1);
42471 Wiring.SkipWire(num + 1, num2 + 2);
42472 }
42473 NetMessage.SendTileSquare(-1, num, num2, 2, 3);
42474 }

References Terraria.Tile.active(), Terraria.Tile.frameY, Terraria.Wiring.running, Terraria.NetMessage.SendTileSquare(), Terraria.Wiring.SkipWire(), Terraria.DataStructures.Tile, Terraria.Main.tile, and Terraria.Tile.type.

Referenced by Terraria.Wiring.HitWireSingle(), and Terraria.Player.TileInteractionsUse().