Changes

Jump to navigation Jump to search
Clarified that the third condition guarantees trash.
Line 9: Line 9:  
:* Three items pass both checks. In this case, the third item (which  may or may not be the targeted Fish) is returned.
 
:* Three items pass both checks. In this case, the third item (which  may or may not be the targeted Fish) is returned.
 
:* Two full loops of the list are completed without either of the above happening. In this case, the first item to pass both checks is returned.
 
:* Two full loops of the list are completed without either of the above happening. In this case, the first item to pass both checks is returned.
(Due to Trash existing in all locations (see Default in <samp>Location.xnb</samp>) which has a 1.0 Locational Chance and no <samp>Fish.xnb</samp> data (causing it to auto-pass the Spawn Rate check unless it's the Fishing Tutorial), this means that Trash will always pass its checks, making it impossible to have no items pass both checks.)
+
Due to Trash existing in all locations (see Default in <samp>Location.xnb</samp>) which has a 1.0 Locational Chance, no <samp>Fish.xnb</samp> data (causing it to auto-pass the Spawn Rate check unless it's the Fishing Tutorial), and always being in last position due to +2000 Precedenmce, this means that Trash will always pass its checks, on both loops. As this means 2 items are guaranteed to succeed, the only possible way to reach two full loops of the list without 3 items passing is if ''no items other trash'' passed their random checks. This means that the third condition is guaranteed to return trash.
    
So there are two effects that Targeted Bait has on the catch. If not using Targeted Bait, the game simply returns the first item to pass both checks. See the following code from <samp>GameLocation::GetFishFromLocationData</samp>:
 
So there are two effects that Targeted Bait has on the catch. If not using Targeted Bait, the game simply returns the first item to pass both checks. See the following code from <samp>GameLocation::GetFishFromLocationData</samp>:
 
:<samp>if (baitTargetFish == null || !(fish.QualifiedItemId != baitTargetFish) || targetedBaitTries >= 2) { return fish; }</samp>
 
:<samp>if (baitTargetFish == null || !(fish.QualifiedItemId != baitTargetFish) || targetedBaitTries >= 2) { return fish; }</samp>
127

edits

Navigation menu