Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation II Glitch Discussion

Obtaining TM17 ACE in EU versions of G/S - Page 1

Obtaining TM17 ACE in EU versions of G/S

Posted by: luckytyphlosion
Date: 2017-10-07 13:09:36
gifvex and I have made a setup to get a TM17 in the Balls Pocket with minimal requirements. There might be some unclear steps in the guide (which is why it is still a preliminary), but it describes everything required from start to finish. It would be greatly appreciated if people could try the guide out for themselves and point out any uncertainties or confusing parts of the guide.

The guide: Link.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-07 15:02:28
Thanks for the guide, it's really interesting! I made a method of my own (although for TM25) recently which involved a Pokémon with Clamp and another with Low Kick, ending up in getting 4 items compatible with getting the expanded balls pocket (2 Machine Part and 2 SecretPotions) but that's an cool alternative that doesn't use it. Good job with this one!

I'm not familiar with TM17, where does it executes from? We usually reroot TM25 into PC items (using a trained Pokémon in party slot 2 as I've setup in another thread), so using the expanded balls pocket make sense then because it allows a quick item cloning.

PS: I also feel like it should be noted that there is a way to convert pseudo-Bad Clones (those who can be male and lvl > 0) into real Bad Clones using the traditional Bad Clone Trick (that relies on unterminated name corruption).

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: luckytyphlosion
Date: 2017-10-07 15:19:36
TM17 executes from $FA47, which is equivalent to an unused portion of memory of Party Mon 1 in party struct. The only bytes before the 2nd Pokémon are the Level, Status, HP, Max HP, Attack, Defense, Speed, Special Attack and Special Defense. By catching a low-leveled Pokémon, we can ensure the PC will never change state as opposed to using TM25 which runs through DVs (and thus has a higher chance of not executing the code correctly).

Crystal_ was the one to originally switch to TM17, and I followed suite after reading his ACE method.

Also, unterminated name exploits do not work in Gold/Silver as upon reading a $00 character, the game immediately stops printing text. This was changed in Crystal which is why it works in that game.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-07 15:51:09
Thanks about unterminated names, I wasn't sure about this.

However, you don't need to run through DVs with TM25 because as far as I know, it starts reading EVs of Pokémon 2. Theoretically, battling 16 Raticate, 60 Tentacool, 1 Nidorina, 2 Rattata and 2 Smeargle gives the Pokémon the correct EV, so it jumps directly to PC items.

So if I understand correctly your method, the reading would slide to Pokémon 2 provided that lvl and stat values are not breaking it? And then what are the addresses that you would use to jump to somewhere else and where to? I don't have fully in mind what Crystal_ ended with while working on stack corruption.

I'm not trying to annoy you lucky, sorry. Your method is truely cool! I'm just, for personal use in my current game, weighing pros and cons regarding the benefits of not getting the expanded balls pocket that would be beneficial if your ace ends up in PC items anyway, and keeping in mind that with the 'getting a bad clone part' you have done the most difficult part of having that expanded pocket :)

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: luckytyphlosion
Date: 2017-10-07 16:17:36

So if I understand correctly your method, the reading would slide to Pokémon 2 provided that lvl and stat values are not breaking it? And then what are the addresses that you would use to jump to somewhere else and where to? I don't have fully in mind what Crystal_ ended with while working on stack corruption.


You'd use the Quagisre holding TM02 and Return as the first move, as usual.


I'm not trying to annoy you lucky, sorry. Your method is truely cool!


gifvex was the one that did most of the work for this version of the setup. My original idea was to do a different method to obtain 2 Itemfinders, underflow the Key Items Pocket and create a TM17 in the Player PC's item using quantity deposits. Then, use that TM17 to create a TM17 in the Items Pocket, and patch the Key Items pocket. gifvex did a lot of the work finding less destructive setups, and obtaining two Key Items with any possible TID/DV combination using Move Pkmn W/O mail swaps (which exhibit odd behaviour with a party greater than 7).


I'm just, for personal use in my current game, weighing pros and cons regarding the benefits of not getting the expanded balls pocket…


The method uses item/quantity shifts in order to convert the value of the Cancel button into a quantity, modifying the quantity to equal the ID of TM17, then doing another shift to convert the quantity into an item. The setup does not actually underflow either the Key Items pocket or the Balls pocket, so it should be perfectly safe to use (again, credits to gifvex for finding this setup).

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-07 16:30:33
Yeah well, since I don't play english games at all I'm not familiar with that Quagsire stuff that was used mainly with Coin Case so far and always forget about it. I get now that the idea would be to jump to box names then, and not use PC Items. In this case indeed underflowing the Balls pocket is not a necessity and avoiding it is cool :)

