定期的に質問を見る気がするので記事にしました。
装備品の影響を無視し、キャラクターの元々の腕力などをダメージ計算に使いたい場合の話です。
アクターの数値は以下の方法で計算されます。
value= (actor.paramBase(paramId) + actor.paramPlus(paramId) ) actor.paramRate(paramId) * actor.paramBuffRate(paramId)*
paramIdは能力値の番号を示します。
最大HP,最大MP,攻撃力…の順に並んでおり、攻撃力を取得したいのであれば、actor.paramBase(2)といった指定にします。
関数名 | 対応する数値 | 備考 |
---|---|---|
paramBase() | アクターの職業依存の数値 | レベルアップによる変動の影響を含む |
paramPlus() | 装備品による影響 アイテムなどによる成長効果 |
2つを切り離すことはできない |
paramRate() | 特徴の通常能力値による乗算 | |
paramBuffRate() | 1段階に付き25% | スキルやアイテムによって発生する効果 |
装備品による数値のみを取得する関数はありません。
装備品による加算値は全ての装備品の合計で計算されます。
攻撃力をアップする武器以外の装備品がある場合、その数値も取得します。
二刀流によって複数の武器を装備している場合、その合計値を取得します。
以下はダメージ式の欄へコピペで使えるサンプルです。
要望があればサンプルは追加していきます。
Math.pow(a.paramBase(2) ,2) * a.paramPlus(2) //アクターの腕力^2 * 武器攻撃力