防御低下バフが効かない

こんにちは、RPG Maker MVを使用しています。現在、敵の防御力を25%減少させるデバフを作成しようとしているのですが、問題は、デバフを以下のように設定しても:

攻撃のダメージが変わらないのです。はい、攻撃の式(スクリプト)には敵の防御力が反映されるように設定してあります。そのため、なぜこのような現象が起こっているのか非常に混乱しています。

image

ダメージを与えるスキルが、デバフを付与するものと同じですか? もしそうなら、MVはステート適用前に計算を行うため、実際の効果は次の攻撃から現れます。

また、私はすべてのデフォルトモンスターとアクターで、分散を0%、クリティカルヒットをオフにしてテストしましたが、ダメージは約14ポイント変動しました。変化がなかったことは確実ですか?単なるダメージのばらつきではなかったでしょうか?

b.def * 2 はダメージ軽減を行っているため、防御力を25%減少させることは常に、敵の基礎防御力の半分相当のダメージ増加をもたらします。ダメージの変化が10ポイントのような小さなものである場合、標準的なばらつきが実際のダメージ増加を隠してしまうことがあります。

はい、確信しています。ただし、完全に直したというよりは、まあまあうまく修正できました。デバフの内容を、敵の防御力を下げるのではなく、物理属性の攻撃が与えるダメージを増やすように変更しました。
これで、意図していた通り(物理攻撃でより大きなダメージを受ける)、デバフが正常に機能するようになりました。

答えは、RPGツクールMVは括弧を認識しないため、ゲームは括弧内の内容をすべて無視しているということです。

試行錯誤でいろんな数式を試したんだけど、結局エンジン側でゼロにされちゃって。変な感じ。

でも、彼らの問題は、攻撃が常に0ダメージしか与えないことであり、状態の有無にかかわらずダメージが同じであることではありません。彼が示していたダメージ計算式をそのままコピーしましたが、私の方でもうまくいきました。

なるほど、スレッドを見つけました

どうやら私の認識は間違っていたようです

RMMVは括弧を無視しません。これらはどのように扱われるかについて、以下のリンクで説明されています。
JavaScriptの演算子の優先順位

「いいね!」 1

F12キーを押して開発者コンソールを開き、コードを入力してください。バトラーの防御ステータスがどうなるかを直接確認できれば、役立つかもしれません。バグを即座に解決したり特定したりするわけではありませんが、手がかりになることを願っています。

image

防御ステータスが低すぎて目に見える影響がないか、防御計算式に干渉する何かがあるのではないかと推測しています。

コンソールにどちらかの行をコピー&ペーストし、Enterキーを押して実行し、返される数値を確認してください。

$gameTroop._enemies[0].def

$gameActors.actor(1).def

エンジン側でゼロに設定された場合、構文エラーがあるか、ゼロ除算のような無効な操作を行った可能性があります。

「いいね!」 1

おそらく、両端を暗黙の乗算として扱っていたんだ。かなり前なので覚えてないけど