Hengband
2.2.1
|
関数 | |
int | m_bonus (int max, DEPTH level) |
上質以上のオブジェクトに与えるための各種ボーナスを正規乱数も加えて算出する。 Help determine an "enchantment bonus" for an object. [詳解] | |
void | one_sustain (object_type *o_ptr) |
対象のオブジェクトにランダムな能力維持を一つ付加する。/ Choose one random sustain [詳解] | |
bool | add_esp_strong (object_type *o_ptr) |
オブジェクトにランダムな強いESPを与える [詳解] | |
void | add_esp_weak (object_type *o_ptr, bool extra) |
オブジェクトにランダムな弱いESPを与える [詳解] | |
void | one_ele_resistance (object_type *o_ptr) |
対象のオブジェクトに元素耐性を一つ付加する。/ Choose one random element resistance [詳解] | |
void | one_dragon_ele_resistance (object_type *o_ptr) |
対象のオブジェクトにドラゴン装備向け元素耐性を一つ付加する。/ Choose one random element or poison resistance [詳解] | |
void | one_high_resistance (object_type *o_ptr) |
対象のオブジェクトにランダムな上位耐性を一つ付加する。/ Choose one random high resistance [詳解] | |
void | dragon_resist (object_type *o_ptr) |
ドラゴン装備にランダムな耐性を与える [詳解] | |
void | one_resistance (object_type *o_ptr) |
対象のオブジェクトに耐性を一つ付加する。/ Choose one random resistance [詳解] | |
void | one_ability (object_type *o_ptr) |
対象のオブジェクトに能力を一つ付加する。/ Choose one random ability [詳解] | |
void | one_low_esp (object_type *o_ptr) |
対象のオブジェクトに弱いESPを一つ付加する。/ Choose one lower rank esp [詳解] | |
void | one_activation (object_type *o_ptr) |
対象のオブジェクトに発動を一つ付加する。/ Choose one random activation [詳解] | |
void | one_lordly_high_resistance (object_type *o_ptr) |
対象のオブジェクトに王者の指輪向けの上位耐性を一つ付加する。/ Choose one random high resistance [詳解] | |
bool add_esp_strong | ( | object_type * | o_ptr | ) |
オブジェクトにランダムな強いESPを与える
o_ptr | 強化を与えたいオブジェクトの構造体参照ポインタ |
void add_esp_weak | ( | object_type * | o_ptr, |
bool | extra | ||
) |
オブジェクトにランダムな弱いESPを与える
o_ptr | 強化を与えたいオブジェクトの構造体参照ポインタ |
extra | TRUEならばESPの最大付与数が増える(TRUE -> 3+1d6 / FALSE -> 1d3) |
void dragon_resist | ( | object_type * | o_ptr | ) |
ドラゴン装備にランダムな耐性を与える
o_ptr | 強化を与えたいオブジェクトの構造体参照ポインタ |
int m_bonus | ( | int | max, |
DEPTH | level | ||
) |
上質以上のオブジェクトに与えるための各種ボーナスを正規乱数も加えて算出する。 Help determine an "enchantment bonus" for an object.
max | ボーナス値の限度 |
level | ボーナス値に加味する基準生成階 |
To avoid floating point but still provide a smooth distribution of bonuses,
we simply round the results of division in such a way as to "average" the
correct floating point value.
This function has been changed. It uses "randnor()" to choose values from
a normal distribution, whose mean moves from zero towards the max as the
level increases, and whose standard deviation is equal to 1/4 of the max,
and whose values are forced to lie between zero and the max, inclusive.
Since the "level" rarely passes 100 before Morgoth is dead, it is very
rare to get the "full" enchantment on an object, even a deep levels.
It is always possible (albeit unlikely) to get the "full" enchantment.
A sample distribution of values from "m_bonus(10, N)" is shown below:
N 0 1 2 3 4 5 6 7 8 9 10
— -— -— -— -— -— -— -— -— -— -— -—
0 66.37 13.01 9.73 5.47 2.89 1.31 0.72 0.26 0.12 0.09 0.03
8 46.85 24.66 12.13 8.13 4.20 2.30 1.05 0.36 0.19 0.08 0.05
16 30.12 27.62 18.52 10.52 6.34 3.52 1.95 0.90 0.31 0.15 0.05
24 22.44 15.62 30.14 12.92 8.55 5.30 2.39 1.63 0.62 0.28 0.11
32 16.23 11.43 23.01 22.31 11.19 7.18 4.46 2.13 1.20 0.45 0.41
40 10.76 8.91 12.80 29.51 16.00 9.69 5.90 3.43 1.47 0.88 0.65
48 7.28 6.81 10.51 18.27 27.57 11.76 7.85 4.99 2.80 1.22 0.94
56 4.41 4.73 8.52 11.96 24.94 19.78 11.06 7.18 3.68 1.96 1.78
64 2.81 3.07 5.65 9.17 13.01 31.57 13.70 9.30 6.04 3.04 2.64
72 1.87 1.99 3.68 7.15 10.56 20.24 25.78 12.17 7.52 4.42 4.62
80 1.02 1.23 2.78 4.75 8.37 12.04 27.61 18.07 10.28 6.52 7.33
88 0.70 0.57 1.56 3.12 6.34 10.06 15.76 30.46 12.58 8.47 10.38
96 0.27 0.60 1.25 2.28 4.30 7.60 10.77 22.52 22.51 11.37 16.53
104 0.22 0.42 0.77 1.36 2.62 5.33 8.93 13.05 29.54 15.23 22.53
112 0.15 0.20 0.56 0.87 2.00 3.83 6.86 10.06 17.89 27.31 30.27
120 0.03 0.11 0.31 0.46 1.31 2.48 4.60 7.78 11.67 25.53 45.72
128 0.02 0.01 0.13 0.33 0.83 1.41 3.24 6.17 9.57 14.22 64.07
void one_ability | ( | object_type * | o_ptr | ) |
対象のオブジェクトに能力を一つ付加する。/ Choose one random ability
候補は浮遊、永久光源+1、透明視、警告、遅消化、急回復、麻痺知らず、経験値維持のいずれか。 重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_activation | ( | object_type * | o_ptr | ) |
対象のオブジェクトに発動を一つ付加する。/ Choose one random activation
候補多数。ランダムアーティファクトのバイアスには一切依存せず、 whileループによる構造で能力的に強力なものほど確率を落としている。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_dragon_ele_resistance | ( | object_type * | o_ptr | ) |
対象のオブジェクトにドラゴン装備向け元素耐性を一つ付加する。/ Choose one random element or poison resistance
候補は1/7の確率で毒、6/7の確率で火炎、冷気、電撃、酸のいずれか(one_ele_resistance()のコール)であり、重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_ele_resistance | ( | object_type * | o_ptr | ) |
対象のオブジェクトに元素耐性を一つ付加する。/ Choose one random element resistance
候補は火炎、冷気、電撃、酸のいずれかであり、重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_high_resistance | ( | object_type * | o_ptr | ) |
対象のオブジェクトにランダムな上位耐性を一つ付加する。/ Choose one random high resistance
重複の抑止はない。候補は毒、閃光、暗黒、破片、盲目、混乱、地獄、因果混乱、カオス、劣化、恐怖のいずれか。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_lordly_high_resistance | ( | object_type * | o_ptr | ) |
対象のオブジェクトに王者の指輪向けの上位耐性を一つ付加する。/ Choose one random high resistance
候補は閃光、暗黒、破片、盲目、混乱、地獄、因果混乱、カオス、恐怖であり 王者の指輪にあらかじめついている耐性をone_high_resistance()から除外したものである。 ランダム付加そのものに重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_low_esp | ( | object_type * | o_ptr | ) |
対象のオブジェクトに弱いESPを一つ付加する。/ Choose one lower rank esp
候補は動物、アンデッド、悪魔、オーク、トロル、巨人、 ドラゴン、人間、善良、ユニークESPのいずれかであり、重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_resistance | ( | object_type * | o_ptr | ) |
対象のオブジェクトに耐性を一つ付加する。/ Choose one random resistance
1/3で元素耐性(one_ele_resistance())、2/3で上位耐性(one_high_resistance) をコールする。重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |
void one_sustain | ( | object_type * | o_ptr | ) |
対象のオブジェクトにランダムな能力維持を一つ付加する。/ Choose one random sustain
重複の抑止はない。
o_ptr | 対象のオブジェクト構造体ポインタ |