Give calculated_stat and calculated_hp the same signature.

This commit is contained in:
Eevee 2011-03-10 22:11:16 -08:00
parent 65d80fc2e8
commit acb156d28d

View file

@ -18,24 +18,29 @@ def nCr(n, r):
1)
def calculated_stat(base_stat, level, iv, effort):
def calculated_stat(base_stat, level, iv, effort, nature=None):
"""Returns the calculated stat -- i.e. the value actually shown in the game
on a Pokémon's status tab.
"""
# Remember: this is from C; use floor division!
return (base_stat * 2 + iv + effort // 4) * level // 100 + 5
stat = (base_stat * 2 + iv + effort // 4) * level // 100 + 5
def calculated_hp(base_hp, level, iv, effort):
if nature:
stat = int(stat * nature)
return stat
def calculated_hp(base_stat, level, iv, effort, nature=None):
"""Similar to `calculated_stat`, except with a slightly different formula
used specifically for HP.
"""
# Shedinja's base stat of 1 is special; its HP is always 1
if base_hp == 1:
if base_stat == 1:
return 1
return (base_hp * 2 + iv + effort // 4) * level // 100 + 10 + level
return (base_stat * 2 + iv + effort // 4) * level // 100 + 10 + level
def earned_exp(base_exp, level):
"""Returns the amount of EXP earned when defeating a Pokémon at the given