ピーえぬのブログ

適当に書いています

エメラルド 改造日記その2 デオキシスのフォルムチェンジ

タイトルの通り、デオキシスをフォルムチェンジさせようという記事です。
エメラルドにおいて、デオキシスはスピードフォルムしか使用できない。あまり強くなく残念に思うので改造することにした。過去に多分もうやってる人がいると思うけども。大まかな手順のみを記していく。なお改造コード集に載せたコードでノーマルフォルムへ変化させることは可能。(ただし覚える技はスピードフォルムのまま)
3つのコードをすべてONにする。
ED6EAB33 95927843
BD7A9DDE ED9EA33D
88213752 25B7F973
ノーマルはこれで十分なので、今回はアタックフォルムとディフェンスフォルムの改造をとり行う。と言ってもアタックとディフェンスのデータをFR/LGから取ってきてスピードフォルムのデータを置き換える作業である。ここでは主にアタックフォルムに変換する作業について記述する。

用意するもの

  • ポケシンセ
  • unLZ-GBA
  • GBA Graphics Editor
  • Nameless Sprite Editor(必ずしも必要でない、ビュアー用)
  • FR LG EMのROM三点セット

各種ツールの入手先は以下のwikiにあるリンクから。
開発ツール - 改造ポケモン制作資料 Wiki*

各種データの場所

データの種別

次の5つのデータの場所を各ROMごとに記録しておく。

  • 正面グラフィック(つよさをみるなどで表示)
  • 通常色パレット(色の指定)
  • 背面グラフィック(戦闘中の後ろ姿)
  • 色違いパレット(色違いの色の指定)
  • 手持ちアイコン(手持ちアイコン)

これらのデータはこの順番で連続して置かれている。NSEなどで簡単に確認できた。手持ちアイコン以外はすべて圧縮されているため容量が異なる。正面と背面のグラ及び手持ちアイコンは縦16でノーマルと各ROMごとのフォルムの2つが入っている。下の画像を参照。ただしEMのみ縦16の正面グラの保存場所が異なる。

ROMごとの保存場所
  • FR(アタックフォルムのデータ)

正面グラ(横8縦16)
0xD3958C

通常色パレット
0xD39D48

背面グラ(横8縦16)
0xD39D70

色違いパレット
0xD3A360
手持ちのアイコン(未圧縮画像)
0xD3A388、パレットは0x39BC48、横4縦16
アタックフォルムのアイコン2個のみ
0xD3A788、パレットは同じ0x39BC48で横4縦8
これら4アイコンは0xD3AB88まで

NSEで手持ちアイコンを表示

  • LG(ディフェンスフォルム)

正面グラ(横8縦16)
0xD3958C

通常色パレット
0xD39DC0

背面グラ(横8縦16)
0xD39DE8

色違いパレット
0xD3A3E0

手持ちアイコン(未圧縮画像)
0xD3A408、パレットは0x39BAB8、横4縦16
ディフェンス2個のみ
0xD3A808、パレットは0x39BAB8、横4縦8
これら4アイコンは0xD3AC08まで

  • EM(スピードフォルム)

正面グラ
0xB93154~0xB938BF(横8縦16)
0xD3AE00 ノーマルフォルムのみ(横8縦8)

パレット
0xD3B1DC

背面グラ(横8縦16)
0xD3B204(スピードあり)

色違いパレット
0xD3B874

手持ちアイコン(未圧縮画像)
0xD3B89C、パレットは0x5567A4、横04縦16
スピードフェルムのアイコンは
0xD3BC9C、パレットは0x5567A4、横04縦16
これら4アイコンは0xD3C09Cまで

  • まとめ表
FR LG EM
正面グラ(縦16) 0xD3958C 0xD3958C 0xB93154
通常色パレット 0xD39D48 0xD39DC0 0xD3B1DC
背面グラ(縦16) 0xD39D70 0xD39DE8 0xD3B204
色違いパレット 0xD3A360 0xD3A3E0 0xD3B874
手持ちアイコン始点 0xD3A388 0xD3A408 0xD3B89C
各フォルムアイコン 0xD3A788 0xD3A808 0xD3BC9C
手持ちアイコン終点 0xD3AB88 0xD3AC08 0xD3C09C
手持ちアイコン用パレ 0x39BC48 0x39BAB8 0x5567A4

手持ちアイコンの変更

