250
edits
(二刀流スキルの命中ペナルティ軽減を追加。) |
(斬撃無双などの追加の攻撃倍率を追加。攻撃力の上限を追加。また連射数修正・種族特攻の処理タイミングを厳密に。) |
||
| Line 1,087: | Line 1,087: | ||
攻撃者の攻撃力は攻撃のダイス数・ダイス面数・ダメージ修正を使って[[Elin:解析/共通処理|ダイスロール]]をした後、[[Elin:戦禍のイーヴァン|戦禍の炎状態]]によるダメージ修正を追加し、 | 攻撃者の攻撃力は攻撃のダイス数・ダイス面数・ダメージ修正を使って[[Elin:解析/共通処理|ダイスロール]]をした後、[[Elin:戦禍のイーヴァン|戦禍の炎状態]]によるダメージ修正を追加し、 | ||
その後攻撃倍率と距離修正をかけたものです。 | |||
(「攻撃能力の算出」の節を参照してください。) | (「攻撃能力の算出」の節を参照してください。) | ||
| Line 1,094: | Line 1,094: | ||
※Elonaと違い、武器の重量によるダメージ倍率は存在しません。 | ※Elonaと違い、武器の重量によるダメージ倍率は存在しません。 | ||
==== 最大ロール化 ==== | |||
<syntaxhighlight lang="c#"> | |||
public class ActRush : ActMelee | |||
{ | |||
... | |||
public override bool ShouldRollMax => true; | |||
... | |||
} | |||
... | |||
public class ActMeleeCounter : ActMelee | |||
{ | |||
... | |||
public override bool ShouldRollMax => true; | |||
... | |||
} | |||
public class ActMeleeParry : ActMelee | |||
{ | |||
... | |||
public override bool ShouldRollMax => true; | |||
... | |||
} | |||
</syntaxhighlight>突進・カウンター・パリィから発生した近接攻撃は常にダイスロールの結果を最大にし、、格闘攻撃の攻撃力が1.25倍にします。事実上の確定クリティカルとなります。 | |||
クリティカルとの違いは「クリティカルの演出がない」、「心眼に経験値が入らない」ことのみです。 | |||
==== 行動による攻撃倍率 ==== | |||
<syntaxhighlight lang="c#"> | |||
public class ActMeleeBladeStorm : ActMelee | |||
{ | |||
public override float BaseDmgMTP => 0.2f; | |||
} | |||
... | |||
public class ActMeleeCounter : ActMelee | |||
{ | |||
... | |||
public float bonus; | |||
public override float BaseDmgMTP => 1f + bonus; | |||
} | |||
public class ActMeleeParry : ActMelee | |||
{ | |||
public override float BaseDmgMTP => 1.5f; | |||
} | |||
</syntaxhighlight>斬撃無双・カウンター・パリィから発生した近接攻撃はそれぞれ追加の攻撃倍率を持ち、それを攻撃力に乗算します。 | |||
攻撃力は以下のようになります。 | |||
攻撃力 = 攻撃力 × 追加の攻撃倍率 | |||
斬撃無双の攻撃倍率は'''「0.2」'''倍、カウンターの攻撃倍率は'''「1」'''<ref>変動するような仕組みは用意されているものの、bonusが初期値以外の値を取らないため現状は1倍で固定。</ref>倍、パリィの攻撃倍率は'''「1.5」'''倍です。 | |||
==== 攻撃力の上限 ==== | |||
<syntaxhighlight lang="c#"> | |||
int num = Dice.Roll(dNum, dDim, dBonus, CC); | |||
... | |||
num = Mathf.Clamp(num, 0, 9999999); | |||
num = (int)(dMulti * (float)num * dmgMulti); | |||
return Mathf.Clamp(num, 0, 9999999); | |||
</syntaxhighlight>上記までの攻撃力の算出の際、「9999999」を超える攻撃力は'''「9999999」'''に補正されます。 | |||
後述する連射数修正と種族特攻エンチャントは、この上限の適用後に計算されます。 | |||
==== 連射数修正 ==== | |||
遠隔武器の連射数によるダメージ減衰は、攻撃力の上限の補正後に計算されます。 | |||
(倍率は「遠隔武器の連射数修正」の節を参照してください。) | |||
====種族特攻エンチャント==== | ====種族特攻エンチャント==== | ||
edits