Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2015
499
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.58 KB | None | 0 0
  1. import binascii
  2. import os
  3. from array import array
  4. print "___________________________________________________________"
  5. print "All y/n ? = Export all 6 pokemon?, Slot = what slot to start at, Dirctory = drag ram.raw in, OT = input your OT case sensitive"
  6. print "___________________________________________________________"
  7. print " "
  8. d = raw_input('All? y/n ') #Export all 6 pokemon?
  9. j = int(raw_input('slot: ')) #slot to start at
  10. direct = raw_input('Directory? ') #input directory
  11. OT = raw_input('OT: ')
  12. os.getcwd()
  13. os.chdir(os.getcwd()+"\Desktop")
  14. print os.getcwd()
  15. In1 = OT[:1] #Decode the OT into characters
  16. In2 = OT[1:2]
  17. In3 = OT[2:3]
  18. In4 = OT[3:4]
  19. In5 = OT[4:5]
  20. In6 = OT[5:6]
  21. In7 = OT[6:7]
  22. In1 = binascii.hexlify(In1)
  23. In2 = binascii.hexlify(In2)
  24. In3 = binascii.hexlify(In3)
  25. In4 = binascii.hexlify(In4)
  26. In5 = binascii.hexlify(In5)
  27. In6 = binascii.hexlify(In6)
  28. In7 = binascii.hexlify(In7)
  29. OThex = str('00' + In1 + '00' + In2 + '00' + In3 + '00' + In4 + '00' + In5 +'00' + In6 +'00' + In7) #rebuild hex of OT
  30. f = open(direct, 'rb') #open the ram.raw
  31. party1 = f.read()
  32. party1 = binascii.hexlify(party1)
  33.  
  34. i = 9000000 #approximate offset of the party
  35. party = 0
  36. if any(j in party1 for j in OThex):
  37. while party == 0: #search for the OT to locate party
  38. check = party1[i:i+len(OThex)]
  39. if check == OThex:
  40. party = party1[i:i+3800]
  41. print "party located at: " + hex(i)
  42. if i == 12000000:
  43. print "ERROR: no party located, check OT, it is case sensitive"
  44. quit()
  45. i = i+1
  46.  
  47. def pokemonconvert(party,j): #conversion program
  48. if j == 1:
  49. pokemonwritefile = "pokemon1.pkm" #obtain which pokemon is being exported
  50. if j == 2:
  51. pokemonwritefile = "pokemon2.pkm"
  52. if j == 3:
  53. pokemonwritefile = "pokemon3.pkm"
  54. if j == 4:
  55. pokemonwritefile = "pokemon4.pkm"
  56. if j == 5:
  57. pokemonwritefile = "pokemon5.pkm"
  58. if j == 6:
  59. pokemonwritefile = "pokemon6.pkm"
  60. print "_____________________________"
  61. print pokemonwritefile
  62. print "_____________________________"
  63. OT = party[:56]
  64. OT1 = party[2:4]
  65. OT2 = party[6:8]
  66. OT3 = party[10:12]
  67. OT4 = party[14:16]
  68. OT5 = party[18:20]
  69. OT6 = party[22:24]
  70. OT7 = party[26:28]
  71. OT = " " + OT1.decode("hex") + OT2.decode("hex") + OT3.decode("hex") + OT4.decode("hex") + OT5.decode("hex") + OT6.decode("hex")+ OT7.decode("hex")
  72. print 'OT: ' + OT
  73. SID = party[88:92]
  74. SID = int(SID,16)
  75. print 'SID: ' +str(SID)
  76. ID = party[92:96]
  77. ID = int(ID,16)
  78. print 'ID: ' + str(ID)
  79. if j == 1: #offsets for each pokemon
  80. i = 98
  81. if j == 2:
  82. i = 490
  83. if j == 3:
  84. i = 882
  85. if j == 4:
  86. i = 1274
  87. if j == 5:
  88. i = 1666
  89. if j == 6:
  90. i = 2058
  91.  
  92. print "_____________________________"
  93. species = party[i-2:i+2]
  94. if species == "0000":
  95. print "**Empty slot**"
  96. quit()
  97. print "species: " + species
  98. #pokemon data grabber
  99. metlocation = party[i+16:i+18]
  100. print "met location: " + metlocation
  101. happiness = party[i+12:i+14]
  102. print "happiness: " + str(int(happiness, 16))
  103. metlevel = party[i+26:i+28]
  104. print "met level: " + str(int(metlevel,16))
  105. ball = party[i+28:i+30]
  106. if int(ball,16) == 1:
  107. pokeball = 'masterball'
  108. if int(ball,16) == 2:
  109. pokeball = 'ultraball'
  110. if int(ball,16) == 3:
  111. pokeball = 'greatball'
  112. if int(ball,16) == 4:
  113. pokeball = 'pokeball'
  114. if int(ball,16) == 5:
  115. pokeball = 'safariball'
  116. if int(ball,16) == 6:
  117. pokeball = 'netball'
  118. if int(ball,16) == 7:
  119. pokeball = 'diveball'
  120. if int(ball,16) == 8:
  121. pokeball = 'nestball'
  122. if int(ball,16) == 9:
  123. pokeball = 'repeatball'
  124. if int(ball,16) == 10:
  125. pokeball = 'timerball'
  126. if int(ball,16) == 11:
  127. pokeball = 'luxball'
  128. if int(ball,16) == 12:
  129. pokeball = 'premeirball'
  130. print "ball: " + pokeball
  131. exp = party[i+62:i+70]
  132. SID = party[i+70:i+74]
  133. TID = party[i+74:i+78]
  134. PID = party[i+78:i+86]
  135. pOT1 = party[i+112:i+114]
  136. pOT2 = party[i+116:i+118]
  137. pOT3 = party[i+120:i+122]
  138. pOT4 = party[i+124:i+126]
  139. pOT5 = party[i+128:i+130]
  140. pOT6 = party[i+132:i+134]
  141. pOT7 = party[i+136:i+138]
  142. pOT = " " + pOT1.decode("hex") + pOT2.decode("hex") + pOT3.decode("hex") + pOT4.decode("hex") + pOT5.decode("hex") + pOT6.decode("hex")+ pOT7.decode("hex")
  143. print 'OT: ' + pOT
  144. print "SID: " + str(int(SID,16))
  145. print "TID: " + str(int(TID,16))
  146. print "PID: " + PID
  147. print "Exp: " + str(int(exp,16))
  148. nickname1 = party[i+156:i+158]
  149. nickname2 = party[i+160:i+162]
  150. nickname3 = party[i+164:i+166]
  151. nickname4 = party[i+168:i+170]
  152. nickname5 = party[i+172:i+174]
  153. nickname6 = party[i+176:i+178]
  154. nickname7 = party[i+180:i+182]
  155. nickname8 = party[i+184:i+186]
  156. nickname9 = party[i+188:i+190]
  157. nickname10 = party[i+192:i+194]
  158. nn = "Nickname: " + nickname1.decode("hex") + nickname2.decode("hex") + nickname3.decode("hex") + nickname4.decode("hex") + nickname5.decode("hex") + nickname6.decode("hex")+ nickname7.decode("hex") + nickname8.decode("hex") + nickname9.decode("hex") + nickname10.decode("hex")
  159. print nn
  160. ribbons = party[i+246:i+249]
  161. Splist = ["0098","009A","009B","009C","009D","009E","009F","00A0","0085","0086","0087","0088","00C4","00C5","00BB","00BC","00BD","00E7","00E8","0137","0138","0029","0030","00A9","017E","017F","0180","00C2","00C3","001B","001C","00CF","014C","014D","014E","0164","0165","00D5","00F6","00F7","00F8"]
  162. if int(ribbons,16) == 004:
  163. rb = "Ribbons: national ribbon"
  164. if int(ribbons,16) == 006:
  165. rb = "Ribbons: national ribbon + earth ribbon"
  166. if int(ribbons,16) == 000:
  167. rb = "Ribbons: none"
  168. if ribbons == "000":
  169. if species not in Splist:
  170. print "This pokemon is not purified, please purify before conversion"
  171. quit()
  172. print rb
  173. move1 = party[i+254:i+258]
  174. move1pp = party[i+258:i+260]
  175. move2 = party[i+262:i+266]
  176. move2pp = party[i+266:i+268]
  177. move3 = party[i+270:i+274]
  178. move3pp = party[i+274:i+276]
  179. move4 = party[i+278:i+282]
  180. move4pp = party[i+282:i+284]
  181. print " " + move1 + " PP: " + str(int(move1pp,16))
  182. print " " +move2 + " PP: " + str(int(move2pp,16))
  183. print " " +move3 + " PP: " + str(int(move3pp,16))
  184. print " " +move4 + " PP: " + str(int(move4pp,16))
  185. HPev = party[i+312:i+314]
  186. ATKev = party[i+316:i+318]
  187. DEFev = party[i+320:i+322]
  188. SPATKev = party[i+324:i+326]
  189. SPDEFev = party[i+328:i+330]
  190. SPEEDev = party[i+332:i+334]
  191. print "EVs: " + str(int(HPev,16)) + " " + str(int(ATKev,16)) + " " +str(int(DEFev,16)) +" " + str(int(SPATKev,16)) + " "+ str(int(SPDEFev,16)) +" "+ str(int(SPEEDev,16))
  192. HPiv = party[i+334:i+336]
  193. ATKiv = party[i+336:i+338]
  194. DEFiv = party[i+338:i+340]
  195. SPATKiv = party[i+340:i+342]
  196. SPDEFiv = party[i+342:i+344]
  197. SPEEDiv = party[i+344:i+346]
  198. print "IVs: " + str(int(HPiv,16)) + "/" + str(int(ATKiv,16)) + "/" +str(int(DEFiv,16)) +"/" + str(int(SPATKiv,16)) + "/"+ str(int(SPDEFiv,16)) +"/"+ str(int(SPEEDiv,16))
  199. binhp = bin(int(HPiv,16))
  200. binhp = binhp[2:]
  201. while len(binhp) < 5:
  202. binhp = "0"+binhp
  203. binatk = bin(int(ATKiv,16))
  204. binatk = binatk[2:]
  205. while len(binatk) < 5:
  206. binatk = "0"+binatk
  207. bindef = bin(int(DEFiv,16))
  208. bindef = bindef[2:]
  209. while len(bindef) < 5:
  210. bindef = "0"+bindef
  211. binspa = bin(int(SPATKiv,16))
  212. binspa = binspa[2:]
  213. while len(binspa) < 5:
  214. binspa = "0"+binspa
  215. binspd = bin(int(SPDEFiv,16))
  216. binspd = binspd[2:]
  217. while len(binspd) < 5:
  218. binspd = "0"+binspd
  219. binspe = bin(int(SPEEDiv,16))
  220. binspe = binspe[2:]
  221. while len(binspe) < 5:
  222. binspe = "0"+binspe
  223. IVtotal = "00"+binspd+binspa+binspe+bindef+binatk+binhp
  224. IVtotal = hex(int(IVtotal,2))
  225. print "IVs condensed: " + IVtotal
  226.  
  227.  
  228.  
  229. #build gen3 filestring
  230. Gen3pid = PID[6:8] + PID[4:6] +PID[2:4] + PID[0:2]
  231. Gen3sid = SID[2:4] + SID[0:2]
  232. Gen3tid = TID[2:4] + TID[0:2]
  233. Gen3exp = exp[6:8] + exp[4:6] +exp[2:4] + exp[0:2]
  234. Gen3spec = species[2:4] + species[0:2]
  235.  
  236. if int(nickname1,16) < 90 and int(nickname1,16) > 64:
  237. o = 122
  238. if int(nickname1,16) < 123 and int(nickname1,16) > 96:
  239. o = 116
  240. if int(nickname1,16) < 58 and int(nickname1,16) > 47:
  241. o = 113
  242. if int(nickname1,16) == 33:
  243. o = 138
  244. if int(nickname1,16) == 63:
  245. o = 109
  246. if int(nickname1,16) == 45:
  247. o = 129
  248. if int(nickname1,16) == 47:
  249. o = 139
  250. if int(nickname1,16) == 39:
  251. o = 140
  252. if int(nickname1,16) == 46:
  253. o = 129
  254. if int(nickname1,16) == 44:
  255. o = 140
  256. Gen3nick1 = hex(int(nickname1,16) + o)
  257. if o == 122 and int(Gen3nick1,16) == 0x7a:
  258. Gen3nick1 = "0xFF"
  259. if o == 116 and int(Gen3nick1,16) == 0x74:
  260. Gen3nick1 = "0xFF"
  261. if o == 113 and int(Gen3nick1,16) == 0x71:
  262. Gen3nick1 = "0xFF"
  263. if o == 138 and int(Gen3nick1,16) == 0x8a:
  264. Gen3nick1 = "0xFF"
  265. if o == 109 and int(Gen3nick1,16) == 0x6d:
  266. Gen3nick1 = "0xFF"
  267. if o == 129 and int(Gen3nick1,16) == 0x81:
  268. Gen3nick1 = "0xFF"
  269. if o == 139 and int(Gen3nick1,16) == 0x8B:
  270. Gen3nick1 = "0xFF"
  271. if o == 140 and int(Gen3nick1,16) == 0x8c:
  272. Gen3nick1 = "0xFF"
  273. if o == 129 and int(Gen3nick1,16) == 0x81:
  274. Gen3nick1 = "0xFF"
  275. if o == 140 and int(Gen3nick1,16) == 0x8c:
  276. Gen3nick1 = "0xFF"
  277.  
  278. if int(nickname2,16) < 90 and int(nickname2,16) > 64:
  279. o = 122
  280. if int(nickname2,16) < 123 and int(nickname2,16) > 96:
  281. o = 116
  282. if int(nickname2,16) < 58 and int(nickname2,16) > 47:
  283. o = 113
  284. if int(nickname2,16) == 33:
  285. o = 138
  286. if int(nickname2,16) == 63:
  287. o = 109
  288. if int(nickname2,16) == 45:
  289. o = 129
  290. if int(nickname2,16) == 47:
  291. o = 139
  292. if int(nickname2,16) == 39:
  293. o = 140
  294. if int(nickname2,16) == 46:
  295. o = 129
  296. if int(nickname2,16) == 44:
  297. o = 140
  298. Gen3nick2 = hex(int(nickname2,16) + o)
  299. if o == 122 and int(Gen3nick2,16) == 0x7a:
  300. Gen3nick2 = "0xFF"
  301. if o == 116 and int(Gen3nick2,16) == 0x74:
  302. Gen3nick2 = "0xFF"
  303. if o == 113 and int(Gen3nick2,16) == 0x71:
  304. Gen3nick2 = "0xFF"
  305. if o == 138 and int(Gen3nick2,16) == 0x8a:
  306. Gen3nick2 = "0xFF"
  307. if o == 109 and int(Gen3nick2,16) == 0x6d:
  308. Gen3nick2 = "0xFF"
  309. if o == 129 and int(Gen3nick2,16) == 0x81:
  310. Gen3nick2 = "0xFF"
  311. if o == 139 and int(Gen3nick2,16) == 0x8B:
  312. Gen3nick2 = "0xFF"
  313. if o == 140 and int(Gen3nick2,16) == 0x8c:
  314. Gen3nick2 = "0xFF"
  315. if o == 129 and int(Gen3nick2,16) == 0x81:
  316. Gen3nick2 = "0xFF"
  317. if o == 140 and int(Gen3nick2,16) == 0x8c:
  318. Gen3nick2 = "0xFF"
  319. if Gen3nick1 == '0xFF' or Gen3nick1 == '0x00':
  320. Gen3nick2 = "0x00"
  321.  
  322. if int(nickname3,16) < 90 and int(nickname3,16) > 64:
  323. o = 122
  324. if int(nickname3,16) < 123 and int(nickname3,16) > 96:
  325. o = 116
  326. if int(nickname3,16) < 58 and int(nickname3,16) > 47:
  327. o = 113
  328. if int(nickname3,16) == 33:
  329. o = 138
  330. if int(nickname3,16) == 63:
  331. o = 109
  332. if int(nickname3,16) == 45:
  333. o = 129
  334. if int(nickname3,16) == 47:
  335. o = 139
  336. if int(nickname3,16) == 39:
  337. o = 140
  338. if int(nickname3,16) == 46:
  339. o = 129
  340. if int(nickname3,16) == 44:
  341. o = 140
  342. Gen3nick3 = hex(int(nickname3,16) + o)
  343. if o == 122 and int(Gen3nick3,16) == 0x7a:
  344. Gen3nick3 = "0xFF"
  345. if o == 116 and int(Gen3nick3,16) == 0x74:
  346. Gen3nick3 = "0xFF"
  347. if o == 113 and int(Gen3nick3,16) == 0x71:
  348. Gen3nick3 = "0xFF"
  349. if o == 138 and int(Gen3nick3,16) == 0x8a:
  350. Gen3nick3 = "0xFF"
  351. if o == 109 and int(Gen3nick3,16) == 0x6d:
  352. Gen3nick3 = "0xFF"
  353. if o == 129 and int(Gen3nick3,16) == 0x81:
  354. Gen3nick3 = "0xFF"
  355. if o == 139 and int(Gen3nick3,16) == 0x8B:
  356. Gen3nick3 = "0xFF"
  357. if o == 140 and int(Gen3nick3,16) == 0x8c:
  358. Gen3nick3 = "0xFF"
  359. if o == 129 and int(Gen3nick3,16) == 0x81:
  360. Gen3nick3 = "0xFF"
  361. if o == 140 and int(Gen3nick3,16) == 0x8c:
  362. Gen3nick3 = "0xFF"
  363. if Gen3nick2 == '0xFF' or Gen3nick2 == '0x00':
  364. Gen3nick3 = "0x00"
  365.  
  366. if int(nickname4,16) < 90 and int(nickname4,16) > 64:
  367. o = 122
  368. if int(nickname4,16) < 123 and int(nickname4,16) > 96:
  369. o = 116
  370. if int(nickname4,16) < 58 and int(nickname4,16) > 47:
  371. o = 113
  372. if int(nickname4,16) == 33:
  373. o = 138
  374. if int(nickname4,16) == 63:
  375. o = 109
  376. if int(nickname4,16) == 45:
  377. o = 129
  378. if int(nickname4,16) == 47:
  379. o = 139
  380. if int(nickname4,16) == 39:
  381. o = 140
  382. if int(nickname4,16) == 46:
  383. o = 129
  384. if int(nickname4,16) == 44:
  385. o = 140
  386. Gen3nick4 = hex(int(nickname4,16) + o)
  387. if o == 122 and int(Gen3nick4,16) == 0x7a:
  388. Gen3nick4 = "0xFF"
  389. if o == 116 and int(Gen3nick4,16) == 0x74:
  390. Gen3nick4 = "0xFF"
  391. if o == 113 and int(Gen3nick4,16) == 0x71:
  392. Gen3nick4 = "0xFF"
  393. if o == 138 and int(Gen3nick4,16) == 0x8a:
  394. Gen3nick4 = "0xFF"
  395. if o == 109 and int(Gen3nick4,16) == 0x6d:
  396. Gen3nick4 = "0xFF"
  397. if o == 129 and int(Gen3nick4,16) == 0x81:
  398. Gen3nick4 = "0xFF"
  399. if o == 139 and int(Gen3nick4,16) == 0x8B:
  400. Gen3nick4 = "0xFF"
  401. if o == 140 and int(Gen3nick4,16) == 0x8c:
  402. Gen3nick4 = "0xFF"
  403. if o == 129 and int(Gen3nick4,16) == 0x81:
  404. Gen3nick4 = "0xFF"
  405. if o == 140 and int(Gen3nick4,16) == 0x8c:
  406. Gen3nick4 = "0xFF"
  407. if Gen3nick3 == '0xFF' or Gen3nick3 == '0x00':
  408. Gen3nick4 = "0x00"
  409.  
  410.  
  411. if int(nickname5,16) < 90 and int(nickname5,16) > 64:
  412. o = 122
  413. if int(nickname5,16) < 123 and int(nickname5,16) > 96:
  414. o = 116
  415. if int(nickname5,16) < 58 and int(nickname5,16) > 47:
  416. o = 113
  417. if int(nickname5,16) == 33:
  418. o = 138
  419. if int(nickname5,16) == 63:
  420. o = 109
  421. if int(nickname5,16) == 45:
  422. o = 129
  423. if int(nickname5,16) == 47:
  424. o = 139
  425. if int(nickname5,16) == 39:
  426. o = 140
  427. if int(nickname5,16) == 46:
  428. o = 129
  429. if int(nickname5,16) == 44:
  430. o = 140
  431. Gen3nick5 = hex(int(nickname5,16) + o)
  432.  
  433. if o == 122 and int(Gen3nick5,16) == 0x7a:
  434. Gen3nick5 = "0xFF"
  435. if o == 116 and int(Gen3nick5,16) == 0x74:
  436. Gen3nick5 = "0xFF"
  437. if o == 113 and int(Gen3nick5,16) == 0x71:
  438. Gen3nick5 = "0xFF"
  439. if o == 138 and int(Gen3nick5,16) == 0x8a:
  440. Gen3nick5 = "0xFF"
  441. if o == 109 and int(Gen3nick5,16) == 0x6d:
  442. Gen3nick5 = "0xFF"
  443. if o == 129 and int(Gen3nick5,16) == 0x81:
  444. Gen3nick5 = "0xFF"
  445. if o == 139 and int(Gen3nick5,16) == 0x8B:
  446. Gen3nick5 = "0xFF"
  447. if o == 140 and int(Gen3nick5,16) == 0x8c:
  448. Gen3nick5 = "0xFF"
  449. if o == 129 and int(Gen3nick5,16) == 0x81:
  450. Gen3nick5 = "0xFF"
  451. if o == 140 and int(Gen3nick5,16) == 0x8c:
  452. Gen3nick5 = "0xFF"
  453. if Gen3nick4 == '0xFF' or Gen3nick4 == '0x00':
  454. Gen3nick5 = "0x00"
  455.  
  456.  
  457. if int(nickname6,16) < 90 and int(nickname6,16) > 64:
  458. o = 122
  459. if int(nickname6,16) < 123 and int(nickname6,16) > 96:
  460. o = 116
  461. if int(nickname6,16) < 58 and int(nickname6,16) > 47:
  462. o = 113
  463. if int(nickname6,16) == 33:
  464. o = 138
  465. if int(nickname6,16) == 63:
  466. o = 109
  467. if int(nickname6,16) == 45:
  468. o = 129
  469. if int(nickname6,16) == 47:
  470. o = 139
  471. if int(nickname6,16) == 39:
  472. o = 140
  473. if int(nickname6,16) == 46:
  474. o = 129
  475. if int(nickname6,16) == 44:
  476. o = 140
  477. Gen3nick6 = hex(int(nickname6,16) + o)
  478. if o == 122 and int(Gen3nick6,16) == 0x7a:
  479. Gen3nick6 = "0xFF"
  480. if o == 116 and int(Gen3nick6,16) == 0x74:
  481. Gen3nick6 = "0xFF"
  482. if o == 113 and int(Gen3nick6,16) == 0x71:
  483. Gen3nick6 = "0xFF"
  484. if o == 138 and int(Gen3nick6,16) == 0x8a:
  485. Gen3nick6 = "0xFF"
  486. if o == 109 and int(Gen3nick6,16) == 0x6d:
  487. Gen3nick6 = "0xFF"
  488. if o == 129 and int(Gen3nick6,16) == 0x81:
  489. Gen3nick6 = "0xFF"
  490. if o == 139 and int(Gen3nick6,16) == 0x8B:
  491. Gen3nick6 = "0xFF"
  492. if o == 140 and int(Gen3nick6,16) == 0x8c:
  493. Gen3nick6 = "0xFF"
  494. if o == 129 and int(Gen3nick6,16) == 0x81:
  495. Gen3nick6 = "0xFF"
  496. if o == 140 and int(Gen3nick6,16) == 0x8c:
  497. Gen3nick6 = "0xFF"
  498. if Gen3nick5 == '0xFF' or Gen3nick5 == '0x00':
  499. Gen3nick6 = "0x00"
  500.  
  501. if int(nickname7,16) < 90 and int(nickname7,16) > 64:
  502. o = 122
  503. if int(nickname7,16) < 123 and int(nickname7,16) > 96:
  504. o = 116
  505. if int(nickname7,16) < 58 and int(nickname7,16) > 47:
  506. o = 113
  507. if int(nickname7,16) == 33:
  508. o = 138
  509. if int(nickname7,16) == 63:
  510. o = 109
  511. if int(nickname7,16) == 45:
  512. o = 129
  513. if int(nickname7,16) == 47:
  514. o = 139
  515. if int(nickname7,16) == 39:
  516. o = 140
  517. if int(nickname7,16) == 46:
  518. o = 129
  519. if int(nickname7,16) == 44:
  520. o = 140
  521. Gen3nick7 = hex(int(nickname7,16) + o)
  522. if o == 122 and int(Gen3nick7,16) == 0x7a:
  523. Gen3nick7 = "0xFF"
  524. if o == 116 and int(Gen3nick7,16) == 0x74:
  525. Gen3nick7 = "0xFF"
  526. if o == 113 and int(Gen3nick7,16) == 0x71:
  527. Gen3nick7 = "0xFF"
  528. if o == 138 and int(Gen3nick7,16) == 0x8a:
  529. Gen3nick7 = "0xFF"
  530. if o == 109 and int(Gen3nick7,16) == 0x6d:
  531. Gen3nick7 = "0xFF"
  532. if o == 129 and int(Gen3nick7,16) == 0x81:
  533. Gen3nick7 = "0xFF"
  534. if o == 139 and int(Gen3nick7,16) == 0x8B:
  535. Gen3nick7 = "0xFF"
  536. if o == 140 and int(Gen3nick7,16) == 0x8c:
  537. Gen3nick7 = "0xFF"
  538. if o == 129 and int(Gen3nick7,16) == 0x81:
  539. Gen3nick7 = "0xFF"
  540. if o == 140 and int(Gen3nick7,16) == 0x8c:
  541. Gen3nick7 = "0xFF"
  542. if Gen3nick6 == '0xFF' or Gen3nick6 == '0x00':
  543. Gen3nick7 = "0x00"
  544.  
  545. if int(nickname8,16) < 90 and hex(int(nickname8,16)) > 64:
  546. o = 122
  547. if int(nickname8,16) < 123 and int(nickname8,16) > 96:
  548. o = 116
  549. if int(nickname8,16) < 58 and int(nickname8,16) > 47:
  550. o = 113
  551. if int(nickname8,16) == 33:
  552. o = 138
  553. if int(nickname8,16) == 63:
  554. o = 109
  555. if int(nickname8,16) == 45:
  556. o = 129
  557. if int(nickname8,16) == 47:
  558. o = 139
  559. if int(nickname8,16) == 39:
  560. o = 140
  561. if int(nickname8,16) == 46:
  562. o = 129
  563. if int(nickname8,16) == 44:
  564. o = 140
  565. Gen3nick8 = hex(int(nickname8,16) + o)
  566. if o == 122 and int(Gen3nick8,16) == 0x7a:
  567. Gen3nick8 = "0xFF"
  568. if o == 116 and int(Gen3nick8,16) == 0x74:
  569. Gen3nick8 = "0xFF"
  570. if o == 113 and int(Gen3nick8,16) == 0x71:
  571. Gen3nick8 = "0xFF"
  572. if o == 138 and int(Gen3nick8,16) == 0x8a:
  573. Gen3nick8 = "0xFF"
  574. if o == 109 and int(Gen3nick8,16) == 0x6d:
  575. Gen3nick8 = "0xFF"
  576. if o == 129 and int(Gen3nick8,16) == 0x81:
  577. Gen3nick8 = "0xFF"
  578. if o == 139 and int(Gen3nick8,16) == 0x8B:
  579. Gen3nick8 = "0xFF"
  580. if o == 140 and int(Gen3nick8,16) == 0x8c:
  581. Gen3nick8 = "0xFF"
  582. if o == 129 and int(Gen3nick8,16) == 0x81:
  583. Gen3nick8 = "0xFF"
  584. if o == 140 and int(Gen3nick8,16) == 0x8c:
  585. Gen3nick8 = "0xFF"
  586. if Gen3nick7 == '0xFF' or Gen3nick7 == '0x00':
  587. Gen3nick8 = "0x00"
  588.  
  589. if int(nickname9,16) < 90 and int(nickname9,16) > 64:
  590. o = 122
  591. if int(nickname9,16) < 123 and int(nickname9,16) > 96:
  592. o = 116
  593. if int(nickname9,16) < 58 and int(nickname9,16) > 47:
  594. o = 113
  595. if int(nickname9,16) == 33:
  596. o = 138
  597. if int(nickname9,16) == 63:
  598. o = 109
  599. if int(nickname9,16) == 45:
  600. o = 129
  601. if int(nickname9,16) == 47:
  602. o = 139
  603. if int(nickname9,16) == 39:
  604. o = 140
  605. if int(nickname9,16) == 46:
  606. o = 129
  607. if int(nickname9,16) == 44:
  608. o = 140
  609. Gen3nick9 = hex(int(nickname9,16) + o)
  610. if o == 122 and int(Gen3nick9,16) == 0x7a:
  611. Gen3nick9 = "0xFF"
  612. if o == 116 and int(Gen3nick9,16) == 0x74:
  613. Gen3nick9 = "0xFF"
  614. if o == 113 and int(Gen3nick9,16) == 0x71:
  615. Gen3nick9 = "0xFF"
  616. if o == 138 and int(Gen3nick9,16) == 0x8a:
  617. Gen3nick9 = "0xFF"
  618. if o == 109 and int(Gen3nick9,16) == 0x6d:
  619. Gen3nick9 = "0xFF"
  620. if o == 129 and int(Gen3nick9,16) == 0x81:
  621. Gen3nick9 = "0xFF"
  622. if o == 139 and int(Gen3nick9,16) == 0x8B:
  623. Gen3nick9 = "0xFF"
  624. if o == 140 and int(Gen3nick9,16) == 0x8c:
  625. Gen3nick9 = "0xFF"
  626. if o == 129 and int(Gen3nick9,16) == 0x81:
  627. Gen3nick9 = "0xFF"
  628. if o == 140 and int(Gen3nick9,16) == 0x8c:
  629. Gen3nick9 = "0xFF"
  630. if Gen3nick8 == '0xFF' or Gen3nick8 == '0x00':
  631. Gen3nick9 = "0x00"
  632.  
  633. if int(nickname10,16) < 90 and int(nickname10,16) > 64:
  634. o = 122
  635. if int(nickname10,16) < 123 and int(nickname10,16) > 96:
  636. o = 116
  637. if int(nickname10,16) < 58 and int(nickname10,16) > 47:
  638. o = 113
  639. if int(nickname10,16) == 33:
  640. o = 138
  641. if int(nickname10,16) == 63:
  642. o = 109
  643. if int(nickname10,16) == 45:
  644. o = 129
  645. if int(nickname10,16) == 47:
  646. o = 139
  647. if int(nickname10,16) == 39:
  648. o = 140
  649. if int(nickname10,16) == 46:
  650. o = 129
  651. if int(nickname10,16) == 44:
  652. o = 140
  653. Gen3nick10 = hex(int(nickname10,16) + o)
  654. if o == 122 and int(Gen3nick10,16) == 0x7a:
  655. Gen3nick10 = "0xFF"
  656. if o == 116 and int(Gen3nick10,16) == 0x74:
  657. Gen3nick10 = "0xFF"
  658. if o == 113 and int(Gen3nick10,16) == 0x71:
  659. Gen3nick10 = "0xFF"
  660. if o == 138 and int(Gen3nick10,16) == 0x8a:
  661. Gen3nick10 = "0xFF"
  662. if o == 109 and int(Gen3nick10,16) == 0x6d:
  663. Gen3nick10 = "0xFF"
  664. if o == 129 and int(Gen3nick10,16) == 0x81:
  665. Gen3nick10 = "0xFF"
  666. if o == 139 and int(Gen3nick10,16) == 0x8B:
  667. Gen3nick10 = "0xFF"
  668. if o == 140 and int(Gen3nick10,16) == 0x8c:
  669. Gen3nick10 = "0xFF"
  670. if o == 129 and int(Gen3nick10,16) == 0x81:
  671. Gen3nick10 = "0xFF"
  672. if o == 140 and int(Gen3nick10,16) == 0x8c:
  673. Gen3nick10 = "0xFF"
  674. if Gen3nick9 == '0xFF' or Gen3nick9 == '0x00':
  675. Gen3nick10 = "0x00"
  676.  
  677. Gen3nick = str(Gen3nick1)[2:] + str(Gen3nick2)[2:] +str(Gen3nick3)[2:] +str(Gen3nick4)[2:] +str(Gen3nick5)[2:] +str(Gen3nick6)[2:] +str(Gen3nick7)[2:] +str(Gen3nick8)[2:] +str(Gen3nick9)[2:] +str(Gen3nick10)[2:]
  678.  
  679.  
  680. if int(pOT1,16) < 90 and int(pOT1,16) > 64:
  681. o = 122
  682. if int(pOT1,16) < 123 and int(pOT1,16) > 96:
  683. o = 116
  684. if int(pOT1,16) < 58 and int(pOT1,16) > 47:
  685. o = 113
  686. if int(pOT1,16) == 33:
  687. o = 138
  688. if int(pOT1,16) == 63:
  689. o = 109
  690. if int(pOT1,16) == 45:
  691. o = 129
  692. if int(pOT1,16) == 47:
  693. o = 139
  694. if int(pOT1,16) == 39:
  695. o = 140
  696. if int(pOT1,16) == 46:
  697. o = 129
  698. if int(pOT1,16) == 44:
  699. o = 140
  700. Gen3OT1 = hex(int(pOT1,16) + o)
  701.  
  702. if o == 122 and int(Gen3OT1,16) == 0x7a:
  703. Gen3OT1 = "0xFF"
  704. if o == 116 and int(Gen3OT1,16) == 0x74:
  705. Gen3OT1 = "0xFF"
  706. if o == 113 and int(Gen3OT1,16) == 0x71:
  707. Gen3OT1 = "0xFF"
  708. if o == 138 and int(Gen3OT1,16) == 0x8a:
  709. Gen3OT1 = "0xFF"
  710. if o == 109 and int(Gen3OT1,16) == 0x6d:
  711. Gen3OT1 = "0xFF"
  712. if o == 129 and int(Gen3OT1,16) == 0x81:
  713. Gen3OT1 = "0xFF"
  714. if o == 139 and int(Gen3OT1,16) == 0x8B:
  715. Gen3OT1 = "0xFF"
  716. if o == 140 and int(Gen3OT1,16) == 0x8c:
  717. Gen3OT1 = "0xFF"
  718. if o == 129 and int(Gen3OT1,16) == 0x81:
  719. Gen3OT1 = "0xFF"
  720. if o == 140 and int(Gen3OT1,16) == 0x8c:
  721. Gen3OT1 = "0xFF"
  722.  
  723. if int(pOT2,16) < 90 and int(pOT2,16) > 64:
  724. o = 122
  725. if int(pOT2,16) < 123 and int(pOT2,16) > 96:
  726. o = 116
  727. if int(pOT2,16) < 58 and int(pOT2,16) > 47:
  728. o = 113
  729. if int(pOT2,16) == 33:
  730. o = 138
  731. if int(pOT2,16) == 63:
  732. o = 109
  733. if int(pOT2,16) == 45:
  734. o = 129
  735. if int(pOT2,16) == 47:
  736. o = 139
  737. if int(pOT2,16) == 39:
  738. o = 140
  739. if int(pOT2,16) == 46:
  740. o = 129
  741. if int(pOT2,16) == 44:
  742. o = 140
  743. Gen3OT2 = hex(int(pOT2,16) + o)
  744.  
  745. if o == 122 and int(Gen3OT2,16) == 0x7a:
  746. Gen3OT2 = "0xFF"
  747. if o == 116 and int(Gen3OT2,16) == 0x74:
  748. Gen3OT2 = "0xFF"
  749. if o == 113 and int(Gen3OT2,16) == 0x71:
  750. Gen3OT2 = "0xFF"
  751. if o == 138 and int(Gen3OT2,16) == 0x8a:
  752. Gen3OT2 = "0xFF"
  753. if o == 109 and int(Gen3OT2,16) == 0x6d:
  754. Gen3OT2 = "0xFF"
  755. if o == 129 and int(Gen3OT2,16) == 0x81:
  756. Gen3OT2 = "0xFF"
  757. if o == 139 and int(Gen3OT2,16) == 0x8B:
  758. Gen3OT2 = "0xFF"
  759. if o == 140 and int(Gen3OT2,16) == 0x8c:
  760. Gen3OT2 = "0xFF"
  761. if o == 129 and int(Gen3OT2,16) == 0x81:
  762. Gen3OT2 = "0xFF"
  763. if o == 140 and int(Gen3OT2,16) == 0x8c:
  764. Gen3OT2 = "0xFF"
  765. if Gen3OT1 == '0xFF' or Gen3OT1 == '0x00':
  766. Gen3OT2 = "0x00"
  767.  
  768. if int(pOT3,16) < 90 and int(pOT3,16) > 64:
  769. o = 122
  770. if int(pOT3,16) < 123 and int(pOT3,16) > 96:
  771. o = 116
  772. if int(pOT3,16) < 58 and int(pOT3,16) > 47:
  773. o = 113
  774. if int(pOT3,16) == 33:
  775. o = 138
  776. if int(pOT3,16) == 63:
  777. o = 109
  778. if int(pOT3,16) == 45:
  779. o = 129
  780. if int(pOT3,16) == 47:
  781. o = 139
  782. if int(pOT3,16) == 39:
  783. o = 140
  784. if int(pOT3,16) == 46:
  785. o = 129
  786. if int(pOT3,16) == 44:
  787. o = 140
  788. Gen3OT3 = hex(int(pOT3,16) + o)
  789.  
  790. if o == 122 and int(Gen3OT3,16) == 0x7a:
  791. Gen3OT3 = "0xFF"
  792. if o == 116 and int(Gen3OT3,16) == 0x74:
  793. Gen3OT3 = "0xFF"
  794. if o == 113 and int(Gen3OT3,16) == 0x71:
  795. Gen3OT3 = "0xFF"
  796. if o == 138 and int(Gen3OT3,16) == 0x8a:
  797. Gen3OT3 = "0xFF"
  798. if o == 109 and int(Gen3OT3,16) == 0x6d:
  799. Gen3OT3 = "0xFF"
  800. if o == 129 and int(Gen3OT3,16) == 0x81:
  801. Gen3OT3 = "0xFF"
  802. if o == 139 and int(Gen3OT3,16) == 0x8B:
  803. Gen3OT3 = "0xFF"
  804. if o == 140 and int(Gen3OT3,16) == 0x8c:
  805. Gen3OT3 = "0xFF"
  806. if o == 129 and int(Gen3OT3,16) == 0x81:
  807. Gen3OT3 = "0xFF"
  808. if o == 140 and int(Gen3OT3,16) == 0x8c:
  809. Gen3OT3 = "0xFF"
  810. if Gen3OT2 == '0xFF' or Gen3OT2 == '0x00':
  811. Gen3OT3 = "0x00"
  812.  
  813. if int(pOT4,16) < 90 and int(pOT4,16) > 64:
  814. o = 122
  815. if int(pOT4,16) < 123 and int(pOT4,16) > 96:
  816. o = 116
  817. if int(pOT4,16) < 58 and int(pOT4,16) > 47:
  818. o = 113
  819. if int(pOT4,16) == 33:
  820. o = 138
  821. if int(pOT4,16) == 63:
  822. o = 109
  823. if int(pOT4,16) == 45:
  824. o = 129
  825. if int(pOT4,16) == 47:
  826. o = 139
  827. if int(pOT4,16) == 39:
  828. o = 140
  829. if int(pOT4,16) == 46:
  830. o = 129
  831. if int(pOT4,16) == 44:
  832. o = 140
  833. Gen3OT4 = hex(int(pOT4,16) + o)
  834.  
  835. if o == 122 and int(Gen3OT4,16) == 0x7a:
  836. Gen3OT4 = "0xFF"
  837. if o == 116 and int(Gen3OT4,16) == 0x74:
  838. Gen3OT4 = "0xFF"
  839. if o == 113 and int(Gen3OT4,16) == 0x71:
  840. Gen3OT4 = "0xFF"
  841. if o == 138 and int(Gen3OT4,16) == 0x8a:
  842. Gen3OT4 = "0xFF"
  843. if o == 109 and int(Gen3OT4,16) == 0x6d:
  844. Gen3OT4 = "0xFF"
  845. if o == 129 and int(Gen3OT4,16) == 0x81:
  846. Gen3OT4 = "0xFF"
  847. if o == 139 and int(Gen3OT4,16) == 0x8B:
  848. Gen3OT4 = "0xFF"
  849. if o == 140 and int(Gen3OT4,16) == 0x8c:
  850. Gen3OT4 = "0xFF"
  851. if o == 129 and int(Gen3OT4,16) == 0x81:
  852. Gen3OT4 = "0xFF"
  853. if o == 140 and int(Gen3OT4,16) == 0x8c:
  854. Gen3OT4 = "0xFF"
  855. if Gen3OT3 == '0xFF' or Gen3OT3 == '0x00':
  856. Gen3OT4 = "0x00"
  857.  
  858. if int(pOT5,16) < 90 and int(pOT5,16) > 64:
  859. o = 122
  860. if int(pOT5,16) < 123 and int(pOT5,16) > 96:
  861. o = 116
  862. if int(pOT5,16) < 58 and int(pOT5,16) > 47:
  863. o = 113
  864. if int(pOT5,16) == 33:
  865. o = 138
  866. if int(pOT5,16) == 63:
  867. o = 109
  868. if int(pOT5,16) == 45:
  869. o = 129
  870. if int(pOT5,16) == 47:
  871. o = 139
  872. if int(pOT5,16) == 39:
  873. o = 140
  874. if int(pOT5,16) == 46:
  875. o = 129
  876. if int(pOT5,16) == 44:
  877. o = 140
  878. Gen3OT5 = hex(int(pOT5,16) + o)
  879. if o == 122 and int(Gen3OT5,16) == 0x7a:
  880. Gen3OT5 = "0xFF"
  881. if o == 116 and int(Gen3OT5,16) == 0x74:
  882. Gen3OT5 = "0xFF"
  883. if o == 113 and int(Gen3OT5,16) == 0x71:
  884. Gen3OT5 = "0xFF"
  885. if o == 138 and int(Gen3OT5,16) == 0x8a:
  886. Gen3OT5 = "0xFF"
  887. if o == 109 and int(Gen3OT5,16) == 0x6d:
  888. Gen3OT5 = "0xFF"
  889. if o == 129 and int(Gen3OT5,16) == 0x81:
  890. Gen3OT5 = "0xFF"
  891. if o == 139 and int(Gen3OT5,16) == 0x8B:
  892. Gen3OT5 = "0xFF"
  893. if o == 140 and int(Gen3OT5,16) == 0x8c:
  894. Gen3OT5 = "0xFF"
  895. if o == 129 and int(Gen3OT5,16) == 0x81:
  896. Gen3OT5 = "0xFF"
  897. if o == 140 and int(Gen3OT5,16) == 0x8c:
  898. Gen3OT5 = "0xFF"
  899. if Gen3OT4 == '0xFF' or Gen3OT4 == '0x00':
  900. Gen3OT5 = "0x00"
  901.  
  902. if int(pOT6,16) < 90 and int(pOT6,16) > 64:
  903. o = 122
  904. if int(pOT6,16) < 123 and int(pOT6,16) > 96:
  905. o = 116
  906. if int(pOT6,16) < 58 and int(pOT6,16) > 47:
  907. o = 113
  908. if int(pOT6,16) == 33:
  909. o = 138
  910. if int(pOT6,16) == 63:
  911. o = 109
  912. if int(pOT6,16) == 45:
  913. o = 129
  914. if int(pOT6,16) == 47:
  915. o = 139
  916. if int(pOT6,16) == 39:
  917. o = 140
  918. if int(pOT6,16) == 46:
  919. o = 129
  920. if int(pOT6,16) == 44:
  921. o = 140
  922. Gen3OT6 = hex(int(pOT6,16) + o)
  923. if o == 122 and int(Gen3OT6,16) == 0x7a:
  924. Gen3OT6 = "0xFF"
  925. if o == 116 and int(Gen3OT6,16) == 0x74:
  926. Gen3OT5 = "0xFF"
  927. if o == 113 and int(Gen3OT6,16) == 0x71:
  928. Gen3OT6 = "0xFF"
  929. if o == 138 and int(Gen3OT6,16) == 0x8a:
  930. Gen3OT6 = "0xFF"
  931. if o == 109 and int(Gen3OT6,16) == 0x6d:
  932. Gen3OT6 = "0xFF"
  933. if o == 129 and int(Gen3OT6,16) == 0x81:
  934. Gen3OT6 = "0xFF"
  935. if o == 139 and int(Gen3OT6,16) == 0x8B:
  936. Gen3OT6 = "0xFF"
  937. if o == 140 and int(Gen3OT6,16) == 0x8c:
  938. Gen3OT6 = "0xFF"
  939. if o == 129 and int(Gen3OT6,16) == 0x81:
  940. Gen3OT6 = "0xFF"
  941. if o == 140 and int(Gen3OT6,16) == 0x8c:
  942. Gen3OT6 = "0xFF"
  943. if Gen3OT5 == '0xFF' or Gen3OT5 == '0x00':
  944. Gen3OT6 = "0x00"
  945.  
  946. if int(pOT7,16) < 90 and int(pOT7,16) > 64:
  947. o = 122
  948. if int(pOT7,16) < 123 and int(pOT7,16) > 96:
  949. o = 116
  950. if int(pOT7,16) < 58 and int(pOT7,16) > 47:
  951. o = 113
  952. if int(pOT7,16) == 33:
  953. o = 138
  954. if int(pOT7,16) == 63:
  955. o = 109
  956. if int(pOT7,16) == 45:
  957. o = 129
  958. if int(pOT7,16) == 47:
  959. o = 139
  960. if int(pOT7,16) == 39:
  961. o = 140
  962. if int(pOT7,16) == 46:
  963. o = 129
  964. if int(pOT7,16) == 44:
  965. o = 140
  966. Gen3OT7 = hex(int(pOT7,16) + o)
  967. if o == 122 and int(Gen3OT7,16) == 0x7a:
  968. Gen3OT7 = "0xFF"
  969. if o == 116 and int(Gen3OT7,16) == 0x74:
  970. Gen3OT7 = "0xFF"
  971. if o == 113 and int(Gen3OT7,16) == 0x71:
  972. Gen3OT7 = "0xFF"
  973. if o == 138 and int(Gen3OT7,16) == 0x8a:
  974. Gen3OT7 = "0xFF"
  975. if o == 109 and int(Gen3OT7,16) == 0x6d:
  976. Gen3OT7 = "0xFF"
  977. if o == 129 and int(Gen3OT7,16) == 0x81:
  978. Gen3OT7 = "0xFF"
  979. if o == 139 and int(Gen3OT7,16) == 0x8B:
  980. Gen3OT7 = "0xFF"
  981. if o == 140 and int(Gen3OT7,16) == 0x8c:
  982. Gen3OT7 = "0xFF"
  983. if o == 129 and int(Gen3OT7,16) == 0x81:
  984. Gen3OT7 = "0xFF"
  985. if o == 140 and int(Gen3OT7,16) == 0x8c:
  986. Gen3OT7 = "0xFF"
  987. if Gen3OT6 == '0xFF' or Gen3OT6 == '0x00':
  988. Gen3OT7 = "0x00"
  989.  
  990. Gen3OT = str(Gen3OT1)[2:] + str(Gen3OT2)[2:] +str(Gen3OT3)[2:] +str(Gen3OT4)[2:] +str(Gen3OT5)[2:] +str(Gen3OT6)[2:] + str(Gen3OT7)[2:]
  991.  
  992.  
  993. Gen3move1 = move1[2:4] + move1[0:2]
  994.  
  995. Gen3move2 = move2[2:4] + move2[0:2]
  996.  
  997. Gen3move3 = move3[2:4] + move3[0:2]
  998.  
  999. Gen3move4 = move4[2:4] + move4[0:2]
  1000.  
  1001. Gen3PP = move1pp + move2pp + move3pp + move4pp
  1002.  
  1003.  
  1004. Gen3IVs = IVtotal[8:10] + IVtotal[6:8] +IVtotal[4:6] + IVtotal[2:4]
  1005. Gen3met = hex(int(metlevel,16) + 128)
  1006.  
  1007. if pokeball == 'masterball':
  1008. Gen3ball = '0F'
  1009. if pokeball == 'ultraball':
  1010. Gen3ball = '17'
  1011. if pokeball == 'greatball':
  1012. Gen3ball = '1F'
  1013. if pokeball == 'pokeball':
  1014. Gen3ball = '27'
  1015. if pokeball == 'safariball':
  1016. Gen3ball = '2F'
  1017. if pokeball == 'netball':
  1018. Gen3ball = '37'
  1019. if pokeball == 'diveball':
  1020. Gen3ball = '3F'
  1021. if pokeball == 'nestball':
  1022. Gen3ball = '47'
  1023. if pokeball == 'repeatball':
  1024. Gen3ball = '4F'
  1025. if pokeball == 'timerball':
  1026. Gen3ball = '57'
  1027. if pokeball == 'luxball':
  1028. Gen3ball = '5F'
  1029. if pokeball == 'premeirball':
  1030. Gen3ball = '67'
  1031. if int(ribbons,16) == 006:
  1032. rr = "83"
  1033.  
  1034. if int(ribbons,16) == 004:
  1035. rr = "81"
  1036.  
  1037.  
  1038. if int(ribbons,16) == 000:
  1039. rr = "00"
  1040.  
  1041.  
  1042.  
  1043. Gen3pkmnfile = Gen3pid + Gen3tid + Gen3sid + Gen3nick +"0202"+ Gen3OT + "00" + "00000000" + Gen3spec + "0000" + Gen3exp + "00" + happiness+ "0000" + Gen3move1 + Gen3move2 + Gen3move3 + Gen3move4 + Gen3PP + HPev + ATKev + DEFev + SPEEDev + SPATKev + SPDEFev + "000000000000" + "00" + metlocation + Gen3met[2:] + Gen3ball + Gen3IVs + "000000" + rr
  1044. sum1 = int(Gen3pid,16) + int("0202",16)
  1045. bytestring = int(Gen3pkmnfile[64:68],16) + int(Gen3pkmnfile[68:72],16) + int(Gen3pkmnfile[72:76],16) + int(Gen3pkmnfile[76:80],16) + int(Gen3pkmnfile[80:84],16) + int(Gen3pkmnfile[84:88],16) + int(Gen3pkmnfile[88:92],16) + int(Gen3pkmnfile[92:96],16) + int(Gen3pkmnfile[96:100],16) + int(Gen3pkmnfile[100:104],16) + int(Gen3pkmnfile[104:108],16) + int(Gen3pkmnfile[108:112],16) + int(Gen3pkmnfile[112:116],16) + int(Gen3pkmnfile[116:120],16) + int(Gen3pkmnfile[120:124],16) + int(Gen3pkmnfile[124:128],16) + int(Gen3pkmnfile[128:132],16) + int(Gen3pkmnfile[132:136],16) + int(Gen3pkmnfile[136:140],16) + int(Gen3pkmnfile[140:144],16) + int(Gen3pkmnfile[144:148],16) + int(Gen3pkmnfile[148:152],16) + int(Gen3pkmnfile[152:156],16) + int(Gen3pkmnfile[156:160],16)
  1046. checksum = 0
  1047. checksum = checksum + int(str(Gen3spec[2:]+Gen3spec[:2]),16) + int(str(Gen3exp[2:4]+Gen3exp[0:2]),16) + int(str(happiness + "00"),16)+int(str(Gen3move1[2:]+Gen3move1[:2]),16)+int(str(Gen3move2[2:]+Gen3move2[:2]),16)+int(str(Gen3move3[2:]+Gen3move3[:2]),16)+ int(str(Gen3move4[2:]+Gen3move4[:2]),16)+int(str(Gen3PP[2:4]+Gen3PP[0:2]),16) + int(str(Gen3PP[6:8]+Gen3PP[4:6]),16)+int(str(HPev + "00"),16)+int(str(ATKev + "00"),16)+int(str(DEFev + "00"),16)+int(str(SPATKev + "00"),16)+int(str(SPDEFev + "00"),16)+int(str(SPEEDev + "00"),16) + int(str(metlocation +"00"),16) + int(str(Gen3ball+Gen3met[2:]),16) + int(str(Gen3IVs[2:4]+Gen3IVs[0:2]),16) + int(str(Gen3IVs[6:8]+Gen3IVs[4:6]),16) + int(str(rr+"00"),16)
  1048. checksum = int(checksum)
  1049. checksum = str(hex(checksum))
  1050. checksum = checksum[3:]
  1051. checksum = str(checksum[2:] + checksum[:2])
  1052. print "Checksum: " + checksum
  1053. Gen3pkmnfile = Gen3pid + Gen3tid + Gen3sid + Gen3nick +"0202"+ Gen3OT + "00" + checksum + "0000" + Gen3spec + "0000" + Gen3exp + "00" + happiness+ "0000" + Gen3move1 + Gen3move2 + Gen3move3 + Gen3move4 + Gen3PP + HPev + ATKev + DEFev + SPEEDev + SPATKev + SPDEFev + "000000000000" + "00" + metlocation + Gen3met[2:] + Gen3ball + Gen3IVs + "000000" + rr
  1054. Gen3pkmnfile = hex(int(Gen3pkmnfile,16))[2:162]
  1055. Gen3pkmnfile = Gen3pkmnfile.strip()
  1056. Gen3pkmnfile = Gen3pkmnfile.replace("\r","")
  1057. Gen3pkmnfile = Gen3pkmnfile.replace("\n","")
  1058. gen3ascii = binascii.unhexlify(Gen3pkmnfile)
  1059. #gen3ascii = gen3ascii.decode("hex")
  1060. #gen3ascii = gen3ascii.replace("\n","")
  1061. pokemon1 = open(pokemonwritefile,"wb")
  1062. pokemon1.write(gen3ascii)
  1063. pokemon1.close()
  1064. print "pokemon " + str(j) + " exported"
  1065. if d == "y":
  1066. j = j+1
  1067. if j == 7:
  1068. quit()
  1069. pokemonconvert(party,j)
  1070.  
  1071. pokemonconvert(party,j)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement