Jump to content

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

ロケットのダメージを追加。
(攻撃力の上限は100000000になった。大回転の攻撃倍率を追加。)
(ロケットのダメージを追加。)
Line 1: Line 1:
{{解析}}
{{解析}}
{{バージョン|23.212}}
{{バージョン|23.222}}
==近接攻撃処理順==
==近接攻撃処理順==
  FOR 0 TO 攻撃可能武器数
  FOR 0 TO 攻撃可能武器数
Line 61: Line 61:
  ↓
  ↓
  FOR 0 TO 連射数
  FOR 0 TO 連射数
    ↓
    IF ロケット弾を使用中
        ロケット着弾点決定
     ↓
     ↓
     エネルギー反射判定
     エネルギー反射判定
Line 67: Line 70:
         エネルギー反射処理
         エネルギー反射処理
     ↓
     ↓
     IF エネルギーでない OR エネルギー反射に失敗
     FOR 0 TO 追尾エンチャ回数
        FOR 0 TO 追尾エンチャ回数
        命中判定
             命中判定
        ↓
        IF 命中判定に成功
            攻撃能力の算出
            ↓
            補正前ダメージ算出
            ↓
            属性追加ダメージエンチャ処理
            ↓
             発動エンチャ処理
             ↓
             ↓
             IF 命中判定に成功
             武器のノックバック処理
                攻撃能力の算出
                ↓
                補正前ダメージ算出
                ↓
                属性追加ダメージエンチャ処理
                ↓
                発動エンチャ処理
                ↓
                武器のノックバック処理
                ↓
                EXIT FOR
             ↓
             ↓
            EXIT FOR
         ↓
         ↓
         発動エンチャント
         発動エンチャント
    ↓
    IF ロケット弾を使用中
        ロケット爆発処理
     ↓
     ↓
  ↓
  ↓
Line 307: Line 311:


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


ダメージのダイス数及びダイス面は武器に表記されているものを使用します。
ダメージのダイス数及びダイス面は武器に表記されているものを使用します。
Line 319: Line 321:


プレイヤーが武器の知識フィートを持っている場合、ダメージ倍率に『0.05 * (''武器の知識フィートのランク'')''』だけ加算されます。''<small>(事実上、+0.05または+0.10)</small>
プレイヤーが武器の知識フィートを持っている場合、ダメージ倍率に『0.05 * (''武器の知識フィートのランク'')''』だけ加算されます。''<small>(事実上、+0.05または+0.10)</small>


貫通率は武器に表記されているものを使用します。<ref name=":2" />
貫通率は武器に表記されているものを使用します。<ref name=":2" />
Line 333: Line 333:


さらに、長剣スキルに関連する武器で古き狐の血統フィートを持つキャラクターの場合、命中力を'''「1.15」'''倍にします。
さらに、長剣スキルに関連する武器で古き狐の血統フィートを持つキャラクターの場合、命中力を'''「1.15」'''倍にします。




Line 497: Line 495:


ダメージ倍率は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%  となります。
ダメージ倍率は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%  となります。
=== ロケット着弾点 ===
<syntaxhighlight lang="c#">
if (isRocket && EClass.rnd(3) == 0)
{
Act.TP.Set(Act.TP.GetRandomNeighbor());
}
</syntaxhighlight>ロケットを使用している場合、33%の確率でロケットの効果の中心を周辺1マスのランダムな場所にします。


===ヴォーパル===
===ヴォーパル===
Line 1,715: Line 1,722:
  発動したアビリティのパワー = [[Elin:解析/共通処理|CURVE]]((100 + 10 × 発動エンチャント強度) × (1 + 0.01 × 盾スキル), 400, 100, 75)
  発動したアビリティのパワー = [[Elin:解析/共通処理|CURVE]]((100 + 10 × 発動エンチャント強度) × (1 + 0.01 × 盾スキル), 400, 100, 75)


== ロケット爆発 ==
<syntaxhighlight lang="c#">
if (isRocket)
{
ActEffect.ProcAt(EffectId.Rocket, AttackProcess.Current.GetRocketPower(), BlessedState.Normal, Act.CC, null, Act.TP, isNeg: true, new ActRef
{
origin = Act.CC.Chara,
refThing = weapon,
aliasEle = "eleImpact"
});
}
...
public int GetRocketPower()
{
return (50 + (dNum * dDim + dBonus) + (dNumAmmo * dDimAmmo + dBonusAmmo)) * (100 + (int)Mathf.Sqrt(weaponSkill.Value) * 10) / 100;
}
...
if ((id == EffectId.Explosive || id == EffectId.Rocket) && actref.refThing != null)
{
power = power * actref.refThing.material.hardness / 10;
}
...
if (id == EffectId.Ball || id == EffectId.BallBubble || id == EffectId.Explosive || id == EffectId.Rocket)
{
num4 = num4 * 100 / (90 + point.Distance(p) * 10);
}
</syntaxhighlight>ロケット弾を使用した遠隔武器による攻撃時、射撃1発毎にロケットの効果が発動します。
ロケットの効果によるダメージは銃のダメージダイス、弾のダメージダイス、銃の素材の硬度、武器スキルによって増加します。
ロケットのパワー = (50 + 銃のダメージダイスロール最大値 + 弾のダメージダイスロール最大値) × (1 + 0.1 × √(武器スキル))
ロケットのダイス面 = 1 + (ロケットのパワー / 70) + (ロケットのパワー / 200)
ロケットのダイス数 = 2 + (ロケットのパワー / 35)
ロケットのダメージボーナス = 0
ロケットのダイス面・ダイス数・ダメージボーナスを使ってダイスロールした結果を衝撃属性のダメージとして与えます。


また、ダメージを受けるキャラクターとロケットの中心点との距離に応じて、以下の通りのダメージ倍率が適用されます。
ダメージ倍率 = ロケットのダメージ × (10 / (9 + 中心点との距離))
<references />
<references />


250

edits