≪仕様の詳細データ(基本システム)≫
半角の英数字で書かれている計算式は、実際のゲームデータです(定数という部分には後述の数値が入る)。その下に書いてある全角の計算式は、一般的な表記に書き直したものです。計算式はアマチュアのフリーゲーム作者のみ、自由に利用してくださってかまいません(ただし著作権(?)は放棄していません)。
注:round(四捨五入)、ceil(切り上げ)、floor(切り捨て)
特殊計算式
(((基本計算式) - 50) max 0) pow 定数1 * 定数2 + ((((基本計算式) - 50) min 0) * (-1))
pow 定数1 * 定数2 * (-1) + 50
|
定数1 |
定数2 |
状態異常 |
0.7 |
2.7 |
基本 |
0.65 |
2.8 |
ブレスの状態異常 |
0.55 |
3.2 |
成功率の基本は50%であると考え、そこから離れるほど数値が変化しにくくなるという計算式です。確率を変化させる魔法は重ね掛けにより簡単にバランスを壊してしまうため、それを緩和するためのアイデアです。
通常の判定計算式を、上記の式の「基本計算式(2か所ある)」の場所に入れ込むことで、簡単に利用可能です。
この式を説明すると、次の通りです。
1.本来の計算式から50を引く(成功率の基本値を0とする)
2.1未満の数値でべき乗する(0に近づくが、元の絶対値が大きいほど大きく変化する)
3.1より大きい数値をかける(元の数値に戻すが、元の絶対値が大きいと戻りきらない)
4.50を足す(初めに50を引いているため元に戻す)
ただしJavardryでは(パソコンでは?)虚数が使えないため、本来の計算式の結果が50未満になる場合には、1未満の数値でべき乗すると計算不能になってしまいます。そのため計算結果が50以上だとそのまま計算し、50未満だと符号を逆にしてから計算して符号を再度逆にするというやり方にしています。上記の計算式だと50以上の場合の式と50以下の場合の式のどちらかは0になるため、両方を足すとどちらかのみの結果と同じ答えになります。
特殊計算式による変化の度合いは、定数1と定数2で調整でき、孤島の牢獄では特殊計算式を使用しない場合を含めて、4パターンに分かれます。
下記の表では、計算結果が100以上になる場合には「**」、0以下になる場合には「*」としています。ちなみに端数処理は(この表では)テキトーです。
基本計算式そのまま
の計算結果 |
200 |
180 |
150 |
120 |
110 |
100 |
90 |
80 |
70 |
60 |
50 |
40 |
30 |
20 |
10 |
0 |
状態異常用の定数
を使用 |
** |
** |
** |
** |
97 |
92 |
86 |
79 |
72 |
64 |
50 |
36 |
28 |
21 |
14 |
8 |
基本定数を使用 |
** |
** |
** |
94 |
90 |
86 |
81 |
76 |
70 |
63 |
50 |
37 |
30 |
24 |
19 |
14 |
ブレスの状態異常用の
定数を使用 |
** |
97 |
90 |
83 |
80 |
78 |
74 |
71 |
67 |
61 |
50 |
39 |
33 |
29 |
26 |
22 |
基本計算式そのまま
の計算結果 |
-10 |
-20 |
-30 |
-40 |
-50 |
-60 |
-70 |
-80 |
-90 |
-100 |
状態異常用の定数
を使用 |
3 |
* |
* |
* |
* |
* |
* |
* |
* |
* |
基本定数を使用 |
10 |
6 |
2 |
* |
* |
* |
* |
* |
* |
* |
ブレスの状態異常用の
定数を使用 |
20 |
17 |
14 |
12 |
10 |
8 |
5 |
3 |
2 |
* |
行動順番
(1D(round((my.abi[3] * 10 + my.lv min 40) pow 2.25 / 300 + 25)) max 1D(round((my.abi[3]
* 10 + my.lv min 40) pow 2.25 / 300 + 25)) max 1D(round((my.abi[3] * 10
+ my.lv min 40) pow 2.25 / 300 + 25)) max 1D(round((my.abi[3] * 10 + my.lv
min 40) pow 2.25 / 300 + 25))) * (1 min (0 max (20 - my.abi[3]))) + round((my.abi[3]
* 10 + my.lv min 40) * 1.2 * (1 min (0 max(my.abi[3] - 20))))
敵味方全員それぞれに「(敏捷×10+レベル)^2.25÷300+25」を最大値とした乱数を4回求め、その最高値が高いものから行動を行います。ただしレベルは40を上限として扱います。
敏捷が21以上(この値に達するのはヘイスト効果中の味方のみ)の場合には、乱数ではなく「(敏捷×10+レベル)×1.2」で判定します。
ヘイスト効果中にはランダム要素が廃止されるという仕様は、敏捷が基本値よりも高くなる状況はヘイスト効果中のみであることを利用しています。上記の式では敏捷がちょうど20だと行動速度が最低値になってしまいますが、そのような状況は孤島の牢獄では発生しないので問題ありません。
ちなみにヘイストとフォースフィールドの敏捷修正は、行動順番にのみ影響します。命中率や回避率などにも敏捷が使われていますが、魔法による修正はそれらには影響しません。
それと「敏捷×10+レベル」を2.25乗するのは、「敏捷×10+レベル」が大きくなるほど行動順番にムラが出やすくなるのを防ぐためです(べき乗していなかった古いバージョンでは、敏捷が5とか6とかのキャラは敏捷順に行動する確率が高かったが、10以上とかだと敏捷順に行動しないことが多かった)。
不意打ち
注:最新版ではJavardryの仕様変更により、それまで設定していた下記の計算式が変更され、敵味方ともに5%ずつの不意打ち率となっています。大きな問題にはならないことから、修正予定はありません。
戦闘開始時に、不意打ちが発生するかどうかの判定を行います。
8 + ceil(((pt.lv + pt.汎用修正値 * 12 - 4 - monster.lv) max 0) pow 0.8)
汎用修正値は、盗賊が2、海賊と義賊と怪盗が1です。下記は一般的な表記です。
8+((レベル+盗賊職の比率×12−4−敵レベル)^0.8)
盗賊職の比率は、汎用修正値の合計を求め、それを6(一般的なパーティの人数)で割ったものです。盗賊1人だけで冒険しているときは、盗賊6人パーティと同じ扱いになります。通常はこの値が1/3となるため、「比率*12−4」により0となります。
最終結果は通常が8で、敵味方のレベル差と盗賊職の割合でボーナスが付きます。ペナルティが付くことはありません。
レベル差 |
0 |
1 |
2 |
3 |
4 |
5 |
7 |
10 |
15 |
20 |
25 |
30 |
不意打ち発生率 |
8 |
9 |
10 |
11 |
12 |
12 |
13 |
15 |
17 |
19 |
22 |
24 |
レベル差の欄の数値は、盗賊職が2人分の場合です。1人分増えるごとに2上昇します。
不意打ちが発生することになれば、それが敵と味方のどちらによるものかを判定します。
round((95 + floor(((pt.lv + pt.汎用修正値 * 18 - monster.lv - 20) max 0) pow
0.4)) max 95 min ((pt.lv + (pt.汎用修正値 * 18 - 6) - monster.lv) * 3 + 59)
max 5 min (((95 + floor(((pt.lv + pt.汎用修正値 * 18 - monster.lv - 20) max
0) pow 0.4)) max 95 min ((pt.lv + (pt.汎用修正値 * 18 - 6) - monster.lv) * 3
+ 59) max 5) * (1 - plus)))
最後のplusは、通常は0、宝箱の罠(警報等)で戦闘になった場合に1が代入されます。これは罠で呼び出された敵との戦闘では、こちらからの不意打ち確率を0とするためです。なおこの1は、戦闘終了後に1歩移動することで解除されます。
敵と味方のレベル差1につき3%変わり、汎用修正値(盗賊職の人数、盗賊は2倍)は1につき9%(3レベル分)のボーナスになります。通常は5〜95の範囲を取りますが、圧倒的に有利な状態になると最大で99まで上昇します。
この判定に成功すれば味方が不意を打ち、失敗すれば逆に不意を打たれます。
レベル差 |
-18 |
-15 |
-10 |
-7 |
-5 |
-3 |
-1 |
0 |
1 |
3 |
5 |
7 |
10 |
13 |
16 |
20 |
30 |
47 |
成功率 |
5 |
14 |
29 |
38 |
44 |
50 |
56 |
59 |
62 |
68 |
74 |
80 |
89 |
95 |
96 |
97 |
98 |
99 |
レベル差の欄の数値は、盗賊職が2人分の場合です。1人分増えるごとに3(9%)上昇します。(負の数値は敵のレベルのほうが高いとき)
高レベルや多盗賊という状態では、初めの不意打ち判定で少しボーナスが付き、次のどちらの不意打ちになるかの判定で大きなボーナスが付きます。
罠によって戦闘になった場合、不意打ちが発生すれば必ず敵の不意打ちとなります。
これらの仕様により、本来は有利なはずの高レベルや多盗賊という状態では、罠による戦闘時のみ不意を打たれやすくなります。おかしな仕様ではありますが、修正できそうにないことと、実際に意味を持つことがほとんどないことから、目をつぶっています。
命中判定
(83 + my.器用 + my.適正) min (round((((((my.hit + target.ac * 4 - target.敏捷
* 2) - 50) max 0) pow 0.65 * 2.8) + (((((my.hit + target.ac * 4 - target.敏捷
* 2) - 50) min 0) * (-1)) pow 0.65 * 2.8) * (-1)) + 50)) max (my.器用 - 2
+ 適正) max 2
上限下限決定用の部分と、特殊計算式の部分を除くとこうなります。
my.hit + target.ac * 4 - target.敏捷 * 2
my.hitというのは、命中率修正(別窓)のことです(基本命中率+能力値修正)。適正は職業による適正(別窓)の攻撃の値で、0〜4の範囲です(敵は0扱い)。
攻撃目標のACは1につき4%のボーナス、敏捷は1につき2%のペナルティとなります。ただしACは負の値をとることも多いです。
状態による修正
身を守っている時は、ACが−8、抵抗率が+32%されます。
動けない場合には、ACが+10されます。
弱点を突いた場合と動けない敵への攻撃は、ダメージが1.3倍になります。
耐性を持っていれば、ダメージが0.75倍になります。
弱点と耐性による修正は、物理防御や魔法防御による軽減よりも後に行われます。
解呪
(94 + my.適正 * 2) min (15 + (my.lv min 25) * 5 + my.lv * 2 + my.適正 * 7
- target.lv * 7)
min以前の式は上限を決めるためのものです。
適正は、白魔術師が2、賢者と義賊と聖戦士が1です(汎用修正値)。
成功率の基本値は、適正1で22%、適正2で29%となります。
使用者はレベル25までは1レベルにつき7%、26以降は2%の影響があります。ただし敵はレベルに関係なく1レベルにつき7%なので、レベルが上がっても超高レベルモンスターには効きにくいです。
隠れる
(91+ my.適正 * 2) min (65 + (my.lv + my.敏捷 + my.適正 * 2) * 3 - (target.lv + target.知力) * 3) max 5
min以前の式とmax5は、上限下限を決めるためのものです。
適正は、盗賊が2で海賊と義賊と怪盗が1です(汎用修正値)。
隠れ続けるときの成功率も同じです。
適正2で77%、適正1で71%が基本成功率となり、敵味方のレベルと自分の敏捷と敵の知力が1につき3%影響します(自分のはボーナス、敵のはペナルティ)。
特殊攻撃
定数 min (round(((((定数 + (my.lv * 2 - target.lv - target.lv min 20) - target.耐久
* 6) - 50) max 0) pow 0.65 * 2.8) + (((((定数 + (my.lv * 2 - target.lv -
target.lv min 20) - target.耐久 * 6) - 50) min 0) * (-1)) pow 0.65 * 2.8)
* (-1)) + 50) max 2
上限下限と特殊計算式を除くとこうなります。
round(定数 + (my.lv * 2 - target.lv - target.lv min 20) - target.耐久 * 6)
|
定数 |
毒 |
92 |
睡眠 |
95 |
麻痺 |
85 |
石化 |
90 |
状態異常付きの攻撃は、命中回数に関係なく当たれば1回だけ状態異常判定を行います。
毒の成功率下限には自身の耐久が影響していたり(スライム系の毒成功率を高めるため)、睡眠のみ(主人公側も使えるため)自身のレベルが上限40となっていたりするのですが、面倒なので省略します。
逃走、仲間を呼ぶ
主人公側の逃走成功率
ceil(((pt.lv + 盗賊職 - 2 - monster.lv) * 3 + 73 + turn * (12 + ((monster.lv
- pt.lv) * 0.5) max 0)) max 2) * (1 min (0 max turn)) + 100 * (1 min (0
max (1 - turn)))
盗賊職というのは、パーティ内の人数(盗賊は1人で2人分)です。
turnはターン数そのままです。1ターン目の基本成功率は85%で、ターン経過により最低でも12%ずつ上昇します。この上昇量は、格上の敵と戦っているときには上がります(レベルによるペナルティがターン経過で緩和されていく)。
レベルと盗賊職の影響は、1につき3%です。
不意打ちターンのみ、成功率が100%になります。
没落貴族奮闘記と異なり、敵の敏捷は影響していません。
敵の逃走率
98 min floor((monster.hpMax * 0.7 / (monster.hp)) pow 2.6 * 2.5) max 2
逃走成功率ではなく、逃走する確率です(成功率100%)。
残りHP(%) |
70 |
60 |
50 |
40 |
30 |
25 |
20 |
18 |
15 |
逃走率 |
2 |
3 |
5 |
10 |
22 |
36 |
64 |
85 |
98 |
敵の仲間召喚成功率
95 min ceil(105 - (turn * 12) pow 0.95) max 5
ターン数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
成功率 |
95 |
95 |
85 |
75 |
66 |
57 |
47 |
38 |
29 |
20 |
11 |
5 |
仲間を呼ぶ大型モンスターはいないので長期戦になることが少なく、それゆえ呼ばれたら増えるもの、という認識でいいと思います。上記の逃走率もそうですが、この行動をする敵がほとんどいないため、割とどうでもいい計算式だったりします。
こうして表にしてみると、「105−ターン×10」(範囲は5〜95)とあんまり変わらない(汗)。
|