アクション機能

被ダメージ判定


<回避受付能力>

プラグインコマンドで回避を行った際、無敵判定として計算するステータスをIDで設定します。
このステータスの能力値を回避フレームとし、そのフレームの間は当たり判定がなくなります。
なお、存在しない能力を指定した場合、このパラメーターの値がそのまま回避フレームとなります。

<被弾時無敵能力>

ダメージを受けた際、無敵判定として計算するステータスをIDで設定します。
設定に関する諸注意は<回避受付能力>と同様です。
これにより、連続でダメージを受けて想定外の被害を受けることを防ぎます。

なお、1つのアニメーションの当たり判定は、単発ヒットか連続ヒットかを設定することができます。
データベースのスキルにおける「連続回数」で「1」を設定すれば単発ヒットになり、1度当たった判定の被弾対象から外れます。
「2」以上にすると連続ヒットとなり、当たり判定に入っている限り被弾対象となります。

<パリィ受付能力>

ジャストガードの受付判定として計算するステータスをIDで設定します。
設定に関する諸注意は<回避受付能力>と同様です。
パリィ受付中は原則無敵状態となりますが、パリィのタイミングによってはダメージを受けることもありえます。

なおMELOS作者の経験から、少なくとも制作段階においては受付判定はなるべく長めにしておくと良いと考えます。
短すぎるとパリィそのものを発動させることが困難になり、組み立てた処理のデバッグすらも難しくなるからです。

<フレーム補正>

<回避フレーム>と<被弾時無敵フレーム>に対して、追加で加算する定数フレームを設定します。
ステータスによらない最低限のフレーム保証が必要な場合に有効です。

<ノックバック計算式>

ノックバック距離を算出するための計算式を設定します。
記法はスキルのダメージ計算式と同様です。

  • a(スキル使用者)
  • b(スキル対象者)
  • v(ゲーム内変数)

が使用可能です。

また、独自の項として meta が使えます。
これはスキルのメモ欄に記述されたノートタグ <knockBack> を取得し、その値として振る舞います。
この計算式で得られた値をノックバック距離として、相手を吹き飛ばします。
なお、計算結果は小数点以下切り捨ての整数値です。

上記の例では、次のように解釈されます。

(<knockBack>の値)×(使用者の攻撃力)/(対象の防御力)×(変数[2]の値)

  • knockBack = 3
  • 使用者の攻撃力 = 2
  • 対象の防御力 = 4
  • 変数[2] = 6

の時…

3 × 2 / 4 × 6 = 9

となり、対象を9マス分吹き飛ばします。

なお、ノックバックは攻撃を受けるベクトルを参照するため、位置によっては斜めに吹き飛ぶこともあります。
このとき、計算結果はx軸方向とy軸方向の力に分散されます。



関連プラグインコマンド

evasion characterId exe justActionSwitch

回避、あるいはガードを実行します。次の手順で実装してください。

  • ①【コマンド設定】で防御に関するアクションを作成
  • ②①の<コマンド内容のコモンEV>で設定したコモンイベントに、このプラグインコマンドを組み込む

このプラグインコマンドが行うことは、無敵フレームあるいは防御ステートの付与です。
アニメーションの演出やキャラクターのモーション等は別途設定してください。
characterId の設定は、プラグインコマンド action と同様です。
また、justActionSwitchは exe に parry または deflect を設定した時に必要となってきます。
詳細は以下をご覧ください。

回避実装例

関連メモ

<knockBack: point>
<knockBackFix>

前者はデータベース「スキル」のメモ欄に、後者はイベントのメモ欄に記述します。
<knockBack>では、アクションヒット時に発生させるノックバックの基本値を設定します。
未設定の場合やこのノートタグを持たないスキルでは、point は 0 として扱われます。

注意点として、ノックバックした後は吹き飛ばされた側の「向き固定」が強制的にOffになります。
基本的にはこれで困ることはありませんが、固定砲台や大型モンスターのように、向きを変えたくないエネミーだと不都合が生じえます。
こんなとき、<knockBackFix>を記述することで、「向き固定」の設定をノックバック前の状態に戻せます。

また、ノックバックによる移動は通行可能なイベントをすり抜けます。
場所移動や大事なイベントの近くでは戦闘が発生しないようにすることをオススメします。