The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.


Reply
 
Thread Tools
  #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
  #2    
Old October 20th, 2012, 10:22 AM
Gamer2020's Avatar
Gamer2020
This love is a sickness...
 
Join Date: Jun 2008
Location: Violet city!
Gender: Male
Nature: Bold
Send a message via AIM to Gamer2020 Send a message via Windows Live Messenger to Gamer2020 Send a message via Yahoo to Gamer2020 Send a message via Skype™ to Gamer2020
Yes this will be part of PGE I've just been very busy. This research will certainly help when I get around to working on it. Good job.
__________________
I find it amusing how people my steal ideas and then claim to be the first one to do something.

A present to people learning to make ROM hacking tools. - https://dl.dropboxusercontent.com/u/..._Functions.zip

If you want a successor to PGE then download this: http://www.pokecommunity.com/showthread.php?t=311461

If someone can create a Pokémon colosseum remake with graphics and scripting that are very appealing to my eyes I will help them with implementing actual shadow Pokémon.
Reply With Quote
  #3    
Old July 2nd, 2013, 05:53 PM
chaosakita
 
Join Date: Apr 2013
Gender: Female
Is there any way to change the banned pokemon in the battle frontier?
Reply With Quote
  #4    
Old July 7th, 2013, 03:58 PM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
yes but i unfortunately forgot where the offsets are

somebody else posted about them in the quick research thread, it'll be buried in there pagewise somewhere around where my first frontier post was
__________________
Reply With Quote
  #5    
Old July 31st, 2013, 07:52 PM
PokeRaidenFighter350Z's Avatar
PokeRaidenFighter350Z
Battle Subway Editor
 
Join Date: Dec 2011
Location: RF HQ
Gender: Male
Nature: Careful
The Nightmare Table link is dead
__________________

All forum members BEWARE..!
Credits to Xulek
Reply With Quote
  #6    
Old August 4th, 2013, 08:59 AM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
hm

well, there's nightmare 2 on romhacking.net but i have no experience with it

it also may not work happily since it's raw java

i'd rehost nightmare 1 but i'm not sure if i have clearance to do so
__________________
Reply With Quote
  #7    
Old 3 Weeks Ago, 05:48 AM
Tigerfang98's Avatar
Tigerfang98
Elite 4
 
Join Date: May 2013
So how do you edit the frontier brain data? I don't understand. Could you post a tutorial or something?
Reply With Quote
  #8    
Old 3 Weeks Ago, 06:57 AM
HoneClaw's Avatar
HoneClaw
 
Join Date: Mar 2011
Gender: Female
Nature: Serious
Quote:
Originally Posted by Tigerfang98 View Post
So how do you edit the frontier brain data? I don't understand. Could you post a tutorial or something?
It's not too hard. Just open up a hex editor, go the offset: 61156C. And then you should get the data for their teams. You can reference Bulbapedia for the 3rd Gen index numbers of Pokemon and compare them to the brain's team to figure out who they are.

For example, the first result you should see is 41 00 B3 00 18 0F 6A 00 98 98 64 00 09 00 07 00 08 00 32 00. This is Anabelle's Alakazam. After that you'll see her Entei (starts at F4) and then her Snorlax (starts at 8F). Agastya's list contains all you really need (although I am puzzled by that EV spread on Alakazam).

As long as you know the index numbers and such, it should be a piece of cake. Otherwise, there are probably good tutorials on here about hex editing, since I don't know of any editors for the Battle Frontier.


I guess the only thing I'm curious about is how it handles increasing the difficulty? There's always been accusations that the frontier "analyzes" your team, but it seems that it's solely based on win streak.

And for the Battle Arena, does adding extra moves break it? Since each move has a "mind" rating, how does it handle moves that are outside of the base 355?

EDIT: In the Battle Arena, moves past the regular index are treated normally, i.e. as 0 and nothing adverse happens to the game. Not that anyone will ever need to know this.

Last edited by HoneClaw; 3 Weeks Ago at 07:43 AM. Reason: data, I guess?
Reply With Quote
  #9    
Old 3 Weeks Ago, 07:29 AM
Dark Sneasel's Avatar
Dark Sneasel
Big Daddy in the House!
Community Supporter
 
Join Date: Jun 2013
Location: Miami, FL
Age: 14
Gender: Male
Nature: Hasty
Quote:
Originally Posted by chaosakita View Post
Is there any way to change the banned pokemon in the battle frontier?
http://www.pokecommunity.com/showpos...&postcount=201 yeah that's the post.

Might wanna add that to the first post

Also, thanks a lot for this Agastya, this will surely be helpful :D
Reply With Quote
  #10    
Old 3 Weeks Ago, 06:01 PM
Agastya's Avatar
Agastya
Grinding failed. Item Grind level dropped by 3.
 
Join Date: Feb 2010
Nature: Quiet
replying in the quote because i'm too lazy to format - my replies will be in bold

Quote:
Originally Posted by HoneClaw View Post
I guess the only thing I'm curious about is how it handles increasing the difficulty? There's always been accusations that the frontier "analyzes" your team, but it seems that it's solely based on win streak.

enemy ivs increase with your winning streak, and pulls trainers that use 'more powerful' pokemon the longer the streak has been going on as well. each trainer has a list of pokemon it can use so they're mostly themed, and it makes sure to avoid breaking species clause. the frontier doesn't analyze your team outside of in the battle dome, where it runs a preset routine to decide what to use.

And for the Battle Arena, does adding extra moves break it? Since each move has a "mind" rating, how does it handle moves that are outside of the base 355?

EDIT: In the Battle Arena, moves past the regular index are treated normally, i.e. as 0 and nothing adverse happens to the game. Not that anyone will ever need to know this.

i believe you can just repoint the mind ratings list to go to a new location. but don't quote me on that, since i have no interest in expanding my own move table.
__________________

Last edited by Agastya; 3 Weeks Ago at 06:02 PM. Reason: forgot quote was italic lmao
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 03:20 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.