Pixelmon Mod - Bug tracker

[8.4.1] Timer Ball Catch Rate Freezes On First Throw fix completed

Ticket description:
After feeling that Timer Balls were a bit off while playing on a multiplayer server, I decided to set up a test area in a single player world.

Setting in a spawner that generated level 1 Lickilicky in creative mode, I did several experiments. Lickilicky were chosen for their catch rate of 30 which makes them unlikely to be caught initially, but allowing 100% catch rate when dropped to 1 HP, put to sleep, and with a timer ball counter of at least 9. I achieved with a level 100 Parasect with false swipe and spore.
After various tests using abilities, items, and thrown balls, I repeatedly encountered fights where the capture would fail even when it should have been 100%. As far as I can tell, it seems that throwing a timer ball early in the fight freezes its counter, causing all future timer balls to use that same ball multiplier, even as late as thirty turns into the fight.
I'm not sure if this triggers on all ball throws, or just timer balls, but throwing a turn 1 timer ball, then waiting 9 turns before throwing another would frequently result in failed captures on sleeping, min HP Lickilicky.


#25262 Posted by talwraith » 19 May 2022 16:27

I'd like to add that, after a little more testing, it seems that throwing any ball that fails to catch the pokemon breaks the catch rate of any timer balls used in that fight.

#25270 Posted by Sophie847 » 20 May 2022 13:24

Hi there,

I've been able to confirm this issue - the timer ball definitely isn't calculating catchrate correctly, most likely using the first turn a ball was thrown instead of the current turn when determining its multiplier.

I have tried this with a Lickilicky and an Absol (also catchrate 30). Threw a ball first turn which failed, then put the opponent to sleep and reduced them to 1HP. On turn 10, I threw a timer ball (Going off my math, it actually needs to be turn 10 rather than turn 9 for the catch to be 100%).

Code: Select allChance to catch = (30*3.7*2.5*(1-((2/3)*(1/13)))/255) = 103.2%

I have passed this information to internal, thanks!

#28615 Posted by Sophie847 » 24 Nov 2022 19:42

Hi again,

With the release of pixelmon version 9.1.0, I can confirm this issue is now fixed. The catch rate of timer balls will now continue to increase as expected after a failed throw. Additionally, the catch rate mechanics now match that of the generation 8 games.

Thanks for the report!

Ticket details

  • Ticket ID: 17462
  • Project: Pixelmon Mod
  • Status: Fix completed
  • Component: Battle
  • Project version: 1.12.2-8.x.x
  • Priority: Normal
  • Severity: Normal
  • Forge/Sponge: 1.12.2-forge-
  • What else would be useful to know?: (unknown)
  • Assigned to: Sophie847
  • Reported by: talwraith (Send PM)
  • Reporter's tickets: (List all tickets)
  • Reported on: 19 May 2022 04:52
  • Ticket last visited by: Sophie847 on 24 Nov 2022 19:42