タイトルの通りです. 以下のスポイラーは, 私がソースコードを読んで書いたもので, 間違っている可能性もあります. もし, そのような箇所があれば, 指摘していただけるとありがたいです.
21/10/06 追記: 銀の指輪のボーナスの対象を追記.
21/10/10 追記: スキルによる追加ダメージを追記.
21/12/18 追記: 強さボーナスを参照できるリンクと, 騎乗ボーナスについて追記し, 影(shade) の表記を修正した.
22/09/24 追記: エンチャントの条件を修正した.
JSLASH'EM-0.0.7E7F3-J0.2.1 の 素手及びマーシャルアーツのスポイラー 以下の文章の skill の値は, 初心者 = 1 入門者 = 2 熟練者 = 3 エキスパート = 4 マスター = 5 グランドマスター = 6 として計算する. また, ローブとは ローブ 守りのローブ 力のローブ 脆弱のローブ を指す. ローブの装備が条件になった場合, 鎧の部位が 裸でも条件を満たす. 1. 変化していない格闘家の命中率ボーナス 武器と盾を装備しておらず, ローブを装備していれば, 命中修正に (level / 3) + 2 を加える. それ以外で, 武器を装備していない場合, 命中修正に (level / 9) + 1 を加える. その際, "鎧がちょっと 邪魔だ..." と表示される. 2. エンチャント 変化している時, MR_HITAS***** があればその ***** の値が enchant になり, ない場合に MR_PLUS***** があればその ***** の値が enchant になり, それもない場合は 0 となる. 変化していない格闘家の場合, level / 4 > enchant であれば (実際には, 素手攻撃時に変化していない場合, この時点で enchant は 0 以外にはならないはず), enchant は level / 4 となる. enchant が攻撃対象の MR_PLUS*** の *** より小さい場合 noeffect が真となり, それ以外は偽となる. 3A.マーシャルアーツが入門者以上 攻撃対象が影(shade)の場合, damage は 1d3-1 となる. それ以外の対象には, 格闘家が変化しておらず, グランドマスターであり, レベルが 17 以上であれば damage は 6d2 となる. その条件を一つでも満たさない場合, level > 2 * (skill - 2) + 5 であれば, damage は (skill - 1)d2 となる. レベルが条件を満たさない場合, damage は ((level + 2) / 3)d2 となる. ローブを装備しており, 盾を装備していない場合, damage は二倍になる. それ以外の場合, damage に 2 を加える. 3B.マーシャルアーツが初心者 攻撃対象が影(shade)の場合, damage は 0 となる. それ以外は, damage は d2 となる. 4. ダメージ計算 damage > 1 の場合, valid_weapon_attack を真とする。 小手が祝福されており, 攻撃対象がアンデッドか悪魔の 場合, damage に d4 を加える. 小手の修正値を damage に加える. 小手を装備しておらず, 左右どちらかあるいは両方の 指に素材が銀の指輪をつけており, 攻撃対象が銀に弱い 場合, damage に d20 を加える. 気功拳(Chi Strike) を使用中で, 魔力(en)が 1 以上 ある場合, en > (10 + (level / 5)) であれば damage に 10 + (level / 5) を加え, en が条件を満たさなければ damage に en を加える. そして, en から 10 + (level / 5) を引く. 精霊拳(Elemental Fist) を使用中の場合, noeffect が真 であれば dmgbonus を 0, 偽であれば 2d4 とする. 炎, 冷気, 電撃, 酸の属性の一つがランダムに選ばれ, その属性で巻物, 魔法書, 杖が壊れた場合, dmgbonus に その際の威力を加える. noeffect が真であるか, 対象が その属性に耐性を持つ場合, noeffect を偽とし, dmgbonus を 0 とする. 水薬, 指輪が壊れた場合, dmgbonus にその際の威力を加える. そして, dmgbonus > 0 であれば, damage に dmgbonus を加える. damage > 0 であれば, 攻撃の指輪によるボーナスと 強さによるボーナスを damage に加える. 必殺(Kiii) 使用中であれば, damage を二倍にする. 狂戦士化(Berserk) 使用中であれば, damage に 4 を 加える. 切り刻みの爪(Eviscerate) 使用中であれば, damage に (level / 2 + 1) + level / 2 を加える. valid_weapon_attack が真である場合, 素手であれば, damage に skill / 2 を加え, マーシャルアーツであれば, damage に skill * 3 / 2 を加える. さらに, 騎乗中であり, 騎乗スキルが熟練者であれば 1, エキスパートであれば 2 を加える. 武器を使用しておらず, damage > 1 で, 変化していない 場合, d100 < skill(素手. マーシャルアーツは含まず) を満たし, 攻撃対象が大きい怪物でなく皮が厚くない場合, 怪物の hp > damage であれば, 対象は stun し, 周囲 8 マスにランダムに移動する? damage が 0 以外で noeffect が真の場合, 銀製の指輪 によるボーナスがあった場合は damage を 8 とし, それ以外の場合は damage は 0 となる. 変化していない格闘家が素手で, ローブを着用して, 盾を 装備しておらず, 対象が隣接しており, 攻撃対象の皮が 厚くなければ, canhitmon を d100 とする. canhitmon < level / 8 であれば, damage は二倍になり, 攻撃対象を確認できていれば, "極めて大きな打撃を与えた!" と表示される. それ以外で, canhitmon < level / 4 であれば, damage は 1.5 倍になり, 攻撃対象を確認できていれば, "極めて大きな 打撃を与えた!" と表示される. 日本語版ではメッセージに 違いはないが, 英語ではメッセージに違いがあるため区別が つく. それ以外で, canhitmon < level / 2 であり, 攻撃対象が 大きな怪物でない場合, 怪物の hp > damage であれば, 対象は stun し, 周囲 8 マスにランダムに移動する? 以上で算出された damage の値が, 攻撃対象へのダメージ となる.

