Jump to content

Gen 3 save editor that can edit "Event Flags"


Ed Carlos

Recommended Posts

PKHeX exposes the event flags but only previously documented event flag indexes are included. All 'custom' (ie not known) flag toggling must be done in the Research Tab.

Only R/S have some flags documented. 

https://github.com/kwsch/PKHeX/blob/78a557c3cdaa6f48b42cc96df8ccb4d20b897937/PKHeX.Core/Resources/text/other/flags_rs.txt

from the disassembly:

https://github.com/pret/pokeruby/blob/c47c3abe65e0e0419b691f5d0b6ea93c7b972191/include/flags.h

You can figure out what flag does what (ie respawning legends) by either looking at the game's disassembly (which flag ID is being checked in the event script) or you can do a before/after comparison in the research tab.

 

Link to comment
Share on other sites

I was actually working on documenting all the Gen 3 legend/static rebattle flags last month, but since then I've been distracted or too busy with other things. I can post what I have.

Regirock Battled: 935 Set
Regice Battled: 936 Set
Registeel Battled: 937 Set

These work for RS, haven't tested with Emerald yet. I can try to find time to document more battle flags this week.

Stuff like Kyogre/Groudon in the Cave or Origin weren't working. I could respawn them, but not trigger them to come towards you(since you can't actually press A in front of them).

  • Like 1
Link to comment
Share on other sites

https://github.com/pret/pokeruby/blob/d9e59a388c7c4b2464769963b3d58980ce742f70/data/maps/events/IslandCave.inc

IslandCave_MapObjects:: @ 838E674
	object_event 1, MAP_OBJ_GFX_REGICE, 0, 8, 0, 7, 0, 3, 8, 0, 0, 0, 0, 0, 0, IslandCave_EventScript_15EF9D, 936, 0, 0

note the 'spawn' flag at the end

should work for most legendary encounters

SkyPillar_Top_MapObjects:: @ 838EE50
	object_event 1, MAP_OBJ_GFX_RAYQUAZA, 0, 14, 0, 6, 0, 3, 8, 17, 0, 0, 0, 0, 0, SkyPillar_Top_EventScript_15F316, 773, 0, 0

^ rayquaza

====

https://github.com/pret/pokeruby/blob/9ba9993be18af162239838cfefe23f535e291ac0/data/scripts/maps/CaveOfOrigin_B4F.inc

https://github.com/pret/pokeruby/blob/d9e59a388c7c4b2464769963b3d58980ce742f70/data/maps/events/CaveOfOrigin_B4F.inc

CaveOfOrigin_B4F_MapObjects:: @ 838D880
	object_event 1, 248, 0, 9, 0, 10, 0, 3, 8, 0, 0, 0, 0, 0, 0, 0x0, 825, 0, 0

Possible that flag 825 has something to do with the Kyogre/Groudon trigger spawn, can't see any other reference though.

CaveOfOrigin_B4F_MapCoordEvents:: @ 838D8A0
	coord_event 9, 13, 3, 0, 0x409b, 0, 0, CaveOfOrigin_B4F_EventScript_15DDD7

15DDD7 is the map calling the Kyogre/Groudon event, looks like 0x409b (event constant) should be set to 0 to reset the event?

https://github.com/pret/pokeruby/blob/9ba9993be18af162239838cfefe23f535e291ac0/data/scripts/maps/CaveOfOrigin_B4F.inc#L75

image.png

 

Edit: can confirm that setting the above constant to 0 allows you to rebattle (sprite doesn't show, but triggers the event when you stand in front of it)

image.png

  • Like 1
Link to comment
Share on other sites

10 hours ago, Kaphotics said:

Edit: can confirm that setting the above constant to 0 allows you to rebattle (sprite doesn't show, but triggers the event when you stand in front of it)

image.png

 

Unsetting flag 825 will show the sprite, along with fixing constant 155 for the event trigger. Can confirm it works for both Ruby and Sapphire.

I also just tested the above Regi flags, and they work for Emerald as well. Rayquaza at 773 works for RS only.

-----

Other legend/static battle flags I'll try to document are:

RS: Island Lati, possibly the roaming Lati

Emerald: Rayquaza, Island Lati, possibly roaming Lati, Mew, Deoxys, Ho-oh, Lugia, Sudowoodo

FRLG: Articuno, Zapdos, Moltres, Mewtwo, eastern and western Snorlax, possibly roaming Johto beast, Deoxys, Ho-oh, Lugia.

I don't think I'm forgetting anything. Groudon and Kyogre in Emerald may be difficult with the randomly spawning caves, but we'll see.

I'll try to find the time. For some I'll probably have to grab some used savefiles off Gamefaqs that haven't had anything battled yet.

Link to comment
Share on other sites

Hey there.

I'm doing work on finding stuff for Gen 2, but thought I'd just quickly find out the starter flags for Gen 3, so here they are. 

Btw sorry I couldn't make out FRLG flags that I had to manually look into them via HxD. Hope it still helps!

RS:
Constant 35:
0: Treecko
1: Torchic
2: Mudkip

FRLG:

Offset 40E2: Rival starter

0: Bulbasaur
2: Charmander
1: Squirtle

Offset 3EE5: Ball left at Oak's

13: Charmander (Squirtle chosen)
16: Bulbasaur (Charmander chosen)
15: Squirtle (Bulbasaur chosen)

Emerald:
Constant 41:
0: Treecko
1: Torchic
2: Mudkip

Edited by Holla!
  • Like 1
Link to comment
Share on other sites

I think the easiest way to research gen 3 flags and how they work is to use a script editor and search how the game manages the flags, since for example in emerald to re-enable the full groundon/kyogre event you'll find information at the weather station script you'll find how the game handles them for example.

I did research the flags too some time ago, in fact I should have a script (to be used as a wondercard) that re-enables all emerald legendary battles, I even made it so it will only work if you have beaten the pokemon league. The problem will be finding it, since I've moved recently and all my data stuff is mixed between computers.

  • Like 1
Link to comment
Share on other sites

  • 9 months later...

Have you found that script perchance?  I'm mainly interested in fixing the event with Rayquaza.  I found out battling Rayquaza in Pokemon Emerald when you first start the game causes the game to believe that the event has already happened later on when you are taken to the Cave of Origins to talk with Wallace, which causes you to be stuck with Groudon and Kyogre battling in Sootopolis with no way around it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...