前々から実装したいと思ってたけど技術的都合で実現できずにいた

HPを消費せずに任意の耐久値のみがわりを張る技の作成に成功しました!

元ネタはセブンスドラゴン2020のサイキックのスキルで

毎ターン相手が2回行動してくるゲームだから許されてたバランスのスキルを

基本1ターンに1回しか行動しないポケモンで実装した結果

ものすごいぶっ壊れ技と化してる気がしますがPP少なくするとかで上手くバランスとりたいです。

 

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

デコイミラー技スクリプト
00 03 02 
1D 01 00 00 00 01 DD B2 1B 08 
09 0a 
10 7e 00 12 40 00 
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 
2f 97 3b 02 02 01 
2e 76 3d 02 02 32 
3d ff

aaaaaa相手1匹目
2f ef 3b 02 02 01 
2e 92 3d 02 02 32 3d ff

bbbbbb自分2匹目
2f 47 3c 02 02 01 
2e ae 3d 02 02 32 3d ff

cccccc相手2匹目
2f 9f 3c 02 02 01 
2e ca 3d 02 02 32 3d ff

身代わり残体力
02023D76 自分1匹目
02023D92 相手1匹目
02023DAE 自分2匹目
02023DCA 相手2匹目

 

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

00 03 02 でPP消費とメッセージウィンドウの表示。

みがわりの技スクリプト覗いたら何故か02と03が逆だったので合わせてますが00 02 03でもいいと思います。
続いて

1D 01 00 00 00 01 DD B2 1B 08 

自分がみがわり状態の場合既にみがわりが出ていたことを言及するスクリプトに飛びます。

で、09 0a で技アニメの表示です。

これは1D~のみがわり分岐以降に置かないとみがわり張れないのに技アニメは表示する現象が発生します。

続いて

10 7e 00 12 40 00 。

これはみがわりを張った時の定型文表示です。
で、前回も使った現在行動中のポケモンの位置で分岐する

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 で

相手1匹目、自分2匹目、相手2匹目の時対応アドレスに飛ぶように設定し、

2f 97 3b 02 02 01 
2e 76 3d 02 02 32 

こちらが今回のメインギミックです。

2fでポケモンの状態変化のみがわりを管理するメモリアドレスに+1することで

状態変化のみがわり状態にして
02023d76でポケモンのみがわりの残HPを直接書き込みます。今回は耐久値50にしたので16進数で32ですね。

後はやることないので

3d ff で技スクリプトの終了です。

 

後はこれを前回同様相手1匹目、自分2匹目、相手2匹目の場合で

それぞれ対応するメモリの数値を書き換えてやることでHPを消費せずに耐久値50のみがわりを張る技の完成です。

 

ちなみに冒頭の動画でも上げましたがみがわりの耐久値50だと

レベル3のポッポがレベル19のポッポの攻撃を一発耐えるという

みがわりでは実現しなかった超耐久が可能になるので

これすごくバランス調整に難儀しそうです。序盤で使った場合が強すぎる・・・!

 

ということで新技、デコイミラーの技スクリプト解説でした。

このスクリプトが何かのお役に立てれば嬉しいです。