物理攻撃を受けたときに、 減少しているHP/MaxHP の確率で、相手の攻撃力半分で計算。 (減少しているHP/2)/MaxHP の確率で、こちらの防御力を2倍で計算するアイテムを作成していきます。 まず、【物理攻撃を受けたとき】に発動なので
発動タイミング : 0C or 0D防御力など計算前に確定しておかなくてはならない数値を弄るので、0C にしておきましょう。
発動タイミング : 0C参照パラメータは、
敵の攻撃力 : 30 (06で参照) 自分の防御力 : 32 (05で参照) 現在HP : 4C (〃) 最大HP : 48 (〃)0C で参照、および操作したときに取得できなかったり効果がなかったりしないか、ここで見極めましょう。
// #敵攻撃力操作部 // 最大HPをW[20]に取得 // W[20]から現在HPを引く // W[22]に0~MaxHPまでの乱数を生成 // W[22]とW[20]を比較。W[20]>W[22]の場合、_DFpart_ にJMP // 敵の攻撃力を2で割る -DFpart- // #装備者防御操作部 // W[20]の値を2で割る // W[22]に0~MaxHPまでの乱数を生成 // W[22]とW[20]を比較。W[20]>W[22]の場合、終了 // 自分の防御力に2をかける // 終了なにか追加したいことがあれば、この段階で修正しましょう。
// #敵攻撃力操作部 // 最大HPをW[20]に取得 // W[20]から現在HPを引く // W[22]に0~MaxHPまでの乱数を生成 // W[22]とW[20]を比較。W[20]>W[22]の場合、_DFpart_ にJMP // 敵の攻撃力を2で割る // 相手位置に煙発生 -DFpart- // #装備者防御操作部 // W[20]の値を2で割る // W[22]に0~MaxHPまでの乱数を生成 // W[22]とW[20]を比較。W[20]>W[22]の場合、終了 // 自分の防御力に2をかける // 自分位置にResist表示 // 終了
FF // #敵攻撃力操作部 05 48 4C 20 // 最大HPをW[20]に取得 05 4C 4E 20 // W[20]から現在HPを引く 05 48 57 22 // W[22]に0~MaxHPまでの乱数を生成 0B 20 74 22 02 ** ** // W[20]とW[22]を比較。W[20]>W[22]の場合、_DFpart_ にJMP 06 30 47 02 // 敵の攻撃力を2で割る 0A 3D 00 09 // 相手位置に煙発生 -DFpart- // #装備者防御操作部 0B 20 47 02 // W[20]の値を2で割る 05 48 57 22 // W[22]に0~MaxHPまでの乱数を生成 0B 20 74 22 02 90 00 // W[22]とW[20]を比較。W[20]>W[22]の場合、終了 05 32 46 02 // 自分の防御力に2をかける 09 BD 00 09 // 自分位置にResist表示 FF // 終了
_390 FF // #敵攻撃力操作部 _391 05 48 4C 20 // 最大HPをW[20]に取得 _395 05 4C 4E 20 // W[20]から現在HPを引く _399 05 48 57 22 // W[22]に0~MaxHPまでの乱数を生成 _39D 0B 20 74 22 02 AC 00 // W[20]とW[22]を比較。W[20]>W[22]の場合、_DFpart_ にJMP _3A4 06 30 47 02 // 敵の攻撃力を2で割る _3A8 0A 3D 00 09 // 相手位置に煙発生 :-DFpart- // #装備者防御操作部 _3AC 0B 20 47 02 // W[20]の値を2で割る _3B0 05 48 57 22 // W[22]に0~MaxHPまでの乱数を生成 _3B4 0B 20 74 22 02 90 00 // W[22]とW[20]を比較。W[20]>W[22]の場合、終了 _3BB 05 32 46 02 // 自分の防御力に2をかける _3BF 09 BD 00 09 // 自分位置にResist表示 _3C3 FF // 終了
ADDRESS +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 800F0380 800F0390 800F03A0 800F03B0 800F03C0 800F03D0 800F03E0 800F03F0 800F0400 800F0410 800F0420 800F0430ここにコピペしていきます。
ADDRESS +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 800F0380 90 00 91 00 0C 00 -- -- -- -- 00 00 00 00 00 00 800F0390 FF 05 48 4C 20 05 4C 4E 20 05 48 57 22 0B 20 74 800F03A0 22 02 AC 00 06 30 47 02 0A 3D 00 09 0B 20 47 02 800F03B0 05 48 57 22 0B 20 74 22 02 90 00 05 32 46 02 09 800F03C0 BD 00 09 FF 800F03D0 800F03E0 800F03F0 800F0400 800F0410 800F0420 800F0430あとは説明やら属性値やら、売値やらを適当に決めてやればOK。