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

◆ Check3x2()

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

Definition at line 42576 of file WorldGen.cs.

42577 {
42578 if (destroyObject)
42579 {
42580 return;
42581 }
42582 bool flag = false;
42583 bool flag2 = false;
42584 int num = j;
42585 Tile tile5;
42586 if (Main.tile[i, j] == null)
42587 {
42588 tile5 = (Main.tile[i, j] = default(Tile));
42589 }
42590 int num9 = 36;
42591 tile5 = Main.tile[i, j];
42592 int num10 = tile5.frameY / num9;
42593 tile5 = Main.tile[i, j];
42594 int num11 = tile5.frameY % num9;
42595 num -= num11 / 18;
42596 tile5 = Main.tile[i, j];
42597 int num12 = tile5.frameX / 18;
42598 int num13 = 0;
42599 while (num12 > 2)
42600 {
42601 num12 -= 3;
42602 num13++;
42603 }
42604 num12 = i - num12;
42605 int num14 = num13 * 54;
42606 if (type == 14 && num13 == 25)
42607 {
42608 flag2 = true;
42609 }
42610 int num15 = num + 2;
42611 if (flag2)
42612 {
42613 num15--;
42614 }
42615 for (int k = num12; k < num12 + 3; k++)
42616 {
42617 for (int l = num; l < num15; l++)
42618 {
42619 if (Main.tile[k, l] == null)
42620 {
42621 tile5 = (Main.tile[k, l] = default(Tile));
42622 }
42623 tile5 = Main.tile[k, l];
42624 if (tile5.active())
42625 {
42626 tile5 = Main.tile[k, l];
42627 if (tile5.type == type)
42628 {
42629 tile5 = Main.tile[k, l];
42630 if (tile5.frameX == (k - num12) * 18 + num14)
42631 {
42632 tile5 = Main.tile[k, l];
42633 if (tile5.frameY == (l - num) * 18 + num10 * 36)
42634 {
42635 continue;
42636 }
42637 }
42638 }
42639 }
42640 flag = true;
42641 }
42642 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)
42643 {
42645 {
42646 if (!(Main.tile[k, num15] == null))
42647 {
42648 tile5 = Main.tile[k, num15];
42649 if (tile5.nactive())
42650 {
42651 bool[] tileSolidTop = Main.tileSolidTop;
42652 tile5 = Main.tile[k, num15];
42653 if (tileSolidTop[tile5.type])
42654 {
42655 tile5 = Main.tile[k, num15];
42656 if (tile5.frameY == 0)
42657 {
42658 goto IL_0490;
42659 }
42660 }
42661 }
42662 }
42663 if (!(Main.tile[k, num15] == null))
42664 {
42665 tile5 = Main.tile[k, num15];
42666 if (tile5.active())
42667 {
42668 bool[] platforms = TileID.Sets.Platforms;
42669 tile5 = Main.tile[k, num15];
42670 if (platforms[tile5.type])
42671 {
42672 goto IL_0490;
42673 }
42674 }
42675 }
42676 flag = true;
42677 }
42678 }
42679 else
42680 {
42681 switch (type)
42682 {
42683 case 488:
42684 {
42685 int num16 = 0;
42686 if (Main.tile[k, num15] != null)
42687 {
42688 tile5 = Main.tile[k, num15];
42689 if (tile5.active())
42690 {
42691 tile5 = Main.tile[k, num15];
42692 num16 = tile5.type;
42693 }
42694 }
42695 if (num16 != 2 && num16 != 477 && num16 != 109 && num16 != 492)
42696 {
42697 flag = true;
42698 }
42699 break;
42700 }
42701 case 26:
42702 {
42703 Tile tile2 = Main.tile[k, num15];
42704 if (!SolidTileAllowBottomSlope(k, num15) || (tile2 != null && tile2.active() && TileID.Sets.Boulders[tile2.type]))
42705 {
42706 flag = true;
42707 }
42708 break;
42709 }
42710 case 186:
42711 {
42713 {
42714 flag = true;
42715 break;
42716 }
42717 Tile tile = Main.tile[k, num15];
42718 if (tile == null || !tile.active())
42719 {
42720 break;
42721 }
42722 switch (num13)
42723 {
42724 case 26:
42725 case 27:
42726 case 28:
42727 case 29:
42728 case 30:
42729 case 31:
42730 if (!TileID.Sets.Snow[tile.type] && !TileID.Sets.Conversion.Ice[tile.type] && tile.type != 162 && tile.type != 224)
42731 {
42732 flag = true;
42733 }
42734 break;
42735 case 32:
42736 case 33:
42737 case 34:
42738 if (!TileID.Sets.Mud[tile.type] && tile.type != 70)
42739 {
42740 flag = true;
42741 }
42742 break;
42743 }
42744 break;
42745 }
42746 }
42747 }
42748 goto IL_0490;
42749 IL_0490:
42750 if (type == 187)
42751 {
42753 {
42754 flag = true;
42755 }
42756 else
42757 {
42758 Tile tile3 = Main.tile[k, num15];
42759 if (!(tile3 == null) && tile3.active())
42760 {
42761 switch (num13)
42762 {
42763 case 0:
42764 case 1:
42765 case 2:
42766 case 3:
42767 case 4:
42768 case 5:
42769 if (!TileID.Sets.Mud[tile3.type] && tile3.type != 60 && tile3.type != 226)
42770 {
42771 flag = true;
42772 }
42773 break;
42774 case 6:
42775 case 7:
42776 case 8:
42777 if (tile3.type != 57 && tile3.type != 58 && tile3.type != 75 && tile3.type != 76)
42778 {
42779 flag = true;
42780 }
42781 break;
42782 case 29:
42783 case 30:
42784 case 31:
42785 case 32:
42786 case 33:
42787 case 34:
42789 {
42790 flag = true;
42791 }
42792 break;
42793 }
42794 }
42795 }
42796 }
42797 else if (!SolidTileAllowBottomSlope(k, num15))
42798 {
42799 flag = true;
42800 }
42801 }
42802 if (type == 187 && Main.tile[num12, num] != null)
42803 {
42804 tile5 = Main.tile[num12, num];
42805 if (tile5.frameX >= 756)
42806 {
42807 tile5 = Main.tile[num12, num];
42808 if (tile5.frameX <= 900)
42809 {
42810 tile5 = Main.tile[num12, num + 2];
42811 if (tile5.type != 2)
42812 {
42813 tile5 = Main.tile[num12 + 1, num + 2];
42814 if (tile5.type != 2)
42815 {
42816 tile5 = Main.tile[num12 + 2, num + 2];
42817 if (tile5.type != 2)
42818 {
42819 tile5 = Main.tile[num12, num + 2];
42820 if (tile5.type != 477)
42821 {
42822 tile5 = Main.tile[num12 + 1, num + 2];
42823 if (tile5.type != 477)
42824 {
42825 tile5 = Main.tile[num12 + 2, num + 2];
42826 if (tile5.type != 477)
42827 {
42828 tile5 = Main.tile[num12, num + 2];
42829 if (tile5.type != 492)
42830 {
42831 tile5 = Main.tile[num12 + 1, num + 2];
42832 if (tile5.type != 492)
42833 {
42834 tile5 = Main.tile[num12 + 2, num + 2];
42835 if (tile5.type != 492)
42836 {
42837 tile5 = Main.tile[num12, num];
42838 tile5.frameX -= 378;
42839 tile5 = Main.tile[num12 + 1, num];
42840 tile5.frameX -= 378;
42841 tile5 = Main.tile[num12 + 2, num];
42842 tile5.frameX -= 378;
42843 tile5 = Main.tile[num12, num + 1];
42844 tile5.frameX -= 378;
42845 tile5 = Main.tile[num12 + 1, num + 1];
42846 tile5.frameX -= 378;
42847 tile5 = Main.tile[num12 + 2, num + 1];
42848 tile5.frameX -= 378;
42849 tile5 = Main.tile[num12, num];
42850 tile5.type = 186;
42851 tile5 = Main.tile[num12 + 1, num];
42852 tile5.type = 186;
42853 tile5 = Main.tile[num12 + 2, num];
42854 tile5.type = 186;
42855 tile5 = Main.tile[num12, num + 1];
42856 tile5.type = 186;
42857 tile5 = Main.tile[num12 + 1, num + 1];
42858 tile5.type = 186;
42859 tile5 = Main.tile[num12 + 2, num + 1];
42860 tile5.type = 186;
42861 }
42862 }
42863 }
42864 }
42865 }
42866 }
42867 }
42868 }
42869 }
42870 }
42871 }
42872 }
42873 if (flag && type == 488 && gen)
42874 {
42875 for (int m = num12; m < num12 + 3; m++)
42876 {
42877 for (int n = num; n < num + 2; n++)
42878 {
42879 tile5 = Main.tile[m, n];
42880 tile5.active(active: true);
42881 tile5 = Main.tile[m, n];
42882 tile5.type = 488;
42883 tile5 = Main.tile[m, n];
42884 tile5.frameX = (short)((m - num12) * 18);
42885 tile5 = Main.tile[m, n];
42886 tile5.frameY = (short)((n - num) * 18);
42887 }
42888 tile5 = Main.tile[m, num + 2];
42889 tile5.active(active: true);
42890 tile5 = Main.tile[m, num + 2];
42891 tile5.type = 2;
42892 tile5 = Main.tile[m, num + 2];
42893 tile5.slope(0);
42894 tile5 = Main.tile[m, num + 2];
42895 tile5.halfBrick(halfBrick: false);
42896 }
42897 flag = false;
42898 }
42899 if (!flag)
42900 {
42901 return;
42902 }
42903 tile5 = Main.tile[i, j];
42904 int frameX = tile5.frameX;
42905 destroyObject = true;
42906 num15 = num + 3;
42907 if (flag2)
42908 {
42909 num15--;
42910 }
42911 bool drop = TileLoader.Drop(i, j, type);
42912 for (int num2 = num12; num2 < num12 + 3; num2++)
42913 {
42914 for (int num3 = num; num3 < num + 3; num3++)
42915 {
42916 if (Main.tile[num2, num3] == null)
42917 {
42918 tile5 = (Main.tile[num2, num3] = default(Tile));
42919 }
42920 tile5 = Main.tile[num2, num3];
42921 if (tile5.type == type)
42922 {
42923 tile5 = Main.tile[num2, num3];
42924 if (tile5.active())
42925 {
42926 KillTile(num2, num3);
42927 }
42928 }
42929 }
42930 }
42931 using (new Item.DisableNewItemMethod(!drop))
42932 {
42933 if (type == 14)
42934 {
42935 int type2 = ((num13 >= 1 && num13 <= 3) ? (637 + num13) : ((num13 >= 15 && num13 <= 20) ? (1698 + num13) : ((num13 >= 4 && num13 <= 7) ? (823 + num13) : (num13 switch
42936 {
42937 8 => 917,
42938 9 => 1144,
42939 10 => 1397,
42940 11 => 1400,
42941 12 => 1403,
42942 13 => 1460,
42943 14 => 1510,
42944 23 => 1926,
42945 21 => 1794,
42946 22 => 1816,
42947 24 => 2248,
42948 25 => 2259,
42949 26 => 2532,
42950 27 => 2550,
42951 28 => 677,
42952 29 => 2583,
42953 30 => 2743,
42954 31 => 2824,
42955 32 => 3153,
42956 33 => 3155,
42957 34 => 3154,
42958 _ => 32,
42959 }))));
42960 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, type2);
42961 }
42962 switch (type)
42963 {
42964 case 469:
42965 {
42966 int type4 = 3920;
42967 if (num13 == 1)
42968 {
42969 type4 = 3948;
42970 }
42971 if (num13 == 2)
42972 {
42973 type4 = 3974;
42974 }
42975 if (num13 == 3)
42976 {
42977 type4 = 4162;
42978 }
42979 if (num13 == 4)
42980 {
42981 type4 = 4183;
42982 }
42983 if (num13 == 5)
42984 {
42985 type4 = 4204;
42986 }
42987 if (num13 == 6)
42988 {
42989 type4 = 4225;
42990 }
42991 if (num13 == 7)
42992 {
42993 type4 = 4314;
42994 }
42995 if (num13 == 8)
42996 {
42997 type4 = 4583;
42998 }
42999 if (num13 == 9)
43000 {
43001 type4 = 5165;
43002 }
43003 if (num13 == 10)
43004 {
43005 type4 = 5186;
43006 }
43007 if (num13 == 11)
43008 {
43009 type4 = 5207;
43010 }
43011 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, type4);
43012 break;
43013 }
43014 case 114:
43015 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 398);
43016 break;
43017 case 26:
43019 {
43020 SmashAltar(i, j);
43021 }
43022 break;
43023 case 298:
43024 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2190);
43025 break;
43026 case 299:
43027 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2191);
43028 break;
43029 case 361:
43030 case 362:
43031 case 363:
43032 case 364:
43033 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3073 + type - 361);
43034 break;
43035 default:
43036 if (type >= 391 && type <= 394)
43037 {
43038 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 48, 32, 3254 + type - 391);
43039 break;
43040 }
43041 switch (type)
43042 {
43043 case 285:
43044 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2174);
43045 break;
43046 case 286:
43047 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2175);
43048 break;
43049 case 582:
43050 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4850);
43051 break;
43052 case 619:
43053 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4963);
43054 break;
43055 case 310:
43056 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2207);
43057 break;
43058 case 339:
43059 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 2741);
43060 break;
43061 case 538:
43062 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4380);
43063 break;
43064 case 544:
43065 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4399);
43066 break;
43067 case 532:
43068 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4364);
43069 break;
43070 case 533:
43071 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4376);
43072 break;
43073 case 555:
43074 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4475);
43075 break;
43076 case 556:
43077 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4476);
43078 break;
43079 case 629:
43080 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5133);
43081 break;
43082 case 217:
43083 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 995);
43084 break;
43085 case 218:
43086 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 996);
43087 break;
43088 case 219:
43089 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 997);
43090 break;
43091 case 642:
43092 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 5296);
43093 break;
43094 case 220:
43095 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 998);
43096 break;
43097 case 377:
43098 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3198);
43099 break;
43100 case 228:
43101 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1120);
43102 break;
43103 case 405:
43104 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 3364);
43105 break;
43106 case 486:
43107 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4063);
43108 break;
43109 case 488:
43110 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 9, genRand.Next(10, 21));
43111 break;
43112 case 215:
43113 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, GetCampfireItemDrop(num13));
43114 break;
43115 case 244:
43116 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1449);
43117 break;
43118 case 647:
43119 {
43120 int num5 = 0;
43121 if (num13 < 7)
43122 {
43123 num5 = 154;
43124 }
43125 else if (num13 < 13)
43126 {
43127 num5 = 3;
43128 }
43129 else if (num13 < 16)
43130 {
43131 num5 = 3;
43132 }
43133 else if (num13 < 18)
43134 {
43135 num5 = 71;
43136 }
43137 else if (num13 < 20)
43138 {
43139 num5 = 72;
43140 }
43141 else if (num13 < 22)
43142 {
43143 num5 = 73;
43144 }
43145 else if (num13 < 26)
43146 {
43147 num5 = 9;
43148 }
43149 else if (num13 < 32)
43150 {
43151 num5 = 593;
43152 }
43153 else if (num13 < 35)
43154 {
43155 num5 = 183;
43156 }
43157 if (num5 != 0)
43158 {
43159 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num5);
43160 }
43161 break;
43162 }
43163 case 648:
43164 {
43165 num13 += num10 * 35;
43166 int num4 = 0;
43167 if (num13 < 6)
43168 {
43169 num4 = 195;
43170 }
43171 else if (num13 < 9)
43172 {
43173 num4 = 174;
43174 }
43175 else if (num13 < 14)
43176 {
43177 num4 = 150;
43178 }
43179 else if (num13 < 17)
43180 {
43181 num4 = 3;
43182 }
43183 else if (num13 < 18)
43184 {
43185 num4 = 989;
43186 }
43187 else if (num13 < 21)
43188 {
43189 num4 = 1101;
43190 }
43191 else if (num13 < 29)
43192 {
43193 num4 = 9;
43194 }
43195 else if (num13 < 35)
43196 {
43197 num4 = 3271;
43198 }
43199 else if (num13 < 41)
43200 {
43201 num4 = 3086;
43202 }
43203 else if (num13 < 47)
43204 {
43205 num4 = 3081;
43206 }
43207 else if (num13 < 52)
43208 {
43209 num4 = 62;
43210 }
43211 else if (num13 < 55)
43212 {
43213 num4 = 154;
43214 }
43215 if (num4 != 0)
43216 {
43217 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num4);
43218 }
43219 break;
43220 }
43221 case 651:
43222 {
43223 int num6 = 0;
43224 num6 = ((num13 < 3) ? 195 : ((num13 >= 6) ? 331 : 62));
43225 if (num6 != 0)
43226 {
43227 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, num6);
43228 }
43229 break;
43230 }
43231 case 17:
43232 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 33);
43233 break;
43234 case 77:
43235 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 221);
43236 break;
43237 case 86:
43238 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 332);
43239 break;
43240 case 237:
43241 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1292);
43242 break;
43243 case 87:
43244 {
43245 int type3;
43246 if (num13 >= 1 && num13 <= 3)
43247 {
43248 type3 = 640 + num13;
43249 }
43250 else
43251 {
43252 switch (num13)
43253 {
43254 case 4:
43255 type3 = 919;
43256 break;
43257 case 5:
43258 case 6:
43259 case 7:
43260 type3 = 2245 + num13 - 5;
43261 break;
43262 case 8:
43263 case 9:
43264 case 10:
43265 type3 = 2254 + num13 - 8;
43266 break;
43267 default:
43268 type3 = ((num13 >= 11 && num13 <= 20) ? (2376 + num13 - 11) : (num13 switch
43269 {
43270 21 => 2531,
43271 22 => 2548,
43272 23 => 2565,
43273 24 => 2580,
43274 25 => 2671,
43275 26 => 2821,
43276 27 => 3141,
43277 28 => 3143,
43278 29 => 3142,
43279 30 => 3915,
43280 31 => 3916,
43281 32 => 3944,
43282 33 => 3971,
43283 34 => 4158,
43284 35 => 4179,
43285 36 => 4200,
43286 37 => 4221,
43287 38 => 4310,
43288 39 => 4579,
43289 40 => 5161,
43290 41 => 5182,
43291 42 => 5203,
43292 _ => 333,
43293 }));
43294 break;
43295 }
43296 }
43297 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, type3);
43298 break;
43299 }
43300 case 88:
43301 {
43303 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, dresserItemDrop);
43304 break;
43305 }
43306 case 89:
43307 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, GetItemDrop_Benches(num13));
43308 break;
43309 case 133:
43310 if (frameX >= 54)
43311 {
43312 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 1221);
43313 }
43314 else
43315 {
43316 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 524);
43317 }
43318 break;
43319 case 186:
43320 if (frameX < 864)
43321 {
43322 break;
43323 }
43324 if (frameX <= 954)
43325 {
43326 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
43327 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
43328 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
43329 if (genRand.Next(3) != 0)
43330 {
43331 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
43332 }
43333 if (genRand.Next(3) != 0)
43334 {
43335 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
43336 }
43337 if (genRand.Next(3) != 0)
43338 {
43339 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
43340 }
43341 if (genRand.Next(2) == 0)
43342 {
43343 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
43344 }
43345 if (genRand.Next(2) == 0)
43346 {
43347 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
43348 }
43349 if (genRand.Next(2) == 0)
43350 {
43351 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
43352 }
43353 if (genRand.Next(3) == 0)
43354 {
43355 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
43356 }
43357 if (genRand.Next(3) == 0)
43358 {
43359 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
43360 }
43361 if (genRand.Next(3) == 0)
43362 {
43363 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
43364 }
43365 if (genRand.Next(4) == 0)
43366 {
43367 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
43368 }
43369 if (genRand.Next(4) == 0)
43370 {
43371 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
43372 }
43373 if (genRand.Next(4) == 0)
43374 {
43375 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
43376 }
43377 if (genRand.Next(5) == 0)
43378 {
43379 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(20, 100));
43380 }
43381 if (genRand.Next(5) == 0)
43382 {
43383 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(30, 100));
43384 }
43385 if (genRand.Next(5) == 0)
43386 {
43387 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 71, genRand.Next(40, 100));
43388 }
43389 }
43390 else if (frameX <= 1062)
43391 {
43392 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(10, 100));
43393 if (genRand.Next(2) == 0)
43394 {
43395 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(20, 100));
43396 }
43397 if (genRand.Next(3) == 0)
43398 {
43399 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(30, 100));
43400 }
43401 if (genRand.Next(4) == 0)
43402 {
43403 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(40, 100));
43404 }
43405 if (genRand.Next(5) == 0)
43406 {
43407 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 72, genRand.Next(50, 100));
43408 }
43409 }
43410 else if (frameX <= 1170)
43411 {
43412 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(1, 7));
43413 if (genRand.Next(2) == 0)
43414 {
43415 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(2, 7));
43416 }
43417 if (genRand.Next(3) == 0)
43418 {
43419 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(3, 7));
43420 }
43421 if (genRand.Next(4) == 0)
43422 {
43423 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(4, 7));
43424 }
43425 if (genRand.Next(5) == 0)
43426 {
43427 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 73, genRand.Next(5, 7));
43428 }
43429 }
43430 break;
43431 case 187:
43432 if (frameX >= 918 && frameX <= 970)
43433 {
43434 if (Main.rand.Next(50) == 0)
43435 {
43436 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 4144);
43437 }
43438 else
43439 {
43440 Item.NewItem(GetItemSource_FromTileBreak(i, j), i * 16, j * 16, 32, 32, 989);
43441 }
43442 }
43443 break;
43444 }
43445 break;
43446 }
43447 destroyObject = false;
43448 for (int num7 = num12 - 1; num7 < num12 + 4; num7++)
43449 {
43450 for (int num8 = num - 1; num8 < num + 4; num8++)
43451 {
43453 }
43454 }
43455 if (type == 488)
43456 {
43457 mysticLogsEvent.FallenLogDestroyed();
43458 }
43459 }
43460 }
static bool[] Mud
Definition TileID.cs:266
static bool[] Boulders
Definition TileID.cs:171
static bool[] Snow
Definition TileID.cs:270
static bool[] Platforms
Definition TileID.cs:219
static bool Drop(int i, int j, int type, bool includeLargeObjectDrops=true)
This serves as the central class from which tile-related functions are supported and carried out.
Definition TileLoader.cs:23
static bool destroyObject
Definition WorldGen.cs:1258
static void SmashAltar(int i, int j)
static volatile bool gen
Definition WorldGen.cs:1210
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static UnifiedRandom genRand
Definition WorldGen.cs:1455
static int GetItemDrop_Benches(int style)
static MysticLogFairiesEvent mysticLogsEvent
Definition WorldGen.cs:1338
static int GetDresserItemDrop(int style)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
static bool noTileActions
Definition WorldGen.cs:1204
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:1202

References Terraria.Tile.active(), Terraria.ID.TileID.Sets.Boulders, Terraria.ModLoader.TileLoader.Drop(), Terraria.GameContent.Events.MysticLogFairiesEvent.FallenLogDestroyed(), 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.Main.tile, Terraria.Main.tileSolidTop, and Terraria.Tile.type.

+ Here is the call graph for this function: