Met Level Fix

Used to transfer 0 for eggs. Fixed so that it now sets the current level
as level transferred.
This commit is contained in:
Kurt 2014-01-22 20:47:46 -08:00
parent 7e2e71e63a
commit e70c17847a

View File

@ -54,7 +54,7 @@ def makends(gba):
spdev = gba[61]
pkrs = gba[68]
lvmet = ord(gba[70]) & 0x7f
lvmet = level(gba)
fmlot = ord(gba[71]) & 0x80
origin = ord(gba[0x46]) + (ord(gba[0x47]) << 8)
origin = chr((origin >> 7) & 0xF)
@ -180,6 +180,773 @@ def getsum(pkm):
return chr(sum & 0xff) + chr((sum >> 8) & 0xff)
def level(gba):
exp = ord(gba[36]) + (ord(gba[37]) << 8) + (ord(gba[38]) << 16)
id = ord(gba[32]) + (ord(gba[33]) << 8)
exptype = pokestats.get(id)[0]
for i in xrange(100):
xpneeded = lvlexp.get(i + 1)[exptype]
if xpneeded > exp:
return i
return 100
pokestats = {
1: (3, 45, 49, 49, 65, 65, 45),
2: (3, 60, 62, 63, 80, 80, 60),
3: (3, 80, 82, 83, 100, 100, 80),
4: (3, 39, 52, 43, 60, 50, 65),
5: (3, 58, 64, 58, 80, 65, 80),
6: (3, 78, 84, 78, 109, 85, 100),
7: (3, 44, 48, 65, 50, 64, 43),
8: (3, 59, 63, 80, 65, 80, 58),
9: (3, 79, 83, 100, 85, 105, 78),
10: (2, 45, 30, 35, 20, 20, 45),
11: (2, 50, 20, 55, 25, 25, 30),
12: (2, 60, 45, 50, 80, 80, 70),
13: (2, 40, 35, 30, 20, 20, 50),
14: (2, 45, 25, 50, 25, 25, 35),
15: (2, 65, 80, 40, 45, 80, 75),
16: (3, 40, 45, 40, 35, 35, 56),
17: (3, 63, 60, 55, 50, 50, 71),
18: (3, 83, 80, 75, 70, 70, 91),
19: (2, 30, 56, 35, 25, 35, 72),
20: (2, 55, 81, 60, 50, 70, 97),
21: (2, 40, 60, 30, 31, 31, 70),
22: (2, 65, 90, 65, 61, 61, 100),
23: (2, 35, 60, 44, 40, 54, 55),
24: (2, 60, 85, 69, 65, 79, 80),
25: (2, 35, 55, 30, 50, 40, 90),
26: (2, 60, 90, 55, 90, 80, 100),
27: (2, 50, 75, 85, 20, 30, 40),
28: (2, 75, 100, 110, 45, 55, 65),
29: (3, 55, 47, 52, 40, 40, 41),
30: (3, 70, 62, 67, 55, 55, 56),
31: (3, 90, 82, 87, 75, 85, 76),
32: (3, 46, 57, 40, 40, 40, 50),
33: (3, 61, 72, 57, 55, 55, 65),
34: (3, 81, 92, 77, 85, 75, 85),
35: (1, 70, 45, 48, 60, 65, 35),
36: (1, 95, 70, 73, 85, 90, 60),
37: (2, 38, 41, 40, 50, 65, 65),
38: (2, 73, 76, 75, 81, 100, 100),
39: (1, 115, 45, 20, 45, 25, 20),
40: (1, 140, 70, 45, 75, 50, 45),
41: (2, 40, 45, 35, 30, 40, 55),
42: (2, 75, 80, 70, 65, 75, 90),
43: (3, 45, 50, 55, 75, 65, 30),
44: (3, 60, 65, 70, 85, 75, 40),
45: (3, 75, 80, 85, 100, 90, 50),
46: (2, 35, 70, 55, 45, 55, 25),
47: (2, 60, 95, 80, 60, 80, 30),
48: (2, 60, 55, 50, 40, 55, 45),
49: (2, 70, 65, 60, 90, 75, 90),
50: (2, 10, 55, 25, 35, 45, 95),
51: (2, 35, 80, 50, 50, 70, 120),
52: (2, 40, 45, 35, 40, 40, 90),
53: (2, 65, 70, 60, 65, 65, 115),
54: (2, 50, 52, 48, 65, 50, 55),
55: (2, 80, 82, 78, 95, 80, 85),
56: (2, 40, 80, 35, 35, 45, 70),
57: (2, 65, 105, 60, 60, 70, 95),
58: (4, 55, 70, 45, 70, 50, 60),
59: (4, 90, 110, 80, 100, 80, 95),
60: (3, 40, 50, 40, 40, 40, 90),
61: (3, 65, 65, 65, 50, 50, 90),
62: (3, 90, 85, 95, 70, 90, 70),
63: (3, 25, 20, 15, 105, 55, 90),
64: (3, 40, 35, 30, 120, 70, 105),
65: (3, 55, 50, 45, 135, 85, 120),
66: (3, 70, 80, 50, 35, 35, 35),
67: (3, 80, 100, 70, 50, 60, 45),
68: (3, 90, 130, 80, 65, 85, 55),
69: (3, 50, 75, 35, 70, 30, 40),
70: (3, 65, 90, 50, 85, 45, 55),
71: (3, 80, 105, 65, 100, 60, 70),
72: (4, 40, 40, 35, 50, 100, 70),
73: (4, 80, 70, 65, 80, 120, 100),
74: (3, 40, 80, 100, 30, 30, 20),
75: (3, 55, 95, 115, 45, 45, 35),
76: (3, 80, 110, 130, 55, 65, 45),
77: (2, 50, 85, 55, 65, 65, 90),
78: (2, 65, 100, 70, 80, 80, 105),
79: (2, 90, 65, 65, 40, 40, 15),
80: (2, 95, 75, 110, 100, 80, 30),
81: (2, 25, 35, 70, 95, 55, 45),
82: (2, 50, 60, 95, 120, 70, 70),
83: (2, 52, 65, 55, 58, 62, 60),
84: (2, 35, 85, 45, 35, 35, 75),
85: (2, 60, 110, 70, 60, 60, 100),
86: (2, 65, 45, 55, 45, 70, 45),
87: (2, 90, 70, 80, 70, 95, 70),
88: (2, 80, 80, 50, 40, 50, 25),
89: (2, 105, 105, 75, 65, 100, 50),
90: (4, 30, 65, 100, 45, 25, 40),
91: (4, 50, 95, 180, 85, 45, 70),
92: (3, 30, 35, 30, 100, 35, 80),
93: (3, 45, 50, 45, 115, 55, 95),
94: (3, 60, 65, 60, 130, 75, 110),
95: (2, 35, 45, 160, 30, 45, 70),
96: (2, 60, 48, 45, 43, 90, 42),
97: (2, 85, 73, 70, 73, 115, 67),
98: (2, 30, 105, 90, 25, 25, 50),
99: (2, 55, 130, 115, 50, 50, 75),
100: (2, 40, 30, 50, 55, 55, 100),
101: (2, 60, 50, 70, 80, 80, 140),
102: (4, 60, 40, 80, 60, 45, 40),
103: (4, 95, 95, 85, 125, 65, 55),
104: (2, 50, 50, 95, 40, 50, 35),
105: (2, 60, 80, 110, 50, 80, 45),
106: (2, 50, 120, 53, 35, 110, 87),
107: (2, 50, 105, 79, 35, 110, 76),
108: (2, 90, 55, 75, 60, 75, 30),
109: (2, 40, 65, 95, 60, 45, 35),
110: (2, 65, 90, 120, 85, 70, 60),
111: (4, 80, 85, 95, 30, 30, 25),
112: (4, 105, 130, 120, 45, 45, 40),
113: (1, 250, 5, 5, 35, 105, 50),
114: (2, 65, 55, 115, 100, 40, 60),
115: (2, 105, 95, 80, 40, 80, 90),
116: (2, 30, 40, 70, 70, 25, 60),
117: (2, 55, 65, 95, 95, 45, 85),
118: (2, 45, 67, 60, 35, 50, 63),
119: (2, 80, 92, 65, 65, 80, 68),
120: (4, 30, 45, 55, 70, 55, 85),
121: (4, 60, 75, 85, 100, 85, 115),
122: (2, 40, 45, 65, 100, 120, 90),
123: (2, 70, 110, 80, 55, 80, 105),
124: (2, 65, 50, 35, 115, 95, 95),
125: (2, 65, 83, 57, 95, 85, 105),
126: (2, 65, 95, 57, 100, 85, 93),
127: (4, 65, 125, 100, 55, 70, 85),
128: (4, 75, 100, 95, 40, 70, 110),
129: (4, 20, 10, 55, 15, 20, 80),
130: (4, 95, 125, 79, 60, 100, 81),
131: (4, 130, 85, 80, 85, 95, 60),
132: (2, 48, 48, 48, 48, 48, 48),
133: (2, 55, 55, 50, 45, 65, 55),
134: (2, 130, 65, 60, 110, 95, 65),
135: (2, 65, 65, 60, 110, 95, 130),
136: (2, 65, 130, 60, 95, 110, 65),
137: (2, 65, 60, 70, 85, 75, 40),
138: (2, 35, 40, 100, 90, 55, 35),
139: (2, 70, 60, 125, 115, 70, 55),
140: (2, 30, 80, 90, 55, 45, 55),
141: (2, 60, 115, 105, 65, 70, 80),
142: (4, 80, 105, 65, 60, 75, 130),
143: (4, 160, 110, 65, 65, 110, 30),
144: (4, 90, 85, 100, 95, 125, 85),
145: (4, 90, 90, 85, 125, 90, 100),
146: (4, 90, 100, 90, 125, 85, 90),
147: (4, 41, 64, 45, 50, 50, 50),
148: (4, 61, 84, 65, 70, 70, 70),
149: (4, 91, 134, 95, 100, 100, 80),
150: (4, 106, 110, 90, 154, 90, 130),
151: (3, 100, 100, 100, 100, 100, 100),
152: (3, 45, 49, 65, 49, 65, 45),
153: (3, 60, 62, 80, 63, 80, 60),
154: (3, 80, 82, 100, 83, 100, 80),
155: (3, 39, 52, 43, 60, 50, 65),
156: (3, 58, 64, 58, 80, 65, 80),
157: (3, 78, 84, 78, 109, 85, 100),
158: (3, 50, 65, 64, 44, 48, 43),
159: (3, 65, 80, 80, 59, 63, 58),
160: (3, 85, 105, 100, 79, 83, 78),
161: (2, 35, 46, 34, 35, 45, 20),
162: (2, 85, 76, 64, 45, 55, 90),
163: (2, 60, 30, 30, 36, 56, 50),
164: (2, 100, 50, 50, 76, 96, 70),
165: (1, 40, 20, 30, 40, 80, 55),
166: (1, 55, 35, 50, 55, 110, 85),
167: (1, 40, 60, 40, 40, 40, 30),
168: (1, 70, 90, 70, 60, 60, 40),
169: (2, 85, 90, 80, 70, 80, 130),
170: (4, 75, 38, 38, 56, 56, 67),
171: (4, 125, 58, 58, 76, 76, 67),
172: (2, 20, 40, 15, 35, 35, 60),
173: (1, 50, 25, 28, 45, 55, 15),
174: (1, 90, 30, 15, 40, 20, 15),
175: (1, 35, 20, 65, 40, 65, 20),
176: (1, 55, 40, 85, 80, 105, 40),
177: (2, 40, 50, 45, 70, 45, 70),
178: (2, 65, 75, 70, 95, 70, 95),
179: (3, 55, 40, 40, 65, 45, 35),
180: (3, 70, 55, 55, 80, 60, 45),
181: (3, 90, 75, 75, 115, 90, 55),
182: (3, 75, 80, 85, 90, 100, 50),
183: (1, 70, 20, 50, 20, 50, 40),
184: (1, 100, 50, 80, 50, 80, 50),
185: (2, 70, 100, 115, 30, 65, 30),
186: (3, 90, 75, 75, 90, 100, 70),
187: (3, 35, 35, 40, 35, 55, 50),
188: (3, 55, 45, 50, 45, 65, 80),
189: (3, 75, 55, 70, 55, 85, 110),
190: (1, 55, 70, 55, 40, 55, 85),
191: (3, 30, 30, 30, 30, 30, 30),
192: (3, 75, 75, 55, 105, 85, 30),
193: (2, 65, 65, 45, 75, 45, 95),
194: (2, 55, 45, 45, 25, 25, 15),
195: (2, 95, 85, 85, 65, 65, 35),
196: (2, 65, 65, 60, 130, 95, 110),
197: (2, 95, 65, 110, 60, 130, 65),
198: (3, 60, 85, 42, 85, 42, 91),
199: (2, 95, 75, 80, 100, 110, 30),
200: (1, 60, 60, 60, 85, 85, 85),
201: (2, 48, 72, 48, 72, 48, 48),
202: (2, 190, 33, 58, 33, 58, 33),
203: (2, 70, 80, 65, 90, 65, 85),
204: (2, 50, 65, 90, 35, 35, 15),
205: (2, 75, 90, 140, 60, 60, 40),
206: (2, 100, 70, 70, 65, 65, 45),
207: (3, 65, 75, 105, 35, 65, 85),
208: (2, 75, 85, 200, 55, 65, 30),
209: (1, 60, 80, 50, 40, 40, 30),
210: (1, 90, 120, 75, 60, 60, 45),
211: (2, 65, 95, 75, 55, 55, 85),
212: (2, 70, 130, 100, 55, 80, 65),
213: (3, 20, 10, 230, 10, 230, 5),
214: (4, 80, 125, 75, 40, 95, 85),
215: (3, 55, 95, 55, 35, 75, 115),
216: (2, 60, 80, 50, 50, 50, 40),
217: (2, 90, 130, 75, 75, 75, 55),
218: (2, 40, 40, 40, 70, 40, 20),
219: (2, 50, 50, 120, 80, 80, 30),
220: (4, 50, 50, 40, 30, 30, 50),
221: (4, 100, 100, 80, 60, 60, 50),
222: (1, 55, 55, 85, 65, 85, 35),
223: (2, 35, 65, 35, 65, 35, 65),
224: (2, 75, 105, 75, 105, 75, 45),
225: (1, 45, 55, 45, 65, 45, 75),
226: (4, 65, 40, 70, 80, 140, 70),
227: (4, 65, 80, 140, 40, 70, 70),
228: (4, 45, 60, 30, 80, 50, 65),
229: (4, 75, 90, 50, 110, 80, 95),
230: (2, 75, 95, 95, 95, 95, 85),
231: (2, 90, 60, 60, 40, 40, 40),
232: (2, 90, 120, 120, 60, 60, 50),
233: (2, 85, 80, 90, 105, 95, 60),
234: (4, 73, 95, 62, 85, 65, 85),
235: (1, 55, 20, 35, 20, 45, 75),
236: (2, 35, 35, 35, 35, 35, 35),
237: (2, 50, 95, 95, 35, 110, 70),
238: (2, 45, 30, 15, 85, 65, 65),
239: (2, 45, 63, 37, 65, 55, 95),
240: (2, 45, 75, 37, 70, 55, 83),
241: (4, 95, 80, 105, 40, 70, 100),
242: (1, 255, 10, 10, 75, 135, 55),
243: (4, 90, 85, 75, 115, 100, 115),
244: (4, 115, 115, 85, 90, 75, 100),
245: (4, 100, 75, 115, 90, 115, 85),
246: (4, 50, 64, 50, 45, 50, 41),
247: (4, 70, 84, 70, 65, 70, 51),
248: (4, 100, 134, 110, 95, 100, 61),
249: (4, 106, 90, 130, 90, 154, 110),
250: (4, 106, 130, 90, 110, 154, 90),
251: (3, 100, 100, 100, 100, 100, 100),
252: (3, 40, 45, 35, 65, 55, 70),
253: (3, 50, 65, 45, 85, 65, 95),
254: (3, 70, 85, 65, 105, 85, 120),
255: (3, 45, 60, 40, 70, 50, 45),
256: (3, 60, 85, 60, 85, 60, 55),
257: (3, 80, 120, 70, 110, 70, 80),
258: (3, 50, 70, 50, 50, 50, 40),
259: (3, 70, 85, 70, 60, 70, 50),
260: (3, 100, 110, 90, 85, 90, 60),
261: (2, 35, 55, 35, 30, 30, 35),
262: (2, 70, 90, 70, 60, 60, 70),
263: (2, 38, 30, 41, 30, 41, 60),
264: (2, 78, 70, 61, 50, 61, 100),
265: (2, 45, 45, 35, 20, 30, 20),
266: (2, 50, 35, 55, 25, 25, 15),
267: (2, 60, 70, 50, 90, 50, 65),
268: (2, 50, 35, 55, 25, 25, 15),
269: (2, 60, 50, 70, 50, 90, 65),
270: (3, 40, 30, 30, 40, 50, 30),
271: (3, 60, 50, 50, 60, 70, 50),
272: (3, 80, 70, 70, 90, 100, 70),
273: (3, 40, 40, 50, 30, 30, 30),
274: (3, 70, 70, 40, 60, 40, 60),
275: (3, 90, 100, 60, 90, 60, 80),
276: (3, 40, 55, 30, 30, 30, 85),
277: (3, 60, 85, 60, 50, 50, 125),
278: (2, 40, 30, 30, 55, 30, 85),
279: (2, 60, 50, 100, 85, 70, 65),
280: (4, 28, 25, 25, 45, 35, 40),
281: (4, 38, 35, 35, 65, 55, 50),
282: (4, 68, 65, 65, 125, 115, 80),
283: (2, 40, 30, 32, 50, 52, 65),
284: (2, 70, 60, 62, 80, 82, 60),
285: (5, 60, 40, 60, 40, 60, 35),
286: (5, 60, 130, 80, 60, 60, 70),
287: (4, 60, 60, 60, 35, 35, 30),
288: (4, 80, 80, 80, 55, 55, 90),
289: (4, 150, 160, 100, 95, 65, 100),
290: (0, 31, 45, 90, 30, 30, 40),
291: (0, 61, 90, 45, 50, 50, 160),
292: (0, 1, 90, 45, 30, 30, 40),
293: (3, 64, 51, 23, 51, 23, 28),
294: (3, 84, 71, 43, 71, 43, 48),
295: (3, 104, 91, 63, 91, 63, 68),
296: (5, 72, 60, 30, 20, 30, 25),
297: (5, 144, 120, 60, 40, 60, 50),
298: (1, 50, 20, 40, 20, 40, 20),
299: (2, 30, 45, 135, 45, 90, 30),
300: (1, 50, 45, 45, 35, 35, 50),
301: (1, 70, 65, 65, 55, 55, 70),
302: (3, 50, 75, 75, 65, 65, 50),
303: (1, 50, 85, 85, 55, 55, 50),
304: (4, 50, 70, 100, 40, 40, 30),
305: (4, 60, 90, 140, 50, 50, 40),
306: (4, 70, 110, 180, 60, 60, 50),
307: (2, 30, 40, 55, 40, 55, 60),
308: (2, 60, 60, 75, 60, 75, 80),
309: (4, 40, 45, 40, 65, 40, 65),
310: (4, 70, 75, 60, 105, 60, 105),
311: (2, 60, 50, 40, 85, 75, 95),
312: (2, 60, 40, 50, 75, 85, 95),
313: (0, 65, 73, 55, 47, 75, 85),
314: (5, 65, 47, 55, 73, 75, 85),
315: (3, 50, 60, 45, 100, 80, 65),
316: (5, 70, 43, 53, 43, 53, 40),
317: (5, 100, 73, 83, 73, 83, 55),
318: (4, 45, 90, 20, 65, 20, 65),
319: (4, 70, 120, 40, 95, 40, 95),
320: (5, 130, 70, 35, 70, 35, 60),
321: (5, 170, 90, 45, 90, 45, 60),
322: (2, 60, 60, 40, 65, 45, 35),
323: (2, 70, 100, 70, 105, 75, 40),
324: (2, 70, 85, 140, 85, 70, 20),
325: (1, 60, 25, 35, 70, 80, 60),
326: (1, 80, 45, 65, 90, 110, 80),
327: (1, 60, 60, 60, 60, 60, 60),
328: (3, 45, 100, 45, 45, 45, 10),
329: (3, 50, 70, 50, 50, 50, 70),
330: (3, 80, 100, 80, 80, 80, 100),
331: (3, 50, 85, 40, 85, 40, 35),
332: (3, 70, 115, 60, 115, 60, 55),
333: (0, 45, 40, 60, 40, 75, 50),
334: (0, 75, 70, 90, 70, 105, 80),
335: (0, 73, 115, 60, 60, 60, 90),
336: (5, 73, 100, 60, 100, 60, 65),
337: (1, 70, 55, 65, 95, 85, 70),
338: (1, 70, 95, 85, 55, 65, 70),
339: (2, 50, 48, 43, 46, 41, 60),
340: (2, 110, 78, 73, 76, 71, 60),
341: (5, 43, 80, 65, 50, 35, 35),
342: (5, 63, 120, 85, 90, 55, 55),
343: (2, 40, 40, 55, 40, 70, 55),
344: (2, 60, 70, 105, 70, 120, 75),
345: (0, 66, 41, 77, 61, 87, 23),
346: (0, 86, 81, 97, 81, 107, 43),
347: (0, 45, 95, 50, 40, 50, 75),
348: (0, 75, 125, 100, 70, 80, 45),
349: (0, 20, 15, 20, 10, 55, 80),
350: (0, 95, 60, 79, 100, 125, 81),
351: (2, 70, 70, 70, 70, 70, 70),
352: (3, 60, 90, 70, 60, 120, 40),
353: (1, 44, 75, 35, 63, 33, 45),
354: (1, 64, 115, 65, 83, 63, 65),
355: (1, 20, 40, 90, 30, 90, 25),
356: (1, 40, 70, 130, 60, 130, 25),
357: (4, 99, 68, 83, 72, 87, 51),
358: (1, 65, 50, 70, 95, 80, 65),
359: (3, 65, 130, 60, 75, 60, 75),
360: (2, 95, 23, 48, 23, 48, 23),
361: (2, 50, 50, 50, 50, 50, 50),
362: (2, 80, 80, 80, 80, 80, 80),
363: (3, 70, 40, 50, 55, 50, 25),
364: (3, 90, 60, 70, 75, 70, 45),
365: (3, 110, 80, 90, 95, 90, 65),
366: (0, 35, 64, 85, 74, 55, 32),
367: (0, 55, 104, 105, 94, 75, 52),
368: (0, 55, 84, 105, 114, 75, 52),
369: (4, 100, 90, 130, 45, 65, 55),
370: (1, 43, 30, 55, 40, 65, 97),
371: (4, 45, 75, 60, 40, 30, 50),
372: (4, 65, 95, 100, 60, 50, 50),
373: (4, 95, 135, 80, 110, 80, 100),
374: (4, 40, 55, 80, 35, 60, 30),
375: (4, 60, 75, 100, 55, 80, 50),
376: (4, 80, 135, 130, 95, 90, 70),
377: (4, 80, 100, 200, 50, 100, 50),
378: (4, 80, 50, 100, 100, 200, 50),
379: (4, 80, 75, 150, 75, 150, 50),
380: (4, 80, 80, 90, 110, 130, 110),
381: (4, 80, 90, 80, 130, 110, 110),
382: (4, 100, 100, 90, 150, 140, 90),
383: (4, 100, 150, 140, 100, 90, 90),
384: (4, 105, 150, 90, 150, 90, 95),
385: (4, 100, 100, 100, 100, 100, 100),
386: (4, 50, 150, 50, 150, 50, 150),
387: (3, 55, 68, 64, 45, 55, 31),
388: (3, 75, 89, 85, 55, 65, 36),
389: (3, 95, 109, 105, 75, 85, 56),
390: (3, 44, 58, 44, 58, 44, 61),
391: (3, 64, 78, 52, 78, 52, 81),
392: (3, 76, 104, 71, 104, 71, 108),
393: (3, 53, 51, 53, 61, 56, 40),
394: (3, 64, 66, 68, 81, 76, 50),
395: (3, 84, 86, 88, 111, 101, 60),
396: (3, 40, 55, 30, 30, 30, 60),
397: (3, 55, 75, 50, 40, 40, 80),
398: (3, 85, 120, 70, 50, 50, 100),
399: (2, 59, 45, 40, 35, 40, 31),
400: (2, 79, 85, 60, 55, 60, 71),
401: (3, 37, 25, 41, 25, 41, 25),
402: (3, 77, 85, 51, 55, 51, 65),
403: (3, 45, 65, 34, 40, 34, 45),
404: (3, 60, 85, 49, 60, 49, 60),
405: (3, 80, 120, 79, 95, 79, 70),
406: (3, 40, 30, 35, 50, 70, 55),
407: (3, 60, 70, 55, 125, 105, 90),
408: (0, 67, 125, 40, 30, 30, 58),
409: (0, 97, 165, 60, 65, 50, 58),
410: (0, 30, 42, 118, 42, 88, 30),
411: (0, 60, 52, 168, 47, 138, 30),
412: (2, 40, 29, 45, 29, 45, 36),
413: (2, 60, 59, 85, 79, 105, 36),
414: (2, 70, 94, 50, 94, 50, 66),
415: (3, 30, 30, 42, 30, 42, 70),
416: (3, 70, 80, 102, 80, 102, 40),
417: (2, 60, 45, 70, 45, 90, 95),
418: (2, 55, 65, 35, 60, 30, 85),
419: (2, 85, 105, 55, 85, 50, 115),
420: (2, 45, 35, 45, 62, 53, 35),
421: (2, 70, 60, 70, 87, 78, 85),
422: (2, 76, 48, 48, 57, 62, 34),
423: (2, 111, 83, 68, 92, 82, 39),
424: (1, 75, 100, 66, 60, 66, 115),
425: (5, 90, 50, 34, 60, 44, 70),
426: (5, 150, 80, 44, 90, 54, 80),
427: (2, 55, 66, 44, 44, 56, 85),
428: (2, 65, 76, 84, 54, 96, 105),
429: (1, 60, 60, 60, 105, 105, 105),
430: (3, 100, 125, 52, 105, 52, 71),
431: (1, 49, 55, 42, 42, 37, 85),
432: (1, 71, 82, 64, 64, 59, 112),
433: (1, 45, 30, 50, 65, 50, 45),
434: (2, 63, 63, 47, 41, 41, 74),
435: (2, 103, 93, 67, 71, 61, 84),
436: (2, 57, 24, 86, 24, 86, 23),
437: (2, 67, 89, 116, 79, 116, 33),
438: (2, 50, 80, 95, 10, 45, 10),
439: (2, 20, 25, 45, 70, 90, 60),
440: (1, 100, 5, 5, 15, 65, 30),
441: (3, 76, 65, 45, 92, 42, 91),
442: (2, 50, 92, 108, 92, 108, 35),
443: (4, 58, 70, 45, 40, 45, 42),
444: (4, 68, 90, 65, 50, 55, 82),
445: (4, 108, 130, 95, 80, 85, 102),
446: (4, 135, 85, 40, 40, 85, 5),
447: (3, 40, 70, 40, 35, 40, 60),
448: (3, 70, 110, 70, 115, 70, 90),
449: (4, 68, 72, 78, 38, 42, 32),
450: (4, 108, 112, 118, 68, 72, 47),
451: (4, 40, 50, 90, 30, 55, 65),
452: (4, 70, 90, 110, 60, 75, 95),
453: (2, 48, 61, 40, 61, 40, 50),
454: (2, 83, 106, 65, 86, 65, 85),
455: (4, 74, 100, 72, 90, 72, 46),
456: (0, 49, 49, 56, 49, 61, 66),
457: (0, 69, 69, 76, 69, 86, 91),
458: (4, 45, 20, 50, 60, 120, 50),
459: (4, 60, 62, 50, 62, 60, 40),
460: (4, 90, 92, 75, 92, 85, 60),
461: (3, 70, 120, 65, 45, 85, 125),
462: (2, 70, 70, 115, 130, 90, 60),
463: (2, 110, 85, 95, 80, 95, 50),
464: (4, 115, 140, 130, 55, 55, 40),
465: (2, 100, 100, 125, 110, 50, 50),
466: (2, 75, 123, 67, 95, 85, 95),
467: (2, 75, 95, 67, 125, 95, 83),
468: (1, 85, 50, 95, 120, 115, 80),
469: (2, 86, 76, 86, 116, 56, 95),
470: (2, 65, 110, 130, 60, 65, 95),
471: (2, 65, 60, 110, 130, 95, 65),
472: (3, 75, 95, 125, 45, 75, 95),
473: (4, 110, 130, 80, 70, 60, 80),
474: (2, 85, 80, 70, 135, 75, 90),
475: (4, 68, 125, 65, 65, 115, 80),
476: (2, 60, 55, 145, 75, 150, 40),
477: (1, 45, 100, 135, 65, 135, 45),
478: (2, 70, 80, 70, 80, 70, 110),
479: (2, 50, 50, 77, 95, 77, 91),
480: (4, 75, 75, 130, 75, 130, 95),
481: (4, 80, 105, 105, 105, 105, 80),
482: (4, 75, 125, 70, 125, 70, 115),
483: (4, 100, 120, 120, 150, 100, 90),
484: (4, 90, 120, 100, 150, 120, 100),
485: (4, 91, 90, 106, 130, 106, 77),
486: (4, 110, 160, 110, 80, 110, 100),
487: (4, 150, 100, 120, 100, 120, 90),
488: (4, 120, 70, 120, 75, 130, 85),
489: (4, 80, 80, 80, 80, 80, 80),
490: (4, 100, 100, 100, 100, 100, 100),
491: (4, 70, 90, 90, 135, 90, 125),
492: (3, 100, 100, 100, 100, 100, 100),
493: (4, 120, 120, 120, 120, 120, 120),
494: (4, 100, 100, 100, 100, 100, 100),
495: (3, 45, 45, 55, 45, 55, 63),
496: (3, 60, 60, 75, 60, 75, 83),
497: (3, 75, 75, 95, 75, 95, 113),
498: (3, 65, 63, 45, 45, 45, 45),
499: (3, 90, 93, 55, 70, 55, 55),
500: (3, 110, 123, 65, 100, 65, 65),
501: (3, 55, 55, 45, 63, 45, 45),
502: (3, 75, 75, 60, 83, 60, 60),
503: (3, 95, 100, 85, 108, 70, 70),
504: (2, 45, 55, 39, 35, 39, 42),
505: (2, 60, 85, 69, 60, 69, 77),
506: (3, 45, 60, 45, 25, 45, 55),
507: (3, 65, 80, 65, 35, 65, 60),
508: (3, 85, 100, 90, 45, 90, 80),
509: (2, 41, 50, 37, 50, 37, 66),
510: (2, 64, 88, 50, 88, 50, 106),
511: (2, 50, 53, 48, 53, 48, 64),
512: (2, 75, 98, 63, 98, 63, 101),
513: (2, 50, 53, 48, 53, 48, 64),
514: (2, 75, 98, 63, 98, 63, 101),
515: (2, 50, 53, 48, 53, 48, 64),
516: (2, 75, 98, 63, 98, 63, 101),
517: (1, 76, 25, 45, 67, 55, 24),
518: (1, 116, 55, 85, 107, 95, 29),
519: (3, 50, 55, 50, 36, 30, 43),
520: (3, 62, 77, 62, 50, 42, 65),
521: (3, 80, 105, 80, 65, 55, 93),
522: (2, 45, 60, 32, 50, 32, 76),
523: (2, 75, 100, 63, 80, 63, 116),
524: (3, 55, 75, 85, 25, 25, 15),
525: (3, 70, 105, 105, 50, 40, 20),
526: (3, 85, 135, 130, 60, 70, 25),
527: (2, 55, 45, 43, 55, 43, 72),
528: (2, 67, 57, 55, 77, 55, 114),
529: (2, 60, 85, 40, 30, 45, 68),
530: (2, 110, 135, 60, 50, 65, 88),
531: (1, 103, 60, 86, 60, 86, 50),
532: (3, 75, 80, 55, 25, 35, 35),
533: (3, 85, 105, 85, 40, 50, 40),
534: (3, 105, 140, 95, 55, 65, 45),
535: (3, 50, 50, 40, 50, 40, 64),
536: (3, 75, 65, 55, 65, 55, 69),
537: (3, 105, 85, 75, 85, 75, 74),
538: (2, 120, 100, 85, 30, 85, 45),
539: (2, 75, 125, 75, 30, 75, 85),
540: (3, 45, 53, 70, 40, 60, 42),
541: (3, 55, 63, 90, 50, 80, 42),
542: (3, 75, 103, 80, 70, 70, 92),
543: (3, 30, 45, 59, 30, 39, 57),
544: (3, 40, 55, 99, 40, 79, 47),
545: (3, 60, 90, 89, 55, 69, 112),
546: (2, 40, 27, 60, 37, 50, 66),
547: (2, 60, 67, 85, 77, 75, 116),
548: (2, 45, 35, 50, 70, 50, 30),
549: (2, 70, 60, 75, 110, 75, 90),
550: (2, 70, 92, 65, 80, 55, 98),
551: (3, 50, 72, 35, 35, 35, 65),
552: (3, 60, 82, 45, 45, 45, 74),
553: (3, 95, 117, 70, 65, 70, 92),
554: (3, 70, 90, 45, 15, 45, 50),
555: (3, 105, 140, 55, 30, 55, 95),
556: (2, 75, 86, 67, 106, 67, 60),
557: (2, 50, 65, 85, 35, 35, 55),
558: (2, 70, 95, 125, 65, 75, 45),
559: (2, 50, 75, 70, 35, 70, 48),
560: (2, 65, 90, 115, 45, 115, 58),
561: (2, 72, 58, 80, 103, 80, 97),
562: (2, 38, 30, 85, 55, 65, 30),
563: (2, 58, 50, 145, 95, 105, 30),
564: (2, 54, 78, 103, 53, 45, 22),
565: (2, 74, 108, 133, 83, 65, 32),
566: (2, 55, 112, 45, 74, 45, 70),
567: (2, 75, 140, 65, 112, 65, 110),
568: (2, 50, 50, 62, 40, 62, 65),
569: (2, 80, 95, 82, 60, 82, 75),
570: (3, 40, 65, 40, 80, 40, 65),
571: (3, 60, 105, 60, 120, 60, 105),
572: (1, 55, 50, 40, 40, 40, 75),
573: (1, 75, 95, 60, 65, 60, 115),
574: (3, 45, 30, 50, 55, 65, 45),
575: (3, 60, 45, 70, 75, 85, 55),
576: (3, 70, 55, 95, 95, 110, 65),
577: (3, 45, 30, 40, 105, 50, 20),
578: (3, 65, 40, 50, 125, 60, 30),
579: (3, 110, 65, 75, 125, 85, 30),
580: (2, 62, 44, 50, 44, 50, 55),
581: (2, 75, 87, 63, 87, 63, 98),
582: (4, 36, 50, 50, 65, 60, 44),
583: (4, 51, 65, 65, 80, 75, 59),
584: (4, 71, 95, 85, 110, 95, 79),
585: (2, 60, 60, 50, 40, 50, 75),
586: (2, 80, 100, 70, 60, 70, 95),
587: (2, 55, 75, 60, 75, 60, 103),
588: (2, 50, 75, 45, 40, 45, 60),
589: (2, 70, 135, 105, 60, 105, 20),
590: (2, 69, 55, 45, 55, 55, 15),
591: (2, 114, 85, 70, 85, 80, 30),
592: (2, 55, 40, 50, 65, 85, 40),
593: (2, 100, 60, 70, 85, 105, 60),
594: (1, 165, 75, 80, 40, 45, 65),
595: (2, 50, 47, 50, 57, 50, 65),
596: (2, 70, 77, 60, 97, 60, 108),
597: (2, 44, 50, 91, 24, 86, 10),
598: (2, 74, 94, 131, 54, 116, 20),
599: (3, 40, 55, 70, 45, 60, 30),
600: (3, 60, 80, 95, 70, 85, 50),
601: (3, 60, 100, 115, 70, 85, 90),
602: (4, 35, 55, 40, 45, 40, 60),
603: (4, 65, 85, 70, 75, 70, 40),
604: (4, 85, 115, 80, 105, 80, 50),
605: (2, 55, 55, 55, 85, 55, 30),
606: (2, 75, 75, 75, 125, 95, 40),
607: (3, 50, 30, 55, 65, 55, 20),
608: (3, 60, 40, 60, 95, 60, 55),
609: (3, 60, 55, 90, 145, 90, 80),
610: (4, 46, 87, 60, 30, 40, 57),
611: (4, 66, 117, 70, 40, 50, 67),
612: (4, 76, 147, 90, 60, 70, 97),
613: (2, 55, 70, 40, 60, 40, 40),
614: (2, 95, 110, 80, 70, 80, 50),
615: (2, 70, 50, 30, 95, 135, 105),
616: (2, 50, 40, 85, 40, 65, 25),
617: (2, 80, 70, 40, 100, 60, 145),
618: (2, 109, 66, 84, 81, 99, 32),
619: (3, 45, 85, 50, 55, 50, 65),
620: (3, 65, 125, 60, 95, 60, 105),
621: (2, 77, 120, 90, 60, 90, 48),
622: (2, 59, 74, 50, 35, 50, 35),
623: (2, 89, 124, 80, 55, 80, 55),
624: (2, 45, 85, 70, 40, 40, 60),
625: (2, 65, 125, 100, 60, 70, 70),
626: (2, 95, 110, 95, 40, 95, 55),
627: (4, 70, 83, 50, 37, 50, 60),
628: (4, 100, 123, 75, 57, 75, 80),
629: (4, 70, 55, 75, 45, 65, 60),
630: (4, 110, 65, 105, 55, 95, 80),
631: (2, 85, 97, 66, 105, 66, 65),
632: (2, 58, 109, 112, 48, 48, 109),
633: (4, 52, 65, 50, 45, 50, 38),
634: (4, 72, 85, 70, 65, 70, 58),
635: (4, 92, 105, 90, 125, 90, 98),
636: (4, 55, 85, 55, 50, 55, 60),
637: (4, 85, 60, 65, 135, 105, 100),
638: (4, 91, 90, 129, 90, 72, 108),
639: (4, 91, 129, 90, 72, 90, 108),
640: (4, 91, 90, 72, 90, 129, 108),
641: (4, 79, 115, 70, 125, 80, 111),
642: (4, 79, 115, 70, 125, 80, 111),
643: (4, 100, 120, 100, 150, 120, 90),
644: (4, 100, 150, 120, 120, 100, 90),
645: (4, 89, 125, 90, 115, 80, 101),
646: (4, 125, 130, 90, 130, 90, 95),
647: (4, 91, 72, 90, 129, 90, 108),
648: (4, 100, 77, 77, 128, 128, 90),
649: (4, 71, 120, 95, 120, 95, 99)
}
# Exp lookup table
lvlexp = {
1: (0, 0, 0, 0, 0, 0),
2: (15, 6, 8, 9, 10, 4),
3: (52, 21, 27, 57, 33, 13),
4: (122, 51, 64, 96, 80, 32),
5: (237, 100, 125, 135, 156, 65),
6: (406, 172, 216, 179, 270, 112),
7: (637, 274, 343, 236, 428, 178),
8: (942, 409, 512, 314, 640, 276),
9: (1326, 583, 729, 419, 911, 393),
10: (1800, 800, 1000, 560, 1250, 540),
11: (2369, 1064, 1331, 742, 1663, 745),
12: (3041, 1382, 1728, 973, 2160, 967),
13: (3822, 1757, 2197, 1261, 2746, 1230),
14: (4719, 2195, 2744, 1612, 3430, 1591),
15: (5737, 2700, 3375, 2035, 4218, 1957),
16: (6881, 3276, 4096, 2535, 5120, 2457),
17: (8155, 3930, 4913, 3120, 6141, 3046),
18: (9564, 4665, 5832, 3798, 7290, 3732),
19: (11111, 5487, 6859, 4575, 8573, 4526),
20: (12800, 6400, 8000, 5460, 10000, 5440),
21: (14632, 7408, 9261, 6458, 11576, 6482),
22: (16610, 8518, 10648, 7577, 13310, 7666),
23: (18737, 9733, 12167, 8825, 15208, 9003),
24: (21012, 11059, 13824, 10208, 17280, 10506),
25: (23437, 12500, 15625, 11735, 19531, 12187),
26: (26012, 14060, 17576, 13411, 21970, 14060),
27: (28737, 15746, 19683, 15244, 24603, 16140),
28: (31610, 17561, 21952, 17242, 27440, 18439),
29: (34632, 19511, 24389, 19411, 30486, 20974),
30: (37800, 21600, 27000, 21760, 33750, 23760),
31: (41111, 23832, 29791, 24294, 37238, 26811),
32: (44564, 26214, 32768, 27021, 40960, 30146),
33: (48155, 28749, 35937, 29949, 44921, 33780),
34: (51881, 31443, 39304, 33084, 49130, 37731),
35: (55737, 34300, 42875, 36435, 53593, 42017),
36: (59719, 37324, 46656, 40007, 58320, 46656),
37: (63822, 40522, 50653, 43808, 63316, 50653),
38: (68041, 43897, 54872, 47846, 68590, 55969),
39: (72369, 47455, 59319, 52127, 74148, 60505),
40: (76800, 51200, 64000, 56660, 80000, 66560),
41: (81326, 55136, 68921, 61450, 86151, 71677),
42: (85942, 59270, 74088, 66505, 92610, 78533),
43: (90637, 63605, 79507, 71833, 99383, 84277),
44: (95406, 68147, 85184, 77440, 106480, 91998),
45: (100237, 72900, 91125, 83335, 113906, 98415),
46: (105122, 77868, 97336, 89523, 121670, 107069),
47: (110052, 83058, 103823, 96012, 129778, 114205),
48: (115015, 88473, 110592, 102810, 138240, 123863),
49: (120001, 94119, 117649, 109923, 147061, 131766),
50: (125000, 100000, 125000, 117360, 156250, 142500),
51: (131324, 106120, 132651, 125126, 165813, 151222),
52: (137795, 112486, 140608, 133229, 175760, 163105),
53: (144410, 119101, 148877, 141677, 186096, 172697),
54: (151165, 125971, 157464, 150476, 196830, 185807),
55: (158056, 133100, 166375, 159635, 207968, 196322),
56: (165079, 140492, 175616, 169159, 219520, 210739),
57: (172229, 148154, 185193, 179056, 231491, 222231),
58: (179503, 156089, 195112, 189334, 243890, 238036),
59: (186894, 164303, 205379, 199999, 256723, 250562),
60: (194400, 172800, 216000, 211060, 270000, 267840),
61: (202013, 181584, 226981, 222522, 283726, 281456),
62: (209728, 190662, 238328, 234393, 297910, 300293),
63: (217540, 200037, 250047, 246681, 312558, 315059),
64: (225443, 209715, 262144, 259392, 327680, 335544),
65: (233431, 219700, 274625, 272535, 343281, 351520),
66: (241496, 229996, 287496, 286115, 359370, 373744),
67: (249633, 240610, 300763, 300140, 375953, 390991),
68: (257834, 251545, 314432, 314618, 393040, 415050),
69: (267406, 262807, 328509, 329555, 410636, 433631),
70: (276458, 274400, 343000, 344960, 428750, 459620),
71: (286328, 286328, 357911, 360838, 447388, 479600),
72: (296358, 298598, 373248, 377197, 466560, 507617),
73: (305767, 311213, 389017, 394045, 486271, 529063),
74: (316074, 324179, 405224, 411388, 506530, 559209),
75: (326531, 337500, 421875, 429235, 527343, 582187),
76: (336255, 351180, 438976, 447591, 548720, 614566),
77: (346965, 365226, 456533, 466464, 570666, 639146),
78: (357812, 379641, 474552, 485862, 593190, 673863),
79: (367807, 394431, 493039, 505791, 616298, 700115),
80: (378880, 409600, 512000, 526260, 640000, 737280),
81: (390077, 425152, 531441, 547274, 664301, 765275),
82: (400293, 441094, 551368, 568841, 689210, 804997),
83: (411686, 457429, 571787, 590969, 714733, 834809),
84: (423190, 474163, 592704, 613664, 740880, 877201),
85: (433572, 491300, 614125, 636935, 767656, 908905),
86: (445239, 508844, 636056, 660787, 795070, 954084),
87: (457001, 526802, 658503, 685228, 823128, 987754),
88: (467489, 545177, 681472, 710266, 851840, 1035837),
89: (479378, 563975, 704969, 735907, 881211, 1071552),
90: (491346, 583200, 729000, 762160, 911250, 1122660),
91: (501878, 602856, 753571, 789030, 941963, 1160499),
92: (513934, 622950, 778688, 816525, 973360, 1214753),
93: (526049, 643485, 804357, 844653, 1005446, 1254796),
94: (536557, 664467, 830584, 873420, 1038230, 1312322),
95: (548720, 685900, 857375, 902835, 1071718, 1354652),
96: (560922, 707788, 884736, 932903, 1105920, 1415577),
97: (571333, 730138, 912673, 963632, 1140841, 1460276),
98: (583539, 752953, 941192, 995030, 1176490, 1524731),
99: (591882, 776239, 970299, 1027103, 1212873, 1571884),
100: (600000, 800000, 1000000, 1059860, 1250000, 1640000)
}
name = {
0xa1: '0',
0xa2: '1',