Jump to content

Hozu

Member
  • Posts

    238
  • Joined

  • Last visited

Everything posted by Hozu

  1. I believe this works on Emerald (J): local natureorder={"Atk","Def","Spd","SpAtk","SpDef"} local naturename={ "Hardy","Lonely","Brave","Adamant","Naughty", "Bold","Docile","Relaxed","Impish","Lax", "Timid","Hasty","Serious","Jolly","Naive", "Modest","Mild","Quiet","Bashful","Rash", "Calm","Gentle","Sassy","Careful","Quirky"} local typeorder={ "Fighting","Flying","Poison","Ground", "Rock","Bug","Ghost","Steel", "Fire","Water","Grass","Electric", "Psychic","Ice","Dragon","Dark"} local start=0x020243E8 local personality local trainerid local magicword local growthoffset local miscoffset local i local species local ivs local hpiv local atkiv local defiv local spdiv local spatkiv local spdefiv local nature local natinc local natdec local hidpowbase local hidpowtype while true do personality=memory.readdwordunsigned(start) trainerid=memory.readdwordunsigned(start+4) magicword=bit.bxor(personality, trainerid) seed=memory.readdwordunsigned(0x03005AE0) i=personality%24 if i<=5 then growthoffset=0 elseif i%6<=1 then growthoffset=12 elseif i%2==0 then growthoffset=24 else growthoffset=36 end if i>=18 then miscoffset=0 elseif i%6>=4 then miscoffset=12 elseif i%2==1 then miscoffset=24 else miscoffset=36 end species=bit.band(bit.bxor(memory.readdwordunsigned(start+32+growthoffset),magicword),0xFFF) ivs=bit.bxor(memory.readdwordunsigned(start+32+miscoffset+4),magicword) hpiv=bit.band(ivs,0x1F) atkiv=bit.band(ivs,0x1F*0x20)/0x20 defiv=bit.band(ivs,0x1F*0x400)/0x400 spdiv=bit.band(ivs,0x1F*0x8000)/0x8000 spatkiv=bit.band(ivs,0x1F*0x100000)/0x100000 spdefiv=bit.band(ivs,0x1F*0x2000000)/0x2000000 nature=personality%25 natinc=math.floor(nature/5) natdec=nature%5 hidpowtype=math.floor(((hpiv%2 + 2*(atkiv%2) + 4*(defiv%2) + 8*(spdiv%2) + 16*(spatkiv%2) + 32*(spdefiv%2))*15)/63) hidpowbase=math.floor(((bit.band(hpiv,2)/2 + bit.band(atkiv,2) + 2*bit.band(defiv,2) + 4*bit.band(spdiv,2) + 8*bit.band(spatkiv,2) + 16*bit.band(spdefiv,2))*40)/63 + 30) gui.text(0,0,"Stats") gui.text(30,0,"HP "..memory.readwordunsigned(start+86)) gui.text(65,0,"Atk "..memory.readwordunsigned(start+90)) gui.text(99,0,"Def "..memory.readwordunsigned(start+92)) gui.text(133,0,"SpA "..memory.readwordunsigned(start+96)) gui.text(167,0,"SpD "..memory.readwordunsigned(start+98)) gui.text(201,0,"Spe "..memory.readwordunsigned(start+94)) gui.text(0,8,"IVs") gui.text(30,8,"HP "..hpiv) gui.text(65,8,"Atk "..atkiv) gui.text(99,8,"Def "..defiv) gui.text(133,8,"SpA "..spatkiv) gui.text(167,8,"SpD "..spdefiv) gui.text(201,8,"Spe "..spdiv) gui.text(0,40,"PID: "..string.format("%08X", personality)) gui.text(60,40,"IVs: "..string.format("%08X", ivs)) gui.text(0,50,"Nature: "..naturename[nature+1]) gui.text(0,60,natureorder[natinc+1].."+ "..natureorder[natdec+1].."-") gui.text(167,15,"HP "..typeorder[hidpowtype+1].." "..hidpowbase) gui.text(0,95,vba.framecount()) gui.text(0,105,"Seed: "..string.format("%8X", seed)) print(""..string.format("%8X", seed)) emu.frameadvance() end The seed memory location is correct for sure but I'm not 100% sure on the enemy pokemon location. It seems to have worked so far though. Edit: Too lazy to upload the file atm. Copy and paste it into a .txt file and change the extension to .lua.
  2. ^ No that pokemon is fine. http://www.pokecheck.org/?p=detail&uid=236833 - Pokecheck should take into consideration that that Blissey should not have Seismic Toss because it's from Sinnoh but it doesn't. It does pick up on the rest of the problems though.
×
×
  • Create New...