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

◆ Check1xX()

static void Terraria.WorldGen.Check1xX ( int x,
int j,
short type )
inlinestatic

Definition at line 32501 of file WorldGen.cs.

32502 {
32503 if (destroyObject)
32504 {
32505 return;
32506 }
32507 int frameX = Main.tile[x, j].frameX;
32508 int num = 3;
32509 if (type == 92)
32510 {
32511 num = 6;
32512 }
32513 int num2 = Main.tile[x, j].frameY;
32514 int num3 = 0;
32515 while (num2 >= 18 * num)
32516 {
32517 num2 -= 18 * num;
32518 num3++;
32519 }
32520 int num4 = Main.tile[x, j].frameX / 18;
32521 int num5 = j - num2 / 18;
32522 bool flag = false;
32523 for (int i = 0; i < num; i++)
32524 {
32525 if (Main.tile[x, num5 + i] == null)
32526 {
32527 Main.tile[x, num5 + i] = new Tile();
32528 }
32529 if (!Main.tile[x, num5 + i].active())
32530 {
32531 flag = true;
32532 }
32533 else if (Main.tile[x, num5 + i].type != type)
32534 {
32535 flag = true;
32536 }
32537 else if (Main.tile[x, num5 + i].frameY != i * 18 + num3 * num * 18)
32538 {
32539 flag = true;
32540 }
32541 else if (Main.tile[x, num5 + i].frameX != frameX)
32542 {
32543 flag = true;
32544 }
32545 }
32546 if (Main.tile[x, num5 + num] == null)
32547 {
32548 Main.tile[x, num5 + num] = new Tile();
32549 }
32550 if (!SolidTileAllowBottomSlope(x, num5 + num))
32551 {
32552 flag = true;
32553 }
32554 if (!flag)
32555 {
32556 return;
32557 }
32558 destroyObject = true;
32559 for (int k = 0; k < num; k++)
32560 {
32561 if (Main.tile[x, num5 + k].type == type)
32562 {
32563 KillTile(x, num5 + k);
32564 }
32565 }
32566 if (type == 92)
32567 {
32568 Item.NewItem(GetItemSource_FromTileBreak(x, j), x * 16, j * 16, 32, 32, 341);
32569 }
32570 if (type == 453)
32571 {
32572 int num6 = 0;
32573 num6 = ((num4 < 2) ? 3744 : ((num4 >= 4) ? 3743 : 3745));
32574 Item.NewItem(GetItemSource_FromTileBreak(x, j), x * 16, j * 16, 16, 32, num6);
32575 }
32576 if (type == 93)
32577 {
32578 int type2 = 0;
32579 switch (num3)
32580 {
32581 case 0:
32582 type2 = 342;
32583 break;
32584 case 1:
32585 case 2:
32586 case 3:
32587 case 4:
32588 case 5:
32589 case 6:
32590 case 7:
32591 case 8:
32592 case 9:
32593 case 10:
32594 type2 = 2082 + num3 - 1;
32595 break;
32596 default:
32597 if (num3 >= 11 && num3 <= 16)
32598 {
32599 type2 = 2129 + num3 - 11;
32600 break;
32601 }
32602 switch (num3)
32603 {
32604 case 17:
32605 type2 = 2225;
32606 break;
32607 case 18:
32608 type2 = 2533;
32609 break;
32610 case 19:
32611 type2 = 2547;
32612 break;
32613 case 20:
32614 type2 = 2563;
32615 break;
32616 case 21:
32617 type2 = 2578;
32618 break;
32619 case 22:
32620 type2 = 2643;
32621 break;
32622 case 23:
32623 type2 = 2644;
32624 break;
32625 case 24:
32626 type2 = 2645;
32627 break;
32628 case 25:
32629 type2 = 2646;
32630 break;
32631 case 26:
32632 type2 = 2647;
32633 break;
32634 case 27:
32635 type2 = 2819;
32636 break;
32637 case 28:
32638 type2 = 3135;
32639 break;
32640 case 29:
32641 type2 = 3137;
32642 break;
32643 case 30:
32644 type2 = 3136;
32645 break;
32646 case 31:
32647 type2 = 3892;
32648 break;
32649 case 32:
32650 type2 = 3942;
32651 break;
32652 case 33:
32653 type2 = 3969;
32654 break;
32655 case 34:
32656 type2 = 4156;
32657 break;
32658 case 35:
32659 type2 = 4177;
32660 break;
32661 case 36:
32662 type2 = 4198;
32663 break;
32664 case 37:
32665 type2 = 4219;
32666 break;
32667 case 38:
32668 type2 = 4308;
32669 break;
32670 case 39:
32671 type2 = 4577;
32672 break;
32673 case 40:
32674 type2 = 5159;
32675 break;
32676 case 41:
32677 type2 = 5180;
32678 break;
32679 case 42:
32680 type2 = 5201;
32681 break;
32682 }
32683 break;
32684 }
32685 Item.NewItem(GetItemSource_FromTileBreak(x, j), x * 16, j * 16, 32, 32, type2);
32686 }
32687 destroyObject = false;
32688 }
static bool destroyObject
Definition WorldGen.cs:1020
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static bool SolidTileAllowBottomSlope(int i, int j)
static IEntitySource GetItemSource_FromTileBreak(int x, int y)

References Terraria.Item.NewItem(), Terraria.DataStructures.Tile, Terraria.Main.tile, and System.type.