Elin:解析/戦闘: Difference between revisions

EN版の更新を反映。バフ/デバフ魔法の解析情報など
m ({{DISPLAYTITLE:{{SUBPAGENAME}}}})
(EN版の更新を反映。バフ/デバフ魔法の解析情報など)
Line 47: Line 47:
|1, 2  
|1, 2  
|}
|}
==命中率==


'''EA23.46更新'''
 
==敵のレベルに応じたダメージ軽減==
{{バージョン|23.46}}
 
レベル50を超えた敵が受けるダメージ軽減量は以下の通り:
 
まず、レベル50以下の敵の軽減率は0%、レベル1024以上の敵は軽減率80%となります。
if (!this.IsPCFaction && this.LV > 50)
{
    dmg = dmg * (100 - (int)Mathf.Min(80f, Mathf.Sqrt((float)(this.LV - 50)) * 2.5f)) / 100;
}
 
 
プレイヤーのファクションに属するキャラで、敵のレベルがLv51より高い場合:
 
あなたのダメージは、* (100 - float (敵のレベル - 50) * 2.5 の平方根 80) / 100 のうち最小の整数)で掛け合わされます。
 
つまり、Lv1024以上の敵に対してはダメージが80%減少し、Lv51~Lv1023の敵に対しては[sqrt(階数-50) * 2.5] / 100のどちらかになります。
{| class="wikitable"
|+レベル毎のダメージ軽減
!敵のLv
!軽減率(%)
|-
|51
|2.50
|-
|100
|17.67
|-
|150
|25.00
|-
|200
|30.61
|-
|250
|35.35
|-
|300
|39.53
|-
|350
|43.30
|-
|400
|46.77
|-
|450
|50.00
|-
|500
|53.03
|-
|550
|55.90
|-
|600
|58.63
|-
|650
|61.24
|-
|700
|63.74
|-
|750
|66.14
|-
|800
|68.47
|-
|850
|70.71
|-
|900
|72.89
|-
|950
|75
|-
|1000
|77.06
|}
 
== 命中率==
 
