初代から第二世代にポケモンを持っていくと、ポケモンに記録されていた被捕獲度の数値に該当するアイテムを持っている。
例:野生のワンリキー(被捕獲度180)を第二世代に持っていくと「かわらのかけら」を持っている。
そのため、初代でその部分を書き換えることで第二世代に好きなアイテムを持っていくことができるようになる。
数値と持ち物の対応は文字コード対応表を参照。
第二世代に送る際、一部の数値は他のアイテムのものに書き換わる。
この値が本来そのポケモンではありえない数値(2DhであるはずのミュウにFFh等)の場合にタイムカプセルで弾かれると思われる。
直接持たせることが目的なら書き換わった数値の方に調整した方がいい。
| 数値 | 書き換わるアイテム | 書き変わった数値 | ||
|---|---|---|---|---|
| 10進 | 16進 | 10進 | 16進 | |
| 25 | 19 | たべのこし | 146 | 92 |
| 45 | 2D | にがいきのみ | 83 | 53 |
| 50 | 32 | おうごんのみ | 174 | AE |
| 90 | 5A | きのみ | 173 | AD |
| 100 | 64 | きのみ | 173 | AD |
| 120 | 78 | きのみ | 173 | AD |
| 135 | 87 | きのみ | 173 | AD |
| 190 | BE | きのみ | 173 | AD |
| 195 | C3 | きのみ | 173 | AD |
| 220 | DC | きのみ | 173 | AD |
| 250 | FA | きのみ | 173 | AD |
| 251 | FB | きのみ | 173 | AD |
| 252 | FC | きのみ | 173 | AD |
| 253 | FD | きのみ | 173 | AD |
| 254 | FE | きのみ | 173 | AD |
| 255 | FF | きのみ | 173 | AD |
15番目のポケモンの外見が先頭のポケモンの持ち物に相当することを利用して書き換えができる。
しかし、この方法はセレクトバグでの入れ替えの際に(最大HPの都合で)大抵フリーズしてしまうため、ポッポやコラッタ等の被捕獲度255のポケモンをベースにするか、入れ替えるポケモンをアネ゙デパミ゙の下に置いて見えなくする必要がある。
有用なのは、
あたりだろうか。※()内のタイプは13番目・14番目バグで外見に適用できる。
23番目の技PPが手持ち2匹目のポケモンの持ち物に相当することを利用して書き換える。
技は手持ち1匹目の技2の現在PPと入れ替わるので、入れ替えをする際は事故防止のためにも技3以降との入れ替えを心掛けたいところ。
あたりがポケモンから採れない道具になる。ポイントアップ(3Eh)はPPの限界突破(ポイントアップ無し、PP62)が必要。
わざマシンは01以外ポイントアップ3回からのPP調整で入手可能。わざマシン01(BFh)はポイントアップ2回、PP63が必要。
23番目の技が手持ち1匹目の技2PPと入れ替わることを利用すると、技を手持ち2匹目のポケモンの持ち物にすることもできる。
(技がPPと入れ替わった後に、入れ替わったPPが2匹目の持ち物に行くため)
あたりが有用か。
一応、44番目の技が手持ち2匹目のポケモンの持ち物に相当するが、こちらはPPが手持ち2匹目のすばやさ・とくしゅ個体値と入れ替わるためあまりおすすめしない。
手持ちポケモンの持ち物を書き換える場合は、以下のアドレスを直接書き換えればいい。
| 位置 | アドレス | 文字指定例 |
|---|---|---|
| 1 | D132 | ヅづむ |
| 2 | D15E | ヅロケットだんむ |
| 3 | D18A | ヅサむ |
| 4 | D1B6 | ヅかむ |
| 5 | D1E2 | ヅょむ |
| 6 | D20E | ヅゾめ |
例として、手持ち4匹目の持ち物を変更するコードを紹介する。
; ヅかむプそ
11 B6 D1 ; ld de,D1B6
42 ; ld b,d 上書き防止
BF ; cp a 事実上のnop
50 ; ld d,b; ョぶ空デの
AF ; xor a
3C ; inc a 00→01
7F ; ld a,a 書き換え用スペース
12 ; ld (de),a
C9 ; ret赤字の部分を書き換えることでアイテムを変更可能。(この例ではマスターボール)3文字で作れない数値のものは需要がないので気にしていない。
数値の作り方も参照。
ポケスタ金銀がある場合は、一覧機能から道具をまとめて預かることが可能なため、ボックスのポケモン30匹に同じ道具を持たせるコードを作ると一度に30個のアイテムを生成できる。
ボックス1匹目からの実行が前提。30匹目のニックネームを変えることで持たせるアイテムを変えられるようになっている。
(この例ではポイントアップを持たせている)
; ョぺヅぱー
AF ; xor a
47 ; ld b,a
11 44 E3 ; ld de,E33A
50 ; ld d,b; ゾボへデっ
0E 1C ; ld c,1C
CD 12 DF ; call DF12
50 ; ld d,b; がるぜるズ
26 D9 ; ld h,D9
2E D9 ; ld l,D9
0C ; inc c
50 ; ld d,b; ズひジそそ
0C ; inc c
CB 0B ; rrc e
BF ; cp a
BF ; cp a
50 ; ld d,b; そそそづバ
BF ; cp a
BF ; cp a
BF ; cp a
DE7F:
32 ; ldd (hl),a
19 ; add hl,de
50 ; ld d,b; ゼつ空んの
0D ; dec c
C2 7F DE ; jp nz,DE7F
C9 ; ret; 30匹目(サブルーチン)
; ぼぼの
DF12:
3E 3E ; ld a,3E
C9 ; ret
0022h→「ヅぱー」でeレジスタに44hを入れて、「ョぺ終」でdレジスタを00hに、「ひジ」でeレジスタを44h→22hに。
21hではなく22hなのは「づ」で戻る分を足しているから。
1Eh→「ゾボズズ」で1Chから2回インクリメントして作る。
相対ジャンプを利用することで、ボックス6匹目からでも実行できるようにしたもの。(ただしアイテムの指定は30匹目で固定)
; だザづゴレ
30 0A ; jr nc,0A
32 ; ldd (hl),a
; from jr z,DB:
09 ; add hl,bc
A7 ; and a
50 ; ld d,b; ボねだビ
1C ; inc e
C8 ; ret z
30 1A ; jr nc,1A; ゾぱョヅょ
; from jr nc,0A:
0E 44 ; ld c,44
AF ; xor a
11 E2 50 ; ld de,50E2; ぺひゴがる
47 ; ld b,a
CB 09 ; rrc c 44→22
26 D9 ; ld h,D9
50 ; ld d,b; ぜるへデっ
2E D9 ; ld l,D9
CD 12 DF ; call DF12
50 ; ld d,b; そそそそそ
BF ; cp a
BF ; cp aBF ; cp aBF ; cp aBF ; cp a
50 ; ld d,b; そぐろ
; from jr nc,1A:
BF ; cp a
28 DB ; jr z,DB; 30匹目(サブルーチン)
; ぼぼの
DF12:
3E 3E ; ld a,3E
C9 ; ret冒頭のループ部を相対ジャンプで飛ばした後にbc・e・hlレジスタの値を設定。(dレジスタは使わない)
jr nz,F9をret z→jr nc,1A→cp a→jr z,DBによって代用。
0022h→「ョぺ」でbレジスタを00hに、「ゾぱひゴ」でcレジスタを44h→22hに。
入力できない1Eh(と1Dh)の代わりにE2hからインクリメントすることで30回のループを実現している。
「そそそそそ」は相対ジャンプの入力不能文字を回避するためのスペーサーとなる。
親IDから書きだせばポケモン1匹にぎりぎり収まるサイズ。(この例ではポイントアップを持たせている)
3E 3E 01 21 00 21 D9 D9 16 1E 77 09 15 20 FB
C93E 3E ; ld a,3E
01 21 00 ; ld bc,0021
21 D9 D9 ; ld hl,D9D9
16 1E ; ld d,1E
77 ; ld (hl),a
09 ; add hl,bc
15 ; dec d
20 FB ; jr nz,FB
C9 ; ret