Jump to content
ajxpk

[GEN 3] Mystery Event/Gift Research

Recommended Posts

Hello, I would like to ask if there is any possibility to recreate 10ANIV events with this philososphy of wonder cards generation (with the upcoming tool I mean).

I would love to RNG some of them (if able).

Share this post


Link to post
Share on other sites
Hello, I would like to ask if there is any possibility to recreate 10ANIV events with this philososphy of wonder cards generation (with the upcoming tool I mean).

I would love to RNG some of them (if able).

I could be wrong, but weren't 10ANIV pokemon pre-generated trades?

Share this post


Link to post
Share on other sites
I could be wrong, but weren't 10ANIV pokemon pre-generated trades?

Nope. They were from carts that loaded them into your party (like AURA Mew).

Share this post


Link to post
Share on other sites

Made this video real quick, just to show that after injecting from TicketPEe everything works fine on an actual cartridge. I didn't see any reason why it wouldn't work, but whatever.

Share this post


Link to post
Share on other sites
Nope. They were from carts that loaded them into your party (like AURA Mew).

I'm completely out of the loop with this process. Did you just place your cart into a device and the pokémon was injected into an empty party slot? Was there any sort of process on your end to execute this?

edit: Was there any flag to prevent you from getting more than one on your cart?

Share this post


Link to post
Share on other sites
I'm completely out of the loop with this process. Did you just place your cart into a device and the pokémon was injected into an empty party slot? Was there any sort of process on your end to execute this?

edit: Was there any flag to prevent you from getting more than one on your cart?

You could recveive multiple ones on the same save file.

The Pokemon were distributed via a distribution cartridge like the tickets, but you didn't receive the Pokemon from the delivery guy and you also didn't get a wondercard.

As Invader TAK said it was directly added to your game, you had to have an empty slot in your party to receive it. Technically you can compare this process to the Gamecube events (Channel/Whishmaker Jirachi).

This was the case for all the event distributions that were available for Ruby/Sapphire as wondercards didn't exist there.

Share this post


Link to post
Share on other sites

As said before... regular Event Pokémon were NOT distributed via Mystery Gift Events so this goes completely Off-Topic.

We can't reconstruct any of the Event Pokémon that were not distributed via the Mystery Gift feature.

Please no more requests like that, since we won't and we can't make that happen...

Once again...

The only Pokémon ever distributed via Mystery Gift feature were Pokémon Eggs, specifically the PCJP 2004 Eggs, the PokéPark Eggs and the PCNY Wish Eggs as said before in this Thread.

These are the ONLY Pokémon that could be generated ingame. We might add a feature to the Tool where you can edit the egg to any Pokémon you like.

However the Egg or Pokémon you receive at the 2F Pokémon Center ALWAYS have the PID method Uncommon GBA, so this feature is not suitable to recreate legit Event Pokémon.

That's all I can say about that...

Share this post


Link to post
Share on other sites

I apologise for not having read about the limitations and for bringing this impossible request up and thank you for answering this.

Well, it is a bit disappointing that there is no chance of getting a non-hacked 10 ANIV shiny celebi though...

Share this post


Link to post
Share on other sites

No problem. :)

I just wanted to make that clear, because we had such requests a few times in this thread.

Unfortunately to recover the Event Pokémon is very complicated, we would need to collect a lot of them to figure out about the legal PID & IV spreads.

For this we would need hundreds of Pokémon from the same events to understand which seeds were used to generate them.

It's a lot of work that would have to match the demand which I'm not sure is really high enough.

Still I would be very interested in doing it if there is strong support by the collectors.

Now to be honest I think realistic and I don't see it happening... at least not in the moment.

Share this post


Link to post
Share on other sites
No problem. :)

I just wanted to make that clear, because we had such requests a few times in this thread.

Unfortunately to recover the Event Pokémon is very complicated, we would need to collect a lot of them to figure out about the legal PID & IV spreads.

For this we would need hundreds of Pokémon from the same events to understand which seeds were used to generate them.

It's a lot of work that would have to match the demand which I'm not sure is really high enough.

Still I would be very interested in doing it if there is strong support by the collectors.

Now to be honest I think realistic and I don't see it happening... at least not in the moment.

I thought that IV spread was generally pure RNG and the PID was generated from the spread itself?

Share this post


Link to post
Share on other sites

I don't know all the details, but the seeding was depending on the distribution device.

The method of how the Pokémon were generated of course was always the same for almost every 3rd Gen Event...

Which was Common GBA Event - B-A-C-D (Restricted).

The big question is actually to which seeds which event was limited.

Or in other words which of this methods PID & IV combinations are legal for which event.

Share this post


Link to post
Share on other sites

Hey Guys,

very nice Topic. But the topic is very long....

i need Summary....

i saw the 2 videos (first page) ..

frist video: the guy have a special program on Nintendo DSi. ..... what is the name of the program

My EQ:

1x Original JAP Emerald

My Goal: All Event Maps mew and co.

Share this post


Link to post
Share on other sites
Hey Guys,

very nice Topic. But the topic is very long....

i need Summary....

i saw the 2 videos (first page) ..

frist video: the guy have a special program on Nintendo DSi. ..... what is the name of the program

My EQ:

1x Original JAP Emerald

My Goal: All Event Maps mew and co.

The programm used in the video is called GBA Backup tool. You would need an NDS flashcard to execute it and dump the save file of the GBA cartridge.

If you only have an original Emerald but no flashcard (or any other hardware to get your save file) or Action Replay you can't do anything to get the events.

Share this post


Link to post
Share on other sites
The programm used in the video is called GBA Backup tool. You would need an NDS flashcard to execute it and dump the save file of the GBA cartridge.

If you only have an original Emerald but no flashcard (or any other hardware to get your save file) or Action Replay you can't do anything to get the events.

Does anyone have a complete set unicode font for Pokemon Gen III? I've been screwing around with WindHex and it's Table Maker, but it doesn't support all fonts (Spanish characters) and I'd rather not be stuck with it's clunky interface.

Share this post


Link to post
Share on other sites

I actually don't have a complete list to be honest, I only know about the English and Japanese versions.

But now that you mention it, I would like to share my Thingy Tables I created myself with you guys because they're pretty useful, at least they worked pretty fine for me.

Unfortunately for some reasons I can't upload files anymore on this board, but maybe sharing the code is also doing the job...

First for the English versions:

[Table]
00= 
01=A
02=A
03=A
04=C
05=E
06=E
07=E
08=E
09=I
0B=I
0C=I
0D=O
0E=O
0F=O
10=?
11=U
12=U
13=U
14=N
15=s
16=a
17=a
19=c
1A=e
1B=e
1C=e
1D=e
1E=i
20=i
21=i
22=o
23=o
24=o
25=?
26=u
27=u
28=u
29=n
2A=o
2B=a
2D=&
2E=+
34=[Lv]
35==
36=;
51=?
52=!
53=[pk]
54=[mn]
55=[po]
56=[ke]
57=[bl]
58=[oc]
59=[k]
5A=I
5B=%
5C=(
5D=)
68=a
6F=i
79=[u]
7A=[D]
7B=[L]
7C=[R]
85=<
86=>
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=.
AE=-
AF=・
B0=...
B1=《
B2=》
B3='
B4='
B5=|m|
B6=|f|
B7=$
B8=,
B9=*
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=|>|
F0=:
F1=A
F2=O
F3=U
F4=a
F5=o
F6=u
F7=|A|
F8=|V|
F9=|<|
FA=|nb|
FB=|nb2|
FC=|FC|
FD=|FD|
FE=|br|
FF=|end|

And here if you need a tbl for Japanese support:

00= 
01=あ
02=い
03=う
04=え
05=お
06=か
07=き
08=く
09=け
0A=こ
0B=さ
0C=し
0D=す
0E=せ
0F=そ
10=た
11=ち
12=つ
13=て
14=と
15=な
16=に
17=ぬ
18=ね
19=の
1A=は
1B=ひ
1C=ふ
1D=へ
1E=ほ
1F=ま
20=み
21=む
22=め
23=も
24=や
25=ゆ
26=よ
27=ら
28=り
29=る
2A=れ
2B=ろ
2C=わ
2D=を
2E=ん
2F=ぁ
30=ぃ
31=ぅ
32=ぇ
33=ぉ
34=ゃ
35=ゅ
36=ょ
37=が
38=ぎ
39=ぐ
3A=げ
3B=ご
3C=ざ
3D=じ
3E=ず
3F=ぜ
40=ぞ
41=だ
42=ぢ
43=づ
44=で
45=ど
46=ば
47=び
48=ぶ
49=べ
4A=ぼ
4B=ぱ
4C=ぴ
4D=ぷ
4E=ぺ
4F=ぽ
50=っ
51=ア
52=イ
53=ウ
54=エ
55=オ
56=カ
57=キ
58=ク
59=ケ
5A=コ
5B=サ
5C=シ
5D=ス
5E=セ
5F=ソ
60=タ
61=チ
62=ツ
63=テ
64=ト
65=ナ
66=ニ
67=ヌ
68=ネ
69=ノ
6A=ハ
6B=ヒ
6C=フ
6D=ヘ
6E=ホ
6F=マ
70=ミ
71=ム
72=メ
73=モ
74=ヤ
75=ユ
76=ヨ
77=ラ
78=リ
79=ル
7A=レ
7B=ロ
7C=ワ
7D=ヲ
7E=ン
7F=ァ
80=ィ
81=ゥ
82=ェ
83=ォ
84=ャ
85=ュ
86=ョ
87=ガ
88=ギ
89=グ
8A=ゲ
8B=ゴ
8C=ザ
8D=ジ
8E=ズ
8F=ゼ
90=ゾ
91=ダ
92=ヂ
93=ヅ
94=デ
95=ド
96=バ
97=ビ
98=ブ
99=ベ
9A=ボ
9B=パ
9C=ピ
9D=プ
9E=ペ
9F=ポ
A0=ッ
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=。
AE=ー
AF=・
B0=…
B1=『
B2=』
B3=「
B4=」
B5=♂
B6=♀
B7=¥
B8=.
B9=×
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=>
F0=:
F1=A
F2=O
F3=U
F4=a
F5=o
F6=u
F7=↑
F8=↓
F9=←
FA=|nb|
FB=|nb2|
FC=|FC|
FD=|FD|
FE=|br|
FF=|end|

Just Copy + Paste it into a txt file save it and change the filename extension from ".txt" to ".tbl".

Important: The Japanese one has to be saved as Unicode. And if you use Windhex don't forget to set "Option" > "View Text Data as Unicode" or press "Ctrl + D" to make it work!

I agree that Windhex's Interface is horrible but I don't another Hex Editor than this one that supports Thingy Tables + Unicode.

Share this post


Link to post
Share on other sites

This is the Gen 3 lookup array I use in my Java-based save editor:

static final char[] SYMBOL = {

'_', 'À', 'Á', 'Â', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'こ', 'Î', 'Ï', 'Ò', 'Ó', 'Ô', 'Œ',

'Ù', 'Ú', 'Û', 'Ñ', 'ß', 'à', 'á',

'ね', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'ま', 'î', 'ï', 'ò', 'ó', 'ô', 'œ', 'ù', 'ú', 'û',

'ñ', 'º', 'ª', ' ', '&', '+', 'あ', 'ぃ', 'ぅ', 'ぇ', 'ぉ', ' ', '=',

' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',

' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',

' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '$', ' ', ' ', ' ', ' ',

'¿', '¡', '{', '}', ' ', ' ', ' ', ' ', ' ', 'Í', '%', '(', ')',

' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',

' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' ',

' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',

'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.',

'-', ' ', '=', '<', '>', '`', '\'', '^', '§', ' ', ',', ' ', '/', 'A', 'B', 'C', 'D',

'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',

'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',

'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',

'v', 'w', 'x', 'y', 'z', ' ', ':', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',

' ', ' ', ' ', ' ', '#'

};

Share this post


Link to post
Share on other sites

I just collected all the offsets, does anyone know the e-Reader berry offset for Emerald?

According to the script in the ROM it should be able to load it.

Section 0
RS	0x498 - 0x553	e-Card Trainer
E	0xBEC - 0xCA7	e-Card Trainer
FRLG	0x4A0 - 0x55B	e-Card Trainer

Section 4
RS 	0x2E0 - 0x80F	e-Card Berry
RS	0x810 - 0xBFB	Mystery Event Script
RS	0xBFC - 0xC03	Record Mixing Item

E	0x360 - 0x51F	Wonder News
E	0x520 - 0x66F	Wondercard
E	0x860 - 0xC4B	Deliveryman Script
E	0x854 - 0xC93	Mystery Event Script
E	0xC94 - 0xC9B	Record Mixing Item

FRLG	0x2A0 - 0x45F	Wonder News
FRLG	0x460 - 0x5AF	Wondercard
FRLG	0x79C - 0xB87	Deliveryman Script

EDIT: I searched for the berry RAM address in the US Ruby and then tried searching for the surrounding bytes in the US Emerald, but without luck.

Maybe Norman's script is just a leftover from RS which is unused now. That would even make sense since the berry should be saved in the same section as the Wondercards.

The amount of data won't fit in there together. This would mean if you received a wondercard and had a custom berry on your save before, it would be overwritten and thus the berry would become an Enigma Berry which shouldn't be.

Edited by BlackShark
fixed typo

Share this post


Link to post
Share on other sites

Been a little distracted by some other projects I've been working on. So basically I followed morpheo's example up until the part where he left you hanging with wrong information. I then used a debug version of no$gba to figure out the real starting seed and Tab file. My application does have support for custom Wonder Cards, but you're only going to be able to select between official cards I've been given so far. Japanese saves are not supported yet and will probably become corrupted

http://www.mediafire.com/download/3q7i6tzddq2ikh3/Sean%27s_Mystery_Gift_Injector.7z

On that note, Does anyone know if there are any flags I can use to determine whether a save is Japanese or not?

Share this post


Link to post
Share on other sites
Hi,

Can someone explain me how to calculate manually the checksum for gba games?

Thank You very much!

See this post https://projectpokemon.org/forums/showthread.php?29515-GBA-save-file-checksums&p=164767&viewfull=1#post164767

Or read this article on Bulbapedia http://bulbapedia.bulbagarden.net/wiki/Save_data_structure_in_Generation_III#Checksum

Share this post


Link to post
Share on other sites
I don't know which is The range of bytes that I have to read for The checksum :/

In the post I linked above should be the source code for PSavFix, it has the section sizes for RS and FRLG.

short FLMAP[] = { 0xF24,0xF80,0xF80,0xF80,0xEC0,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0x01C,0x100};
short RSMAP[] = { 0x890,0xF80,0xF80,0xF80,0xC40,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0xF80,0xF80};

This one is for Emerald.

short EMAP[]   = { 0xF2C,0xF80,0xF80,0xF80,0xF08,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0xF80,0xF80 };

Share this post


Link to post
Share on other sites

On that note, Does anyone know if there are any flags I can use to determine whether a save is Japanese or not?

I don't know how the conventional way is unfortunately.

I always thought there is such a thing as a header in these save files, where some data is stored that can be used for detection and is also used in Emulators and gives the information that ROM and save file doesn't match.

And I was sure that it's at the very beginning but I was wrong, I think I mixed it up, because this was just the case in game shark save files... (which I worked with from time to time...)

There is something for sure, but I haven't found it yet. I know that lostaddict solved the problem, but he didn't told me how.

Sorry that I can't help much...

Btw. it's not only important for the language version detection, it would be also important that the Tool can detect between FR & LG / Emerald.

Because the scripts are very different. You can't use a FireRed LeafGreen script in Emerald and vice versa, but I guess you already know that.

EDIT: I searched for the berry RAM address in the US Ruby and then tried searching for the surrounding bytes in the US Emerald, but without luck.

Maybe Norman's script is just a leftover from RS which is unused now. That would even make sense since the berry should be saved in the same section as the Wondercards.

The amount of data won't fit in there together. This would mean if you received a wondercard and had a custom berry on your save before, it would be overwritten and thus the berry would become an Enigma Berry which shouldn't be.

Makes a lot sense indeed! Have you ever compared the data? This is how you could confirm if it's indeed just a leftover...

Because if it's just a leftover from Ruby and Sapphire... data like the overworld person id (where the script is tied to) would be the same as in R&S and even with that alone with that the script wouldn't work in Emerald.

As far as I remember the person ids was different in Emerald, but I could be wrong in this point. I mean, if you want to you could also just use the script like a Mystery Gift script and experiment with it, you will see if it works.

Edited by ajxpkm
typo fixed

Share this post


Link to post
Share on other sites
Makes a lot sence indeed! Have you ever compared the data? This is how you could confirm if it's indeed just a leftover...

Because if it's just a leftover from Ruby and Sapphire... data like the overworld person id (where the script is tied to) would be the same as in R&S and even with that alone with that the script wouldn't work in Emerald.

As far as I remember the person ids was different in Emerald, but I could be wrong in this point. I mean, if you want to you could also just use the script like a Mystery Gift script and experiment with it, you will see if it works.

Actually I got Norman to give me the Enigma Berry by just setting the LASTRESULT variable to 1 manually. But that's not how it is supposed to work.

Variable 0x402D should be 1 to enable the event (LASTRESULT is set to 1 if 0x402D not 0), just like in RS where it is set by the e-Reader during download. Setting 0x402D manually didn't work somehow.

I still need to find out from where the berry data would be loaded.

Share this post


Link to post
Share on other sites

Hey guys, I see lot of activity here. Glad that this thread is not dead. :)

I feel a little bit guilty that i haven't finish this but unfortunately I'm really really busy lately... The state of the tool is as you know it. The basic stuff are functional. Just need some testing to eliminate any bugs.

In any case, If anyone is willing to continue with this, I can give the source code of the tool in order to continue with. Just let me know.

Also i can confirm that the algorithm is the one of morfeo. It just using different initial token and different lookup table than the one he was provide. I have include those in source code as well.

Share this post


Link to post
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...