{{バージョン|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」とは、スキル値の有効性にスライドカーブを追加するゲームの手法を指します。
Line 72: Line 157:
|+命中
|+命中
!武器の種類
!武器の種類
!計算式
!計算式  
|-
|-
|投擲
|投擲
Line 78: Line 163:
|-
|-
|格闘 (盾なし)
|格闘 (盾なし)
|CURVE([攻撃者の器用]/3 + [攻撃者の筋力]/3 + [攻撃者の武器スキル], 50, 25, 75) + 50  
|CURVE([攻撃者の器用]/3 + [攻撃者の筋力]/3 + [攻撃者の武器スキル], 50, 25, 75) + 50
|-
|-
|格闘 (盾あり)
|格闘 (盾あり)
|CURVE([攻撃者の器用]/3 + [攻撃者の筋力]/3  +  [攻撃者の武器スキル], 50, 25, 75)の75% + 50  
|CURVE([攻撃者の器用]/3 + [攻撃者の筋力]/3  +  [攻撃者の武器スキル], 50, 25, 75)の75% + 50
|-
|-
| ワンド
|ワンド
|CURVE([攻撃者の意志]/4 + [攻撃者の武器の主能力]/3 +  [攻撃者の武器スキル], 50, 25, 75) + 100  
|CURVE([攻撃者の意志]/4 + [攻撃者の武器の主能力]/3 +  [攻撃者の武器スキル], 50, 25, 75) + 100
|-
|-
|その他すべての武器  
|その他すべての武器
| CURVE([攻撃者の器用]/4 + [攻撃者の武器の主能力]/3 [攻撃者の武器スキル], 50, 25, 75) + 50
|CURVE([攻撃者の器用]/4 + [攻撃者の武器の主能力]/3 [攻撃者の武器スキル], 50, 25, 75) + 50
|}
|}
上記の式で算出した値に装備と武器による命中修正が加算され、その後遠距離武器には距離による修正が適用されます。
上記の式で算出した値に装備と武器による命中修正が加算され、その後遠距離武器には距離による修正が適用されます。
Line 119: Line 204:
|攻撃力 = 攻撃力 * 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でクランプ])
|-
|-
|攻撃者が盲目
| 攻撃者が盲目
|命中 = 33.33% (または、遠距離/投擲の場合は10%)
|命中 = 33.33% (または、遠距離/投擲の場合は10%)
|-
|-
|対象が盲目
|対象が盲目
|回避率 = 50
|回避率 = 50%
|-
|-
|対象が朦朧
|対象が朦朧
|回避率 = 50
|回避率 = 50%
|-
|-
|対象が高所にいる
|対象が高所にいる
|回避率 + 20
|回避率 + 20%
|}
|}
二刀流の補足説明:
ここでいう、「手の数」は利き手・もう片方の手と、カオスシェイプなどが持つ2本目以降の手を表します。
1-100の間でクランプされるのは(2000 / (20 + [攻撃者の二刀流スキル])だけです。つまり、二刀流で最適化するには、二刀流スキルが1980必要です。


システムには命中率と回避率の値が設定されており、攻撃が命中、外れる、クリティカルの順に、これらの値を使用して計算します。
システムには命中率と回避率の値が設定されており、攻撃が命中、外れる、クリティカルの順に、これらの値を使用して計算します。
Line 269: Line 361:
貫通力は常に'''25'''です。
貫通力は常に'''25'''です。


==近接&遠隔武器==
==近接&遠隔武器 ==
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
else
else
Line 326: Line 418:
</syntaxhighlight>プレイヤーは、戦術スキルを使用して近接武器を振るうか、または射撃スキルを使用して遠距離武器を撃ちます。
</syntaxhighlight>プレイヤーは、戦術スキルを使用して近接武器を振るうか、または射撃スキルを使用して遠距離武器を撃ちます。


武器が'''ワンド'''であるか、または'''理力武器'''のエンチャントが付いている場合、戦術スキルまたは射撃スキルの代わりに'''魔道具'''スキルを使用します
武器が'''ワンド'''、または'''理力武器'''のエンチャントが付いている場合、戦術スキルまたは射撃スキルの代わりに'''詠唱'''スキルを、武器スキル(長剣、短剣、斧など)の代わりに'''魔道具'''スキルを使用します


ダメージボーナスは、'''プレイヤーのダメージボーナス''' + '''武器の改造道具によるダメージボーナス''' + '''武器のダメージボーナス'''です
ダメージボーナスは、'''プレイヤーのダメージボーナス''' + '''武器の改造道具によるダメージボーナス''' + '''武器のダメージボーナス'''です
Line 340: Line 432:
命中ボーナスは、'''キャラクターの命中ボーナス''' + '''武器の命中ボーナス''' + '''弾薬の命中ボーナス'''(弾薬を装填している場合)
命中ボーナスは、'''キャラクターの命中ボーナス''' + '''武器の命中ボーナス''' + '''弾薬の命中ボーナス'''(弾薬を装填している場合)


ダメージボーナスは、'''キャラクターのダメージボーナス''' + '''武器のダメージボーナス''' + '''弾薬のダメージボーナス'''(弾薬を装填している場合)
ダメージボーナスは、'''キャラクターのダメージボーナス''' + '''武器のダメージボーナス''' + '''弾薬の改造道具のダメージボーナス'''(弾薬を装填している場合)


貫通力は、'''キャラクターの貫通率''' + '''武器の貫通率'''
貫通力は、'''キャラクターの貫通率''' + '''武器の貫通率'''
Line 374: Line 466:
精密射撃MODのない場合、0(適正攻撃距離)の時は命中率、ダメージ共に115%になります、±1は105%、±2は95%、±3は85%、それ以降は80%になります。
精密射撃MODのない場合、0(適正攻撃距離)の時は命中率、ダメージ共に115%になります、±1は105%、±2は95%、±3は85%、それ以降は80%になります。


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


精密射撃MODは更に攻撃距離の影響を減少します。例えば精密射撃MODレベル10の場合、±1は110%、±2は105%…になります。
精密射撃MODは更に攻撃距離の影響を減少します。例えば精密射撃MODレベル10の場合、±1は110%、±2は105%…になります。


==魔法:魔法のパワー==
==魔法:魔法のパワー==
<syntaxhighlight lang="c#">
これはAbility.csの44行目です
 
ここに、NPCの魔法のパワーを決定するためにどの式を使用するかを記述したコードが書かれています
 
<syntaxhighlight lang="「c#」" line="「1」">
public override int GetPower(Card c)
public override int GetPower(Card c)
{
{
    int num = base.Value * 8 + 50;
int num = base. Value * 8 + 50;
    if (!c.IsPC)
if (!c.IsPC)
    {
{
        num = Mathf.Max(num, c.LV * 6 + 30);
num = Mathf.Max(num, c.LV * 6 + 30);
    }
if (c.IsPCFactionOrMinion && !base.source.aliasParent.IsEmpty())
    num = EClass.curve(num, 400, 100, 75);
{
    if (this is Spell)
num = Mathf.Max(num, c.Evalue(base.source.aliasParent) * 4 + 30);
    {
} }.
        num = num * (100 + c.Evalue(411)) / 100;
}
    }
num = EClass.curve(num, 400, 100, 75);
    return num;
if (this is Spell)
{
num = num * (100 + c.Evalue(411)) / 100;
}
}
</syntaxhighlight><syntaxhighlight lang="c#">
return num;
}.
</syntaxhighlight>ここではカーブ関数を使用します:<syntaxhighlight lang="「c#」" line="「1」">
public static int curve(int a, int start, int step, int rate = 75)
public static int curve(int a, int start, int step, int rate = 75)
{
{
    if (a <= start)
if (a <= start)
    {
{
        return a;
return a;
    }
}
    for (int i = 0; i < 10; i++)
for (int i = 0; i < 10; i++)
    {
{
        int num = start + i * step;
int num = start + i * step;
        if (a <= num)
if (a <= num)
        {
{
            return a;
return a;
        }
}
        a = num + (a - num) * rate / 100;
a = num + (a - num) * rate / 100;
    }
    return a;
}
}
</syntaxhighlight>プレイヤーキャラクターの場合、魔法のパワーはcurve( ('''魔法レベル''' x 8 + 50), 400, 100, 75 ) x (100 + '''魔法強化エンチャント''') / 100 です
return a;
} }.
</syntaxhighlight>プレイヤーの場合、魔法のパワーはcurve( ('''魔法レベル''' x 8 + 50), 400, 100, 75 ) x (100 + '''魔法強化エンチャント''') / 100 です
 
