Guides:Coin Case ACE: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
TimoVM (talk | contribs)
TimoVM (talk | contribs)
Line 12: Line 12:
When using the Coin Case while a Bellsprout/Machop's cry and specific newly loaded tiles are buffered in memory, the game will execute code in various places before finally ending up in the $FA98-$FA9B range, which is echo ram containing the stat exp data of party pokémon #3.
When using the Coin Case while a Bellsprout/Machop's cry and specific newly loaded tiles are buffered in memory, the game will execute code in various places before finally ending up in the $FA98-$FA9B range, which is echo ram containing the stat exp data of party pokémon #3.


Using specific stat exp values, we can form a jump to $CF00, which is located in the latter half of last read mail. This gives us barely enough space to fix the side effects of using the Coin Case and jump to the start of box names.
Using specific movement patterns in the Goldenrod Radio Tower, we can form a jump to $EEEE, which is echo ram for the second character of the last read mail. This gives us enough space to call the start of box names, then fix the side effects of using the Coin Case and return to normal game operation.


In practice, the initial Coin Case ACE setup will be created using the following general process:
In practice, the initial Coin Case ACE setup will be created using the following general process:
# Train a pokémon by exclusively defeating a set of specific encounters within '''Union Cave and route 33'''
# Obtain the Coin Case
# Obtain the Coin Case
# Give the trained pokémon a mail with specific content
# Give any pokémon a mail with specific content and set up a box name code
# Set up a specific movement pattern in the Goldenrod Radio Tower to be able to execute ACE


==Step 1: Preparing a pokémon that can be used with the Coin Case==
==Step 1: Obtaining everything needed for the setup==


# Catch any pokémon and nickname it "MAILWRITER".
# Either in the Union Cave or on route 33, catch a pokémon that is (preferably) at least lvl 6 and not a Hoppip. Give it a specific nickname, such as "BOXCODES" to remember that it will be used as part of a Coin Case ACE setup that executes box name codes.
# Go to Goldenrod City and obtain the Coin Case by picking it up in the Goldenrod Underground.
# Have it fight the following pokémon and defeat them solo (order doesn't matter, the pokémon '''must''' be the only pokémon to gain experience from the battle)
# After obtaining the Coin Case, go to the Game Corner.
#* Rattata - Union Cave, Route 33, higher spawn rate in Union Cave compared to route 33
#* If you do not have any coins yet, simply buy 100 coins.
#* Hoppip - Route 33
#* If you already have coins stored in the coin case, make sure that the first digit of the total number of held coins equals "1"/
#* Hoppip - Route 33
# In the Goldenrod Dept. Store, buy a Flower Mail.
# Have it fight the following pokémon with the help of exactly one other pokémon ('''the experience must be shared between exactly two party pokémon''')
#* Onix - Union Cave
# The "BOXCODES" nicknamed pokémon must never gain experience from any other battle from this point onward


==Step 2: Obtaining the items needed for the setup==
==Step 2: How to execute ACE using the Coin Case==


Now that we have the Coin Case, we'll need to set up everything needed to actually safely use it. Using a specific setup, we can force the Coin Case to execute code starting from the second character of the last read mail. From here, we need to ensure that we have the proper setup to execute box name codes.
# Buy a Flower Mail, can be bought in Goldenrod Dept. Store or the Violet City pokémart.
# Obtain the Coin Case by picking it up in the Goldenrod Underground.


* Prepare a mail to ensure that a box name code can be executed
==Step 3: How to execute ACE using the Coin Case==

Now that we have the Coin Case, we'll need to set up everything needed to actually safely use it. Using a specific setup, we can force the Coin Case to execute code starting from party pokémon #3's stat experience data. What we'd like to do is to redirect it such that box names get executed instead:

* Prepare the party to ensure that code gets safely redirected to box names.
* Prepare specific box names to run a simple test code.
* Prepare specific box names to run a simple test code.


Line 47: Line 40:
## Any
## Any
## Any
## Any
## "BOXCODES" nicknamed Pokémon that has defeated a specific set of pokémon
## "MAILWRITER" nicknamed Pokémon, holding mail
## Any
## Any
## Any
## Any
## Any
## Any
# Finally, give the "BOXCODES" nicknamed pokémon a flower mail with the following language-specific content:
# Finally, give the "MAILWRITER" nicknamed pokémon a flower mail with the following content:
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|
|
[[File:Stack fixer.png|frameless]]
[[File:Mail English GS V2.png]]
|}
|}


Line 62: Line 55:


{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|
| [[File:Coin Case ACE tester box name.png|frameless]]
[[File:Coin Case ACE tester box name.png|frameless]]
|}
|}


==Step 4: Using Coin Case ACE==
==Step 3: Using Coin Case ACE==


In order to use ACE, always perform the following steps:
In order to use ACE, always perform the following steps:


* '''Make sure to set box 1 as the current active box.'''
* Ensure the "BOXCODES" nicknamed pokémon holding the mail is in party slot #3.
* Go to any pokémon center and take the stairs up to the second floor. '''Save the game while you're still standing on the stairs and reset the game.'''
* Go to the Goldenrod Radio Tower and take the stairs up to the second floor. Move to the spot indicated by the above screenshot on the left. '''Save the game while you're still standing on this spot and reset the game.'''
* After reloading, take the following steps until you reach the spot indicated by the above screenshot on the left:
* From the stair tile, take exactly 4 steps to the right<sup>1</sup>.
*# 3 steps rightwards
*# 2 steps upwards
*# 1 step leftwards
* Open the start menu, open the pokédex, then listen to the cry of Bellsprout.
* Open the start menu, open the pokédex, then listen to the cry of Bellsprout.
* Go to the Pokémon menu and read the previously mentioned mail.
* Go to the Pokémon menu and read the previously mentioned mail.
Line 80: Line 77:
If the test code crashes, check the following:
If the test code crashes, check the following:
* Did you correctly follow the previous steps?
* Did you correctly follow the previous steps?
* Is the current active box set to box 1?
* Make sure that the first digit of the total amount of coins is equal to "1". 100 is a good total for this setup.
* Is the box name code correctly entered?
* Is the box name code correctly entered?
* Is the content of the mail correct?
* Is the content of the mail correct?
* Did you ensure that the nicknamed pokémon only received experiences from the four specific encounters? Were both Hoppip and Rattata defeated using only the nicknamed pokémon? Was Onix defeated such that experience was shared between the nicknamed pokémon and only one other pokémon?
* If you are sure you performed the above correctly, try to make sure you have 0 coins in total.


'''Anytime you wish to execute wrong pocket Coin Case ACE, you'll need to repeat the steps outlined at the beginning of this section. Always make sure the "BOXCODES" nicknamed pokémon is in party slot #3 and the held mail was read before using the Coin Case.'''
'''Anytime you wish to execute wrong pocket Coin Case ACE, you'll need to repeat the steps outlined at the beginning of this section. Always make sure the held mail was read before using the Coin Case and ensure that a valid box name code was prepared beforehand.'''


=Setting up an ACE environment=
=Setting up an ACE environment=