Advertisement
Tyler_Elric

Untitled

Apr 20th, 2012
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. import math
  2.  
  3. def get_nature_multiplier(nature,stat):
  4. if stat==nature['dec']:return 0.9
  5. elif stat==nature['inc']:return 1.1
  6. else:return 1
  7.  
  8. def calculate_stat(pokemon,species,nature,stat_name):
  9. stat_name=stat_name.lower()
  10. #I haven't dumped the ev values yet, I don't think.
  11. #ret=pokemon['iv'][stat_name]+(2*species['stats'][stat_name])+(species['ev'][stat_name]/4)
  12. #use v- this -v for the time being, instead. ( it's a minimal effect anyways. )
  13. ret=pokemon['iv'][stat_name]+(2*species['stats'][stat_name])
  14. if stat_name=='hp':ret=floor((ret+100)*pokemon['level']/100)+10
  15. else:ret=floor(((ret*pokemon['level']/100)+5)*get_nature_multiplier(nature,stat_name))
  16. return ret
  17.  
  18. class StatSet:
  19. def __init__(self,p,s,n):
  20. self.vals=dict([(stat_name,{'val':calculate_stat(p,s,n,stat_name),'level':1}) for stat_name in s['stats'].keys()])
  21.  
  22. def adjust_level(self,s,l):
  23. if l in [a for a in self.levels.keys()]:self.vals[s]['level']+=l
  24.  
  25. def __getitem__(self,stat):return floor(self.vals[stat]['val']*self.levels[self.vals[stat]['level']])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement