【一応解決】会心(クリティカル)の命中判定について

アバター
ケックス
記事: 39
登録日時: 2021年10月30日(土) 01:48

【一応解決】会心(クリティカル)の命中判定について

投稿記事 by ケックス »

ツクールMZにて、
会心の一撃(クリティカルヒット)が発生した際、
デフォルトではコチラの命中率や敵の回避率によっては、
ハズレてしまう事があります。
ドラクエ的に考えれば、必ず命中して欲しいモノです…。

プラグインかスクリプト、または設定で、
クリティカルの命中判定を「必中」にできないか、ご相談させて下さい。

※ちなみに通常攻撃の命中率と回避率に関しては、
 砂川赳様の「NRP_TraitsPlus.js」を使用させて頂いております。
最後に編集したユーザー ケックス [ 2025年4月20日(日) 15:58 ], 累計 1 回
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: 会心(クリティカル)の命中判定について

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
ケックス さんが書きました:ツクールMZにて、
会心の一撃(クリティカルヒット)が発生した際、
デフォルトではコチラの命中率や敵の回避率によっては、
ハズレてしまう事があります。
ドラクエ的に考えれば、必ず命中して欲しいモノです…。

プラグインかスクリプト、または設定で、
クリティカルの命中判定を「必中」にできないか、ご相談させて下さい。

※ちなみに通常攻撃の命中率と回避率に関しては、
 砂川赳様の「NRP_TraitsPlus.js」を使用させて頂いております。
トリアコンタン様のマシュマロにて、ほぼ同じ内容の質問を見かけましたが、
同じ方でしょうか?

あちらで回答されているように、
ツクールMZで、アクション結果は通常、次の手順で処理されます。
  1. アイテムやスキルが効果を発揮できるかどうかを判定します。
    この判定に成功した場合は、 used という変数が true になります。
    戦闘時の場合は、連続でヒットするスキルの使用途中で敵が全滅したなどを除き、
    ここが false になることはまずないと思います。
  2. used が true の場合は命中判定をします。
    ここで used が false になっているか、命中判定に失敗すると、
    miss という変数が true になります。
  3. miss が true でない場合、回避判定をします。
    ここで回避判定に成功すると、 evaded という変数が true になります。
  4. used がtrue、miss と evaded が false である場合は、クリティカルの判定をする
    ここで、判定に成功すると critical という変数が true になります。
  5. 以下略
上記の通り、
命中や回避の判定をした後にクリティカルの判定が行われる
仕様であるため、
クリティカルの判定が成功しているのに、命中や回避が発生するという状況にはなりえません。

NRP_TraitPlus.js は、
命中や回避の判定方法を変更して、
命中率 - 回避率 によって判定できるように変更はできますが、
命中や回避の判定の後に、クリティカルの判定が行われるという順番に関しては、
変更されていないはずです。

何をもって、クリティカルの判定がされているのに、攻撃が外れると言っているのか分かりませんが、
上記の通り、通常ではありえない挙動です。

もし、本当に、その状況が起きているのであれば、
何か別のプラグインの影響、
もしくは、ご自身でコアスクリプトを弄った影響の可能性が高いです。

別のプラグインの影響であれば、
プラグインの ON/OFF を切り替えて、どのプラグインが問題なのかを精査して対処するということも可能ですが、
自身でコアスクリプトを弄ってしまっている場合には、
プロジェクトを渡してもらって、原因を調査するという方法ぐらいしか解決の手段がなく、
どうしようもないと思います。
アバター
ケックス
記事: 39
登録日時: 2021年10月30日(土) 01:48

Re: 会心(クリティカル)の命中判定について

投稿記事 by ケックス »

ecf5DTTzl6h6lJj02 様

ご回答、ありがとうございます。

コアスクリプトは知識が乏しく怖いので、まったくいじっておりません。

ご指摘の通り、プラグインの競合の可能性もあるかと思いますので、
多少時間を要するかとは思いますが、調べてみたうえで、ご報告させて頂きます。
アバター
ケックス
記事: 39
登録日時: 2021年10月30日(土) 01:48

Re: 会心(クリティカル)の命中判定について

投稿記事 by ケックス »

ecf5DTTzl6h6lJj02 様

追記にてご報告させて頂きます。

まず、すべてのプラグインを外して、
追加能力値「会心率100%」の武器を装備し、
追加能力値「回避率 75%」のエネミーに対し、物理攻撃を仕掛けましたが、
やはり回避(miss)されてしまいました。

コアスクリプトに関しては、先ほど1.8.0にヴァージョンアップをしましたが、
これでもやはり回避(miss)されてしまいました…。

もはや「お手上げ」でございます…。
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: 会心(クリティカル)の命中判定について

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
ケックス さんが書きました:ecf5DTTzl6h6lJj02 様

追記にてご報告させて頂きます。

まず、すべてのプラグインを外して、
追加能力値「会心率100%」の武器を装備し、
追加能力値「回避率 75%」のエネミーに対し、物理攻撃を仕掛けましたが、
やはり回避(miss)されてしまいました。

コアスクリプトに関しては、先ほど1.8.0にヴァージョンアップをしましたが、
これでもやはり回避(miss)されてしまいました…。

もはや「お手上げ」でございます…。
こちらで、質問の内容を正しく理解できていなかったようです。

というか、質問の仕方が正しくないというか、なんというか…。

そもそも、会心や、会心率の特徴についての認識が正しくないと思われます。

前回も書きましたが、
攻撃が命中したか判定し、その後に、会心の判定が行われます。
命中していない判定がされれば、会心の判定は行われないので、
会心が発生することはあり得ません。
会心率が 100% を超えようが、攻撃が当たらなければ、
攻撃失敗という結果が出るだけで、
会心発生という判定は絶対に出ないのです。

会心率が 100% を超える場合には、必ず命中するようにしたい、ということであれば、
簡単に実現できると思います。

ですが、会心率が 100% 未満の場合については、
上記の通り、攻撃が命中しなければ、会心の判定も行われませんので、
そもそもの命中や、回避や、会心の判定のタイミングなどを変えるなど、
アクションの処理内容を変更する必要があり、
どういう処理の仕方をするのか、考える必要があります。
アバター
ケックス
記事: 39
登録日時: 2021年10月30日(土) 01:48

Re: 会心(クリティカル)の命中判定について

投稿記事 by ケックス »

ecf5DTTzl6h6lJj02 様

ご丁寧なご返答と、私の説明不足な質問にお付き合い頂き、
本当にありがとうございますm(_ _)m

「攻撃が命中したか判定し、その後に、会心の判定が行われます。
命中していない判定がされれば、会心の判定は行われないので、
会心が発生することはあり得ません。」

↑まさにコレなんですね。
挙動がおかしいのではなく、仕様通り正しく挙動していたのが判り、
ひとまず安心致しました。
ありがとうございました!

命中率に関係なく、クリティカルが発生した時には、必ずクリティカルヒットが炸裂するよう、
何かしら考えてみたいと思いますが、
他の皆さまは、どのようにしているのかとても興味がありますね…。
アバター
剣崎 宗二
記事: 742
登録日時: 2016年11月12日(土) 20:36
連絡する:

Re: 会心(クリティカル)の命中判定について

投稿記事 by 剣崎 宗二 »

ケックス さんが書きました: 他の皆さまは、どのようにしているのかとても興味がありますね…。
あくまでも私が身内から同様の要望を受けた際、どう改造するのか、思考実験として改造方針を考えてみましたが…

・Game_Action.prototype.applyへの改変
・result.criticalの行をif (result.isHit())の前に出す
・上記の直後に、「result.criticalがtrueだった場合result.isHit()に必要な3要素を強制的に改変」

と言う方針になるかとは思います。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
ケックス
記事: 39
登録日時: 2021年10月30日(土) 01:48

Re: 会心(クリティカル)の命中判定について

投稿記事 by ケックス »

剣崎宗二 様
コアスクリプトを改造できるほどのスキルは無いものですから…。

ちょっと気になるプラグインがありますので、そちらで検討したいと思います。

ありがとうございました。
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: 会心(クリティカル)の命中判定について

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
命中率に関係なく、クリティカルが発生した時には、必ずクリティカルヒットが炸裂するよう、
何かしら考えてみたいと思いますが、
他の皆さまは、どのようにしているのかとても興味がありますね…。
と書かれていたので、私もどういうコメントが付くのか、ちょっと様子見をさせて頂きましたが、
剣崎 様以外のコメントが付かないようですね…。

とりあえず、私個人の見解というか意見を述べると、
命中率に関係なく、クリティカルが発生した時には、必ずクリティカルヒットが炸裂する
この仕様で、本当に良いのですか?
と思っています。

というのも、
装備品等で、会心率が100%を 超えるか、ほぼ確実に会心が発生する状況になった場合、
どんな敵に対しても、攻撃すれば会心のダメージを与えられるアクターとなるわけで、
これはゲームバランスを崩壊させ、ゲームとして成り立たせなくさせてしまわないか、
という懸念があるのです。

この辺りのバランスなどをきちんと考えていての仕様ということならいいのですが、
もしそうでないなら、戦闘の仕様についてきちんと考えたほうがいいのではないでしょうか。
そういう意味を込めて、前回の回答で、
会心率が 100% を超える場合には、必ず命中するようにしたい、ということであれば、
簡単に実現できると思います。

ですが、会心率が 100% 未満の場合については、
上記の通り、攻撃が命中しなければ、会心の判定も行われませんので、
そもそもの命中や、回避や、会心の判定のタイミングなどを変えるなど、
アクションの処理内容を変更する必要があり、
どういう処理の仕方をするのか、考える必要があります。
という書き方をさせてもらってます。

やりたいと言っていることを実現するだけなら、
剣崎 様のおっしゃるようなやり方をして、プラグインを書いて出すだけなので、
そんなに難しくはないのですが、
上記の懸念点とか考えると、安易に出したくないなと思うので、
ちょっと考えて頂きたいのです。
アバター
ケックス
記事: 39
登録日時: 2021年10月30日(土) 01:48

Re: 会心(クリティカル)の命中判定について

投稿記事 by ケックス »

ecf5DTTzl6h6lJj02 様

ご回答、ありがとうございます。

仰る通り、もし仮にプラグインを作成し普遍的に公表して頂いた際、
私自身は「会心率100%」などというチートな武器を登場させるような事は考えていませんが、
他のツクラー様がどう活用するかはうかがい知る事はできません。

しかし、DQシリーズでRPGを楽しませて頂いた「昭和世代」の私にとっては、
「会心の一撃」や「クリティカル」というのは、起死回生のラッキー要素であり、
ボスクラスを瞬殺するような威力は無くとも、必中だけはして欲しい。
諦めきれない存在なんですよね…。
返信する

“MZ:質問”に戻る