野生のモンスターのスピード固体値について
某所にて話題になったのでソース読んでみた。
変愚蛮怒では野生のモンスターに、同じやつでも速い子と遅い子がいます。
例えば、同じ変幻の魔公でも、+10のやつもいれば+30のやつも居る。
どれくらいバラつくの?という疑問にお答えします。
ソースより抜粋
まず、ユニークモンスターおよびテルモラ闘技場で登場するモンスターの速度は固定。
以下の過程はそれ以外の通常モンスターに適用される。
int i = SPEED_TO_ENERGY(r_ptr->speed) / (one_in_(4) ? 3 : 10);
if (i) mspeed += rand_spread(0, i);
if (mspeed > 199) mspeed = 199;
日本語訳すると、
モンスターのベース速度をエネルギーに変換し、1/4で3、3/4で10でそれを割って変数iに代入。
速度に(-i-1 + 1d(i*2+1))を加える。
最後に加速+89を越えていたら+89にする。(この199って値は加速+0を110としてるから加速+89)
SPEED_TO_ENERGY
加速とENERGYについて。
加速+10とか+20とかって何に影響するかというと、毎ゲームターン得るエネルギーに関係する。
行動するとこのエネルギーを消費し、またエネルギーが貯まると次の行動ができるわけ。
んで、加速とエネルギーの対応表がコレ。
最上段が1の位ね。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|---|---|---|---|---|
加速-50 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
加速-40 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
加速-30 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 |
加速-20 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 |
加速-10 | 5 | 5 | 5 | 5 | 6 | 6 | 7 | 7 | 8 | 9 |
加速+0 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
加速+10 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
加速+20 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 36 | 37 | 37 |
加速+30 | 38 | 38 | 39 | 39 | 40 | 40 | 40 | 41 | 41 | 41 |
加速+40 | 42 | 42 | 42 | 43 | 43 | 43 | 44 | 44 | 44 | 44 |
加速+50 | 45 | 45 | 45 | 45 | 45 | 46 | 46 | 46 | 46 | 46 |
加速+60 | 47 | 47 | 47 | 47 | 47 | 48 | 48 | 48 | 48 | 48 |
加速+70 | 49 | 49 | 49 | 49 | 49 | 49 | 49 | 49 | 49 | 49 |
この表によると、加速+20のモンスターは毎ゲームターン30のエネルギーを得るということになる。
まとめ
base speed | speed下限 | speed上限 |
---|---|---|
+0 | -3 | +3 |
+5 | +0 | +10 |
+10 | +4 | +16 |
+15 | +7 | +22 |
+20 | +10 | +30 |
+25 | +14 | +36 |
+30 | +18 | +42 |
この表はスポイラにSpeed+10ってかいてあったら、実際に生成されるのは+4から+16の子になるって意味。
ただし、加速上限や加速下限になるためには一度1/4チェックを通らなければならない。
このチェックを通らなかった場合、ばらつきはより小さくなる。
加速最大の魔公が生成される確率は、1/4を通ったあと9+d21=30になる必要があるので、1/84となる。