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

◆ GetAnglerReward_MainReward()

void Terraria.Player.GetAnglerReward_MainReward ( List< Item > rewardItems,
IEntitySource source,
int questsDone,
float rarityReduction,
int questItemType,
ref GetItemSettings anglerRewardSettings )
inlineprivate

Definition at line 57261 of file Player.cs.

57262 {
57263 Item item = new Item();
57264 item.type = 0;
57265 switch (questsDone)
57266 {
57267 case 5:
57268 item.SetDefaults(2428);
57269 break;
57270 case 10:
57271 item.SetDefaults(2367);
57272 break;
57273 case 15:
57274 item.SetDefaults(2368);
57275 break;
57276 case 20:
57277 item.SetDefaults(2369);
57278 break;
57279 case 25:
57280 item.SetDefaults(3031);
57281 break;
57282 case 30:
57283 item.SetDefaults(2294);
57284 break;
57285 default:
57286 {
57287 if (questItemType == 2451 && Main.hardMode)
57288 {
57289 item.SetDefaults((Main.rand.Next(2) == 0) ? 5303 : 5302);
57290 break;
57291 }
57292 if (questItemType == 2451 && !Main.hardMode && Main.rand.Next(2) == 0)
57293 {
57294 item.SetDefaults((Main.rand.Next(2) == 0) ? 5303 : 5302);
57295 break;
57296 }
57297 List<int> list = new List<int> { 2373, 2374, 2375, 3120, 3037, 3096, 5139 };
57298 float num = 1f;
57299 for (int i = 0; i < 3; i++)
57300 {
57301 num *= 1f - 1f / (float)(int)(40f * rarityReduction);
57302 }
57303 for (int j = 0; j < 3; j++)
57304 {
57305 num *= 1f - 1f / (float)(int)(30f * rarityReduction);
57306 }
57307 num *= 1f - 1f / (float)(int)(25f * rarityReduction);
57308 float num2 = 1f - num;
57309 num2 *= 0.8f;
57310 if (questsDone > 75 && Main.rand.Next((int)(250f * rarityReduction)) == 0)
57311 {
57312 item.SetDefaults(2294);
57313 break;
57314 }
57315 if (Main.hardMode && questsDone > 25 && Main.rand.Next((int)(100f * rarityReduction)) == 0)
57316 {
57317 item.SetDefaults(2422);
57318 break;
57319 }
57320 if (Main.hardMode && questsDone > 10 && Main.rand.Next((int)(70f * rarityReduction)) == 0)
57321 {
57322 item.SetDefaults(2494);
57323 break;
57324 }
57325 if (questsDone > 10 && Main.rand.Next((int)(70f * rarityReduction)) == 0)
57326 {
57327 item.SetDefaults(3031);
57328 break;
57329 }
57330 if (questsDone > 10 && Main.rand.Next((int)(70f * rarityReduction)) == 0)
57331 {
57332 item.SetDefaults(3032);
57333 break;
57334 }
57335 if (Main.rand.Next((int)(80f * rarityReduction)) == 0)
57336 {
57337 item.SetDefaults(3183);
57338 break;
57339 }
57340 if (Main.rand.Next((int)(60f * rarityReduction)) == 0)
57341 {
57342 item.SetDefaults(2360);
57343 break;
57344 }
57345 if (Main.rand.Next((int)(60f * rarityReduction)) == 0)
57346 {
57347 item.SetDefaults(4067);
57348 break;
57349 }
57350 if (Main.rand.Next((int)(80f * rarityReduction)) == 0)
57351 {
57352 item.SetDefaults(2417);
57353 break;
57354 }
57355 if (Main.rand.Next((int)(80f * rarityReduction)) == 0)
57356 {
57357 item.SetDefaults(2498);
57358 break;
57359 }
57361 {
57362 item.SetDefaults(itemIdToDrop);
57363 break;
57364 }
57365 if (!botheredRollingForADrop && Main.rand.NextDouble() < (double)num2)
57366 {
57367 int defaults = Utils.SelectRandom(Main.rand, list.ToArray());
57368 item.SetDefaults(defaults);
57369 break;
57370 }
57371 switch (Main.rand.Next(3))
57372 {
57373 case 0:
57374 item.SetDefaults(2354);
57375 item.stack = Main.rand.Next(2, 6);
57376 break;
57377 case 1:
57378 item.SetDefaults(2355);
57379 item.stack = Main.rand.Next(2, 6);
57380 break;
57381 default:
57382 item.SetDefaults(2356);
57383 item.stack = Main.rand.Next(2, 6);
57384 break;
57385 }
57386 break;
57387 }
57388 }
57389 rewardItems.Add(item);
57390 if (item.type == 2417)
57391 {
57392 Item item2 = new Item();
57393 Item item3 = new Item();
57394 item2.SetDefaults(2418);
57395 rewardItems.Add(item2);
57396 item3.SetDefaults(2419);
57397 rewardItems.Add(item3);
57398 }
57399 else if (item.type == 2498)
57400 {
57401 Item item4 = new Item();
57402 Item item5 = new Item();
57403 item4.SetDefaults(2499);
57404 rewardItems.Add(item4);
57405 item5.SetDefaults(2500);
57406 rewardItems.Add(item5);
57407 }
57408 }
bool DropAnglerAccByMissing(List< int > itemIdsOfAccsWeWant, float totalChance, out bool botheredRollingForADrop, out int itemIdToDrop)
Definition Player.cs:57534

References Terraria.Player.DropAnglerAccByMissing(), Terraria.Main.hardMode, Terraria.Main.rand, Terraria.Item.SetDefaults(), and Terraria.Item.type.

Referenced by Terraria.Player.GetAnglerReward().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: