Top > :解析 > 戦闘

:解析/戦闘

Last-modified: 2017-12-18 (月) 23:26:38

警告:以下の文章はスポイラー、いわゆるネタバレです。
プレイの楽しみを損なう可能性があるので、一通りプレイしてからの閲覧を推奨します。
尚、ここで得た情報等をこの手の情報を扱っている場所以外で公言するのはマナーとしてお控え下さい。











以下の内容はver1.16に基づく。

基本値 Edit

装備等による効果 Edit

防具ダメージ修正 = 武器でない装備*1のダメージ修正の和
防具命中修正 = 武器でない装備の命中修正の和
DV = 全ての装備のDVの和
PV = 全ての装備のPVの和
完全貫通率 = 全ての装備の(完全貫通上昇のエンチャントの効果値/50)の和
クリティカル率 = 心眼スキルがあればその平方根 +2
さらに+=(クリティカルエンチャントの効果値/50)の和

武器でない祝福された装備一つに付きPV+2。
さらに武器でない装備の強化値*2がPVに加算される。

プレイヤーの場合、信仰・フィート・変異・エーテル病の効果を加算する。

盾を装備しているなら盾装備が有効になる。
盾装備が有効で、PVが正の値なら、
PV = PV * (120 + int(sqrt(盾スキル)) * 2) / 100
盾装備が有効でなく、武器を一つだけ装備している*2なら両手持ちが有効になる。
盾装備も両手持ちも有効でなく、武器を装備しているなら二刀流が有効になる。


プレイヤーでもペットでも冒険者でもない場合、種族のDV・PV補正を受ける。
DV = レベル / 2 + DV * DV補正 / 100 + DV補正 - 100
PV = レベル + (PV + レベル / 2 + PV補正 / 25) * PV補正 / 100

"聖なる盾"など、魔法などの一時的効果を加算する。

クリティカル率が30より大きい時、防具命中修正に(クリティカル率 - 30) * 2を加算し、クリティカル率 = 30とする。

実際の回避力・防御力には回避スキルや装備スキルなどが加算される。

命中判定 Edit

命中力*3 Edit

格闘ならば、
基礎命中力 = 器用 / 5 + 筋力 / 2 + 格闘スキル + 50
ただし盾装備が有効なら、基礎命中力 = 基礎命中力 * 100 / 130
命中力 = 基礎命中力 + (器用 / 5 + 筋力 / 10 + 防具命中修正)
貫通率 = 格闘スキル / 5
ただし、貫通率は最低で5、最大でも50。

それ以外なら
基礎命中力 = 器用 / 4 + 武器スキル / 3 + 武器スキル + 50
命中力 = 基礎命中力 + (防具命中修正 + 武器の命中修正)
射撃攻撃で、矢弾を装備しているならば*4、さらに矢弾の命中修正を加える。貫通率 = 武器の貫通率

射撃ならば距離による命中力の減衰を受ける。
命中力 = 命中力 * 距離係数 / 100
誤字で機能していない。

格闘以外の近接攻撃のとき、

  • 両手持ちスキルが有効なら、命中力+25
    武器の質量が4000以上ならさらに命中力+両手持ちスキル
  • 二刀流スキルが有効なら、
    • 1番目の武器については、武器の質量が4000以上のとき、命中力が
      (質量 - 4000 + 400) / (10 + 二刀流スキル / 5) 低下する
    • 2番目以降の武器については、武器の質量が1500より大きいとき、命中力が
      (質量 - 1500 + 100) / (10 + 二刀流スキル / 5) 低下する

乗馬しているとき、
命中力 = 命中力 * 100 / limit(150 - 乗馬スキル / 2, 115, 150)
格闘でない近接攻撃で、武器の質量が4000以上なら命中力が
(質量 - 4000 + 400) / (10 + 乗馬スキル / 5) 低下する

乗馬されているとき、
命中力 = 命中力 * 100 / limit(150 - 筋力 / 2, 115, 150)
格闘でない近接攻撃で、武器の質量が4000以上なら命中力が
(質量 - 4000 + 400) / (10 + 筋力 / 10) 低下する

2番目以降の武器で攻撃する時、命中力が0より大きいなら二刀流補正により低下する*5
二刀流補正 = 100 - (今の武器が何番目か - 1) * (10000 / (100 + 二刀流スキル * 10))
命中力 = 命中力 * 二刀流補正 / 100

回避力 Edit

回避力 = 感覚 / 3 + 回避スキル + DV + 25

判定 Edit

