Jump to content

Idea for Gen 2 mystery gift simulator


suloku

Recommended Posts

There has been something bothering me for a long time: there's no GB emulator with infrared link support. It is understandable, as not many titles use that function and even then it's a really minor feature and doesn't really hinder gameplay.

For Gen 2 pokémon games the feature was really minor, but it still provides things that can currently only be obtained either via real hardware or emulating pokemon stadium 2 and the transfer pack. I would normally prefer IR emulation over savegame editing, but for the Gen 2 pokémon games we have something not available for other IR games: full disassemblies:
https://github.com/PikalaxALT/pokegold
https://github.com/pret/pokecrystal

Since we have the disassemblies, we can know exactly how the IR connection works, which data is sent, which data is expected to be received and how the connection alters the savegame. I don't exactly know asm language, but someone who does could write a program that given two savegames from GSC as input simulates the IR connection between them. By simulating I mean mantaining the 5 trainers per day limit, same random chances to get each item/decoration, etc.

I think it would be great to have such a program. At the very least if someone knows asm I would like him to tell me exactly what is changed in the savegame after the transfer, since while my ideal would be a simulator program, adding editing capabilities to pkhex would also be nice (decoration and the trainer house at viridian city).

This is what I understand from the gift connection:
- Randomly, item or decoration is selected with 50% chance.
- Randomly, a slot is selected. It seems some slots are rarer than others (can't really understand the code).
- Some trainer and party data is sent for the trainer house (I would need to know the data exactly)
- OT ID is stored to prevent another transfer with the same trainer.
- Trainer and party data is stored at trainer house.
- Gift is stored to be received at pokemon center.

This is my rough understanding of the disassembly, but I'm missing things for sure, so propper understanding of the process data-wise would be great if someone is able to provide it.

ps: pokémon pikachu color apparently can always send gift, I suspect this is due to it sending ID 00000, but something else might be in place in the connection, like a direct skip of the 5 trainer a day limit.

  • Like 3
Link to comment
Share on other sites

7 hours ago, suloku said:

This is my rough understanding of the disassembly, but I'm missing things for sure, so propper understanding of the process data-wise would be great if someone is able to provide it.

ps: pokémon pikachu color apparently can always send gift, I suspect this is due to it sending ID 00000, but something else might be in place in the connection, like a direct skip of the 5 trainer a day limit.

I have a brand new/sealed Pokemon Pikachu 2 I could open up if it would benefit research purposes. I also have a complete Pokemon Silver save, Stadium 2 and a transfer pack. I could provide you a backup of my save before and after receiving a Mystery gift as well as record it. If that's what info you're looking for and if this could be of use to you. I've always wanted to collect all the mystery gift items legit in gen 2 so this would just give me the motivation to check it daily anyway. I don't know much about the trainer house though. 

Just let me know if I can be of some kind of help. 

Link to comment
Share on other sites

Don't worry about that, if it were only a matter of comparing savegames before and after mystery gift I could do it myself as I own the hardware. As I said the disassembly is available and that means all the information regarding the mystery gift is already there, it's just that I don't understand enough the language to properly replicate a mystery gift transfer.

Checking what Stadium 2 does to the savefile can be done on a computer via emulation, so there's no need for that either.

Pokémon Pikachu 2 doesn't really offer anything interesting and as I said everything we need to know about how it is able to send gifts without limit is in the disassemble, please don't open such a valuable item for this, it is not needed.

Basically I'm searching for someone who knows asm to explain how the mystery gift works and what data is sent/stored in the savegame and the exact probabilities of each item being sent, with that I could code the simulator. I could find the offsets for decoration, trainer house and mystery gift man item by myself, but my point is doing the very same the game does, since if it is not the very same thing as what happens when done on real hardware for me it's no different from cheating or plain save editing.

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...