Fishing is done in two distinct stages: the bite stage and the reel-in stage.
The bite stage is determining what catches the fisher's line. This can be represented by a d100 roll where potential Pokémon are grouped up by power, quality, or rarity. The quality of lure being used has a modifier on this roll, with higher generating better Pokémon. The Pokémon groups and catches are up to the GM to decide upon. Rods have a flat modifier to the final roll, such as a result of 50 with an Old Rod would be a 40 for a final result. For bite check rolls, higher is better.
Features such as "Those Who Wait" or "Throw It Back!" modify the bite range for certain Pokémon by increasing or decreasing the range. In example, Goldeen is targeted for the feature and normally has a bite range of 52-68. "Those Who Wait" gives a bonus of 4 to this range, making the modified bite range 50-70 (by subtracting 2 from the min and adding 2 to the max). When a bite range is affected in this way, other Pokémon's ranges are adjusted accordingly. In example, if Staryu has a bite range of 30-50, it would now have a bite range of 30-49 instead.
The reel-in stage works similarly to capturing a wild Pokémon with a Pokéball, with mods given by features. For reel-in check rolls, lower is better. However, instead of having modifiers relevant to their HP and battle-related stats, only their level applies, unless Features which cause status effects are used. The remainder of the roll is decided by the target's Weight Class and additional modifiers in their overall Weight. The base rate for reel-in checks is double the rate of that species' base capture rate, due to the fact that capturing is done separately; if the base capture rate of the Pokémon is 50 or above, that rate is not doubled but instead calculated as normal.
Weight: Simply put, you may be able to reel in a Magikarp or Goldeen without many problems but no matter how awesome you are, it's going to be tough to reel in a Gyarados! Each pokemon will have a mod to the reel-in check based on its Weight Class, the heavier the pokemon the harder it is to reel-in!
Weight Class 1: +20
Weight Class 2: +10
Weight Class 3: +5
Weight Class 4: -5
Weight Class 5: -10
Weight Class 6: -20
Rods: Rods have modifiers attached to them that affect the quality of Pokémon they can catch, just like in the games. This is represented through giving them modifiers to both the bite and reel-in checks.
Old Rod (-10 Bite Mod, +10 reel-in) 100P
Average Rod (No Bite Mod, +5 reel-in) 500P
Good Rod (+4 Bite Mod, -5 reel-in) (Prerequisite: Trainer Level 5) 1000P
Super Rod (+8 Bite Mod, -10 reel-in) (Prerequisite: Trainer Level 10) 3000P
Ultra Rod (+10 Bite Mod, -20 reel-in) (Prerequisite: Trainer Level 15) 4000P
Capture: Upon succeeding a reel-in check, depending on its species and how successful the Fisherman had been on reeling it in, the Pokémon may be injured and able to be easily captured or simply angry and attempt to battle. For all practical purposes, a successful reel-in roll should be considered as an encounter with a wild Pokémon. However, as an additional condition, the margin of difference between the maximum amount necessary to succeed the reel-in check and the result of the reel-in roll becomes a percentage that is subtracted from the Pokémon's HP. For example, if a level 1 (+20) Magikarp (75 +10, Weight Class 1) is being reeled in, its result necessary to be captured - in this case, reeled in - would total to 105; a roll of exactly 5 would reduce it by 100% of its maximum HP.
Fish with 0 or less HP may not be captured but after the successful reel-in may be considered as a coup de grâce as per the Fisherman's decision and reduced to -100% HP without a Death Saving Throw, which can then be used for Fishmonger features and miscellaneous others. However, in the case of fish Pokémon with much higher Weight Classes, capture rate, and miscellaneous information, it's best to assume a successful reel-in will always cause a battle to start. A final result of 1 or lower on a reel-in check can be considered as instantly reducing the Pokémon's HP to 1, but this is at the GM's discretion.
Reel-in rate formula: Base CR*2 + level + WC versus 1d100-rod
Max capture rate - final result = % HP lost
Example bite table: