ピーえぬのブログ

適当に書いています

エメラルド 改造日記その1 特性なしケッキングを作成する

サムネ用


本題の前にちょっと思い出がたり。
方法だけ知りたい人は結論


10年近く前に某掲示板でザロクバグをリークしてくれた人がいた。その人が結構詳しく教えてくださって実機で改造まがいのポケモンたちを量産することに成功した。めざ氷理想個体などだけでなく、非合法な技を覚えたポケモンたち(エアロブラストボーマンダなど)を作成したはず。興味もなかったコンテスト要素でポロックづくりとかして。最近になってエミュでまたエメラルドをやり始めてザロクバグなどを調べていると任意コード実行バグなるものを発見、しかも特性のないケッキングを作れるとかなんとか。しかし難しくてよくわからん。ということで本題。改造やったらすぐ作れるやろということで。


少し調べると第3世代の特性の仕組みは種族ごとに設定されているため個体ごとに特性を変更できないことがわかった。ケッキングの特性を変更すれば、ゲームに登場するケッキングすべての特性が変更されるというわけ。例外として戦闘中のみRAMをイジることで変更可能だそう。スキスワのために変更できる値になっていると思われる。

じゃあケッキングの特性を変えるには内部データを書き換えればよいとなる。ケッキングの特性のプログラムは0x2F35720x36(なまけの特性コード)を参照しているらしい。そのとなりの0x2F35730x00は使用されていないケッキングの特性2のデータ。こっちを書き換えてみようってことで、0x25(ちからもち)にした。
参考までに特性の内部コード

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 エアロック

特性2がないポケモンに特性2を追加すると、野生で特性2が出現するようになるようである。野生でケッキングを出現させ、ちからもちなケッキングがゲットできた。しかしフロンティアでこのまま使うとNPCが力持ちなケッキングを出してくる可能性があるかもしれない。(要検証)というわけで、力持ちなケッキングを惜しむように0x2F3573のバイナリを再び00に書き換えた。すると特性なしのケッキングに!

とくせいなし

そこを書き換えるPARを作成すれば簡略化できる。なので最後にPARコードを使った手順を示しておくのでバイナリエディタを開く必要はない。

内部の事情などほとんど知らない自分が適当な考察してみる。特性が2つある種族において、どちらの特性になるか決定する要因は裏ステータスである性格値だそう。カイリキーなどをDS世代へ送るとノーガードになったりするのもこの関係。特性が一つしかないポケモンでも特性2を設定した状態であれば、本来出現しない特性2が現れる。その後で特性2を消してやると特性2と決定されているものの参照できるデータがなく、特性2のまま特性なしになるそう。ベータ版のルビサファでは特性なしのポケモンが存在したみたいなので特性コード00を参照する処理は想定内なのかもしれない。なお力持ちPARコードを使用するとフロンティアのトレーナーは力持ちなケッキングを繰り出す可能性がある。特性2の設定を00に戻しておくことで、使ってこなくなるので安心。

結論

  • 手順1

ケッキングの特性2をちからもちにするPARコードを入力してONに。

07A1CA
暗号化前
082F3572 3625

  • 手順2

特性2のケッキングを捕獲する。
次のPARコードを使う。必要であれば特性固定コードも。

野生をケッキングに固定
EF6BD219 7BFCA9B9
9D3B1EA8 4F09C276
特性2
D6CB05CD 4F7B524D

その他理想個体が欲しい場合は記事一番下の改造コード集に載せている個体値コードなどと併用すること。

  • 手順3

特性2のケッキングを捕獲できたらPARコードをOFFにする。


以上。ナマケロヤルキモノにのみ特性2を割り当てて進化させても可能と思われる。(未検証)
正直、グラードンレックウザを凌ぐ物理型ポケモンだと思う。タイプと種族値に恵まれすぎ。


エメラルド 改造コード集
pn.hateblo.jp