Elin:解析/戦闘: Difference between revisions

抜けの修正と文言をわかりやすく改変
(→‎投擲: 翻訳ミス修正、重量について補足、計算式を見やすく改修)
(抜けの修正と文言をわかりやすく改変)
Line 61: Line 61:




プレイヤーのファクションに属するキャラで、敵のレベルがLv51より高い場合:


あなたのダメージは、* (100 - float (敵のレベル - 50) * 2.5 の平方根 80) / 100 のうち最小の整数)で掛け合わされます。
プレイヤーのファクションに属するキャラで、敵のレベルがLv50より高い場合:


つまり、Lv1024以上の敵に対してはダメージが80%減少し、Lv51~Lv1023の敵に対しては[sqrt(階数-50) * 2.5] / 100のどちらかになります。
与えるダメージに、* (100 - [  2.5 * √(敵のレベル - 50)  か 80 かのうち小さいほう ]<ref>正確には小さい方を四捨五入したもの</ref>) / 100が掛けられます。
 
つまり、Lv1024以上の敵に対してはダメージが80%減少し、Lv51~Lv1023の敵に対しては[sqrt(階数-50) * 2.5]%減少します。
{| class="wikitable"
{| class="wikitable"
|+レベル毎のダメージ軽減
|+レベル毎のダメージ軽減
Line 136: Line 137:
{{バージョン|23.46}}
{{バージョン|23.46}}
[[File:Function curve as of EA23.46.png|thumb|upright=3.0|バージョン EA23.46 のCURVE 関数の入力(オレンジ色)と出力(藍)です。Output = Curve(Input, 50, 25, 75) ]]
[[File:Function curve as of EA23.46.png|thumb|upright=3.0|バージョン EA23.46 のCURVE 関数の入力(オレンジ色)と出力(藍)です。Output = Curve(Input, 50, 25, 75) ]]
「CURVE」とは、スキル値の有効性にスライドカーブを追加するゲームの手法を指します。
「CURVE」とはElinにてどのようににスキル値の有効性にスライドカーブがついているかの具体的な式です。
  CURVE( input, start, step, rate)
  CURVE( input, start, step, rate)
  if input <= start
  if input <= start
Line 160: Line 161:
|-
|-
|投擲
|投擲
|CURVE([攻撃者の器用]/4 + [攻撃者の筋力]/2 + [攻撃者の武器スキル], 50, 25, 75) + 75 (PCのファクション以外の場合250)
|CURVE([攻撃者の器用]/4 + [攻撃者の筋力]/2 + [攻撃者の武器スキル], 50, 25, 75) + 75(PCのファクション以外の場合250)
|-
|-
|格闘 (盾なし)
|格闘 (盾なし)
Line 172: Line 173:
|-
|-
|その他すべての武器
|その他すべての武器
|CURVE([攻撃者の器用]/4 + [攻撃者の武器の主能力]/3 [攻撃者の武器スキル], 50, 25, 75) + 50
|CURVE([攻撃者の器用]/4 + [攻撃者の武器の主能力]/3 + [攻撃者の武器スキル], 50, 25, 75) + 50
|}
|}
上記の式で算出した値に装備と武器による命中修正が加算され、その後遠距離武器には距離による修正が適用されます。
上記の式で算出した値に装備と武器による命中修正が足し算され、その後遠距離武器には距離による修正が適用されたものが「命中」となります。
 


回避はこちらの式で計算されます。:CURVE ([対象の感覚] / 3 + [対象の回避スキル], 50, 10, 75) + [対象のDV] + 25
「回避」はこちらの式で計算されます。:CURVE ([対象の感覚] / 3 + [対象の回避スキル], 50, 10, 75) + [対象のDV] + 25




命中率に影響を与える以下の要素は、複合して作用しながら以下の順序で適用されます。
命中率に影響を与える以下の要素は、複合して作用しながら次の表の上から順で適用されます。<ref>プログラムでは、X=X+1のように、同じ文字が一つの式に複数回登場して右辺にあるものが調整前の数字、左辺にあるものが調整後の数字になる記法があります。</ref>


