Elin:解析/物理戦闘: Difference between revisions

速射modの効果上限が10発までになった
m (混沌属性の強度は30)
(速射modの効果上限が10発までになった)
Line 1: Line 1:
{{解析}}
{{解析}}
{{バージョン|23.132}}
{{バージョン|23.187}}
==近接攻撃処理順==
==近接攻撃処理順==
  FOR 0 TO 突貫・拡散・旋風エンチャ攻撃回数     
  FOR 0 TO 突貫・拡散・旋風エンチャ攻撃回数     
Line 409: Line 409:
int numFire = effectData.num;
int numFire = effectData.num;
int numFireWithoutDamageLoss = numFire;
int numFireWithoutDamageLoss = numFire;
...
if (num > 0)
{
numFire += Mathf.Min(num / 10 + ((num % 10 > EClass.rnd(10)) ? 1 : 0), 10);
numFireWithoutDamageLoss += num / 100 + ((num % 100 > EClass.rnd(100)) ? 1 : 0);
}
...
...
if (IsRanged && count >= numFireWithoutDamageLoss)
if (IsRanged && count >= numFireWithoutDamageLoss)
Line 418: Line 424:
速射modや連続射撃により遠隔武器に追加の射撃が発生している場合、追加の射撃には回数に応じたダメージ減衰が発生します。
速射modや連続射撃により遠隔武器に追加の射撃が発生している場合、追加の射撃には回数に応じたダメージ減衰が発生します。


ここでの「numFireWithoutDamageLoss」とは遠隔武器の元々の発射数で、「count」は現在何発目の射撃かの変数です。「count」は0スタートで、1発目の射撃では0が代入されています。
ここでの「numFireWithoutDamageLoss」とは減衰が発生しない発射数で、「count」は現在何発目の射撃かの変数です。「count」は0スタートで、1発目の射撃では0が代入されています。


追加の射撃のダメージ倍率は以下の式で算出されます。
追加の射撃のダメージ倍率は以下の式で算出されます。
  ダメージ倍率 = 1 / 1 + 0.3 × (現在の発射回数 - 遠隔武器の元々の発射数)
減衰なし発射数 = 遠隔武器の元々の発射数 + 速射mod強度 / 100
  ダメージ倍率 = 1 / 1 + 0.3 × (現在の発射回数 - 減衰なし発射数)
※速射mod強度の除算で小数以下が発生する場合、その確率で減衰なし発射数に+1
  ※ここでの「現在の発射回数」とはコード上での「count + 1」です
  ※ここでの「現在の発射回数」とはコード上での「count + 1」です
例えば元々の発射数が3のアサルトライフルを速射modによって発射数を6にした場合、
例えば元々の発射数が3のアサルトライフルを強度30の速射modによって発射数を6にした場合、


ダメージ倍率は1発目: 100%、2発目: 100%、3発目: 100%、4発目: 76%、5発目:62%、6発目: 52% となります。
ダメージ倍率は1発目: 100%、2発目: 100%、3発目: 100%、4発目: 76%、5発目:62%、6発目: 52% となります。
元々の発射数が3のアサルトライフルを強度500の速射modによって発射数を13にした場合、
ダメージ倍率は1発目: 100%、2発目: 100%、3発目: 100%、4発目: 100%、5発目: 100%、6発目: 100%、7発目: 100%、8発目: 100%、9発目: 76%、10発目: 62%、11発目: 52% 、12発目: 45% 、13発目: 40%  となります。


===ヴォーパル===
===ヴォーパル===
250

edits