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

◆ FishingCheck_RollItemDrop()

void Terraria.Projectile.FishingCheck_RollItemDrop ( ref FishingAttempt fisher)
inlineprivate

Definition at line 19758 of file Projectile.cs.

19759 {
19760 bool flag = Main.player[owner].ZoneCorrupt;
19761 bool flag2 = Main.player[owner].ZoneCrimson;
19762 bool flag3 = Main.player[owner].ZoneJungle;
19763 bool flag4 = Main.player[owner].ZoneSnow;
19764 bool flag5 = Main.player[owner].ZoneDungeon;
19765 if (!NPC.downedBoss3)
19766 {
19767 flag5 = false;
19768 }
19769 if (Main.notTheBeesWorld && !Main.remixWorld && Main.rand.Next(2) == 0)
19770 {
19771 flag3 = false;
19772 }
19773 if (Main.remixWorld && fisher.heightLevel == 0)
19774 {
19775 flag = false;
19776 flag2 = false;
19777 }
19778 else if (flag && flag2)
19779 {
19780 if (Main.rand.Next(2) == 0)
19781 {
19782 flag2 = false;
19783 }
19784 else
19785 {
19786 flag = false;
19787 }
19788 }
19789 if (fisher.rolledEnemySpawn > 0)
19790 {
19791 return;
19792 }
19793 if (fisher.inLava)
19794 {
19795 if (fisher.CanFishInLava)
19796 {
19797 if (fisher.crate && Main.rand.Next(6) == 0)
19798 {
19799 fisher.rolledItemDrop = (Main.hardMode ? 4878 : 4877);
19800 }
19801 else if (fisher.legendary && Main.hardMode && Main.rand.Next(3) == 0)
19802 {
19803 fisher.rolledItemDrop = Main.rand.NextFromList(new short[4] { 4819, 4820, 4872, 2331 });
19804 }
19805 else if (fisher.legendary && !Main.hardMode && Main.rand.Next(3) == 0)
19806 {
19807 fisher.rolledItemDrop = Main.rand.NextFromList(new short[3] { 4819, 4820, 4872 });
19808 }
19809 else if (fisher.veryrare)
19810 {
19811 fisher.rolledItemDrop = 2312;
19812 }
19813 else if (fisher.rare)
19814 {
19815 fisher.rolledItemDrop = 2315;
19816 }
19817 }
19818 return;
19819 }
19820 if (fisher.inHoney)
19821 {
19822 if (fisher.rare || (fisher.uncommon && Main.rand.Next(2) == 0))
19823 {
19824 fisher.rolledItemDrop = 2314;
19825 }
19826 else if (fisher.uncommon && fisher.questFish == 2451)
19827 {
19828 fisher.rolledItemDrop = 2451;
19829 }
19830 return;
19831 }
19832 if (Main.rand.Next(50) > fisher.fishingLevel && Main.rand.Next(50) > fisher.fishingLevel && fisher.waterTilesCount < fisher.waterNeededToFish)
19833 {
19834 fisher.rolledItemDrop = Main.rand.Next(2337, 2340);
19835 if (Main.rand.Next(8) == 0)
19836 {
19837 fisher.rolledItemDrop = 5275;
19838 }
19839 return;
19840 }
19841 if (fisher.crate)
19842 {
19843 bool hardMode = Main.hardMode;
19844 if (fisher.rare && flag5)
19845 {
19846 fisher.rolledItemDrop = (hardMode ? 3984 : 3205);
19847 }
19848 else if (fisher.rare && (Main.player[owner].ZoneBeach || (Main.remixWorld && fisher.heightLevel == 1 && (double)fisher.Y >= Main.rockLayer && Main.rand.Next(2) == 0)))
19849 {
19850 fisher.rolledItemDrop = (hardMode ? 5003 : 5002);
19851 }
19852 else if (fisher.rare && flag)
19853 {
19854 fisher.rolledItemDrop = (hardMode ? 3982 : 3203);
19855 }
19856 else if (fisher.rare && flag2)
19857 {
19858 fisher.rolledItemDrop = (hardMode ? 3983 : 3204);
19859 }
19860 else if (fisher.rare && Main.player[owner].ZoneHallow)
19861 {
19862 fisher.rolledItemDrop = (hardMode ? 3986 : 3207);
19863 }
19864 else if (fisher.rare && flag3)
19865 {
19866 fisher.rolledItemDrop = (hardMode ? 3987 : 3208);
19867 }
19868 else if (fisher.rare && Main.player[owner].ZoneSnow)
19869 {
19870 fisher.rolledItemDrop = (hardMode ? 4406 : 4405);
19871 }
19872 else if (fisher.rare && Main.player[owner].ZoneDesert)
19873 {
19874 fisher.rolledItemDrop = (hardMode ? 4408 : 4407);
19875 }
19876 else if (fisher.rare && fisher.heightLevel == 0)
19877 {
19878 fisher.rolledItemDrop = (hardMode ? 3985 : 3206);
19879 }
19880 else if (fisher.veryrare || fisher.legendary)
19881 {
19882 fisher.rolledItemDrop = (hardMode ? 3981 : 2336);
19883 }
19884 else if (fisher.uncommon)
19885 {
19886 fisher.rolledItemDrop = (hardMode ? 3980 : 2335);
19887 }
19888 else
19889 {
19890 fisher.rolledItemDrop = (hardMode ? 3979 : 2334);
19891 }
19892 return;
19893 }
19894 if (!NPC.combatBookWasUsed && Main.bloodMoon && fisher.legendary && Main.rand.Next(3) == 0)
19895 {
19896 fisher.rolledItemDrop = 4382;
19897 return;
19898 }
19899 if (Main.bloodMoon && fisher.legendary && Main.rand.Next(2) == 0)
19900 {
19901 fisher.rolledItemDrop = 5240;
19902 return;
19903 }
19904 if (fisher.legendary && Main.rand.Next(5) == 0)
19905 {
19906 fisher.rolledItemDrop = 2423;
19907 return;
19908 }
19909 if (fisher.legendary && Main.rand.Next(5) == 0)
19910 {
19911 fisher.rolledItemDrop = 3225;
19912 return;
19913 }
19914 if (fisher.legendary && Main.rand.Next(10) == 0)
19915 {
19916 fisher.rolledItemDrop = 2420;
19917 return;
19918 }
19919 if (!fisher.legendary && !fisher.veryrare && fisher.uncommon && Main.rand.Next(5) == 0)
19920 {
19921 fisher.rolledItemDrop = 3196;
19922 return;
19923 }
19924 bool flag6 = Main.player[owner].ZoneDesert;
19925 if (flag5)
19926 {
19927 flag6 = false;
19928 if (fisher.rolledItemDrop == 0 && fisher.veryrare && Main.rand.Next(7) == 0)
19929 {
19930 fisher.rolledItemDrop = 3000;
19931 }
19932 }
19933 else
19934 {
19935 if (flag)
19936 {
19937 if (fisher.legendary && Main.hardMode && Main.player[owner].ZoneSnow && fisher.heightLevel == 3 && Main.rand.Next(3) != 0)
19938 {
19939 fisher.rolledItemDrop = 2429;
19940 }
19941 else if (fisher.legendary && Main.hardMode && Main.rand.Next(2) == 0)
19942 {
19943 fisher.rolledItemDrop = 3210;
19944 }
19945 else if (fisher.rare)
19946 {
19947 fisher.rolledItemDrop = 2330;
19948 }
19949 else if (fisher.uncommon && fisher.questFish == 2454)
19950 {
19951 fisher.rolledItemDrop = 2454;
19952 }
19953 else if (fisher.uncommon && fisher.questFish == 2485)
19954 {
19955 fisher.rolledItemDrop = 2485;
19956 }
19957 else if (fisher.uncommon && fisher.questFish == 2457)
19958 {
19959 fisher.rolledItemDrop = 2457;
19960 }
19961 else if (fisher.uncommon)
19962 {
19963 fisher.rolledItemDrop = 2318;
19964 }
19965 }
19966 else if (flag2)
19967 {
19968 if (fisher.legendary && Main.hardMode && Main.player[owner].ZoneSnow && fisher.heightLevel == 3 && Main.rand.Next(3) != 0)
19969 {
19970 fisher.rolledItemDrop = 2429;
19971 }
19972 else if (fisher.legendary && Main.hardMode && Main.rand.Next(2) == 0)
19973 {
19974 fisher.rolledItemDrop = 3211;
19975 }
19976 else if (fisher.uncommon && fisher.questFish == 2477)
19977 {
19978 fisher.rolledItemDrop = 2477;
19979 }
19980 else if (fisher.uncommon && fisher.questFish == 2463)
19981 {
19982 fisher.rolledItemDrop = 2463;
19983 }
19984 else if (fisher.uncommon)
19985 {
19986 fisher.rolledItemDrop = 2319;
19987 }
19988 else if (fisher.common)
19989 {
19990 fisher.rolledItemDrop = 2305;
19991 }
19992 }
19993 else if (Main.player[owner].ZoneHallow)
19994 {
19995 if (flag6 && Main.rand.Next(2) == 0)
19996 {
19997 if (fisher.uncommon && fisher.questFish == 4393)
19998 {
19999 fisher.rolledItemDrop = 4393;
20000 }
20001 else if (fisher.uncommon && fisher.questFish == 4394)
20002 {
20003 fisher.rolledItemDrop = 4394;
20004 }
20005 else if (fisher.uncommon)
20006 {
20007 fisher.rolledItemDrop = 4410;
20008 }
20009 else if (Main.rand.Next(3) == 0)
20010 {
20011 fisher.rolledItemDrop = 4402;
20012 }
20013 else
20014 {
20015 fisher.rolledItemDrop = 4401;
20016 }
20017 }
20018 else if (fisher.legendary && Main.hardMode && Main.player[owner].ZoneSnow && fisher.heightLevel == 3 && Main.rand.Next(3) != 0)
20019 {
20020 fisher.rolledItemDrop = 2429;
20021 }
20022 else if (fisher.legendary && Main.hardMode && Main.rand.Next(2) == 0)
20023 {
20024 fisher.rolledItemDrop = 3209;
20025 }
20026 else if (fisher.legendary && Main.hardMode && Main.rand.Next(3) != 0)
20027 {
20028 fisher.rolledItemDrop = 5274;
20029 }
20030 else if (fisher.heightLevel > 1 && fisher.veryrare)
20031 {
20032 fisher.rolledItemDrop = 2317;
20033 }
20034 else if (fisher.heightLevel > 1 && fisher.uncommon && fisher.questFish == 2465)
20035 {
20036 fisher.rolledItemDrop = 2465;
20037 }
20038 else if (fisher.heightLevel < 2 && fisher.uncommon && fisher.questFish == 2468)
20039 {
20040 fisher.rolledItemDrop = 2468;
20041 }
20042 else if (fisher.rare)
20043 {
20044 fisher.rolledItemDrop = 2310;
20045 }
20046 else if (fisher.uncommon && fisher.questFish == 2471)
20047 {
20048 fisher.rolledItemDrop = 2471;
20049 }
20050 else if (fisher.uncommon)
20051 {
20052 fisher.rolledItemDrop = 2307;
20053 }
20054 }
20055 if (fisher.rolledItemDrop == 0 && Main.player[owner].ZoneGlowshroom && fisher.uncommon && fisher.questFish == 2475)
20056 {
20057 fisher.rolledItemDrop = 2475;
20058 }
20059 if (flag4 && flag3 && Main.rand.Next(2) == 0)
20060 {
20061 flag4 = false;
20062 }
20063 if (fisher.rolledItemDrop == 0 && flag4)
20064 {
20065 if (fisher.heightLevel < 2 && fisher.uncommon && fisher.questFish == 2467)
20066 {
20067 fisher.rolledItemDrop = 2467;
20068 }
20069 else if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2470)
20070 {
20071 fisher.rolledItemDrop = 2470;
20072 }
20073 else if (fisher.heightLevel >= 2 && fisher.uncommon && fisher.questFish == 2484)
20074 {
20075 fisher.rolledItemDrop = 2484;
20076 }
20077 else if (fisher.heightLevel > 1 && fisher.uncommon && fisher.questFish == 2466)
20078 {
20079 fisher.rolledItemDrop = 2466;
20080 }
20081 else if ((fisher.common && Main.rand.Next(12) == 0) || (fisher.uncommon && Main.rand.Next(6) == 0))
20082 {
20083 fisher.rolledItemDrop = 3197;
20084 }
20085 else if (fisher.uncommon)
20086 {
20087 fisher.rolledItemDrop = 2306;
20088 }
20089 else if (fisher.common)
20090 {
20091 fisher.rolledItemDrop = 2299;
20092 }
20093 else if (fisher.heightLevel > 1 && Main.rand.Next(3) == 0)
20094 {
20095 fisher.rolledItemDrop = 2309;
20096 }
20097 }
20098 if (fisher.rolledItemDrop == 0 && flag3)
20099 {
20100 if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2452)
20101 {
20102 fisher.rolledItemDrop = 2452;
20103 }
20104 else if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2483)
20105 {
20106 fisher.rolledItemDrop = 2483;
20107 }
20108 else if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2488)
20109 {
20110 fisher.rolledItemDrop = 2488;
20111 }
20112 else if (fisher.heightLevel >= 1 && fisher.uncommon && fisher.questFish == 2486)
20113 {
20114 fisher.rolledItemDrop = 2486;
20115 }
20116 else if (fisher.heightLevel > 1 && fisher.uncommon)
20117 {
20118 fisher.rolledItemDrop = 2311;
20119 }
20120 else if (fisher.uncommon)
20121 {
20122 fisher.rolledItemDrop = 2313;
20123 }
20124 else if (fisher.common)
20125 {
20126 fisher.rolledItemDrop = 2302;
20127 }
20128 }
20129 }
20130 if (fisher.rolledItemDrop == 0)
20131 {
20132 if ((Main.remixWorld && fisher.heightLevel == 1 && (double)fisher.Y >= Main.rockLayer && Main.rand.Next(3) == 0) || (fisher.heightLevel <= 1 && (fisher.X < 380 || fisher.X > Main.maxTilesX - 380) && fisher.waterTilesCount > 1000))
20133 {
20134 if (fisher.veryrare && Main.rand.Next(2) == 0)
20135 {
20136 fisher.rolledItemDrop = 2341;
20137 }
20138 else if (fisher.veryrare)
20139 {
20140 fisher.rolledItemDrop = 2342;
20141 }
20142 else if (fisher.rare && Main.rand.Next(5) == 0)
20143 {
20144 fisher.rolledItemDrop = 2438;
20145 }
20146 else if (fisher.rare && Main.rand.Next(3) == 0)
20147 {
20148 fisher.rolledItemDrop = 2332;
20149 }
20150 else if (fisher.uncommon && fisher.questFish == 2480)
20151 {
20152 fisher.rolledItemDrop = 2480;
20153 }
20154 else if (fisher.uncommon && fisher.questFish == 2481)
20155 {
20156 fisher.rolledItemDrop = 2481;
20157 }
20158 else if (fisher.uncommon)
20159 {
20160 fisher.rolledItemDrop = 2316;
20161 }
20162 else if (fisher.common && Main.rand.Next(2) == 0)
20163 {
20164 fisher.rolledItemDrop = 2301;
20165 }
20166 else if (fisher.common)
20167 {
20168 fisher.rolledItemDrop = 2300;
20169 }
20170 else
20171 {
20172 fisher.rolledItemDrop = 2297;
20173 }
20174 }
20175 else if (flag6)
20176 {
20177 if (fisher.uncommon && fisher.questFish == 4393)
20178 {
20179 fisher.rolledItemDrop = 4393;
20180 }
20181 else if (fisher.uncommon && fisher.questFish == 4394)
20182 {
20183 fisher.rolledItemDrop = 4394;
20184 }
20185 else if (fisher.uncommon)
20186 {
20187 fisher.rolledItemDrop = 4410;
20188 }
20189 else if (Main.rand.Next(3) == 0)
20190 {
20191 fisher.rolledItemDrop = 4402;
20192 }
20193 else
20194 {
20195 fisher.rolledItemDrop = 4401;
20196 }
20197 }
20198 }
20199 if (fisher.rolledItemDrop != 0)
20200 {
20201 return;
20202 }
20203 if (fisher.heightLevel < 2 && fisher.uncommon && fisher.questFish == 2461)
20204 {
20205 fisher.rolledItemDrop = 2461;
20206 }
20207 else if (fisher.heightLevel == 0 && fisher.uncommon && fisher.questFish == 2453)
20208 {
20209 fisher.rolledItemDrop = 2453;
20210 }
20211 else if (fisher.heightLevel == 0 && fisher.uncommon && fisher.questFish == 2473)
20212 {
20213 fisher.rolledItemDrop = 2473;
20214 }
20215 else if (fisher.heightLevel == 0 && fisher.uncommon && fisher.questFish == 2476)
20216 {
20217 fisher.rolledItemDrop = 2476;
20218 }
20219 else if (fisher.heightLevel < 2 && fisher.uncommon && fisher.questFish == 2458)
20220 {
20221 fisher.rolledItemDrop = 2458;
20222 }
20223 else if (fisher.heightLevel < 2 && fisher.uncommon && fisher.questFish == 2459)
20224 {
20225 fisher.rolledItemDrop = 2459;
20226 }
20227 else if (fisher.heightLevel == 0 && fisher.uncommon)
20228 {
20229 fisher.rolledItemDrop = 2304;
20230 }
20231 else if (fisher.heightLevel > 0 && fisher.heightLevel < 3 && fisher.uncommon && fisher.questFish == 2455)
20232 {
20233 fisher.rolledItemDrop = 2455;
20234 }
20235 else if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2479)
20236 {
20237 fisher.rolledItemDrop = 2479;
20238 }
20239 else if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2456)
20240 {
20241 fisher.rolledItemDrop = 2456;
20242 }
20243 else if (fisher.heightLevel == 1 && fisher.uncommon && fisher.questFish == 2474)
20244 {
20245 fisher.rolledItemDrop = 2474;
20246 }
20247 else if (fisher.heightLevel > 1 && fisher.rare && Main.rand.Next(5) == 0)
20248 {
20249 if (Main.hardMode && Main.rand.Next(2) == 0)
20250 {
20251 fisher.rolledItemDrop = 2437;
20252 }
20253 else
20254 {
20255 fisher.rolledItemDrop = 2436;
20256 }
20257 }
20258 else if (fisher.heightLevel > 1 && fisher.legendary && Main.rand.Next(3) != 0)
20259 {
20260 fisher.rolledItemDrop = 2308;
20261 }
20262 else if (fisher.heightLevel > 1 && fisher.veryrare && Main.rand.Next(2) == 0)
20263 {
20264 fisher.rolledItemDrop = 2320;
20265 }
20266 else if (fisher.heightLevel > 1 && fisher.rare)
20267 {
20268 fisher.rolledItemDrop = 2321;
20269 }
20270 else if (fisher.heightLevel > 1 && fisher.uncommon && fisher.questFish == 2478)
20271 {
20272 fisher.rolledItemDrop = 2478;
20273 }
20274 else if (fisher.heightLevel > 1 && fisher.uncommon && fisher.questFish == 2450)
20275 {
20276 fisher.rolledItemDrop = 2450;
20277 }
20278 else if (fisher.heightLevel > 1 && fisher.uncommon && fisher.questFish == 2464)
20279 {
20280 fisher.rolledItemDrop = 2464;
20281 }
20282 else if (fisher.heightLevel > 1 && fisher.uncommon && fisher.questFish == 2469)
20283 {
20284 fisher.rolledItemDrop = 2469;
20285 }
20286 else if (fisher.heightLevel > 2 && fisher.uncommon && fisher.questFish == 2462)
20287 {
20288 fisher.rolledItemDrop = 2462;
20289 }
20290 else if (fisher.heightLevel > 2 && fisher.uncommon && fisher.questFish == 2482)
20291 {
20292 fisher.rolledItemDrop = 2482;
20293 }
20294 else if (fisher.heightLevel > 2 && fisher.uncommon && fisher.questFish == 2472)
20295 {
20296 fisher.rolledItemDrop = 2472;
20297 }
20298 else if (fisher.heightLevel > 2 && fisher.uncommon && fisher.questFish == 2460)
20299 {
20300 fisher.rolledItemDrop = 2460;
20301 }
20302 else if (fisher.heightLevel > 1 && fisher.uncommon && Main.rand.Next(4) != 0)
20303 {
20304 fisher.rolledItemDrop = 2303;
20305 }
20306 else if (fisher.heightLevel > 1 && (fisher.uncommon || fisher.common || Main.rand.Next(4) == 0))
20307 {
20308 if (Main.rand.Next(4) == 0)
20309 {
20310 fisher.rolledItemDrop = 2303;
20311 }
20312 else
20313 {
20314 fisher.rolledItemDrop = 2309;
20315 }
20316 }
20317 else if (fisher.uncommon && fisher.questFish == 2487)
20318 {
20319 fisher.rolledItemDrop = 2487;
20320 }
20321 else if (fisher.waterTilesCount > 1000 && fisher.common)
20322 {
20323 fisher.rolledItemDrop = 2298;
20324 }
20325 else
20326 {
20327 fisher.rolledItemDrop = 2290;
20328 }
20329 }
int owner
The index of the player who owns this projectile. In Multiplayer, Clients "own" projectiles that they...

References Terraria.Main.bloodMoon, Terraria.NPC.combatBookWasUsed, Terraria.NPC.downedBoss3, Terraria.Main.hardMode, Terraria.Main.maxTilesX, Terraria.Main.notTheBeesWorld, Terraria.Projectile.owner, Terraria.Main.player, Terraria.Main.rand, Terraria.Main.remixWorld, and Terraria.Main.rockLayer.

Referenced by Terraria.Projectile.FishingCheck().

+ Here is the caller graph for this function: