FF1 (GBA) > ドロップ確率

乱数

  • アイテムドロップ判定には 32-bit 疑似乱数生成器が用いられており、その状態 x は 0x020019b8 に格納されています。
  • 状態 x は次の式で更新されます: x ← (x × 0x6c078965 + 7) mod 2^{32}
    • アイテムドロップ判定の際に取得される乱数 0〜99 は、(x mod 2^{16}) mod 100 によって生成されます。
      • このため、高めの乱数値よりも低めの乱数値の方がほんのわずかだけ出現しやすくなります。

アイテムドロップの仕様

  • モンスター毎にアイテムドロップ用の境界値(0〜100)が設定されており、以下のようにドロップ判定が行われます。
    • 境界値が 0 の場合: アイテムは落としません。
    • 境界値が 1 以上の場合: (乱数 0〜99) ≤ (境界値) を満たすとアイテムを落とします。
      • このため、実際にアイテムを落とす確率は 約 (境界値)+1 % です。

モンスター別 ドロップアイテム

補足: ドロップ確率は近似値です。
ID モンスター名称 ドロップアイテム ドロップ確率
0 ゴブリン
1 ゴブリンガード ポーション 4 %
2 ウルフ
3 ウォーグウルフ どくけし 5 %
4 ウェアウルフ
5 ウィンターウルフ アイスシールド 3 %
6 リザード
7 ファイアリザード
8 バシリスク きんのはり 8 %
9 ヒルギガース テント 4 %
10 アイスギガース
11 ファイアギガース
12 サハギン ポーション 6 %
13 サハギンチーフ
14 サハギンプリンス
15 かいぞく かわのたて 3 %
16 パイレーツ サーベル 4 %
17 シャーク
18 ホワイトシャーク ウィルムキラー 4 %
19 ビッグアイ
20 ディープアイ
21 スケルトン やまびこそう 5 %
22 ブラッディボーン
23 ギガースウォーム
24 クロウラー
25 ハイエナドン パワーアップ 2 %
26 ヘルハウンド
27 オーガ
28 オーガチーフ
29 オーガメイジ めぐすり 3 %
30 コブラ
31 アナコンダ
32 シースネイク
33 サソリ くものいと 4 %
34 うみサソリ
35 ミノタウロス ナイフ 7 %
36 ミノタウロゾンビ グレートアクス 2 %
37 トロル
38 シートロル
39 シャドウ
40 レイス しゃくじょう 2 %
41 スペクター
42 ゴースト
43 ゾンビ つえ 3 %
44 グール
45 ガスト
46 ワイト
47 パープルウォーム ひじょうぐち 4 %
48 サンドウォーム
49 ラーバウォーム
50 イビルアイ
51 デスアイ エリクサー 2 %
52 メデューサ
53 アースメデューサ
54 ウェアタイガー ねぶくろ 3 %
55 ラクシャーサ
56 アンクヘッグ
57 レモラーズ
58 キティタイガー エクスポーション 5 %
59 サーベルタイガー
60 バンパイア
61 バンパイアロード エルメスのくつ 4 %
62 ガーゴイル
63 ホーンドデビル
64 アースエレメント ばんのうやく 4 %
65 ファイアー
66 ホワイトドラゴン
67 レッドドラゴン
68 ドラゴンゾンビ ラストエリクサー 2 %
69 グリーンスライム ハイポーション 3 %
70 グレイウーズ
71 オーカーゼリー
72 ブラックプリン
73 ブラックウィドウ
74 タランチュラ
75 マンティコア テント 4 %
76 スフィンクス
77 バレッテ
78 デザートバレッテ
79 マミー
80 キングマミー
81 コカトリス きんのはり 8 %
82 ピロリスク きんのはり 3 %
83 ワイバーン
84 ウィルム
85 アロザウルス ちからのくすり 2 %
86 チラノザウルス きょじんのくすり 2 %
87 ピラニア
88 レッドピラニア
89 クロコダイル コテージ 4 %
90 ホワイトダイル ハイポーション 6 %
91 オチュー
92 ネオチュー
93 ヒドラ
94 ファイアヒドラ あかいきば 3 %
95 ガーディアン
96 ソルジャー フェニックスのお 5 %
97 ウォーター
98 エアエレメンタル エーテル 3 %
99 ウォーターナーガ
100 スピリットナーガ
101 キメラ
102 ゴーキメラ ちからのつえ 6 %
103 ピスコディーモン
104 マインドフレイア フェニックスのお 4 %
105 ガーランド ロングソード 3 %
106 グリーンドラゴン
107 ブルードラゴン
108 クレイゴーレム ポーション 2 %
109 ストーンゴーレム
110 アイアンゴーレム
111 ブラックナイト デスブリンガー 2 %
112 デスナイト
113 アストス ミスリルソード 5 %
114 ダークウィザード あかいカーテン 4 %
115 ダークファイター
116 クレイジーホース ポーション 6 %
117 ナイトメア
118 デスマシーン げんじのよろい 6 %
119 リッチ エーテルドライ 3 %
120 リッチ
121 マリリス きんのリンゴ 4 %
122 マリリス
123 クラーケン きくいちもんじ 3 %
124 クラーケン めぐすり 9 %
125 ティアマット
126 ティアマット ルーンのつえ 5 %
127 カオス
128 エキドナ エクスポーション 100 %
129 ケルベロス こてつ 100 %
130 アーリマン エーテルドライ 100 %
131 2ヘッドドラゴン しじんのふく 100 %
132 スカルミリョーネ
133 スカルミリョーネ つきのカーテン 100 %
134 カイナッツォ ひかりのカーテン 100 %
135 バルバリシア ブレイブハート 100 %
136 ルビカンテ きくいちもんじ 100 %
137 ギルガメッシュ げんじのこて 100 %
138 オメガ ムラサメ 100 %
139 しんりゅう ラグナロク 100 %
140 アトモス さばきのつえ 100 %
141 テュポーン げんじのかぶと 100 %
142 オルトロス ルーンのつえ 100 %
143 まれっしゃ ラストエリクサー 100 %
144 デスゲイズ ライトブリンガー 100 %
145 デビルウィザード
146 アビスウォーム ラストエリクサー 16 %
147 エルムギガース
148 フレアギガース あかいカーテン 9 %
149 ユニコーン エーテル 16 %
150 イエローオーガ
151 バーサオーガ ちからのくすり 9 %
152 メイジキメラ エルメスのくつ 9 %
153 イエロードラゴン つきのカーテン 13 %
154 ホーリードラゴン エーテルドライ 4 %
155 ミスリルゴーレム ダーククレイモア 2 %
156 キラーシャーク
157 デスマンティコア
158 ブラッドタイガー
159 ダークアイ
160 ブラッディアイ ばんのうやく 21 %
161 フラッドギガース
162 プアゾンイーグル コカトリスのつめ 16 %
163 ブラックゴブリン ポーション 31 %
164 ノッカー ハイポーション 16 %
165 デザートピード どくけし 16 %
166 グルームウィドウ どくけし 16 %
167 デュエルナイト エンハンスソード 4 %
168 スクイドラーケン けんじゃのつえ 2 %
169 ファラオ あしゅら 3 %
170 ボーンスナッチ
171 シルバードラゴン
172 ブラックドラゴン つきのカーテン 6 %
173 ブルートロル
174 アーストロル
175 ポイズンナーガ
176 アースプラント エーテルターボ 6 %
177 ヤマタノオロチ ブレイブハート 2 %
178 ダークエレメント
179 デビルハウンド
180 セクレト ウォーハンマー 2 %
181 カトブレパス ばんのうやく 16 %
182 ハンドレッグ
183 アンダグランダ だいちのころも 2 %
184 デスエレメンタル そよかぜのマント 3 %
185 ワイルドナック しろいきば 6 %
186 ブラインドウルフ しろいきば 11 %
187 ロックガーゴイル
188 サハギンクイーン あおいカーテン 11 %
189 しにがみ デスブリンガー 2 %
190 パイソン どくけし 16 %
191 スカルジャー
192 レッドプリン
193 プロトタイプ ルーンアクス 2 %
194 レブナント

ソース

+ ...
;
; 32-bit 疑似乱数生成器
;
8068AAC  03 4A          LDR R2, [PC, #$03] ; 0x020019b8
8068AAE  11 68          LDR R1, [R2, #$00]
8068AB0  03 48          LDR R0, [PC, #$03] ; 0x6c078965
8068AB2  48 43          MUL R0, R1
8068AB4  07 30          ADD R0, #$07       ; +7
8068AB6  10 60          STR R0, [R2, #$00]
8068AB8  70 47          BX LR
8068ABA  00 00          
8068ABC  B8 19 00 02 65 89 07 6C
 
;
; アイテムドロップ判定部分
;
807B764  F0 B5          PUSH {R4-R7,LR}
807B766  47 46          MOV R7, R8
807B768  80 B4          PUSH {R7}
807B76A  04 1C          ADD R4, R0, #$00
807B76C  09 06          LSL R1, R1, #$18
807B76E  0E 0E          LSR R6, R1, #$18
807B770  12 06          LSL R2, R2, #$18
807B772  17 48          LDR R0, [PC, #$17]
807B774  D2 0C          LSR R2, R2, #$13
807B776  12 18          ADD R2, R2, R0
807B778  15 7F          LDRB R5, [R2, #$1C] ; 確率設定値
807B77A  97 7E          LDRB R7, [R2, #$1A] ; アイテム ID (byte 0)
807B77C  D2 7E          LDRB R2, [R2, #$1B] ; アイテム ID (byte 1)
807B77E  90 46          MOV R8, R2
807B780  00 2D          CMP R5, #$00
807B782  20 D0          BEQ $0807B7C6       ; 設定値が 0 の場合
 
807B784  08 2E          CMP R6, #$08
807B786  1E D8          BHI $0807B7C6       ; (取得アイテムが 9 個以上?) 
 
807B788  12 48          LDR R0, [PC, #$12]  ; $08068aad
807B78A  0D F1          BLL #$010D
807B78C  E7 FD          BLH #$05E7          ; R0 ← (32-bit 乱数)
 
807B78E  00 04          LSL R0, R0, #$10
807B790  00 0C          LSR R0, R0, #$10    ; R0 ← R0 mod 65536
 
807B792  11 4A          LDR R2, [PC, #$11]  ; $08000f2d
807B794  64 21          MOV R1, #$64
807B796  0D F1          BLL #$010D
807B798  E5 FD          BLH #$05E5          ; R0 ← R0 mod 100
 
807B79A  00 04          LSL R0, R0, #$10
807B79C  00 0C          LSR R0, R0, #$10
807B79E  A8 42          CMP R0, R5
807B7A0  11 D8          BHI $0807B7C6       ; 乱数 > 境界値 の場合、落とさない
 
807B7A2  20 68          LDR R0, [R4, #$00]
807B7A4  B1 00          LSL R1, R6, #$02
807B7A6  40 18          ADD R0, R0, R1
807B7A8  0C 4A          LDR R2, [PC, #$0C]
807B7AA  80 18          ADD R0, R0, R2
807B7AC  07 70          STRB R7, [R0, #$00]
 
807B7AE  20 68          LDR R0, [R4, #$00]
807B7B0  40 18          ADD R0, R0, R1
807B7B2  01 32          ADD R2, #$01
807B7B4  80 18          ADD R0, R0, R2
807B7B6  42 46          MOV R2, R8
807B7B8  02 70          STRB R2, [R0, #$00]
 
807B7BA  20 68          LDR R0, [R4, #$00]
807B7BC  40 18          ADD R0, R0, R1
807B7BE  08 49          LDR R1, [PC, #$08]
807B7C0  40 18          ADD R0, R0, R1
807B7C2  01 21          MOV R1, #$01
807B7C4  01 70          STRB R1, [R0, #$00]
;
807B7C6  08 BC          POP {R3}
807B7C8  98 46          MOV R8, R3
807B7CA  F0 BC          POP {R4-R7}
807B7CC  01 BC          POP {R0}
807B7CE  00 47          BX R0
 
807B7D0  A0 0F 22 08 AD 8A 06 08
807B7D8  2D 0F 00 08 0C 47 00 00
807B7E0  0E 47 00 00
 
最終更新:2024年05月11日 18:53