【ポケモンDPt】スロットマシーン設計書

詳しい内部処理は過去記事、pastebinのソースコードを参照。

スロット配置

DPt Slot RNG - Pastebin.com

スロットの配置は日替わりSEEDから決定される。

・12byteの規定配列(0-5-1-1-4-4-2-2-2-3-3-3)を取得。

・日替わりSEEDをLCGで更新、上位16bit %12の乱数値を取得。

・乱数値を参照して規定配列の入れ替えを計66回行う。

配列1byte目と乱数値byte目を入れ替え、これを11回繰り返す。

配列2byte目と乱数値byte目を入れ替え、これを10回繰り返す。

配列3byte目と乱数値byte目を入れ替え、これを9回繰り返す。

配列4byte目と乱数値byte目を入れ替え、これを8回繰り返す。

配列5byte目と乱数値byte目を入れ替え、これを7回繰り返す。

配列6byte目と乱数値byte目を入れ替え、これを6回繰り返す。

配列7byte目と乱数値byte目を入れ替え、これを5回繰り返す。

配列8byte目と乱数値byte目を入れ替え、これを4回繰り返す。

配列9byte目と乱数値byte目を入れ替え、これを3回繰り返す。

配列10byte目と乱数値byte目を入れ替え、これを2回繰り返す。

配列11byte目と乱数値byte目を入れ替える。

・最終的な12byteを特定の位置に配置する。

現在SEEDの特定

トバリゲームコーナー入り口で初期SEEDの特定。

スロットの出目を参照して、対応したSEEDを総当たりする。

出目の抽選

トバリスロット乱数調整 - Pastebin.com

基本的な出目の抽選はLCG3消費で行われる。

0x6185ADDCを現在SEEDとするとき

・0x6185ADDC:現在SEED

・0x950C6F1F:ボール出現抽選

・0x112122A6:ボール種類抽選

・0x560EB521:プレミアボール抽選

ボール抽選判定が不の場合は以降の処理は行われない。

ボール種類抽選でピッピ入りが選ばれた場合、追加で2消費が発生する。(後述)

・ボール出現判定(設定5)

上位16bit %100の値が

・35未満のとき、ボールが出現する。

・ボール抽選判定(設定5)

上位16bit %100の値が

・4のとき、モンスターボール(ヒメリの実)

・11~19のとき、サファリボール(つきのいし)

・23~59のとき、ハイパーボール(ピカチュウ)

・63~99のとき、スーパーボール(リプレイ)

が出現する。

それ以外のときはピッピ入りのボールになる。

・プレミアボール判定

省略

・追加判定(設定5)

ボール判定抽選時にピッピ入りのボールが選ばれた場合、追加で2消費が発生する。

0x6185ADDCを現在SEEDとするとき

・0x6185ADDC:現在SEED

・0x950C6F1F:ボール出現抽選

・0x112122A6:ボール種類抽選

・0x560EB521:プレミアボール抽選

・0x97F98D80:ピッピテーブル抽選

・0xAF5E9FF3:ピッピ抽選

・ピッピテーブル抽選

ピッピ抽選テーブル(A、B、Cテーブル)の抽選を行う。

上位16bit %100の値が

・0~4、70~99のとき、Aテーブル

・5~24、60~69のとき、Bテーブル

・25~59のとき、Cテーブル

・ピッピ抽選

Aテーブル

上位16bit %100の値が

・0~4のとき、色違い

・5~24のとき、通常色

・25~99のとき、メタモン

Bテーブル

・0~19のとき、色違い

・20~79のとき、通常色

・80~99のとき、メタモン

Cテーブル

・0~74のとき、色違い

・75~94のとき、通常色

・95~99のとき、メタモン