隠し穴の出現ポケモン
ktxadさんのブログに色々書いてあったので試したらメタモン出せた。
乱数値だけから推測した生成方法なので野生の時みたいにちょっと誤差があったりするかも
- (r[n]*100)>>32が0〜4なら隠し穴の何か復活
- (r[n+2]*100)>>32で何が出るか決定
多分ktxadさんの出現テーブルで上から0〜割り当て(1%ポケモン:0、4%ポケモン:1〜5、…、25%ダウジング:75〜99、など)
なので0〜99の乱数が0〜4,*,1となっているパターンを見つければ1%で出現するポケモンを出せる。
(あとr[n+1]から抽出した0〜3の乱数でテーブルの横の位置を決めてるっぽい?ktxadさんは縦決定→横決定って書いてあるけど乱数の位置的には横→縦な気がする
参考(全て0〜99乱数):1,38,33,96でスーパーボール(アイテム3-A,B)、2,93,62,38でみどりのかけら(ダウジング2-D)
これだと前者は2つめの乱数が0〜49の範囲だから横はAかB、後者は75〜99だから横がDになってる気がする)
※追記
出たものがアイテムでもポケモンの場合でも乱数の消費数は4で、
23版道路で2,56,18,44でハブネーク♂になったので、r[n]で判定、r[n+1]で横の列、r[n+2]で縦の列、r[n+3]で性別決定でよさそう。
性別があるポケモンの性別決定は未検証
今回やった手順メモ
- 予め隠し穴に全てアイテムかポケモンが設置されている(=復活判定が無い)ことを確認する
- ジャイアントホールの隠し穴を空の状態にする
- 育て屋に駆け込みペラップ等を用意(NPCのいない&草むらのない(揺れる草判定を起こさないため)マップならどこでもいいはず)
- 乱数調整しペラップでr[n]=0〜4、r[n+2]=0となるパターンまで消費し、256歩走る
- ジャイアントホールに行ってメタモンがいることを確認する
ツールとかはそのうち