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

◆ ItemCheck_CheckFishingBobber_PickAndConsumeBait()

void Terraria.Player.ItemCheck_CheckFishingBobber_PickAndConsumeBait ( Projectile bobber,
out bool pullTheBobber,
out int baitTypeUsed )
inlineprivate

Definition at line 49102 of file Player.cs.

49103 {
49104 pullTheBobber = false;
49105 baitTypeUsed = 0;
49106 int num = -1;
49107 for (int i = 54; i < 58; i++)
49108 {
49109 if (inventory[i].stack > 0 && inventory[i].bait > 0)
49110 {
49111 num = i;
49112 break;
49113 }
49114 }
49115 if (num == -1)
49116 {
49117 for (int j = 0; j < 50; j++)
49118 {
49119 if (inventory[j].stack > 0 && inventory[j].bait > 0)
49120 {
49121 num = j;
49122 break;
49123 }
49124 }
49125 }
49126 if (num <= -1)
49127 {
49128 return;
49129 }
49130 Item item = inventory[num];
49131 bool flag = false;
49132 float num2 = 1f + (float)item.bait / 6f;
49133 if (num2 < 1f)
49134 {
49135 num2 = 1f;
49136 }
49137 if (accTackleBox)
49138 {
49139 num2 += 1f;
49140 }
49141 if (Main.rand.NextFloat() * num2 < 1f)
49142 {
49143 flag = true;
49144 }
49145 if (bobber.localAI[1] == -1f)
49146 {
49147 flag = true;
49148 }
49149 if (bobber.localAI[1] > 0f)
49150 {
49151 Item item2 = new Item();
49152 item2.SetDefaults((int)bobber.localAI[1]);
49153 if (item2.rare < 0)
49154 {
49155 flag = false;
49156 }
49157 }
49158 baitTypeUsed = item.type;
49159 if (baitTypeUsed == 2895)
49160 {
49161 flag = Main.rand.Next(20) == 0;
49162 }
49163 if (baitTypeUsed == 2673)
49164 {
49165 flag = true;
49166 }
49167 if (flag)
49168 {
49169 if (item.type == 4361 || item.type == 4362)
49170 {
49171 NPC.LadyBugKilled(base.Center, item.type == 4362);
49172 }
49173 item.stack--;
49174 if (item.stack <= 0)
49175 {
49176 item.SetDefaults();
49177 }
49178 }
49179 pullTheBobber = true;
49180 }
bool accTackleBox
Definition Player.cs:961
Item[] inventory
Definition Player.cs:1257

References System.item, Terraria.NPC.LadyBugKilled(), Terraria.Projectile.localAI, and Terraria.Main.rand.