Talk:Level Costs: Difference between revisions
Jump to navigation
Jump to search
imported>Widgeon (The calculations were off by one level, I think this fixes them.) |
imported>Widgeon No edit summary |
||
Line 1: | Line 1: | ||
It looks like the calculation uses round() for levels above 126, ceil() for other levels, and then level 2 should be 1000 xp, not 1004. I've updated the script below. --[[User:Widgeon|Widgeon]] 00:04, 23 February 2009 (CST) | |||
---- | |||
For what it's worth, here's the python script I used to generate the table: | For what it's worth, here's the python script I used to generate the table: | ||
Line 9: | Line 13: | ||
def total_level_xp(level): | def total_level_xp(level): | ||
return int(math.ceil( ((level + 5) ** 5 - (6 ** 5)) / 9.)) | if (level < 2): | ||
return 0; | |||
if (level == 2): | |||
return 1000; | |||
if (level <= 126): | |||
return int(math.ceil( ((level + 5) ** 5 - (6 ** 5)) / 9.)) | |||
return int(round( ((level + 5) ** 5 - (6 ** 5)) / 9.)) | |||
def next_level_xp(level): | def next_level_xp(level): |
Revision as of 06:04, 23 February 2009
It looks like the calculation uses round() for levels above 126, ceil() for other levels, and then level 2 should be 1000 xp, not 1004. I've updated the script below. --Widgeon 00:04, 23 February 2009 (CST)
For what it's worth, here's the python script I used to generate the table:
#!/usr/bin/python import math import locale def total_level_xp(level): if (level < 2): return 0; if (level == 2): return 1000; if (level <= 126): return int(math.ceil( ((level + 5) ** 5 - (6 ** 5)) / 9.)) return int(round( ((level + 5) ** 5 - (6 ** 5)) / 9.)) def next_level_xp(level): return total_level_xp(level) - total_level_xp(level - 1) locale.setlocale(locale.LC_ALL, "") for level in range(1,276): next_xp = next_level_xp(level) total_xp = total_level_xp(level) print "| %d || %s || %s" % (level, locale.format("%.*d", (1, next_xp), True), locale.format("%.*d", (1, total_xp), True)) print "|-"
--Widgeon 22:35, 7 July 2008 (CDT)