複雑な計算式はプラグインで記述する

ダメージ計算式のプラグイン化

ダメージの計算式は基本的に直接テキストボックスに書けば良い。
しかし、何行にも渡るような複雑な計算式を実現したい場合、狭すぎて記載しにくい。
そこで、そういった場合はプラグインとして記述する方法がある。

例えば、以下のようなプラグインを作る。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function(global){
global.Calc = {
SpecialAtk: function(a, b){
//a b は計算式で使っているのと同様
//ここでは例として生きているメンバーのatkの合計をダメージとする
var members = $gameParty.aliveMembers();
var atk = 0;
for(var i = 0; i < members.length; i++){
atk += members[i].atk;
}
return atk - b.def; //returnした数値が計算式の結果となる
}
};
})(this);

そして、計算式を記述する際に、Calc.SpecialAtk(a, b); のように記載すればOK。

こんな感じ

応用

これと同様に条件分岐のスクリプトの箇所もプラグイン化すると複雑な条件分岐を書きやすくなる。

こんな感じ