Jump to content

[GEN 3] Mystery Event/Gift Research


Guest

Recommended Posts

Unfortunately for this he would have to make his own custom scripts for all respective localized versions.

We're only using the data which we found inside the ROM and only what's original and GameFreak appearently never planned to use this feature for sending items.

Theoretically it's possible to make customized scripts, but it's a lot of work that would need to be done for this and besides the plan was to release the official scripts.

Link to comment
Share on other sites

The regi dolls wondercard was made by morfeo, the codes work for ruby, shaphire and emerald:

http://pokemon-stats.com/foros/viewtopic.php?f=3&t=35198&sid=0e6b414805494776a6adce7fc0ac32fa

There's also one for a custom berry.

Wouldn't it be possible to use the codes in each version and extract the wondercard? Then see how it works and edit it to give other decorations, no need to do the scripts from scratch. Or is there a reason why this wouldn't work?

Link to comment
Share on other sites

The thing is that the script is custom made by morfeo and in spanish and we rather want to stick to the original scripts and don't mix things up too much with customized hacks.

So we have to think about every step very carefully. Also because we already had some technical issues with the size of the data. We had some issues with the PCNY Eggs, because we had to extend the script for them, because they had 2 Special Moves instead of just one. lostaddict managed to solve this but it showed how difficult and also dangerious it is and I don't want to be responsible for corrupt save data or overwritten flags or whatever could happen.

But I already have some ideas how we could make it possible to make Pokémon and Egg Events with more than just 1 Special Move, so don't worry about that.

I learned a lot of things from the data I dumped from the official distributions and I think I already know about how such issues could be prevented.

I also thought about doing some translation work of my own. Especially since there are still missing Eon Ticket Scripts which we might never get.

We also could translate the Japanese e-Card Regi Doll Script for Ruby & Sapphire into all languages. The same goes for the e-Card Berries.

We will definitely think about this in the future and might extend this project to the Mystery Events, it already happened actually.

Edited by ajxpkm
Link to comment
Share on other sites

I did some improvements today in the algorithm that detects the type of the save file (leafgreen/firered or emerald) and the section where the wonder card data will be injected (since this is not always the same). I used to have some issues with the japanese sav files in the previous version of the algorithm. I did some testing with the new algorithm on different sav files from different games and different languages... Seems to have 100% hit rate :D

Now i need to find a way to identify the version of the rom from the sav file. I'm not sure if this is possible though... Back to research...

Link to comment
Share on other sites

I did some improvements today in the algorithm that detects the type of the save file (leafgreen/firered or emerald) and the section where the wonder card data will be injected (since this is not always the same). I used to have some issues with the japanese sav files in the previous version of the algorithm. I did some testing with the new algorithm on different sav files from different games and different languages... Seems to have 100% hit rate :D

Now i need to find a way to identify the version of the rom from the sav file. I'm not sure if this is possible though... Back to research...

I didn't think the ROM version mattered when working with sav files directly.

Link to comment
Share on other sites

I didn't think the ROM version mattered when working with sav files directly.

If we are going to use the already existing scripts from the roms, then we will need to know the version because the offsets of the scripts are different from version to version. The other option is to change the offsets to work directly from the sav file (something similar to what i did with the wish eggs). But this is a really hard and time consuming process, especially when you are doing it manually...

Link to comment
Share on other sites

If we are going to use the already existing scripts from the roms, then we will need to know the version because the offsets of the scripts are different from version to version. The other option is to change the offsets to work directly from the sav file (something similar to what i did with the wish eggs). But this is a really hard and time consuming process, especially when you are doing it manually...

This won't be an issue when sharing a Wonder Card from FRLG 1.0 with FRLG 1.1, right?

Link to comment
Share on other sites

When I extracted the scripts last weekend I noticed that the offsets were different between version 1.0 and 1.1. of the japanese versions then again in the english versions. However, I didn't compared the data and just extracted both versions. But from what I saw the data was a bit different. So you have a good point there, I wasn't thinking about this yet to be honest. This needs some further investigation. I think we should just test it out and see what's happening.

Link to comment
Share on other sites

When I extracted the scripts last weekend I noticed that the offsets were different between version 1.0 and 1.1. of the japanese versions then again in the english versions. However, I didn't compared the data and just extracted both versions. But from what I saw the data was a bit different. So you have a good point there, I wasn't thinking about this yet to be honest. This needs some further investigation. I think we should just test it out and see what's happening.

At least Emerald doesn't have a version 1.1 (to my knowledge, anyway).

Also I can test Egg and Altering Cave Wonder Card sharing between FRLG 1.0 and 1.1. My FR is 1.0 while my LG is 1.1.

Link to comment
Share on other sites

So, I have some news!

It seems there is some text for the Eon Ticket script in the ROM!

I already searched for it a few weeks ago but couldn't find it. Well, the reason is maybe because it is different to the one which was officially released. And they used PASS instead of TICKET.......

At offset 0x1C5049 in the English version of Ruby you can find this text.

DAD: [NAME]! Good to see you!
There’s a letter here for you, [NAME].

DAD: I guess this is a PASS for a ship.
But I’ve never seen this ship before.
You should find out what this is about
in LILYCOVE.

Right after this there's the text the sailor in Lilycove says if you have the Eon Ticket "The ferry to SLATEPORT is... Oh? That PASS..."

Besides the Eon Ticket there's only the S.S. Ticket which you will get from Norman. But this text doesn't belong to that ticket. Here's a quote http://bulbapedia.bulbagarden.net/wiki/Norman#Littleroot_Town

Also if you compare this text to the one from the Eon Ticket e-Card you should notice some similarities!

DAD“[NAME]! Good to see you!
There’s a letter here for you,[NAME].

DAD“It appears to be a ferry TICKET.
but I’ve never seen one like it before.
You should visit LILYCOVE and ask
about it there.

I am currently not sure if the script is also in the ROM though.

Link to comment
Share on other sites

Wow! This is an awesome find.

I will check it out later, if we are lucky this script could be activated with a simple flag.

Btw. this brings me to something which I almost forgot.

In Emerald I discovered that the script which we found earlier can be activated by taking a closer look at where we originally found the script. It was very easy and I actually wondered why we overlooked this. This is also the way Takasan's Eon Ticket Event work which appearently came from the Official Events. And with the help of his Tools and Codes, I found out about the addresses for sharing Items via mixing records, all I had to do then was finding the Offsets for the localized versions. I documented everything and made PAR Codes which I wanted to share later, but I think it's about time... :biggrin: So here is my first release, together with RAW Codes and the RAM addresses for transparency.

Master Codes and Anti DMA Codes:

Emerald (Japanese Version)
Master Code
D8BAE4D9 4864DCE5
0CD39E3A BD6E41B1
Anti DMA
6ED6DA14 686DF10E
1C7B3231 B494738C



Emerald (English Version)
Master Code
D8BAE4D9 4864DCE5
A86CDBA5 19BA49B3
Anti DMA
B2809E31 3CEF5320
1C7B3231 B494738C

Emerald (French Version)
Master Code
D8BAE4D9 4864DCE5
A7308156 808311D9
Anti DMA
A57E2EDE A5AFF3E4
1C7B3231 B494738C

Emerald (Italian Version)
Master Code
D8BAE4D9 4864DCE5
6FF77D3F 15E9225C
Anti DMA
B2809E31 3CEF5320
1C7B3231 B494738C

Emerald (German Version)
Master Code
D8BAE4D9 4864DCE5
DD5F41DA 90B02762
Anti DMA
B2809E31 3CEF5320
1C7B3231 B494738C

Emerald (Spanish Version)
Master Code
D8BAE4D9 4864DCE5
BB26EE7E 4AF89D9E
Anti DMA
A57E2EDE A5AFF3E4
1C7B3231 B494738C

Eon Ticket Code (Emerald ONLY!)

Japanese Version:

PAR Code
BC3ACF50 FFE02A62
B1A5BA22 3F6B6679
04E5D34C CD276880

RAW Code
02026ABE 00000001
220291B8 000000AC
220291BC 0113FF01 

RAM Addresses
02026ABE XX
020291B8 XXXXXXXX
020291BC XXXXXXXX 



Other Versions:

PAR Code
15545FC0 4A50D4B7
8BD4ED5A C89C15C0
3230FD84 3F472D46

RAW Code
02026E1A 00000001
22029514 000000AC
22029518 0113FF01

RAM Addresses
02026E1A XX
02029514 XXXXXXXX
02029518 XXXXXXXX

Please use the respective Master Code and Anti DMA Codes together with the Eon Ticket Code.

Then save the game with the Codes and reset the game.

You obtain the Eon Ticket from the deliveryguy at the 2F of Pokémon Center.