Still, wouldn't it be an improvement if we could come up with another set of Pokémon to face for your second Pokémon, in order  that TM25 jumps directly to box names? I understand having a low-level Pokémon makes TM17 reliable in most cases but it is still assuming that everything goes right, where TM25 used with the correct EVs is a direct jump. Unless we can configure the couple "Max HP + Attack stat" of Pokémon 1 for a jump when TM17 is used. In that case, it would be easy for this Pokémon to have a 'good' level, no status and no current HP.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: luckytyphlosion
Date: 2017-10-07 16:45:32
You could use the current TM17 setup to hack in the necessary opcodes into stat exp to jump directly to box codes, then use TM25. If you wanted to use TM17 but only with one Pokémon, you could change $DA47 and $DA48 to a negative jr into stat exp, then at stat exp have the jump to box names.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-07 17:03:54
Hmm, I see, thanks. I may try to figure out a couple of Pokémon (or a single Pokémon) to ensure that using TM17 ends up in a guaranteed good jump to box names these next days. As well as attempt to reroot TM25 to box names instead of PC items, so both TMs would be equivalent.

I'm guessing there's a way to get TM25 the way you generated TM17?

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: luckytyphlosion
Date: 2017-10-07 17:43:16
Yes, toss 39 Ultra Balls instead of 47.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-08 08:33:47
So, I've been digging a bit more today. I didn't do the full method, but tested the trick to get TMs in Balls Pocket, and it works very well! Once again, Kudos for that because it's a real improvement from the standard method, if we use box names.

If you use this to get TM25 and have your second Pokémon beat the following Pokémon:
3 WOBBUFFET + 15 DIGLETT + 1 SENTRET + 1 PINECO + 3 VENOMOTH + 2 PONYTA
Then using TM25 executes from Box name 9. I picked 9 because it's the box that requires the less Pokémon to fight, but another box can be used if you're willing to train more.

I have to say I'm a bit less hyped about TM17. $FA47 and $FA48 are indeed not a problem, but then, I couldn't find any way to use the first Pokémon to jump to box names directly, or relative jump to the standard Quagsire in slot 2. Level cannot be used because of status, status cannot be used because it's too complicated, HP cannot be used because if would required too much max HP, max HP and stat values cannot be used because of their first byte being hard to control. Therefore the only way to use this TM is indeed catch a low-level Pokémon and pray for it slides to Pokémon 2 without messing anything.

It's everyone choice to make, but to be honest I'm not a huge fan of setups in which 'everything will go right except something goes wrong'. In my opinion, the use of the "gifvex-luckytyphlosion method", but with TM25 (and a trained Pokémon), is currently the best method to perform ACE in european G/S.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-08 09:18:21
On a side note, if you're not in a hurry to do this trick early in the game, you can use instead of Bellsprout a setup based on a Pokémon with Seismic Toss (Machop for example, the move must be in slot 1) which would be really easier to perform.

Just put the glitch Pokémon 000 in front of 5 other useless Pokémon (or clones) in your team, move the Pokémon with Seismic Toss at first slot, give the glitch Pokémon to the Daycare lady and store/withdraw the Pokémon with Seismic Toss which now has Mystery Egg attached. Then clone this Pokémon and take both eggs.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: luckytyphlosion
Date: 2017-10-08 15:04:22
The problem with using doing a setup with deposits/withdraws/daycare takebacks is that it's potentially dependent on not having $FF in DVs or TID. This is dependent on the setup used, but it can create some compatibility issues between saves. The setup posted has been tested to work with $FF in TID, and $FF not in TID.

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: Krys3000
Date: 2017-10-08 16:46:06
I see!

Do you have some elements about what I've been saying about TM17 in the first of my two recent posts? I may miss something as I'm still new to this.

Anyway, there's a lot of very useful informations, methods, regarding different ACE techniques with different setups and different vectors for codes in a lot of different thread in this sub-board so far. It may be a bit messy for newcomers, so I feel, if it's fine to everyone, that it could help to compile all data in a 'guide thread' asap. I can work on it and you guys could complete it if something's missing :)

Re: Obtaining TM17 ACE in EU versions of G/S

Posted by: spamviech
Date: 2017-10-21 06:39:39
Nice work.
One thing that would help: The final number of Bellsprout after all the cloning.

Edit:
Maybe you should also mention getting the 2 Pokéballs and 1 Great Ball in the Pre-cloning Setup.
I know it's part of getting TM17, but since this can be seen as one huge task having to buy them half-way through is not ideal.

Edit²:
Bad Clones are aweful (but I knew that already). All I managed to do (aside from normal clones/nothing) is the game telling me I have 17 mons in Box14, but I can't access any of them (only Cancel Button visible).

Anyway, decided to  give me the double Mystery Egg using Gen1 ACE and trading. The Setup afterwards worked like a charm.
Now I only need to figure out a way to do something with ACE in German Gold. At first glance charset for boxnames looks incredibely useless.  :(