Jump to content

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

古き狐の血統フィートの長剣命中補正を追加。
m (バージョン表記を修正。)
(古き狐の血統フィートの長剣命中補正を追加。)
Line 259: Line 259:
else
else
{
{
if (IsRanged)
    if (IsRanged)
{
    {
weaponSkill = CC.elements.GetOrCreateElement(toolRange.WeaponSkill);
        weaponSkill = CC.elements.GetOrCreateElement(toolRange.WeaponSkill);
}
    }
else
    else
{
    {
weaponSkill = CC.elements.GetOrCreateElement(weapon.category.skill);
        weaponSkill = CC.elements.GetOrCreateElement(weapon.category.skill);
}
    }
if (!weapon.source.attackType.IsEmpty())
    if (!weapon.source.attackType.IsEmpty())
{
    {
attackType = weapon.source.attackType.ToEnum<AttackType>();
        attackType = weapon.source.attackType.ToEnum<AttackType>();
}
    }
bool flag3 = IsCane || weapon.Evalue(482) > 0;
    bool flag3 = IsCane || weapon.Evalue(482) > 0;
if (flag3)
    if (flag3)
{
    {
weaponSkill = CC.elements.GetOrCreateElement(305);
        weaponSkill = CC.elements.GetOrCreateElement(305);
}
    }
dBonus = CC.DMG + CC.encLV + weapon.DMG;
    dBonus = CC.DMG + CC.encLV + weapon.DMG;
dNum = weapon.source.offense[0];
    dNum = weapon.source.offense[0];
dDim = weapon.c_diceDim;
    dDim = weapon.c_diceDim;
dMulti = 0.6f + (float)(weaponSkill.GetParent(CC).Value + weaponSkill.Value / 2 + CC.Evalue(flag3 ? 304 : (IsRanged ? 133 : 132))) / 50f;
    dMulti = 0.6f + (float)(weaponSkill.GetParent(CC).Value + weaponSkill.Value / 2 + CC.Evalue(flag3 ? 304 : (IsRanged ? 133 : 132))) / 50f;
dMulti += 0.05f * (float)CC.Evalue(IsRanged ? 1404 : 1400);
    dMulti += 0.05f * (float)CC.Evalue(IsRanged ? 1404 : 1400);
toHitBase = EClass.curve((IsCane ? CC.WIL : CC.DEX) / 4 + weaponSkill.GetParent(CC).Value / 3 + weaponSkill.Value, 50, 25) + 50;
    toHitBase = EClass.curve((IsCane ? CC.WIL : CC.DEX) / 4 + weaponSkill.GetParent(CC).Value / 3 + weaponSkill.Value, 50, 25) + 50;
toHitFix = CC.HIT + weapon.HIT;
    if (CC.HasElement(1208) && weaponSkill.id == 101)
penetration = weapon.Penetration + CC.Evalue(92);
    {
if (IsRanged)
        toHitBase = toHitBase * 115 / 100;
{
    }
if (CC.HasElement(1244))
    toHitFix = CC.HIT + weapon.HIT;
{
    penetration = weapon.Penetration + CC.Evalue(92);
penetration += 25;
    if (IsRanged)
}
    {
}
        if (CC.HasElement(1244))
else if (CC.HasElement(1247))
        {
{
            penetration += 25;
penetration += 25;
        }
}
    }
if (IsCane)
    else if (CC.HasElement(1247))
{
    {
toHitBase += 50;
        penetration += 25;
}
    }
}
    if (IsCane)
if (ammo != null && !(ammo.trait is TraitAmmoTalisman))
    {
{
        toHitBase += 50;
dNumAmmo = ((ammo.source.offense.Length != 0) ? ammo.source.offense[0] : 0);
    }
dDimAmmo = ammo.c_diceDim;
dBonusAmmo = ammo.DMG + ammo.encLV;
if (dNumAmmo < 1)
{
dNumAmmo = 1;
}
if (dDimAmmo < 1)
{
dDimAmmo = 1;
}
toHitFix += ammo.HIT;
}
else
{
dNumAmmo = 0;
dDimAmmo = 0;
}
if (dNum < 1)
{
dNum = 1;
}
if (dDim < 1)
{
dDim = 1;
}
if (penetration > 100)
{
penetration = 100;
}
}
</syntaxhighlight>プレイヤーは、戦術スキルを使用して近接武器を振るうか、または射撃スキルを使用して遠距離武器を撃ちます。
</syntaxhighlight>プレイヤーは、戦術スキルを使用して近接武器を振るうか、または射撃スキルを使用して遠距離武器を撃ちます。
Line 359: Line 331:


命中力は「'''基礎命中力 +''' '''攻撃中の武器の命中修正 + 防具の命中修正合計 +''' (ワンドのみ:'''50'''、それ以外は'''0''')」です。
命中力は「'''基礎命中力 +''' '''攻撃中の武器の命中修正 + 防具の命中修正合計 +''' (ワンドのみ:'''50'''、それ以外は'''0''')」です。
さらに、長剣スキルに関連する武器で古き狐の血統フィートを持つキャラクターの場合、命中力を'''「1.15」'''倍にします。




250

edits