{| class="wikitable"
{| class="wikitable"
Line 187: Line 189:
|-
|-
|攻撃者が災い状態
|攻撃者が災い状態
|命中 = 75%
|命中 = 75% (0.75をかける)
|-
|-
|攻撃者が高所にいる
|攻撃者が高所にいる
|命中 +20%
|命中 +20%   (1.2をかける)
|-
|-
|攻撃者が乗馬している
|攻撃者が乗馬している
|命中 = 命中 * 100 / (100 + 500 / (5 or 10 + [攻撃者の乗馬スキル]の高い方))
|命中 = 命中 * 100 / (100 + 500 / ('''5''' or '''10 + [攻撃者の乗馬スキル]''' の高い方))  (同じく補正値を掛け算)
|-
|-
|攻撃者がペットを寄生させている
|攻撃者がペットを寄生させている
|命中 = 命中 * 100 / (100 + 1000 /(5 or 10 + [攻撃者の共存スキル]の高い方))
|命中 = 命中 * 100 / (100 + 1000 /('''5''' or '''10 + [攻撃者の共存スキル]''' の高い方))  (同じく補正値を掛け算)
|-
|-
|騎乗されているペットが攻撃
|騎乗されているペットによる攻撃
|命中 = 命中 * 100 / (100 + 1000 / (5 or 10 + [攻撃者の筋力]の高い方))
|命中 = 命中 * 100 / (100 + 1000 / ('''5''' or '''10 + [攻撃者の筋力]''' の高い方))      (同じく補正値を掛け算)
|-
|-
|寄生しているペットが攻撃
|寄生しているペットによる攻撃
|攻撃力 = 攻撃力 * 100 / (100 + 1000 / (5 または 10 + [攻撃者の器用] の高い方))
|命中 =命中 * 100 / (100 + 1000 / ('''5''' または '''10 + [攻撃者の器用]''' の高い方))    (同じく補正値を掛け算)
|-
|-
| 攻撃者が両手持ち
| 攻撃者が両手持ち
|攻撃力 = 攻撃力 + 25 + sqrt([攻撃者の両手持ちスキル] * 2)
|命中 = 命中 + 25 + sqrt([攻撃者の両手持ちスキル] * 2) 
|-
|-
|攻撃者が二刀流
|攻撃者が二刀流
|命中 = 命中 * 100 / (115 + 手の数 * 15 + 手の数 *(2000 / (20 + [攻撃者の二刀流スキル])[0-100でクランプ])
|命中 = 命中 * 100 / (115 + 手の番号 * 15 + 手の番号 *(2000 / (20 + [攻撃者の二刀流スキル])[0-100でクランプ<ref>クランプとは値に上限と下限を適用するという意味です。この場合、確率なので0から100%に設定されています</ref>])
|-
|-
| 攻撃者が盲目
| 攻撃者が盲目
|命中 = 33.33% (または、遠距離/投擲の場合は10%)
|命中 = 33.33% (または、遠距離/投擲の場合は10%)         (補正値を掛け算)
|-
|-
|対象が盲目
|対象が盲目
|回避率 = 50%
|回避率 = 50% (0.5をかける)
|-
|-
|対象が朦朧
|対象が朦朧
|回避率 = 50%
|回避率 = 50% (0.5をかける)
|-
|-
|対象が高所にいる
|対象が高所にいる
|回避率 + 20%
|回避率 + 20% (1.2をかける)
|}
|}


二刀流の補足説明:
二刀流の補足説明:


ここでいう、「手の数」は利き手・もう片方の手と、カオスシェイプなどが持つ2本目以降の手を表します。
ここでいう、「手の番号」は利き手・もう片方の手と、カオスシェイプなどが持つ2本目以降の手を表します。


1-100の間でクランプされるのは(2000 / (20 + [攻撃者の二刀流スキル])だけです。つまり、二刀流で最適化するには、二刀流スキルが1980必要です。
1-100の間でクランプされるのは(2000 / (20 + [攻撃者の二刀流スキル])だけです。つまり、二刀流で最適化するには、二刀流スキルが1980必要です。




システムには命中率と回避率の値が設定されており、攻撃が命中、外れる、クリティカルの順に、これらの値を使用して計算します。
ここまでで最終的な命中率と回避率を計算しました。以下では攻撃が命中するか、外れるか、クリティカルになるかの順に、判定します。
  対象が朦朧状態の場合、4分の1の確率でクリティカル
  対象が朦朧状態の場合、4分の1の確率でクリティカル


  対象が死亡または睡眠状態の場合、確定でクリティカル
  対象が死亡または睡眠状態の場合、確定でクリティカル


  [対象の見切りスキル] × 10 > 命中の場合、以下の式で判定
  [対象の見切りスキル] × 10 > 命中の場合、以下の式で見切り成功判定
  num = 回避 * 100 / 命中
  num = 回避 * 100 / 命中 (として変数numを定義)
  'num2' > 300 & random 0 to ([対象の見切りスキル]+250) > 100 のとき、攻撃は外れる
  'num > 300 & random 0 to ([対象の見切りスキル]+250) > 100 のとき、攻撃は外れる (&というのは&の前後の判定が両立して初めて攻撃が外れるということ)
  'num2' > 200 & random 0 to ([対象の見切りスキル]+250) > 150 のとき、攻撃は外れる
  'num > 200 & random 0 to ([対象の見切りスキル]+250) > 150 のとき、攻撃は外れる
  'num2' > 150 & random 0 to ([対象の見切りスキル]+250) > 200 のとき、攻撃は外れる
  'num > 150 & random 0 to ([対象の見切りスキル]+250) > 200 のとき、攻撃は外れる


  [対象の完全回避のパラメータ] > random 0 - 99 のとき、攻撃は外れる
  [対象の完全回避] > random 0 - 99 のとき、攻撃は外れる (0から99までの値が等確率で選ばれて、それより完全回避が大きいか小さいかを判定に使う)


  1 in 20 のとき、攻撃は命中
  1 in 20 のとき、攻撃は命中 (おそらく5%で以降の判定を免除して命中することになる)


  1 in 20 のとき、攻撃は外れる
  1 in 20 のとき、攻撃は外れる (おそらく5%で以降の判定を免除して外れることになる)


  命中 < 1 のとき、攻撃は外れる
  命中 < 1 のとき、攻撃は外れる
Line 251: Line 253:
  回避 < 1 のとき、攻撃は命中
  回避 < 1 のとき、攻撃は命中


  random 0 - 命中 < random 0 - (回避 * 125 (遠距離攻撃なら150) / 100) のとき、攻撃は外れる
  random 0 - 命中 < random 0 - (回避 * 125 (遠距離攻撃なら150) / 100) のとき、攻撃は外れる (random X-Yは等確率でXからYまでの乱数を生成する関数)


  random 0 - 5000 < [攻撃者の感覚]のとき、攻撃はクリティカル
  random 0 - 5000 < [攻撃者の感覚]のとき、攻撃はクリティカル
Line 258: Line 260:


  攻撃者が[死の真髄]フィートを所持している場合、以下の判定を行う
  攻撃者が[死の真髄]フィートを所持している場合、以下の判定を行う
     num = 100 - [攻撃者の現在HP] * 100 / [攻撃者の最大HP]
     num = 100 - [攻撃者の現在HP] * 100 / [攻撃者の最大HP] (変数numをこのように定義)
     num >= 50 & (num^3 / 3) > random 0 - 100000000 のとき、攻撃はクリティカル
     num >= 50 & (num^3 / 3) > random 0 - 100000000 のとき、攻撃はクリティカル 


  攻撃は命中
  攻撃は命中
Line 305: Line 307:
ダメージ倍率は『'''0.6 + ((筋力 / 2 + 格闘 / 2 + 戦術 / 2) / 50.0)』です。'''
ダメージ倍率は『'''0.6 + ((筋力 / 2 + 格闘 / 2 + 戦術 / 2) / 50.0)』です。'''


プレイヤーが武器の知識フィートを持っている場合、追加ダメージが『0.05×(''武器の知識フィートのランク)』の割合で与えられます。''(事実上、+0.05または+0.10)
プレイヤーが武器の知識フィートを持っている場合、追加ダメージが『0.05×(''武器の知識フィートのランク)』の割合で与えられます。''(実用上、+0.05または+0.10)


命中率は「(筋力/3 + 器用/3 + 格闘)+50)」で、最低値は「25+50」、最高値は「75+50」です。プレイヤーが「盾」を装備している場合、-25%の下方修正があります。
命中率は「(筋力/3 + 器用/3 + 格闘)+50)」で、最低値は「25+50」、最高値は「75+50」です。プレイヤーが「盾」を装備している場合、-25%の下方修正があります。
Line 426: Line 428:
ダメージ倍率は0.6 + ('''武器に対応する主能力''' + '''武器スキル / 2''' + (近接武器は'''戦術'''、遠距離武器は'''射撃'''、ワンドまたは理力武器の場合'''魔道具''')) / 50
ダメージ倍率は0.6 + ('''武器に対応する主能力''' + '''武器スキル / 2''' + (近接武器は'''戦術'''、遠距離武器は'''射撃'''、ワンドまたは理力武器の場合'''魔道具''')) / 50


プレイヤーが武器の知識/射撃の名手のフィートを持っている場合、追加ダメージが'''0.05 x (フィートランク)'''の割合で与えられます。''<sub>(事実上、+0.05または+0.10)</sub>''
プレイヤーが武器の知識/射撃の名手のフィートを持っている場合、割合追加ダメージが'''0.05 x (フィートランク)'''与えられます。''<sub>(事実上、+0.05または+0.10)</sub>''


命中率は('''器用'''、ワンドや理力武器なら'''意志''') / 4 + '''武器スキル''' / 3 + (近接武器は'''戦術'''、遠距離武器は'''射撃'''、ワンドまたは理力武器の場合'''魔道具''') で、最小値は'''25+50'''、最大値は'''75+50'''です。
命中率は('''器用'''、ワンドや理力武器なら'''意志''') / 4 + '''武器スキル''' / 3 + ['''戦術'''(近接武器の場合) or '''射撃'''(遠距離武器の場合) or '''魔道具'''(ワンドまたは理力武器の場合)''']''' で、最小値は'''25+50'''、最大値は'''75+50'''です。


'''ワンド'''の命中率には、さらに+50が加わります
'''ワンド'''の命中率には、さらに+50が加わります
Line 462: Line 464:
遠隔武器には、適正の攻撃距離があり、それによって命中率(toHit)とダメージ(dMulti)は修正されます。
遠隔武器には、適正の攻撃距離があり、それによって命中率(toHit)とダメージ(dMulti)は修正されます。


Evalue(605)はmod_precisionであり、遠隔武器の精密射撃MODレベルにあたります。
Evalue(605)はmod_precisionであり、遠隔武器の改造道具の精密射撃レベルにあたります。


適正攻撃距離に離れるほど、ペナルティも増えます。
適正攻撃距離に離れるほど、ペナルティも増えます。


精密射撃MODのない場合、0(適正攻撃距離)の時は命中率、ダメージ共に115%になります、±1は105%、±2は95%、±3は85%、それ以降は80%になります。
精密射撃の改造道具のない場合、0(適正攻撃距離)の時は命中率、ダメージ共に115%になります、±1は105%、±2は95%、±3は85%、それ以降は80%になります。


[[Elin:武器#距離修正]]を参照すると、それが今(EA23.46)でも正しいことが分かります。
[[Elin:武器#距離修正]]を参照すると、それが今(EA23.46)でも正しいことが分かります。