お久しぶりです、メスプリットです。

最近は調子いいので私生活を生贄にポケハック活動じわじわ頑張っております。

 

さてさて本題ですが

第八世代で登場した攻撃の代わりに防御を参照する攻撃技、ボディプレスをメスプリット1に実装しましたが

メスプリット2に移植する時に

「これバニラ環境でも組めたら便利なのでは・・・!?」(※メスプリット1は技スクリプトコード追加してます)

と八木に電流走ったのでサクッと組んできました。

ということで今回組んだボディプレスの技スクリプトがこちらです。

 

ボディプレス 技スクリプト メイン
00 01 1a a9 1b 08 00 00 02 03 
29 00 cb 3c 02 02 01 AA AA AA 08 
29 00 cb 3c 02 02 02 BB BB BB 08 
29 00 cb 3c 02 02 03 CC CC CC 08 
31 24 3f 02 02 46 3b 02 02 02 
31 46 3b 02 02 48 3b 02 02 02 
31 48 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 5d 3b 02 02 01 
31 5d 3b 02 02 5e 3b 02 02 01 
31 5e 3b 02 02 24 3f 02 02 01 
[04] 05 06 07 09 0A 
0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 15 
29 00 cb 3c 02 02 01 DD DD DD 08 
29 00 cb 3c 02 02 02 EE EE EE 08 
29 00 cb 3c 02 02 03 FF FF FF 08 
31 24 3f 02 02 46 3b 02 02 02 
31 46 3b 02 02 48 3b 02 02 02 
31 48 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 5d 3b 02 02 01 
31 5d 3b 02 02 5e 3b 02 02 01 
31 5e 3b 02 02 24 3f 02 02 01 
[19] 00 00 00 00 00 00 2E 38 3F 02 02 00 49 00 00 3D ff


AAAAAA
31 24 3f 02 02 9e 3b 02 02 02 
31 9e 3b 02 02 a0 3b 02 02 02 
31 a0 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 b5 3b 02 02 01 
31 b5 3b 02 02 b6 3b 02 02 01 
31 b6 3b 02 02 24 3f 02 02 01 
28 aa aa aa 08 ff

BBBBBB
31 24 3f 02 02 f6 3b 02 02 02 
31 f6 3b 02 02 f8 3b 02 02 02 
31 f8 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 0d 3c 02 02 01 
31 0d 3c 02 02 0e 3c 02 02 01 
31 0e 3c 02 02 24 3f 02 02 01 
28 aa aa aa 08 ff

CCCCCC
31 24 3f 02 02 4e 3b 02 02 02 
31 4e 3b 02 02 50 3b 02 02 02 
31 50 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 65 3c 02 02 01 
31 65 3c 02 02 66 3c 02 02 01 
31 66 3c 02 02 24 3f 02 02 01 
28 aa aa aa 08 ff

※aaaaaaはメインの[04]のアドレスを逆順入力

DDDDDD
31 24 3f 02 02 9e 3b 02 02 02 
31 9e 3b 02 02 a0 3b 02 02 02 
31 a0 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 b5 3b 02 02 01 
31 b5 3b 02 02 b6 3b 02 02 01 
31 b6 3b 02 02 24 3f 02 02 01 
28 bb bb bb 08 ff

EEEEEE
31 24 3f 02 02 f6 3b 02 02 02 
31 f6 3b 02 02 f8 3b 02 02 02 
31 f8 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 0d 3c 02 02 01 
31 0d 3c 02 02 0e 3c 02 02 01 
31 0e 3c 02 02 24 3f 02 02 01 
28 bb bb bb 08 ff

FFFFFF
31 24 3f 02 02 4e 3b 02 02 02 
31 4e 3b 02 02 50 3b 02 02 02 
31 50 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 65 3c 02 02 01 
31 65 3c 02 02 66 3c 02 02 01 
31 66 3c 02 02 24 3f 02 02 01 
28 bb bb bb 08 ff

 

