The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary ROM Hacking (https://www.pokecommunity.com/forumdisplay.php?f=284)
-   -   Other How to replace the Regis in Emerald? (https://www.pokecommunity.com/showthread.php?t=355380)

LegendChu September 9th, 2015 8:42 PM

How to replace the Regis in Emerald?
 
Okay as everyone knows the Regis - Regirock/Regice/Registeel, are found in Desert Ruins/Island Cave/Ancient Tomb respectively in Emerald.

Now I want a different Legendary to be found in those locations, like say Dialga/Palkia/Giratina, where is the Script I need to alter, for that?

Pika Pika :chu:

C me September 10th, 2015 12:40 AM

Quote:

Originally Posted by LegendChu (Post 8922086)
Okay as everyone knows the Regis - Regirock/Regice/Registeel, are found in Desert Ruins/Island Cave/Ancient Tomb respectively in Emerald.

Now I want a different Legendary to be found in those locations, like say Dialga/Palkia/Giratina, where is the Script I need to alter, for that?

Pika Pika :chu:

Just go into the caves in Amap, you'll see the regis ow, then open it's script. There'll be a setwildbattle just change the parameters there.

LegendChu September 10th, 2015 8:52 AM

I would rather prefer to make the changes using a Hex Editor, coz that's seems safer.

Can someone please tell me the Offsets where I can make the changes, for each Regi?

Pika Pika :chu:

C me September 10th, 2015 9:24 AM

Quote:

Originally Posted by LegendChu (Post 8922565)
I would rather prefer to make the changes using a Hex Editor, coz that's seems safer.

Can someone please tell me the Offsets where I can make the changes, for each Regi?

Pika Pika :chu:

You're just replacing one byte with another. It's equally safe.

LegendChu September 10th, 2015 8:28 PM

Quote:

Originally Posted by C me (Post 8922601)
You're just replacing one byte with another. It's equally safe.

Okay, this is the Script for Registeel in Ancient Tomb

Spoiler:
'-----------------------
#org 0x23905A
lock
faceplayer
checksound
cry 0x193 0x2
pause 0x28
waitcry
startwildbattle 0x193 0x28 0x0
setflag 0x8C1
special 0x13B
waitstate
clearflag 0x8C1
special2 LASTRESULT 0xB7
compare LASTRESULT 0x1
if 0x1 goto 0x82390A1
compare LASTRESULT 0x4
if 0x1 goto 0x82390AA
compare LASTRESULT 0x5
if 0x1 goto 0x82390AA
setflag 0x1BD
release
end

'-----------------------
#org 0x2390A1
setflag 0x1BD
goto 0x827376D
end

'-----------------------
#org 0x2390AA
setvar 0x8004 0x193
goto 0x8273776
end

'-----------------------
#org 0x27376D
fadescreen3 0x1
hidesprite LASTTALKED
fadescreen3 0x0
release
end

'-----------------------
#org 0x273776
fadescreen3 0x1
hidesprite LASTTALKED
fadescreen3 0x0
bufferpokemon 0x0 0x8004
msgbox 0x8273204 '"The [buffer1] flew away!"
callstd 0x4
release
end


'---------
' Strings
'---------
#org 0x273204
= The [buffer1] flew away!


So basically what you're saying is I just change the line:-

startwildbattle 0x193 0x28 0x0 (the one I've underline in bold, in blue) (btw, the does the Level also have to be in Hex Value, coz I just noticed that?)

to something of my choice, say

startwildbattle 0x091 0x32 0x0

So will I then be battling a Zapdos at Lv.50 instead?

Or do I have to change all instances of 193 to 091?

Pika Pika :chu:

Teh Blazer September 11th, 2015 10:36 AM

Yeah, you just change the 0x193 to 0x91 and you'll be battling a zapdos. Additionally, before the wild battle command the script says "cry 0x193 0x2" so you gotta also change that to "cry 0x91 0x2" or else the ow will still make a registeel sound before you fight it.

C me September 11th, 2015 11:16 AM

Also the setvar at 0x2390AA, that's used to set the name for [buffer] flew away.

LegendChu September 11th, 2015 8:33 PM

Spoiler:
'-----------------------
#org 0x23905A
lock
faceplayer
checksound
cry 0x193 0x2
pause 0x28
waitcry
startwildbattle 0x193 0x28 0x0
setflag 0x8C1
special 0x13B
waitstate
clearflag 0x8C1
special2 LASTRESULT 0xB7
compare LASTRESULT 0x1
if 0x1 goto 0x82390A1
compare LASTRESULT 0x4
if 0x1 goto 0x82390AA
compare LASTRESULT 0x5
if 0x1 goto 0x82390AA
setflag 0x1BD
release
end

'-----------------------
#org 0x2390A1
setflag 0x1BD
goto 0x827376D
end

'-----------------------
#org 0x2390AA
setvar 0x8004 0x193
goto 0x8273776
end

'-----------------------
#org 0x27376D
fadescreen3 0x1
hidesprite LASTTALKED
fadescreen3 0x0
release
end

'-----------------------
#org 0x273776
fadescreen3 0x1
hidesprite LASTTALKED
fadescreen3 0x0
bufferpokemon 0x0 0x8004
msgbox 0x8273204 '"The [buffer1] flew away!"
callstd 0x4
release
end


'---------
' Strings
'---------
#org 0x273204
= The [buffer1] flew away!


So basically I just need to change those three values (the ones in blue), just hit save & I'm done, right!

P.S. - I'd appreciate if someone can answer to a similar question I asked here http://www.pokecommunity.com/showthread.php?t=355379, regarding changing Kyogre/Groudon/Rayquaza, coz I think they'd work a bit differently.


All times are GMT -8. The time now is 2:30 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 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 - 2016 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.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.