Please set the Codes OFF before(!) you receive the Ticket.

The Ticket is shareable via record mixing. I maxed out the number of times the Eon Ticket is sharable to the maximum which is 255 times.

Edit:

Usually the deliveryguy leaves after the script ends and you leave the room. In case someone didn't listened and didn't set the Codes off while claiming the Ticket and then even was so clever to save the game, he will stay forever...

For this case I created codes to fix this issue:

Japanese Version 
FIX
7CFCFF95 756ABAF9

Other Versions
FIX
6695F326 A2EE8648

Edited by ajxpkm
Link to comment
Share on other sites

Unfortunately the script isn't at the same location. If it is really still in the ROM it is somewhere else and just pointing to this text.

The offset I mentioned above is from the 1.2 version. In 1.0 it is at 0x1C5033. 1.1 is the same as 1.2.

Here are other languages.

[b]Spanish[/b] (0x1C9D63)
PAPÁ: ¡[NAME]! ¡Qué alegría verte!
Por cierto, tienes una carta.

PAPÁ: Creo que es un TICKET para un
barco, pero nunca lo he visto antes.
Deberías averiguar qué es en CALAGUA.


[b]Italian[/b] (0x1D6C49)
PAPÀ: [NAME]! Che bello vederti!
C’è una lettera per te!

PAPÀ: Sembra il BIGLIETTO per una nave.
Ma questa nave non l’ho mai vista.
Dovresti scoprire di cosa si tratta ad
ALGHEPOLI.


[b]French[/b] (0x1CD1E0)
PAPA: [NAME]! Content de te voir!
Tu as du courrier, [NAME].

PAPA: On dirait un PASSE pour un
bateau. Mais je n’ai jamais vu ce bateau.
Tu devrais aller à NENUCRIQUE, pour
savoir de quoi il s’agit.


[b]German[/b] (0x1D1D1F)
VATER: [NAME]! Schön, dich zu sehen!
Hier habe ich einen Brief für dich.

VATER: Das muss ein FAHRSCHEIN
für ein Schiff sein. Aber für welches?
In SEEGRASULB CITY kann dir bestimmt
jemand mehr dazu sagen.


[b]Japanese[/b] (0x196968)
パパ『[NAME]! よく きたな!
[NAME]あての てがみが とどけられたぞ

パパ『わたしも みたことのない
ふねの チケット だな
ミナモに いってみると いいだろう

Link to comment
Share on other sites

This is really cool!

I think we should definitely dump these scripts and make use of them!

Did you found more close to these offsets? Maybe other scripts of never used stuff?

Link to comment
Share on other sites

There's nothing that looks like a script, only other text which is used by NPCs in Lilycove is nearby the Eon Ticket text.

Right before it is the text said by the Lottery girl. After the Eon Ticket text is only the text the sailor says when driving to Southern Island and back as well as the text that is written on the sign at Southern Island.

Link to comment
Share on other sites

Thanks. I appreciate.

I hoped that we could also find other stuff like... I don't know... maybe the script for the Regi Dolls or the Berries or whatever. I still can't believe that there's an Eon Ticket script, it's simply amazing. Anyway I will check this out as soon as I can and do some more ROM research as well, there's still small hope that we could find more things like this. :smile:

Link to comment
Share on other sites

The script for Berries is definetly there.

English Ruby v1.1/1.2

#org 0x8154989
'-----------------------------------
special2 LASTRESULT 0x32
compare LASTRESULT 0x0
if == jump 0x81549D2 ' Equal To
checkitem ENIGMABERRY 1
compare LASTRESULT 0x1
if == jump 0x81549D2 ' Equal To
checkiteminpc ENIGMABERRY 1
compare LASTRESULT 0x1
if == jump 0x81549D2 ' Equal To
compare 0x402D 0x0
if == jump 0x81549D2 ' Equal To
msgbox 0x81C5586 ' DAD: Hi, \v\h01!\pI ...
callstd MSG_NOCLOSE ' Non-closing message
setvar LASTRESULT 0x1
return

#org 0x81549D2
'-----------------------------------
setvar LASTRESULT 0x0
return

#org 0x81549D8
'-----------------------------------
copyvarifnotzero 0x8000 ENIGMABERRY
copyvarifnotzero 0x8001 0x1
callstd MSG_OBTAIN ' Obtained the XXXXXX!
compare LASTRESULT NO
if == jump 0x81A02BB ' Equal To
setvar 0x402D 0x0
release
end

