概要
貫通(Measure of Success, MOS)および攻撃回数についての解説。
MOSによる装甲へのダメージ修正についても併せて解説する。
Measure of Success
Procedure ProcessAttackEffect (effects.pp)
初期値
MOSの初期値
- 最初に攻撃側の貫通値(ATTACK_MOS)の初期値を決定する。
- メックまたはキャラクター = (攻撃側ロール - 防御側ロール) / 5
- ドアや壁など = 2(壊し屋のタレントを習得)
- ドアや壁など = 0(壊し屋のタレントを未習得)
攻撃回数の初期値
- AReq.FXOption + 1が初期値として与えられる。ここでAReq.FXOptionは武器に記述するBVの値。ゲーム中で表示されるBVはこれに1を加えたものになる。
武器の種類
BV射撃武器の攻撃回数
- AReq.FXOption > 0、つまりBV射撃武器の場合、命中判定の成功度合いにより攻撃回数が決まる。
攻撃回数 = 攻撃側ロール - 防御側ロール
- BV10以上の射撃
- ここでAReq.FXOption > 9、すなわちミサイルなどでBV10以上の射撃は以下の様に補正される。
攻撃回数(修正後)= (AReq.FXOption + 1) * 攻撃回数 / 10 ただし修正前の攻撃回数が11以上なら、修正前の攻撃回数を10で計算
- つまり、BV10以上の射撃は 修正前の攻撃回数/10 の割合で命中した数を決める。
- 修正前の攻撃回数が10以上で全弾命中となる。
- BV10未満の射撃
- AReq.FXOption > 9でなかった場合、すなわちBV10未満の射撃は
攻撃回数がAReq.FXOption + 1 (BV)より多ければ全弾命中に補正される。攻撃回数 > (AReq.FXOption + 1) なら 攻撃回数(修正後) = AReq.FXOption + 1
白兵戦・格闘攻撃の攻撃回数
- 白兵戦と格闘攻撃の場合はATTACK_MOSに応じて攻撃回数が増加する。
- Melee
- ATTACK_MOS > 6 の場合、まずATTACK_MOSから6を超えた分を攻撃回数に加算する。
攻撃回数(修正後) = 攻撃回数 + ATTACK_MOS - 6 ATTACK_MOS(修正後)= 6
次に 1 / 5 の確率で攻撃回数を+1増加させ、ATTACK_MOSを-1減少させる。- 上記の操作をATTACK_MOSが0になるか確率を外すまで繰り返す。
- EMelee
- 1 / 6 の確率で攻撃回数を+1増加させ、ATTACK_MOSを-1減少させる。
- 上記の操作をATTACK_MOSが0になるか確率を外すまで繰り返す。
- 格闘
- ATTACK_MOS > 6 の場合、まずATTACK_MOSから6を超えた分を攻撃回数に加算する。
攻撃回数(修正後) = 攻撃回数 + ATTACK_MOS - 6 ATTACK_MOS(修正後)= 6
次に 3 / 4 の確率で攻撃回数を+1増加させ、ATTACK_MOSを-1減少させる。- 上記の操作をATTACK_MOSが2以下になるか確率を外すまで繰り返す。
カンフー格闘ボーナス
- カンフーのタレントを習得している場合、格闘攻撃のATTACK_MOSにボーナスが入る。
ATTACK_MOS(修正後) = ATTACK_MOS + 2 + 1
- 後述の格闘ペナルティとの合計で結果的に+1のボーナスとなる。
格闘ペナルティ
- 格闘攻撃であればでATTACK_MOSにペナルティを加える。
ATTACK_MOS(修正後) = ATTACK_MOS - 2
- ここでATTACK_MOSがマイナスになってしまった場合、DCがマイナス分減らされる。
減少によってDCが0未満になってしまった場合は DC = 1に補正する。
EMeleeボーナス
- EMeleeであればATTACK_MOSに+2のボーナスを与える。
属性ボーナス
- 武器にArmorPiercing属性が付加されている場合、ATTACK_MOSに+2のボーナスを与える。
- 武器にArmorIgnore属性が付加されている場合、ATTACK_MOSに+12のボーナスを与える。
狙い撃ち
同時発射数が2以上・Swarm・Hyper・範囲攻撃系の属性のどれかに相当する攻撃は狙い撃ち不可能な攻撃とみなされる。
狙い撃ち不可能な攻撃
- ATTACK_MOSに-2のペナルティを与える。
狙い撃ち可能な攻撃
- 急所狙い判定
- まず急所狙いスキルによるATTACK_MOSのボーナスを計算する。
これは攻撃側の急所狙いのロールステップ(CritHit)と防御側ロール(CritTar)を用いる。CritHit = RollStep(攻撃側の急所狙いスキル値) CritTar = 防御側ロール(最低値は25に補正される) CritHit > CritTarであれば ATTACK_MOS(修正後) = ATTACK_MOS + ((CritHit - CritTar) / 5) + 1
- 防御側ロールが最低値25のため、急所狙い判定が機能する状況は稀。
- 急所狙いDCボーナス
- 急所狙いスキルとスナイパーのタレントを所持していればDCにボーナスを与える。
DC(修正後) = DC + 急所狙いスキルランク
スナイパーのタレントを所持していなければボーナスは半分になる。DC(修正後) = DC + 急所狙いスキルランク / 2
- 上記の急所狙いスキルランクはサイバーウェアによる修正を含めた値*1。
- 解剖技術ボーナス
- 解剖技術のタレントを所持しており、ターゲットがMeat属性であればATTACK_MOSに+1のボーナスを与える。
タレント
- 鋼の肉体のタレントを習得しているキャラクターに対する攻撃の場合、ATTACK_MOSに-2のペナルティを与える。
- 隠れ撃ちを習得している歩行または走行モードのメックに対する攻撃の場合、ATTACK_MOSに-3のペナルティを与える。
装甲と貫通
Procedure StagedPenetration (action.pp)
ダメージの計算
- 最初に以下の初期値を決定する。
- DMG = 部位に与えたダメージ
- Armor = 部位の現在のAC
Rust属性
- Rustのステータスエフェクトが付いている場合、Armorは1 / 2に減らされる。
装甲への最大ダメージ
- 装甲への最大ダメージ(MAP)は以下のように表される。
スケール0の場合 MAP = 2 スケール > 0の場合 MAP = 2 * 5^(スケール)
MetaTerrain
- ターゲットがMetaTerrain(ドアなど)であった場合、DMG > Armorでない限りMAP = 0になる(ダメージを与えることができない)。
装甲への実際のダメージ
- Rustのステータスエフェクトが付いている場合、装甲への実際のダメージ(AAP)は以下のように表される。MAPは無視される。
AAP = DMG / 2
- Rustのステータスエフェクトが付いていない場合、AAPは以下のように表される。最大値はMAPの値になる。
AAP = 1-(DMG / 2)のランダムな値
Brutal属性
- 攻撃がBrutal属性であった場合、AAPは2倍になる。このときAAP < 3であれば3に補正する。
ダメージの適用
- AAP > 現在のACであればAAP = 現在のACに補正する。
- 部位が保持している装甲ダメージの値にAAPを加算する。
貫通後のMOSとダメージ
MOSによるペナルティ
- MOS > 0であればMOSが1増えるごとにArmorに-25%のペナルティを与える。
Armor(修正後) = (Armor * (4 - MOS)) / 4
- MOSが4以上でArmorは完全に無視される。
Armor(修正後) = 0
- MOSの値を減少させる。
MOS(修正後) = MOS - 4
ダメージの修正
- 貫通した後のDMGは以下のように表される。
DMG(修正後) = DMG - Armor
- DMG < 0であった場合はDMG = 0に補正される。
貫通後の余剰ダメージ
Function REALDamageGear (action.pp)
余剰ダメージの計算
- 装甲を貫通した後のMOSが1増えるごとにダメージ+20%のボーナスを与える。
DMG(修正後)= (DMG * (5 + MOS)) / 5
- MOS = 0に補正する。