| GAMEMASTERです。
> タイトルの通り、相手に与えたダメージを「全て」吸収する方法はあるのでしょうか? > > 攻撃イベントと攻撃後イベントで相手のHPを確認した後に変化した分攻撃側のHPを回復するという方法も考えましたが、 > この方法だと回復量がすぐに分からないので。
まず、攻撃イベントにおいてHP吸収攻撃を使用した際に相手のHPを記録しておきます。
*攻撃 全 全:
If Info(ユニット,対象ユニットID,武器,対象ユニット使用武器,属性所有,吸) = 0 Exit
回復量[相手ユニットID] = HP(相手ユニットID)
Exit
次に、HP吸収攻撃でダメージを与えた後のHPを参照して回復量の追加分の計算を行い、HPを回復させるサブルーチンを作成します。 これを、戦闘アニメデータまたはエフェクトデータの「ダメージ小」「ダメージ中」「ダメージ大」「破壊」シチュエーションで呼び出しましょう。
吸収後処理:
回復量[相手ユニットID] = (回復量[相手ユニットID] - HP(相手ユニットID)) / 4 * 3
HP(対象ユニットID) = HP(対象ユニットID) + 回復量[相手ユニットID]
UnSet 回復量[相手ユニットID]
Return
汎用 ダメージ小(対吸属性), $(Call(吸収後処理)) ダメージ中(対吸属性), $(Call(吸収後処理)) ダメージ大(対吸属性), $(Call(吸収後処理)) 破壊(対吸属性), $(Call(吸収後処理))
参考になれば幸いです。
もう時間がないようでございますね。では、これにて退散させてもらいましょう。
|