以下の判定を上から順に行なう。途中で命中か回避が決定されたならば処理を終了する。
クリティカルヒットも命中確定。見切りスキルで回避するとメッセージが違うが処理は普通の回避と同じ。

  • 防御側が朦朧としているなら1/4でクリティカルヒット。そうでなくとも、回避力が1/2になる。
  • 攻撃側が盲目なら命中力1/2。
  • 防御側が盲目なら回避力1/2。
  • 防御側が睡眠中なら命中。
  • 攻撃側が混乱か朦朧としているならば、射撃なら命中力1/5。近接なら命中力/3*2。
  • 防御側の見切りスキルが0でなく、命中力 < 見切りスキル * 10 を満たすならば、
    見切り力 = 回避力 * 100 / 命中力 として以下の判定を順に行なう
    ただし、命中力が0以下なら見切り力 = 回避力 * 100。
    • (見切り力 > 300)かつ( rnd(見切りスキル + 250) > 100 )なら華麗に回避
    • (見切り力 > 200)かつ( rnd(見切りスキル + 250) > 150 )なら華麗に回避
    • (見切り力 > 150)かつ( rnd(見切りスキル + 250) > 200 )なら華麗に回避
  • rnd(5000) < 攻撃側の感覚 + 50 を満たしたならクリティカルヒット。
  • クリティカル率 > rnd(200) を満たしたならクリティカルヒット。
  • 1/20の確率で回避。
  • 1/20の確率で命中。
  • 命中力が1未満なら回避。
  • 回避力が1未満なら命中。
  • rnd(命中力) > rnd(回避力 * 3 / 2)を満たしたならば命中。
  • 回避。

ダメージ計算 Edit

攻撃力 Edit

1.16に基づく。

elonaの数値の処理はほとんど整数型(int型)で行なわれているが攻撃力の計算では少しだけ小数型(double型)が登場する。
intの処理では端数は全て切り捨てられるがdoubleでは小数としてかなり正確に計算される。
double(x)は整数型から小数型への変換を、int(x)は小数型から整数型への変換を表す。
小数とdouble(x)の結果のみが小数型であり、残りは全て整数型である。
整数型と小数型の演算結果は必ず小数型になる。
これ以上の詳細はHSPのマニュアルを見よ。

格闘の場合、
攻撃ロール数 = 2
攻撃ロール面数 = 格闘 / 8 + 5
ダメージ修正 = 筋力 / 8 + 格闘 / 8 + 防具ダメージ修正
攻撃倍率 = 0.5 + double(筋力 + 格闘 / 5 + 戦術 * 2) / 40

格闘以外の接近戦の場合、又は射撃で矢弾を装備していない場合(投擲の場合)
攻撃ロール数 = 武器のダイスロール数
攻撃ロール面数 = 武器のダイス面数
ダメージ修正 = 防具ダメージ修正 + 武器のダメージ修正 + 武器の強化値 + (武器が祝福されているなら+1)
攻撃倍率 = 0.6 + double(筋力 + 使用武器の関連スキル※ / 5 + 武器のスキル※ / 5 + 戦術 * 2) / 45

射撃で矢弾を用いる場合、
攻撃ロール数 = 武器のダイスロール数
攻撃ロール面数 = 武器のダイス面数
ダメージ修正 = 防具ダメージ修正 + 武器のダメージ修正 + 武器の強化値 + (武器が祝福されているなら+1) + 矢玉のダメージ修正 + 矢玉のダイスロール数 * 矢玉のダイス面数 / 2
攻撃倍率 = 0.5 + double(感覚 + 使用武器の関連スキル※ / 5 + 武器のスキル※ / 5 + 射撃 * 3 / 2) / 40


※変数の呼び出し方が違うが、どちらも武器の関連スキルレベル。

射撃ならば距離による攻撃倍率の減衰を受ける。
攻撃倍率 = 攻撃倍率 * 距離係数 / 100

近接戦で両手持ちが有効のとき、
武器の質量が4000以上なら 攻撃倍率 = 攻撃倍率 * 1.5
武器の質量が4000未満なら 攻撃倍率 = 攻撃倍率 * 1.2
さらに攻撃倍率に(0.03 * 両手持ちスキル)を加える

殺戮に飢えているの変異を持っているならダメージ修正に
5 + キャラクタのレベル * 2 / 3
を加える。

防御力 Edit

防御力 = PV + 適用されている装備スキル + 器用 / 10
防御力が正の値の時、
防御ロール数 = int(防御力 / 4) / 10 + 1
防御ロール面数 = (防御力 / 4)/(防御ロール数 + 2)
防御固定値 = 0

防御力が負の値の時、
防御力 = 0
防御ロール数 = 1
防御ロール面数 = 1
防御固定値 = 0