プレイヤー以外の場合、魔法のパワーは'''魔法レベル''' x 8 + 50 か、'''キャラレベル''' x 6 + 30 か、主能力×4 + 30の中の最も大きいものです
 


プレイヤーキャラクター以外の場合、魔法のパワーは'''魔法レベル''' x 8 + 50 または '''キャラレベル''' x 6 + 30 のうち大きい方です
'''curve 関数について: ''' '''<code>curve(a, start, step, rate)</code>'''


簡単に言うと、この関数は数値を圧縮するために使われます。
<code>i = 0</code> をセットします。計算 <code>num = start + i * step</code>. <code>a</code> が <code>num</code> を超えたら、超えた部分に <code>rate / 100</code> を掛けます。その後、<code>i</code> を 1 ずつ増やします。上記のステップを 10 回繰り返します。
関数の曲線の傾きは徐々に小さくなり、<code>(rate / 100)^10</code> となります。
==魔法:攻撃魔法==
==魔法:攻撃魔法==
ダイス数、ダイス面、ダメージボーナスは切り捨て。
[[File:Damage of different types of spells as of EA23.71.png|thumb|upright=5.0|標準偏差を含むEA23.71時点での各種魔法のダメージ。パラメータは魔力=100固定、x軸は魔法レベル、y軸は平均ダメージ]]
{| class="wikitable"
{| class="wikitable"
!魔法
!魔法
Line 430: Line 540:
|近接範囲
|近接範囲
|-
|-
|矢
|矢  
|1+魔法のパワー/160+対応主能力/30
|1+魔法のパワー/160+対応主能力/30
|8+魔法のパワー/12
|8+魔法のパワー/12
Line 436: Line 546:
|単体攻撃
|単体攻撃
|-
|-
|光線
| 光線
|1+魔法のパワー/120+対応主能力/20
|1+魔法のパワー/120+対応主能力/20
|4+魔法のパワー/20
|4+魔法のパワー/20
Line 446: Line 556:
|2+魔法のパワー/35
|2+魔法のパワー/35
|
|
|発動者から5マスの範囲のボール内のすべてのターゲットにダメージを与える  
| 発動者から5マスの範囲のボール内のすべてのターゲットにダメージを与える  


ダメージ = ダメージ x 100 / (90 + 射程 x 10)
ダメージ = ダメージ x 100 / (90 + 射程 x 10)
|-
|-
|瘴気
|瘴気  
|2+魔法のパワー/150
| 2+魔法のパワー/150
|5+魔法のパワー/80
|5+魔法のパワー/80
|
|
Line 460: Line 570:
|6+魔法のパワー/100
|6+魔法のパワー/100
|対応主能力/4
|対応主能力/4
|発動者から7マスにわたる35°の円錐内のすべてのターゲットにダメージを与える
|発動者から7マスにわたる35°の円錐内のすべてのターゲットにダメージを与える  
|-
|-
|メテオ
|メテオ
Line 468: Line 578:
|火炎属性固定
|火炎属性固定


ダメージ 発動者から10タイルの半径のボール内のすべてのターゲットにダメージを与えます。 壁でブロックされることがあります。 また、発動者にもダメージを与えます。
ダメージ 発動者から10マスの半径のボール内のすべてのターゲットにダメージを与えます。 壁でブロックされることがあります。 また、発動者にもダメージを与えます。
|-
|-
|地震
|地震
|5+魔法のパワー/30
|1+魔法のパワー/30
|10+対応主能力/3
|2+対応主能力/3
|
|
|衝撃属性固定
|衝撃属性固定
発動者から12タイルの半径のボール内のすべてのターゲットにダメージを与えます。 重力デバフを持つ敵には、最大ダイスダメージの2倍のダメージを与えます。 浮遊効果を持つ敵には、ダメージの半分を与えます。
発動者から12マスの半径のボール内のすべてのターゲットにダメージを与えます。 重力デバフを持つ敵には、最大ダイスダメージの2倍のダメージを与えます。 浮遊効果を持つ敵には、ダメージの半分を与えます。
|-
|-
|破呪
|破呪
Line 541: Line 651:
|
|
|
|
|}
== 魔法:バフ魔法 ==
{| class="wikitable"
!魔法
!パワー
!持続時間
!備考
|-
|(属性)の唄
|(魅力/40 + 1)*5
|魔法のパワー/25 + 8
|ここでいう「パワー」は、獲得できる属性耐性のこと
|-
|テレパシー
|固定
|魔法のパワー/5 + 15
|
|-
|透明化
|魔法のパワー/30 + 5
|魔法のパワー/12 + 6
|
|-
|透明可視
|魔法のパワー/40 + 6
|魔法のパワー/6 + 12
|
|-
|インコグニート
|固定
|魔法のパワー/2 + 20
|
|-
|猫の目
|魔法のパワー/30 + 5
|魔法のパワー*3
|
|-
|ホーリーヴェイル
|固定
|魔法のパワー/6 + 5
|
|-
|元素保護
|魔法のパワー/200 + 5
|魔法のパワー/15 + 8
|ここでいう「パワー」は、獲得できる元素耐性のこと
|-
|英雄
|筋力: 魔法のパワー/30 + 5
器用: 魔法のパワー/30 + 5
|魔法のパワー/4 + 10
|
|-
|浮遊
|固定
|魔法のパワー/5 + 10
|
|-
|聖なる盾
|魔法のパワー/15 + 15
|魔法のパワー/3 + 10
|
|-
|知者
|魔力: 魔法のパワー/40 + 6
学習: 魔法のパワー/40 + 6
読書: 魔法のパワー/40 + 3
|魔法のパワー/4 + 10
|
|-
|ホウキ変容
|固定
|魔法のパワー + 30
|
|}
==魔法:デバフ魔法==
{| class="wikitable"
!魔法
!パワー
!持続時間
!備考
|-
|瘴気
|固定
|魔法のパワー/100 + 5
|
|-
|グラビティ
|固定
|魔法のパワー/20 + 10
|
|-
|沈黙
|固定
|魔法のパワー/80 + 5
|
|-
|脆弱
|固定
|魔法のパワー/50 + 10
|
|-
|災い
|魔法のパワー/30 + 50
|魔法のパワー/50 + 10
|ここでいう「パワー」は、運の低下量のこと
|-
|破門
|固定
|魔法のパワー/50 + 20
|
|-
|元素の傷跡
|魔法のパワー/100 + 5
|魔法のパワー/40 + 8
|ここでいう「パワー」は、元素耐性の低下量のこと
|}
|}


Line 571: Line 801:
|-
|-
|具象
|具象
|20 + rnd (20) + 魔法のパワー / 20
|20 + rnd (10) + 魔法のパワー / 20
|魔法のパワー / 15
|魔法のパワー / 15
|
|