※bbbbbbはメインの[19]のアドレスを逆順入力

 

こんな感じです。では順番に解説していきましょう。

まず

00 01 1a a9 1b 08 00 00 02 03 ですが

これはPP切れ判定、命中判定、PPの消費などです。特に言うことないので割愛します。

で、2行目からの

29 00 cb 3c 02 02 01 AA AA AA 08 
29 00 cb 3c 02 02 02 BB BB BB 08 
29 00 cb 3c 02 02 03 CC CC CC 08 ですが

今行動しているポケモンのメモリアドレス02023ccbが

01相手1匹目 02自分2匹目 03相手2匹目 かどうかで分岐し

それぞれAAAAAA BBBBBB CCCCCC に飛ばします。

00自分1匹目の時はそのままその下に書いてある

31 24 3f 02 02 46 3b 02 02 02 
31 46 3b 02 02 48 3b 02 02 02 
31 48 3b 02 02 24 3f 02 02 02 
31 24 3f 02 02 5d 3b 02 02 01 
31 5d 3b 02 02 5e 3b 02 02 01 
31 5e 3b 02 02 24 3f 02 02 01  を実行します。

この31~では

02023f24(いたみわけの一時使用メモリアドレス、たぶん使っても問題ないだろうという判断)に

02023b46(自分1匹目の攻撃実数値)を書き込み、

続いて02023b46に02023b48(自分1匹目の防御実数値)を書き込んでこれで攻撃が防御の数値に、

最後に02022b48にさっき02023f24にコピーした攻撃の数値を書き込んで防御が攻撃の数値に。

という3店方式で攻撃と防御の入れ替えを疑似的に実装しております。

続く3行は同じ理論で攻撃ランクと防御ランクを入れ替えています。

 

で、さっき飛ばした01~03の場合ですが

これもそれぞれ相手1匹目、自分2匹目、相手2匹目の時の各能力の対応アドレスを疑似的に入れ替えてるので

つまるところ自分1匹目、相手1匹目、自分2匹目、相手2匹目の4パターンで

それぞれ対応したアドレスの実数値を入れ替えることで

攻撃と防御の実数値と能力ランクが入れ替わって攻撃するという挙動を実現してるわけですね。

入れ替えが終わったら実際に攻撃する部分の

[04] 05 06 07 09 0A 
0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 15 

と続きます。

で、このままだと攻撃と防御が入れ替わったままバトルが進行してしまいますので

ダメージ判定が終わってから撃破判定が入る直前のところで再度

29 00 cb 3c 02 02 01 DD DD DD 08 
29 00 cb 3c 02 02 02 EE EE EE 08 
29 00 cb 3c 02 02 03 FF FF FF 08 

で現在行動中のポケモンで分岐、もう一度攻撃と防御を入れ替えるスクリプトに飛ばします。

後は攻撃と防御が元に戻ったので

[19] 00 00 00 00 00 00 2E 38 3F 02 02 00 49 00 00 3D ff

と撃破判定を行って終了です。お疲れ様でした。

 

と、こんな感じでボディプレスのスクリプトを組んでみましたがどうでしょうか。

何事もネットに公開した瞬間ミスに気が付くものですが

念入りに3周くらい読み直してるのでたぶん大丈夫と信じたいです。

 

・・・なおちなみにですが

Pokemon Hack uploader | uploader.jp (getuploader.com)

にて公開されている

配布版:指定対象のステータス管理メモリ内容入れ替え

の技スクリプトコードを拡張して実装することで

今回の技スクリプトも長さが半分くらいで済むようになるので

わざわざバニラ環境でこのスクリプト組むのは容量の無駄感が否めません。

今回のはこれ使わなくても一応ステータス入れ替え技は組めるよ!って実験の意味合いが強い

スクリプトゴリラの皆様向けの記事となっております、あしからず。

 

ということで久方ぶりのポケモン改造記事でした。
ネタがあったらまた更新しますが更新頻度はご了承くださいですー