手持ちアイコンは未圧縮画像なため、全て同じ1024Byteのデータである。よってアタックフォルムのアイコンのデータをFRからコピーしてEMのスピードフォルムのそれの領域に貼り付ければ終わりである。作業環境はバイナリエディタでいい。

正面/背面グラの保存

今回はGBA Graphics Editorを使ってpng形式で保存する。ここで保存する画像にはパレットを使用しなくても構わない。パレット及び正面グラ背面グラは圧縮されているため表示する場合はCompressed graphics・Compressed ROMpalette にチェックを入れる。Save as bitmapで保存する。

正面/背面グラの差し替え

unLZ-GBAで書き込み

これにはunLZ-GBAとポケシンセを使用する。unLZ-GBAではEMの空きデータ領域へ正面と背面のグラを書き込む。今回は正面グラは0x9158E0へ、背面グラは0x9173B0へ入れることにした。なお利用した領域はLGのディフェンスを書き込むときも同じ。unLZ-GBAを立ち上げたらEMのROMを開き、Importボタンから正面グラを取り込む。このとき取り込む画像が正常でない場合はエラーが出る。次にWrite to ROMのボタンを押して画像のように設定してOKを押す。パレットのデータはEM ROMのものを指定している。

ポケシンセで置き換え

ポケシンセを起動し、EMのROMを開きポケモンイメージエディタを選択する。そのあと410を指定して画像を表示させておく。まず正面グラを置き換える。Pic addrに書き込みを行った0x9158E0を指定してRepointボタンを押して再び画像を表示ボタンを押す。ここでアタックフォルムのグラへ置き換わっていれば成功。

  • 通常の画像(背面グラの場合は後ろの画像)
  • 色違いパレット
  • 領域1に書き込む

にチェックを入れて「をROMに保存」ボタンを押して、左上のROMに保存ボタンを押す。(最後忘れずに)

実際にデバッグしてみて置き換わっていれば成功。図鑑のグラも置き換わる。

図鑑の説明文など

最後に再びポケシンセを使い仕上げを行う。書き換えるデータは図鑑の説明文、レベルアップ習得技、獲得努力値である。ポケシンセを開きROMを読み込ませたらポケモンエディターを選択して410デオキシスへ飛ぶ。

図鑑の説明文

アタックフォルム(FR)およびディフェンスフォルム(LG)における説明文を掲載しておく。

FR
こうげきてきな かたちに へんかした
デオキシス。べつの すがたを みせて
てきを まどわせる ちからを もつ。終
LG
すがたが かわるとき オーロラが
あらわれる。さいぼうを へんかさせて
こうげきを きゅうしゅうしてしまう。終

獲得努力値の変更

アタックフォルムがA+2 C+1でディフェンスフォルムが B+2 D+1である。

レベルアップ習得技

アタックフォルムへ置き換える場合は以下のリストを打ち込むだけでいい。ディフェンスは技の枠が14であり、その他のフォルムの12よりも枠が多いのでデータの置き換えでは済まないので技の数の変更を行う。利用する領域はポケシンセで検出された空き領域で構わない。

  • 習得技一覧

アタックフォルム
Lv01 043 にらみつける
Lv01 035 まきつく
Lv05 101 ナイトヘッド
Lv10 100 テレポート
Lv15 269 ちょうはつ
Lv20 228 おいうち
Lv25 094 サイコキネシス
Lv30 276 ばかぢから
Lv35 322 コスモパワー
Lv40 192 でんじぼう
Lv45 354 サイコブースト
Lv50 063 はかいこうせん

ディフェンスフォルム
Lv01 043 にらみつける
Lv01 035 まきつく
Lv05 101 ナイトヘッド
Lv10 100 テレポート
Lv15 282 はたきおとす
Lv20 191 まきびし
Lv25 094 サイコキネシス
Lv30 289 よこどり
Lv35 334 てっぺき
Lv35 133 ドわすれ
Lv40 105 じこさいせい
Lv45 354 サイコブースト
Lv50 068 カウンター
Lv50 243 ミラーコート

終わり

これでEMにおけるスピードフォルムのデータをアタックフォルムへ置き換えることができた。ただしディフェンスを利用する場合はディフェンスに置き換えたROMを使用する必要があり少々不便である。余力があれば一つのROMで全てのフォルムチェンジが可能になるハックもしてみようと思う。

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