Incase anyone cares.

1. Incase anyone cares.

http://bulbapedia.bulbagarden.net/wiki/Catch_rate

I saw the formula on that page and I made myself a page that can calculate the rates and tell me how many pokeballs I should bring. I thought it would be greedy if I didn't share.

http://dl.dropbox.com/u/7032543/pokeCatchRate.html

Use it..or don't.

2. Re: Incase anyone cares.

There are thousands of resources like that on the Internet... but thanks for sharing yours with us.

Also, your formula gave me an 85% chance of catching a Pokemon with a base rate of 85 and a HP of 0, when it should be 33.3%.

Secondly, the number of Poké Balls that you recommend will give approximately a 63.2% chance of catching the Pokémon successfully. If that's what you were aiming for, great. But if not, might want to hit the books again to calculate the number of tries it would take to have a 90% or 95% probability, which is a bit more useful.

3. Re: Incase anyone cares.

Originally Posted by Zodiac
Also, your formula gave me an 85% chance of catching a Pokemon with a base rate of 85 and a HP of 0, when it should be 33.3%.
This is the verbatim formula I put in my code. Which unless I'm mistaken is an accurate translation from the wiki's page.

Code:
```var rate=3*maxhealth-2*currenthealth;
rate*=catchrate;
rate*=pokeball;
rate/=3*maxhealth;
rate*=status;```
I can't see why that be giving off strange percentages.

Originally Posted by Zodiac
Secondly, the number of Poké Balls that you recommend will give approximately a 63.2% chance of catching the Pokémon successfully. If that's what you were aiming for, great. But if not, might want to hit the books again to calculate the number of tries it would take to have a 90% or 95% probability, which is a bit more useful.
I was going for a 100% chance. If it's a 10% chance that you'll catch the pokemon I was recommending you bring 10 pokeballs.

4. Re: Incase anyone cares.

Originally Posted by Tubutas
This is the verbatim formula I put in my code. Which unless I'm mistaken is an accurate translation from the wiki's page.

Code:
```var rate=3*maxhealth-2*currenthealth;
rate*=catchrate;
rate*=pokeball;
rate/=3*maxhealth;
rate*=status;```
I can't see why that be giving off strange percentages.
Because the catch rate is out of 255 and not 100. You need to use (catchrate / 2.55) instead of just catchrate.

I was going for a 100% chance. If it's a 10% chance that you'll catch the pokemon I was recommending you bring 10 pokeballs.
Yeah, sorry, it doesn't work that way. The way you have it now gives you a 63.2% chance. (It's larger for smaller numbers like 2 or 3, but the smaller the chance of one Pokéball catching the monster gets, the closer the number gets to 63.2%. To explain it would require calculus, so I won't delve too far into it.)

*edit* Actually, screw that. I will try my best.

Let's take the example of a 50% catch rate. By your formula, you should bring 2 Pokéballs. However, bringing 2 Pokéballs will result in a 75% chance of successfully catching the Pokémon, not a 100% chance. This is because the chance of failure is (50%)2, or 25%. Both balls must fail in order for the catch to fail - if at least one ball succeeds, then the catch has succeeded.

Now, let's take the case of a 1% catch rate. By your formula, you should bring 100 Pokéballs. However, the chance of failure this time is (99%)100, or about 36.6%, giving a success rate of about 63.4%.

5. Re: Incase anyone cares.

Originally Posted by Zodiac
Yeah, sorry, it doesn't work that way. The way you have it now gives you a 63.2% chance. (It's larger for smaller numbers like 2 or 3, but the smaller the chance of one Pokéball catching the monster gets, the closer the number gets to 63.2%. To explain it would require calculus, so I won't delve too far into it.)
I'm only in pre-calc, so I wouldn't want you to explain it to me. Is there any way to make it more accurate without a ton of more work?

*edit*
That seems familiar. And that makes sense, but I just wouldn't know the formula for fixing it.

My attempt

7. Re: Incase anyone cares.

Okay, so if c is the catch rate, and p is the desired probability of success, what you want is B = log(1-c)(1-p).

This is so that the probability of all of the balls not working (1-c) is equal to the desired probability of the event not occurring (1-p).

8. Re: Incase anyone cares.

After hours of calculations....

Code:
`tries=(Math.log(1-rate*.01)-log(1-0.90))/Math.log(1-rate*.01);`
Is what I came up with. Is that in the right direction at all?

*edit*

Well I think thats right, thanks for all the help Zodiac.

9. Re: Incase anyone cares.

I'd write it as:

Code:
`tries = Math.log(1-0.90)/Math.log(1-rate*.01);`
Which is simpler.

10. Re: Incase anyone cares.

Sorry, It didn't work for me.

Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•