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

◆ Check3x2()

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

Definition at line 40534 of file WorldGen.cs.

40535 {
40536 if (destroyObject)
40537 {
40538 return;
40539 }
40540 bool flag = false;
40541 bool flag2 = false;
40542 int num = j;
40543 if (Main.tile[i, j] == null)
40544 {
40545 Main.tile[i, j] = new Tile();
40546 }
40547 int num2 = 36;
40548 int num3 = Main.tile[i, j].frameY / num2;
40549 int num4 = Main.tile[i, j].frameY % num2;
40550 num -= num4 / 18;
40551 int num5 = Main.tile[i, j].frameX / 18;
40552 int num6 = 0;
40553 while (num5 > 2)
40554 {
40555 num5 -= 3;
40556 num6++;
40557 }
40558 num5 = i - num5;
40559 int num7 = num6 * 54;
40560 if (type == 14 && num6 == 25)
40561 {
40562 flag2 = true;
40563 }
40564 int num8 = num + 2;
40565 if (flag2)
40566 {
40567 num8--;
40568 }
40569 for (int k = num5; k < num5 + 3; k++)
40570 {
40571 for (int l = num; l < num8; l++)
40572 {
40573 if (Main.tile[k, l] == null)
40574 {
40575 Main.tile[k, l] = new Tile();
40576 }
40577 if (!Main.tile[k, l].active() || Main.tile[k, l].type != type || Main.tile[k, l].frameX != (k - num5) * 18 + num7 || Main.tile[k, l].frameY != (l - num) * 18 + num3 * 36)
40578 {
40579 flag = true;
40580 }
40581 }
40582 if (type == 285 || type == 286 || type == 298 || type == 299 || type == 310 || type == 339 || type == 538 || (type >= 361 && type <= 364) || type == 532 || type == 544 || type == 533 || type == 555 || type == 556 || type == 582 || type == 619 || type == 629)
40583 {
40584 if (!SolidTileAllowBottomSlope(k, num8) && (Main.tile[k, num8] == null || !Main.tile[k, num8].nactive() || !Main.tileSolidTop[Main.tile[k, num8].type] || Main.tile[k, num8].frameY != 0) && (Main.tile[k, num8] == null || !Main.tile[k, num8].active() || !TileID.Sets.Platforms[Main.tile[k, num8].type]))
40585 {
40586 flag = true;
40587 }
40588 }
40589 else
40590 {
40591 switch (type)
40592 {
40593 case 488:
40594 {
40595 int num9 = 0;
40596 if (Main.tile[k, num8] != null && Main.tile[k, num8].active())
40597 {
40598 num9 = Main.tile[k, num8].type;
40599 }
40600 if (num9 != 2 && num9 != 477 && num9 != 109 && num9 != 492)
40601 {
40602 flag = true;
40603 }
40604 break;
40605 }
40606 case 26:
40607 {
40608 Tile tile2 = Main.tile[k, num8];
40609 if (!SolidTileAllowBottomSlope(k, num8) || (tile2 != null && tile2.active() && TileID.Sets.Boulders[tile2.type]))
40610 {
40611 flag = true;
40612 }
40613 break;
40614 }
40615 case 186:
40616 {
40618 {
40619 flag = true;
40620 break;
40621 }
40622 Tile tile = Main.tile[k, num8];
40623 if (tile == null || !tile.active())
40624 {
40625 break;
40626 }
40627 switch (num6)
40628 {
40629 case 26:
40630 case 27:
40631 case 28:
40632 case 29:
40633 case 30:
40634 case 31:
40635 if (!TileID.Sets.Snow[tile.type] && !TileID.Sets.Conversion.Ice[tile.type] && tile.type != 162 && tile.type != 224)
40636 {
40637 flag = true;
40638 }
40639 break;
40640 case 32:
40641 case 33:
40642 case 34:
40643 if (!TileID.Sets.Mud[tile.type] && tile.type != 70)
40644 {
40645 flag = true;
40646 }
40647 break;
40648 }
40649 break;
40650 }
40651 }
40652 }
40653 if (type == 187)
40654 {
40656 {
40657 flag = true;
40658 continue;
40659 }
40660 Tile tile3 = Main.tile[k, num8];
40661 if (tile3 == null || !tile3.active())
40662 {
40663 continue;
40664 }
40665 switch (num6)
40666 {
40667 case 0:
40668 case 1:
40669 case 2:
40670 case 3:
40671 case 4:
40672 case 5:
40673 if (!TileID.Sets.Mud[tile3.type] && tile3.type != 60 && tile3.type != 226)
40674 {
40675 flag = true;
40676 }
40677 break;
40678 case 6:
40679 case 7:
40680 case 8:
40681 if (tile3.type != 57 && tile3.type != 58 && tile3.type != 75 && tile3.type != 76)
40682 {
40683 flag = true;
40684 }
40685 break;
40686 case 29:
40687 case 30:
40688 case 31:
40689 case 32:
40690 case 33:
40691 case 34:
40693 {
40694 flag = true;
40695 }
40696 break;
40697 }
40698 }
40699 else if (!SolidTileAllowBottomSlope(k, num8))
40700 {
40701 flag = true;
40702 }
40703 }
40704 if (type == 187 && Main.tile[num5, num] != null && Main.tile[num5, num].frameX >= 756 && Main.tile[num5, num].frameX <= 900 && Main.tile[num5, num + 2].type != 2 && Main.tile[num5 + 1, num + 2].type != 2 && Main.tile[num5 + 2, num + 2].type != 2 && Main.tile[num5, num + 2].type != 477 && Main.tile[num5 + 1, num + 2].type != 477 && Main.tile[num5 + 2, num + 2].type != 477 && Main.tile[num5, num + 2].type != 492 && Main.tile[num5 + 1, num + 2].type != 492 && Main.tile[num5 + 2, num + 2].type != 492)
40705 {
40706 Main.tile[num5, num].frameX -= 378;
40707 Main.tile[num5 + 1, num].frameX -= 378;
40708 Main.tile[num5 + 2, num].frameX -= 378;
40709 Main.tile[num5, num + 1].frameX -= 378;
40710 Main.tile[num5 + 1, num + 1].frameX -= 378;
40711 Main.tile[num5 + 2, num + 1].frameX -= 378;
40712 Main.tile[num5, num].type = 186;
40713 Main.tile[num5 + 1, num].type = 186;
40714 Main.tile[num5 + 2, num].type = 186;
40715 Main.tile[num5, num + 1].type = 186;
40716 Main.tile[num5 + 1, num + 1].type = 186;
40717 Main.tile[num5 + 2, num + 1].type = 186;
40718 }
40719 if (flag && type == 488 && gen)
40720 {
40721 for (int m = num5; m < num5 + 3; m++)
40722 {
40723 for (int n = num; n < num + 2; n++)
40724 {
40725 Main.tile[m, n].active(active: true);
40726 Main.tile[m, n].type = 488;
40727 Main.tile[m, n].frameX = (short)((m - num5) * 18);
40728 Main.tile[m, n].frameY = (short)((n - num) * 18);
40729 }
40730 Main.tile[m, num + 2].active(active: true);
40731 Main.tile[m, num + 2].type = 2;
40732 Main.tile[m, num + 2].slope(0);
40733 Main.tile[m, num + 2].halfBrick(halfBrick: false);
40734 }
40735 flag = false;
40736 }
40737 if (!flag)
40738 {
40739 return;
40740 }
40741 int frameX = Main.tile[i, j].frameX;
40742 destroyObject = true;
40743 num8 = num + 3;
40744 if (flag2)
40745 {
40746 num8--;
40747 }
40748 for (int num10 = num5; num10 < num5 + 3; num10++)
40749 {
40750 for (int num11 = num; num11 < num + 3; num11++)
40751 {
40752 if (Main.tile[num10, num11] == null)
40753 {
40754 Main.tile[num10, num11] = new Tile();
40755 }
40756 if (Main.tile[num10, num11].type == type && Main.tile[num10, num11].active())
40757 {
40759 }
40760 }
40761 }
40762 if (type == 14)
40763 {
40764 int type2 = ((num6 >= 1 && num6 <= 3) ? (637 + num6) : ((num6 >= 15 && num6 <= 20) ? (1698 + num6) : ((num6 >= 4 && num6 <= 7) ? (823 + num6) : (num6 switch
40765 {
40766 8 => 917,
40767 9 => 1144,
40768 10 => 1397,
40769 11 => 1400,
40770 12 => 1403,
40771 13 => 1460,
40772 14 => 1510,
40773 23 => 1926,
40774 21 => 1794,
40775 22 => 1816,
40776 24 => 2248,
40777 25 => 2259,
40778 26 => 2532,
40779 27 => 2550,
40780 28 => 677,
40781 29 => 2583,
40782 30 => 2743,
40783 31 => 2824,
40784 32 => 3153,
40785 33 => 3155,
40786 34 => 3154,
40787 _ => 32,
40788 }))));
40789 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, type2);
40790 }
40791 switch (type)
40792 {
40793 case 469:
40794 {
40795 int type4 = 3920;
40796 if (num6 == 1)
40797 {
40798 type4 = 3948;
40799 }
40800 if (num6 == 2)
40801 {
40802 type4 = 3974;
40803 }
40804 if (num6 == 3)
40805 {
40806 type4 = 4162;
40807 }
40808 if (num6 == 4)
40809 {
40810 type4 = 4183;
40811 }
40812 if (num6 == 5)
40813 {
40814 type4 = 4204;
40815 }
40816 if (num6 == 6)
40817 {
40818 type4 = 4225;
40819 }
40820 if (num6 == 7)
40821 {
40822 type4 = 4314;
40823 }
40824 if (num6 == 8)
40825 {
40826 type4 = 4583;
40827 }
40828 if (num6 == 9)
40829 {
40830 type4 = 5165;
40831 }
40832 if (num6 == 10)
40833 {
40834 type4 = 5186;
40835 }
40836 if (num6 == 11)
40837 {
40838 type4 = 5207;
40839 }
40840 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, type4);
40841 break;
40842 }
40843 case 114:
40844 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 398);
40845 break;
40846 case 26:
40848 {
40849 SmashAltar(i, j);
40850 }
40851 break;
40852 case 298:
40853 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2190);
40854 break;
40855 case 299:
40856 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2191);
40857 break;
40858 case 361:
40859 case 362:
40860 case 363:
40861 case 364:
40862 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3073 + type - 361);
40863 break;
40864 default:
40865 if (type >= 391 && type <= 394)
40866 {
40867 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 48, 32, 3254 + type - 391);
40868 break;
40869 }
40870 switch (type)
40871 {
40872 case 285:
40873 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2174);
40874 break;
40875 case 286:
40876 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2175);
40877 break;
40878 case 582:
40879 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4850);
40880 break;
40881 case 619:
40882 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4963);
40883 break;
40884 case 310:
40885 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2207);
40886 break;
40887 case 339:
40888 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2741);
40889 break;
40890 case 538:
40891 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4380);
40892 break;
40893 case 544:
40894 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4399);
40895 break;
40896 case 532:
40897 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4364);
40898 break;
40899 case 533:
40900 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4376);
40901 break;
40902 case 555:
40903 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4475);
40904 break;
40905 case 556:
40906 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4476);
40907 break;
40908 case 629:
40909 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5133);
40910 break;
40911 case 217:
40912 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 995);
40913 break;
40914 case 218:
40915 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 996);
40916 break;
40917 case 219:
40918 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 997);
40919 break;
40920 case 642:
40921 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5296);
40922 break;
40923 case 220:
40924 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 998);
40925 break;
40926 case 377:
40927 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3198);
40928 break;
40929 case 228:
40930 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1120);
40931 break;
40932 case 405:
40933 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3364);
40934 break;
40935 case 486:
40936 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4063);
40937 break;
40938 case 488:
40939 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 9, genRand.Next(10, 21));
40940 break;
40941 case 215:
40942 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, GetCampfireItemDrop(num6));
40943 break;
40944 case 244:
40945 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1449);
40946 break;
40947 case 647:
40948 {
40949 int num13 = 0;
40950 if (num6 < 7)
40951 {
40952 num13 = 154;
40953 }
40954 else if (num6 < 13)
40955 {
40956 num13 = 3;
40957 }
40958 else if (num6 < 16)
40959 {
40960 num13 = 3;
40961 }
40962 else if (num6 < 18)
40963 {
40964 num13 = 71;
40965 }
40966 else if (num6 < 20)
40967 {
40968 num13 = 72;
40969 }
40970 else if (num6 < 22)
40971 {
40972 num13 = 73;
40973 }
40974 else if (num6 < 26)
40975 {
40976 num13 = 9;
40977 }
40978 else if (num6 < 32)
40979 {
40980 num13 = 593;
40981 }
40982 else if (num6 < 35)
40983 {
40984 num13 = 183;
40985 }
40986 if (num13 != 0)
40987 {
40988 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num13);
40989 }
40990 break;
40991 }
40992 case 648:
40993 {
40994 num6 += num3 * 35;
40995 int num12 = 0;
40996 if (num6 < 6)
40997 {
40998 num12 = 195;
40999 }
41000 else if (num6 < 9)
41001 {
41002 num12 = 174;
41003 }
41004 else if (num6 < 14)
41005 {
41006 num12 = 150;
41007 }
41008 else if (num6 < 17)
41009 {
41010 num12 = 3;
41011 }
41012 else if (num6 < 18)
41013 {
41014 num12 = 989;
41015 }
41016 else if (num6 < 21)
41017 {
41018 num12 = 1101;
41019 }
41020 else if (num6 < 29)
41021 {
41022 num12 = 9;
41023 }
41024 else if (num6 < 35)
41025 {
41026 num12 = 3271;
41027 }
41028 else if (num6 < 41)
41029 {
41030 num12 = 3086;
41031 }
41032 else if (num6 < 47)
41033 {
41034 num12 = 3081;
41035 }
41036 else if (num6 < 52)
41037 {
41038 num12 = 62;
41039 }
41040 else if (num6 < 55)
41041 {
41042 num12 = 154;
41043 }
41044 if (num12 != 0)
41045 {
41046 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num12);
41047 }
41048 break;
41049 }
41050 case 651:
41051 {
41052 int num14 = 0;
41053 num14 = ((num6 < 3) ? 195 : ((num6 >= 6) ? 331 : 62));
41054 if (num14 != 0)
41055 {
41056 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num14);
41057 }
41058 break;
41059 }
41060 case 17:
41061 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 33);
41062 break;
41063 case 77:
41064 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 221);
41065 break;
41066 case 86:
41067 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 332);
41068 break;
41069 case 237:
41070 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1292);
41071 break;
41072 case 87:
41073 {
41074 int type3;
41075 if (num6 >= 1 && num6 <= 3)
41076 {
41077 type3 = 640 + num6;
41078 }
41079 else
41080 {
41081 switch (num6)
41082 {
41083 case 4:
41084 type3 = 919;
41085 break;
41086 case 5:
41087 case 6:
41088 case 7:
41089 type3 = 2245 + num6 - 5;
41090 break;
41091 default:
41092 type3 = ((num6 >= 8 && num6 <= 10) ? (2254 + num6 - 8) : ((num6 >= 11 && num6 <= 20) ? (2376 + num6 - 11) : (num6 switch
41093 {
41094 21 => 2531,
41095 22 => 2548,
41096 23 => 2565,
41097 24 => 2580,
41098 25 => 2671,
41099 26 => 2821,
41100 27 => 3141,
41101 28 => 3143,
41102 29 => 3142,
41103 30 => 3915,
41104 31 => 3916,
41105 32 => 3944,
41106 33 => 3971,
41107 34 => 4158,
41108 35 => 4179,
41109 36 => 4200,
41110 37 => 4221,
41111 38 => 4310,
41112 39 => 4579,
41113 40 => 5161,
41114 41 => 5182,
41115 42 => 5203,
41116 _ => 333,
41117 })));
41118 break;
41119 }
41120 }
41121 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, type3);
41122 break;
41123 }
41124 case 88:
41125 {
41127 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, dresserItemDrop);
41128 break;
41129 }
41130 case 89:
41131 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, GetItemDrop_Benches(num6));
41132 break;
41133 case 133:
41134 if (frameX >= 54)
41135 {
41136 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1221);
41137 }
41138 else
41139 {
41140 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 524);
41141 }
41142 break;
41143 case 186:
41144 if (frameX < 864)
41145 {
41146 break;
41147 }
41148 if (frameX <= 954)
41149 {
41150 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
41151 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
41152 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
41153 if (genRand.Next(3) != 0)
41154 {
41155 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
41156 }
41157 if (genRand.Next(3) != 0)
41158 {
41159 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
41160 }
41161 if (genRand.Next(3) != 0)
41162 {
41163 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
41164 }
41165 if (genRand.Next(2) == 0)
41166 {
41167 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
41168 }
41169 if (genRand.Next(2) == 0)
41170 {
41171 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
41172 }
41173 if (genRand.Next(2) == 0)
41174 {
41175 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
41176 }
41177 if (genRand.Next(3) == 0)
41178 {
41179 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
41180 }
41181 if (genRand.Next(3) == 0)
41182 {
41183 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
41184 }
41185 if (genRand.Next(3) == 0)
41186 {
41187 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
41188 }
41189 if (genRand.Next(4) == 0)
41190 {
41191 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
41192 }
41193 if (genRand.Next(4) == 0)
41194 {
41195 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
41196 }
41197 if (genRand.Next(4) == 0)
41198 {
41199 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
41200 }
41201 if (genRand.Next(5) == 0)
41202 {
41203 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
41204 }
41205 if (genRand.Next(5) == 0)
41206 {
41207 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
41208 }
41209 if (genRand.Next(5) == 0)
41210 {
41211 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
41212 }
41213 }
41214 else if (frameX <= 1062)
41215 {
41216 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(10, 100));
41217 if (genRand.Next(2) == 0)
41218 {
41219 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(20, 100));
41220 }
41221 if (genRand.Next(3) == 0)
41222 {
41223 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(30, 100));
41224 }
41225 if (genRand.Next(4) == 0)
41226 {
41227 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(40, 100));
41228 }
41229 if (genRand.Next(5) == 0)
41230 {
41231 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(50, 100));
41232 }
41233 }
41234 else if (frameX <= 1170)
41235 {
41236 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(1, 7));
41237 if (genRand.Next(2) == 0)
41238 {
41239 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(2, 7));
41240 }
41241 if (genRand.Next(3) == 0)
41242 {
41243 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(3, 7));
41244 }
41245 if (genRand.Next(4) == 0)
41246 {
41247 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(4, 7));
41248 }
41249 if (genRand.Next(5) == 0)
41250 {
41251 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(5, 7));
41252 }
41253 }
41254 break;
41255 case 187:
41256 if (frameX >= 918 && frameX <= 970)
41257 {
41258 if (Main.rand.Next(50) == 0)
41259 {
41260 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4144);
41261 }
41262 else
41263 {
41264 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 989);
41265 }
41266 }
41267 break;
41268 }
41269 break;
41270 }
41271 destroyObject = false;
41272 for (int num15 = num5 - 1; num15 < num5 + 4; num15++)
41273 {
41274 for (int num16 = num - 1; num16 < num + 4; num16++)
41275 {
41277 }
41278 }
41279 if (type == 488)
41280 {
41281 mysticLogsEvent.FallenLogDestroyed();
41282 }
41283 }
static bool[] Mud
Definition TileID.cs:199
static bool[] Boulders
Definition TileID.cs:123
static bool[] Snow
Definition TileID.cs:203
static bool[] Platforms
Definition TileID.cs:163
static bool destroyObject
Definition WorldGen.cs:1020
static void SmashAltar(int i, int j)
static volatile bool gen
Definition WorldGen.cs:972
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static UnifiedRandom genRand
Definition WorldGen.cs:1215
static int GetItemDrop_Benches(int style)
static MysticLogFairiesEvent mysticLogsEvent
Definition WorldGen.cs:1100
static int GetDresserItemDrop(int style)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
static bool noTileActions
Definition WorldGen.cs:966
static int GetCampfireItemDrop(int style)
static bool SolidTileAllowBottomSlope(int i, int j)
static IEntitySource GetItemSource_FromTileBreak(int x, int y)
static bool IsGeneratingHardMode
Definition WorldGen.cs:964

References Terraria.Tile.active(), Terraria.ID.TileID.Sets.Boulders, Terraria.ID.TileID.Sets.Conversion.HardenedSand, Terraria.ID.TileID.Sets.Conversion.Ice, Terraria.ID.TileID.Sets.Mud, Terraria.Item.NewItem(), Terraria.ID.TileID.Sets.Platforms, Terraria.Main.rand, Terraria.ID.TileID.Sets.Conversion.Sand, Terraria.ID.TileID.Sets.Conversion.Sandstone, Terraria.ID.TileID.Sets.Snow, Terraria.DataStructures.Tile, Terraria.Main.tile, Terraria.Main.tileSolidTop, System.type, and Terraria.Tile.type.