#org 0x81C5586
= DAD: Hi, \v\h01!\pI just received a very rare BERRY.\nI'd like you to have it.

Link to comment
Share on other sites

Yeah, I just found it, too... too bad, it seems there is none for the Dolls. I looked for all strings starting with "Dad:" (or "BEBBBEF0" in hex...)

But still very cool! We could use these scripts to make the Eon Ticket available for all Ruby & Sapphire versions.

The same goes for the e-Card Berries! This is BIG!

Edit:

I just recognized that the Eon Ticket script is still incomplete, so we have to do a bit more research for this.

We need to find a string, the text the dad says when the "Key Item" part of the bag is full. Which is unlikely to happen, but for making this script complete it's necessary tho'...

I'm trying to find it, but it's a bit difficult... would be good if we find out what he said, it would make the whole search a lot easier...

Also, we should look if we can find a pointer to the address with text strings of the Eon Ticket Event.

I wished I had more time. There's a lot to do.

I will let you guys know if I found something.

Edit 2:

I found this post by Team Fail, could be useful:

http://www.pokecommunity.com/showpost.php?p=8782746&postcount=703

I didn't found a string like this in the ROM, but maybe I overlooked it, so I will check again.

There should be a string like this, also for the S.S. Ticket. Maybe it's even one and the same, would make sense.

I can't even find the script for the S.S. Ticket which is pretty weird!

Edit 3:

Well I think I found something that "goes to" the address with the Eon Ticket text! :biggrin:

It's located at Offset 0x1DF855.

Edited by ajxpkm
Link to comment
Share on other sites

@BlackShark: Great find!!! I knew that this text had to be somewhere in the rom and waited to be found... :)

Since we now have the foreign dialogs I don't think that it will be a problem to translate the english script to include them. By the way did anyone know except from the script what other data should be injected in the sav file in order to make the event available?

Also maybe we can take this further by investigate the possibility to edit the EON Ticket e-Reader sav file in order to create foreign language e-reader sav files or even to create e-card binary files for each one of the languages...

Link to comment
Share on other sites

I think it's not even necessary, since I found a "Go to" command to the text yesterday.

So it's very likely that the Event can be activated by a simple flag similar like in Emerald! :biggrin:

I'm just a bit too busy in the moment and since I lack of good tools for reading scripts it takes a bit time for me, it would be good if someone else could check the address I posted yesterday.

I'm very curious to see what the full script says before "05". Here is the Offset for the English Ruby Version (I guess it was 1.2) 0x1DF854. I dunno when I can get back to research but when I can I will continue my work on it, promised! And before we start to make custom scripts I think it's better to look if there is an easier way, so why taking the text if there's maybe a way to activate the already programed script?

Link to comment
Share on other sites

So does this mean we could make English e-Reader compatible dot codes that can send the Eon Ticket, Trainers and Enigma Berries to all the R/S versions AND Japanese Emerald? If so, that'll be AMAZING.

Well, not exactly. BlackShark discovered that there are scripts inside the ROMs of Ruby & Sapphire.

They doesn't have anything to do with the e-Reader. It kinda equals the Mystery Gift scripts we have found in the FireRed, LeafGreen & Emerald versions, which we will be using in lostaddict's tool!

So in fact there are a whole new possibilities now. I also discovered more scripts in FR, LG and Emerald but we will see which of them are useful and which are not.

Link to comment
Share on other sites

Well, not exactly. BlackShark discovered that there are scripts inside the ROMs of Ruby & Sapphire.

They doesn't have anything to do with the e-Reader. It kinda equals the Mystery Gift scripts we have found in the FireRed, LeafGreen & Emerald versions, which we will be using in lostaddict's tool!

So in fact there are a whole new possibilities now. I also discovered more scripts in FR, LG and Emerald but we will see which of them are useful and which are not.

Sounds good either way! But hopefully the e-Reader can be involved as well once we get to that point.

Link to comment
Share on other sites

Sounds good either way! But hopefully the e-Reader can be involved as well once we get to that point.

Sure there is a way to make this possible, by making full customized scripts and translating them to dot codes so that the e-Reader can read them. But I will not work on this personally. There are not many people who have e-Readers and I think there's a lot of work to do for this. The e-Reader is awesome, but I don't even own one myself to be honest, so I couldn't even test if it works.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...