View Single Post
  #1    
Old October 13th, 2012, 05:37 AM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
I've previously posted things involving Em's Frontier in the Quick Research thread, but it's been ages ago and they're buried under a bunch of posts. For quick reference the posts are here:

http://pokecommunity.com/showpost.ph...&postcount=224
http://pokecommunity.com/showpost.ph...&postcount=232
http://bulbapedia.bulbagarden.net/wi...Generation_III (Not my work, but a great reference)
http://upokecenter.dreamhosters.com/...merald/guides/ (another great reference)


Anyway, since I've made these posts, I've cleaned up my notes into a simpler format. Since most everything related to the Pokemon it uses is known now, I figured it'd be best to get all of my notes in one publicly viewable place that actually has traffic in the hopes somebody else will be able to make use of them.

Battle Frontier, Slateport, Verdanturf, Fallarbor modules
Spoiler:
Offsets:
Battle Frontier: 0x5D97BC
Verdanturf Tent: 0x5DEC28
Slateport Tent: 0x5DE02C
Fallarbor Tent: 0x5DF69C

These follow a twelve byte data structure.

Species: 2 bytes
Movepool: 8 bytes (two per move)
Hold item: 1 byte (Determined by a master list located at 0x05CECB0)
EV spread: 1 byte
Nature: 1 byte
Padding/alignment: 1 byte

EV spreads are assigned by a bitfield to save space. Each stat with
EVs assigned to it will have the 510 EVs divided evenly among them.

HP: 0x1
ATK: 0x2
DEF: 0x4
SPD: 0x8
SATK: 0x10
SDEF: 0x20


Battle Pyramid wilds
Spoiler:
Offsets:
Lv. 50: 0x6126B0
Open Level: 0x612E80

The Battle Pyramid wilds follow a 12 byte data structure.

Species: 2 bytes
Levels: 1 byte
Unknown: 1 byte
Movepool: 8 bytes

In Level 50, the level byte is the Pokemon's base level when spawning.
In Open Level, the level byte appears to be how many levels below the
player they spawn at base. In both cases, the wilds have a few levels
in variance.


Frontier Brains
Spoiler:
Offset: 0x61156C

Frontier Brain Pokemon are stored in a 20 byte data structure.

Species: 2 bytes
Item: 2 bytes
IVs: 1 byte
Nature: 1 byte
HP EVs: 1 byte
Atk EVs: 1 byte
Def EVs: 1 byte
Spd EVs: 1 byte
Sp.Atk EVs: 1 byte
Sp.Def EVs: 1 byte
Moveset: 8 bytes

The item can be anything the hacker desires, following normal item
indexing instead of Frontier indexing.

All IVs are set to whatever the IV value is. Stick with a max of 31, I
haven't personally tried going higher.

EVs can go above 510 total. You can give something 255 EVs in every
stat and they all will be applied, but the game will lag a little bit
calculating the stats.

Each Brain's team is 120 bytes long. The first three entries are used
in their Silver symbol challenge, and the second three are for Gold.
Factory Head Noland's team data is two copis of Steven's team data at
the Mossdeep event since his team is randomly generated from the
master list as rental Pokemon.


Battle Pike wilds
Spoiler:
Offsets:
Spawn Table: 0x553934
Lv50 wild movesets: 0x6121D4
Open Level wild movesets: 0x612274

The Battle Pike wilds follow a 12 byte data structure.

Species: 2 bytes
"Level variance": 1 byte
Unknown (Padding?): 1 byte
Movepool: 8 bytes

The species byte itself does nothing but help categorize. Wilds have
to be edited in the wild encounter table itself. Each slot in the
moveset data is set to read a certain moveset, and the spawns are
shared between Level 50 and Open Level challenges.

The "level variance" field appears to be how many levels they spawn
below the player at base.


This is the main meat of the Frontier, anyway. There are other things that are worth looking into if you're planning on hacking the Frontier, and for the most part they're already indexed on the Bulbapedia page for Frontier structures.

After a while though, I got sick of doing everything in a hex editor. I came across the Nightmare Table Editor and realized that since Frontier stuff is all in tables, it could be used to make this easier so I made a few Nightmare modules to assist in doing so.

Nightmare is located here: http://datacrystal.romhacking.net/wi...e_Table_Editor (apparently dead)
Nightmare 2 is located here: http://www.romhacking.net/utilities/610/ (no idea how well this will work)
And the modules are here: http://mediafire.com/?fb1hnme4hg7pc7e

Hopefully, somebody with better knowledge will be able to use these to make an actual proper tool for Frontier editing. I think it was planned to be a part of PGE, but for now it's not implemented so these have to do for the time being.
__________________

Last edited by Agastya; August 4th, 2013 at 09:00 AM. Reason: nightmare 1 died, adding a link to nightmare 2
Reply With Quote