Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
AreaDex
DexDex
ItemDex
MetascriptDex
TMHMDex
TrainerDex
TypeDex
UnownDex
More

Major Glitches
Trainer escape glitch
Old man glitch
Celebi Egg glitch
SRAM glitch
Buffer overflow techniques
Pomeg glitch data corruption (Glitzer Popping)
Tweaking
Pokémon cloning
Select glitches (Japan)
Time Capsule exploit
Arbitrary code execution
More

Other Glitch Categories
Glitches by generation
Japan-only/language specific glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Recurring glitches
More

References
Pokémon GameShark codes
Pokémon Game Genie codes
Disassembly projects
The Big HEX List
GB programming
Curiosities
Debugging features
Error traps
Non-glitch exploits
Pokémon glitch terminology
Unused content and prerelease information
More

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Technical
Site Source Code

Search Wiki

 

Search Forums

 

Author Topic: Catch Arceus with any ingame location and '---------' location.  (Read 360 times)

0 Members and 1 Guest are viewing this topic.

RETIRE

  • Press RETIRE
  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • The Gen 4 dude
    • View Profile
Here I am with another glitch to showcase! This is not just a repost of Ganix's old route, trust me.
We all know it's possible to capture Arceus, but I wanted to write a route that would allow the player
to easily change the capture location of that Arceus.

Arceus' script moves you up, which can cause us to be moved into a new map id in the void.
By manipulating what map is above the map we call the script in, we can modify Arceus' capture location.

The route I came up with achieves all of the following:
You can choose any ingame map, or '----------' as capture location
You can recapture Arceus infinitely
You can modify the capture location inside the void to capture Arceus from all locations ,
with only a few seconds of work. Not requiring leaving the void.
You can shinyhunt it

The way  I achieved this is using Itemdata. Once again I made a video with an indepth explanation:

https://www.youtube.com/watch?v=DZ29bnNdIcs&feature=youtu.be

This post will go slightly more indepth than the video, although not much.

First off all Jagger found the addresses for Itemdata, which were needed to know the amount of steps  I had to
take to reach my items.

Quote
Base + 0x00838

We start in the void at Matrixdata being located at

Quote
Base + 0x022ADA

I then made a simple calculation to convert these values into amount of steps between them.

Quote
(0x022ADA-0x00838)/60*32


explanation formula:

First we need the amount of bytes between two addresses.

Quote
(0x022ADA-0x00838) = 0x0222A2
= 139938 bytes

Then we convert this to amount of maps we will travel through. Going vertically, maps 60 bytes appart.

Quote
139938 bytes/60
= 2332 maps

Then we convert this to amount of steps, knowing that one map is 32x32 tiles.


Quote
2332 maps *32 steps/map
= 74 624 steps

Since Itemdata is located higher in RAM, we have to travel north.
This calculation is based on the start of Itemdata, but we only have to travel to about the middle of it for our setup so its a little less.

Now that we have a general idea of the amount of steps, I need to know what maps we need to write.
We can write maps here using Item ID's and Item amounts. Both are stored in 2 byte values.

The maps we need are:


  • ID 251: Outdoor Pal Park. This is needed to get the menu to capture Arceus, and to open a shop (explained later)

  • ID 510; Hall of Origin. This is where we call Arceus' battle script.

  • ID 393: Indoor Pal Park. If you haven't entered this map at least once, Proffesor Oak will meet you.
    Once we leave the void using RETIRE in pal park, the mapscript for Oak Will trigger. The game will skip a different mapscript required to move us down, resulting in us being stuck.

  • ID 137; Veilstone Department store: This map's 4th script opens a shop, using the RETIRE menu its accesible.

  • and then a 2 byte value we can write anything to, so Item amount. highest map being ID 558

My first route had big flaws, it was pricy and wasn't really well set up. cost nearly 900K ₽.

My second route is nearly flawless, the price for setup is only 80 860 ₽!
Next to that, I was able to write all needed maps within 64 steps of each other.
You'll see that the setup actually is very lucky when I explain it.

First of all, I needed cheap items. I also need two cheap items to be 60 bytes away from each other in RAM,
since that's the same as going one map up. the other maps are only 2 bytes away from each other, next to each other horizontically.

Everything fell perfectly into place!

  • Mail slot:
    Grass Mail x1-558 -Not only is this item the cheapest in the game at 50₽, it's ID is 137. meaning it's ID can be used for the Veilstone
    Department store, whilst its amount can be used for the map to catch Arceus in. And next to that, if it's the first item in Mail slot it'll be 60 bytes above the 4th item in your Medicine slot. This comes in later

  • Heart Mail x393 - This is equally cheap at 50₽, and is horizontically next to Grass Mail in the void. We can trigger Oak's cutscene here, then
    we can toss 142 Heart items to get 251 left. Then we can get our Pal Park menu in here.

  • Medicine setup:
    3 Filler Items x any amount (just to align 4th item with Grass Mail amount)
    Antidote x 510 - Antidote is the second cheapest item at 100₽, and with the  3 filler items we have now written Hall Of Origin underneath
    the Grass Mail.

With only 3 Item setups and 3 filler items all our maps have been written.
Now one problem came up, we want to modify Grass Mail's amount by tossing items to change our Arceus' capture location.
Issue is, in Pal Park mode you can't acces the bag!
To fix this, we needed the map 137 (Grass mail's ID). We can use RETIRE here to call the shop menu and sell grass mails until we get the desired amount.

So a clean version of the item setup is as following:
Quote
Mail slot
Grass Mail x558
Heart Mail x393

Medicine slot
3 Filler Items x any amount
Antidote x 510
Now before I show the route, I'd like to note that the following values shouldn't be used as item Id's or amounts
in your bag, especially the amount of grassmails, since they can cause softlocks, move you or kick you out of the void.
Red; Dangerous, crashes and softlocks

5, 23, 31, 32, 35, 85, 88, 91, 93, 95, 105, 114, 115, 133, 150,154,155,156 176, 178, 180,
182, 184, 188, 255, 304, 337, 461, 516, 352


Yellow; Cause movement and or warp you
117, 177, 179, 181, 183, 185, 186, 187, 192, 393,
474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 496


I would also like to note that you can only capture Arceus once in Hall Of Origin.
Next to that, we can modify its location to become '---------' by using maps without assigned capture location,
for example map 251, Pal Park.

Requirements:
Have received a pal pad from pokecenter lowest floor
Have a bycicle
Have enough pokeballs
Pokemon with fly or teleport

Next to that, I slightly changed the usual 'go north' path by going 64 W first. This makes the path less likely to go through
dangerous maps. Here we go!

1) Get to itemdata and encounter Arceus
-------------------------------
1 S
5 E
500 N
Save reset
64 W
-------------------------------
73465 N
-------------------------------
150 W
1 N
If oak cutscene plays: 1 W
Toss Heartmail x 142 (now you have 251)
1 W
-countdown
2 S
93 W
RETIRE
-arceus encounter
-------------------------------
 
Following steps can be repeated, always starting at just having caught an arceus.
 
Now you can:
2) Change location to catch arceus in
-------------------------------
1 W
RETIRE (this opens up a pokémart buy/sell option)
Sell grass mail until it becomes desired map ID
1 E
2 S
RETIRE
-arceus encounter
-------------------------------
 
Or
3) Re-encounter Arceus in same map (can also be done after 2)
-------------------------------
2 S
RETIRE
-arceus encounter
repeat this step infinitely
-------------------------------
 
After catching last arceus:
64 E
RETIRE






« Last Edit: September 26, 2018, 02:16:42 pm by RETIRE »
Hey, I mainly focus on generation 4 glitches and specialise in voidspecific glitches.

If you'd like to see progress on gen 4 research you can watch my videos here:
https://www.youtube.com/c/RETIREglitch

Feel free to send me pms on the forum or add me on discord by tagging me in the glitchcity laboratories server ^•^

Sherkel

  • /du'deɪʃ/
  • Staff
  • *****
  • Offline Offline
  • Gender: Male
  • Here Comes Everybody!
    • View Profile
Re: Catch Arceus with any ingame location and '---------' location.
« Reply #1 on: August 01, 2018, 10:00:52 pm »
You already know what I have to say about this one. ;) One of these days, I'm going to start a brand new file on Diamond and try all of these, but this one in particular may be the most interesting to me.
 

RETIRE

  • Press RETIRE
  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • The Gen 4 dude
    • View Profile
Re: Catch Arceus with any ingame location and '---------' location.
« Reply #2 on: August 02, 2018, 12:00:12 pm »
You already know what I have to say about this one. ;) One of these days, I'm going to start a brand new file on Diamond and try all of these, but this one in particular may be the most interesting to me.

I really just wanted to have something challenging on my hands, and it turned out wonderful ^°^
Hey, I mainly focus on generation 4 glitches and specialise in voidspecific glitches.

If you'd like to see progress on gen 4 research you can watch my videos here:
https://www.youtube.com/c/RETIREglitch

Feel free to send me pms on the forum or add me on discord by tagging me in the glitchcity laboratories server ^•^