計算 Edit

攻撃倍率 = int(攻撃倍率 * 100)
基本攻撃値 = 攻撃ロール数、攻撃ロール面数のロール結果 + ダメージ修正

クリティカルの場合、
基本攻撃値 = 攻撃ロール数 * 攻撃ロール面数 + ダメージ修正*6

  • 格闘なら 攻撃倍率 = 攻撃倍率 * 1.25
  • 矢弾を使う射撃なら 攻撃倍率 = 攻撃倍率 * limit(矢弾の質量 / 100 + 100, 100, 150) / 100
  • それ以外なら 攻撃倍率 = 攻撃倍率 * limit(武器の質量 / 200 + 100, 100, 150) / 100

攻撃値 = 基本攻撃値 * 攻撃倍率 / 100
防御力が正の値なら、
攻撃値 = 攻撃値 * 100 / (100 + 防御力)

近接攻撃で、完全貫通率 > rnd(100)を満たしたなら*シャキーン*というメッセージがあり、貫通率 = 100

射撃攻撃で特殊弾を使っているとき、

  • 貫通弾なら 貫通率 = 60。*ズバシュッ*のメッセージ。
  • 連射弾なら 攻撃値 = 攻撃値 / 2
  • バーストなら 攻撃値 = 攻撃値 / 3
  • 魔弾なら 攻撃値 = 攻撃値 / 10

貫通攻撃値 = 攻撃値 * 貫通率 / 100
非貫通攻撃値 = 攻撃値 - 貫通攻撃値
防御力が正の値なら、
非貫通攻撃値 = 非貫通攻撃値 - (防御ロール数、防御ロール面数のロール結果) - 防御固定値
非貫通攻撃値が0未満なら非貫通攻撃値 = 0。

ダメージ = 貫通攻撃値 + 非貫通攻撃値

防御側がプレイヤーであり、"あなたが受ける物理ダメージは軽減される"のフィートを持っているなら
ダメージが1減少する。

ダメージが負の値なら0にする。

追加効果 Edit

攻撃が命中し、攻撃に用いた武器に特定のエンチャントが付いていた場合、それが発動する可能性がある*7
2つ以上ある場合はそれぞれについて判定を行なう。
追加攻撃力 = 追加攻撃力 = 攻撃ロール数、攻撃ロール面数のロール結果
ダイスロールは一度だけで何回追加攻撃が起きても全部同じ値を使う。

  • 属性追加攻撃
    防御側が死んでいるなら何もしない。
    追加攻撃力が1以下の場合、追加攻撃は発生しない。
    1.16では
    ダメージ = rnd(防御軽減前攻撃値 * (100 + 効果値) / 1000 + 1) + 5*8
    属性強度 = 効果値 / 2 + 100
    の属性攻撃*9
  • 発動
    防御側が死んでいるなら何もしない。
    発動効果それぞれに設定された確率で、スペルパワー = 効果値 + 武器スキル * 10 の効果が発動する。
  • 特攻
    防御側が指定のフラグ(undead, dragon)を持っているなら
    追加ダメージ = 防御軽減前攻撃値/2
    ほぼ武器スペックそのままでPVで軽減されない攻撃できる。分裂を誘発しない。
  • SP吸収
    吸収値 = rnd(効果値 / 50 + 1) + 1 として、
    攻撃側SPが吸収値だけ回復する
    防御側SPが吸収値 / 2減少する*10
  • MP吸収
    吸収値 = rnd(効果値 / 25 + 1) + 1 として、
    攻撃側MPが吸収値 / 5だけ回復する
    防御側が死んでいなければ、
    防御側MPが吸収値減少する*11
  • 終末
    1/66の確率で終末が発生
  • 時間停止
    すでに停止中なら何も起きない
    1/25の確率で効果値 / 100 + 2 ターン時間を止める。




*1 ダイスロール数が0である装備
*2 "手"の欄に装備されているダイスロール数が0でないアイテムを数える
*3 命中率のこと。百分率ではないのでここでは命中力と呼ぶ
*4 投擲以外の射撃攻撃
*5 これは二刀流が有効かどうかに無関係
*6 ロールの最大値
*7 たとえ攻撃がノーダメージでも発動のチャンスはある
*8 攻撃倍率を掛けた直後の値。命中を誘発した攻撃での値をそのまま用いる
*9 回避できず、PVで軽減できないが、耐性によって増幅・軽減される。魔法攻撃ではない。分裂を誘発しない
*10 プレイヤー以外のSPは減少しないし、減少してもペナルティを受けない
*11 MPが負になればマナの反動を誘発する