現在、バトラーがかかっていると最終的なダメージが2.5倍になるステート「チャージ」と、
ダメージ計算式を簡略化するため、プラグイン「KNS_Damage」を利用して以下のような計算式を作成いたしました。
コード: 全て選択
if (a.isStateAffected(37)) { // 「チャージ」にかかっているとき、
a.removeState(37); // 「チャージ」を消し、
a.addState(57); // 全体攻撃にも乗るように「チャージtmp」を付与(すぐ消える)
}
var charged = a.isStateAffected(57) ? 2.5 : 1;
return (a.atk * (Math.max(0.25, a.tp / 100)) * args[0] - b.def * args[1]) * charged;
「チャージtmp」はデータベース上でこのように設定し、現状ではこれで全体・連続攻撃に対応できています。 ただ、これではスキルが回避等により失敗した場合にダメージ計算式が実行されず(今知りました)、
チャージが消滅する一連の動作が実行されない状態に陥ってしまいました。
スキル失敗時にもダメージ計算式やスクリプトが実行される、あるいはダメージ計算よりも前にスクリプトを実行できるなにかはありますでしょうか……?
ご回答何卒宜しくお願い致します!