【Plasma Dark様により解決済み】ステート有効度について

返信する
nekunyan
記事: 22
登録日時: 2021年5月27日(木) 15:34

【Plasma Dark様により解決済み】ステート有効度について

投稿記事 by nekunyan »

標準機能のステート有効度の仕様がよくわからないので教えていただきたいことがあります

結論から言いまして
ステート有効度はそのステートにかかる確率という認識でよろしいでしょうか?

理想としまして

エネミーAは設定無し
エネミーBは毒に完全に耐性あり(ステート有効度0%)
であるとき
Bはかからないでほしいです

ですが実際は
Aは毒にかかるのに対し
Bも毒にかかってしまいます

使用スキルは
・使用効果
→ステート付加
→毒100%
です

この設定で
有効度の数値が単純に確率を表している場合

・有効度が100の場合(有効度を設定してない場合と同じ?)100%で受ける
・有効度が0の場合(かかる確率が0)つまりかからないはず

他のエネミーでも
50%で毒に耐性があるなどしたいのですが
有効度が0でもかかるということは50でも確実にかかってしまうことになります

ステート無効化では絶対にかからなくなってしまうので使いたくないんです
(0%であればスキルなどでかかりやすくする等できるため)

もし仕様を勘違いなどしていたとしたら
教えていただけると幸いです
よろしくお願いします
最後に編集したユーザー nekunyan [ 2021年6月26日(土) 02:49 ], 累計 1 回
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: ステート有効度について

投稿記事 by Plasma Dark »

使用スキルが必中になっていませんか?

ステート付与の判定は Game_Action.prototype.itemEffectAddNormalState に書かれています。

ステート有効度は判定の際に、付与の確率に対してかかる倍率なので、0であればそのステートにかかりません。
(また、この有効度のあとで運の差による耐性倍率もかかるため、有効度を50%としたからと言って、50%でステートにかかるというわけではありません)

ただし、ステートを付与する行動が 必中 である場合は、この有効度を無視して、行動に設定されたステート付与確率で判定を行います。
nekunyan
記事: 22
登録日時: 2021年5月27日(木) 15:34

Re: ステート有効度について

投稿記事 by nekunyan »

Plasma Dark さんが書きました:使用スキルが必中になっていませんか?

ステート付与の判定は Game_Action.prototype.itemEffectAddNormalState に書かれています。

ステート有効度は判定の際に、付与の確率に対してかかる倍率なので、0であればそのステートにかかりません。
(また、この有効度のあとで運の差による耐性倍率もかかるため、有効度を50%としたからと言って、50%でステートにかかるというわけではありません)

ただし、ステートを付与する行動が 必中 である場合は、この有効度を無視して、行動に設定されたステート付与確率で判定を行います。
回答ありがとうございます

Game_Action.prototype.itemEffectAddNormalState
というのが何なのかがわかりません
すいません

必中というのは恐らく命中タイプのことですよね
であればそこは必中になってます

ですが他は
・物理攻撃
・魔法攻撃
しかなくステートの場合はどうすればよいのでしょうか?

エネミーによっては魔法回避率を設定してます
なので魔法攻撃にすると恐らくその確率が判定になってしまうのではないでしょうか?

物理攻撃の場合は命中率と回避率で判定されると書いてあるのですが
それは通常攻撃(所謂スキルID1)などで使われている命中率と回避率の判定になってしまうんでしょうか?
よろしくお願いします
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: ステート有効度について

投稿記事 by Plasma Dark »

Game_Action.prototype.itemEffectAddNormalState
というのが何なのかがわかりません
これは一旦気にしなくても問題ありません。
js/rpg_objects.js に書かれた、ステート付与成否の判定処理コードのことです。
エネミーによっては魔法回避率を設定してます
なので魔法攻撃にすると恐らくその確率が判定になってしまうのではないでしょうか?

物理攻撃の場合は命中率と回避率で判定されると書いてあるのですが
それは通常攻撃(所謂スキルID1)などで使われている命中率と回避率の判定になってしまうんでしょうか?
仰るとおりです。
ツクールの仕様は複雑で、実はデフォルトではあんまり柔軟な設定ができません。

例えば、ステートを付与するだけのスキルの成否は以下の順に処理されます。

1. 命中判定
2. 回避判定
3. ステート成否判定

それぞれの詳細を見ていきます。

1. 命中判定

以下の値を使って命中判定を行います。
- 命中タイプが物理攻撃である場合、使用者の命中率 * スキルの成功率
- それ以外の場合、スキルの成功率

2. 回避判定

以下の値を使って回避判定を行います。回避判定は、命中判定とは別に行われます。(命中判定に成功しても、その後行われる回避判定に成功すると、最終的には回避された扱いになります)
- 命中タイプが物理攻撃である場合、対象の回避率
- 命中タイプが魔法攻撃である場合、対象の魔法回避率
- 命中タイプが必中である場合、判定なし(回避されない)

3. ステート成否判定

命中判定が成功し、回避判定が成功しなかった場合に、以下の値を使ってステート成否判定を行います。
- 命中タイプが必中である場合、スキルに設定されたステート付加の確率
- それ以外の場合、ステート付加の確率 * 対象のステート有効度 * 使用者と対象の運の差によるステート有効度

つまり、命中率・回避率・魔法回避率に影響を受けたくない場合は命中タイプを必中に設定する必要がありますが、必中に設定すると対象のステート有効度は無視されます。
nekunyan
記事: 22
登録日時: 2021年5月27日(木) 15:34

Re: ステート有効度について

投稿記事 by nekunyan »

Plasma Dark さんが書きました:
Game_Action.prototype.itemEffectAddNormalState
というのが何なのかがわかりません
これは一旦気にしなくても問題ありません。
js/rpg_objects.js に書かれた、ステート付与成否の判定処理コードのことです。
エネミーによっては魔法回避率を設定してます
なので魔法攻撃にすると恐らくその確率が判定になってしまうのではないでしょうか?

物理攻撃の場合は命中率と回避率で判定されると書いてあるのですが
それは通常攻撃(所謂スキルID1)などで使われている命中率と回避率の判定になってしまうんでしょうか?
仰るとおりです。
ツクールの仕様は複雑で、実はデフォルトではあんまり柔軟な設定ができません。

例えば、ステートを付与するだけのスキルの成否は以下の順に処理されます。

1. 命中判定
2. 回避判定
3. ステート成否判定

それぞれの詳細を見ていきます。

1. 命中判定

以下の値を使って命中判定を行います。
- 命中タイプが物理攻撃である場合、使用者の命中率 * スキルの成功率
- それ以外の場合、スキルの成功率

2. 回避判定

以下の値を使って回避判定を行います。回避判定は、命中判定とは別に行われます。(命中判定に成功しても、その後行われる回避判定に成功すると、最終的には回避された扱いになります)
- 命中タイプが物理攻撃である場合、対象の回避率
- 命中タイプが魔法攻撃である場合、対象の魔法回避率
- 命中タイプが必中である場合、判定なし(回避されない)

3. ステート成否判定

命中判定が成功し、回避判定が成功しなかった場合に、以下の値を使ってステート成否判定を行います。
- 命中タイプが必中である場合、スキルに設定されたステート付加の確率
- それ以外の場合、ステート付加の確率 * 対象のステート有効度 * 使用者と対象の運の差によるステート有効度

つまり、命中率・回避率・魔法回避率に影響を受けたくない場合は命中タイプを必中に設定する必要がありますが、必中に設定すると対象のステート有効度は無視されます。
回答ありがとうございます

なんとも痒いところに手が届かないものですね・・・
仕方なく魔法回避率を解除して属性有効度で妥協するしかないかと思っていたのですが
教えていただいたことによると”必中でもステート有効度で計算されればいい”と考え
プラグインでならできるのではと調べてました

見つけたのがこちらです

viewtopic.php?t=6671

見事に望み通りのプラグインでした
Plasma Dark様にステート判定の仕様をご教授いただけた所以です

わかりやすい文章で見習いの私でもよく理解できました
ありがとうございました
返信する

“MV:質問”に戻る