■レア確率の上限が87.5%の理由と実際のレア判定

 各レアアイテムのレア確率は、リスト上では%表記になっていますが、実際のデータ上は8bit(1byte)の数値で格納されています。

 8bitで表現できる数値の範囲は、符号なし10進数の場合「0〜255(16進数で$00〜$FF)」のみですが、レア判定する際はこの数値をある公式に基づいて展開し32bitの数値に変換します。

 たとえば、8bitで表現できる最大値である「255($FF)」を32bitに変換すると10進数の「3,758,096,384」になります。

 この数値を符号なし32bitで表現できる最大数「4,294,967,295」で割ると、その結果は「0.8750000・・・・・」となりリスト上のレア確率である「87.5%」が導き出されます。(1.0 = 100%)

 つまり、8bitで表現できる最大値である「255」を変換しても「3,758,096,384」より大きな数値にはならないので、87.5%が上限となるのです。


 1つ変換の例を挙げると「VIRIDIA ノーマル 坑道 Sパーツver2.01」に設定されている「164($A4)」というレア確率の数値を符号なし32bitに変換すると「1,441,792」になります。

 これを「4,294,967,295」で割ると「0.000335693・・・」となり「0.0335693%」が導き出されます。


 実際のレアが出るか出ないかの判定は、ドロップ確率で何らかのアイテムをドロップすると決定した後、
 8bitのレア確率を変換した符号なし32bitの数値と、擬似乱数で求めた符号なし32bitの数値「0〜4,294,967,295」とを比較することで行われます。

 擬似乱数で求めた符号なし32bitの数値が、展開した符号なし32bitの数値よりも下ならばレアが出現し逆ならばハズレというわけです。

 はずれた場合は「固有アイテム(武器、鎧、盾、ユニット等)、メセタ、ジャンクアイテム(モノメイト、フォトンドロップ等)」の何れかを落とします。

 ちなみに「ドラゴン」のように「ドロップ確率が100%のエネミーでも固有アイテムが設定されていないエネミー」を倒した場合で、
 レア判定にはずれ、かつドロップアイテムとして固有アイテムが選択されてしまった場合は何も落としません。