09/11/12 10:11:59 yS/oVYF60
● 参考文的なもの
過去のスレで出た役に立つと思われる文章。
260 :ゲーム好き名無しさん:2009/06/02(火) 10:56:46 ID:PMqGYBPW0
以下エミュ利用につきチラ裏
Frにて。
「ギャース!」の時点で個体値性格値は固定。
適当に個体値を調べてみると、1分先のフレームにそれっぽい個体値が出現することもあれば、
話しかけるタイミングを1Fずらしただけなのにリスト外のモノが出たりもする。
エメラルド通りかは微妙。もしかするとmothodずれのようなものがあるかもしれない。
694 :ゲーム好き名無しさん:2009/06/21(日) 20:31:10 ID:eMUbTLS40
上で話題になっていたので、ちょっと調べた計算式のような物を書いてみます。
あまり確認してなくて、非常に怪しいのでとりあえず簡単に書いてみます。
手持ちのデータなどあったら検証を兼ねて比較してみてください。間違ってたらぜひ教えてほしいです
* プラチナの不思議なおくりものの性格値(仮説)
性格値用シード下位2バイト = LGの初期シード決定で使われていたようなタイマーのカウンタの値。起動時から常に動いている。とても速い。
性格値用シード上位2バイト = 15フレームに一回くらい増える謎のカウンタの値。起動時から常に動いている。
性格値 = 上のを組み合わせて作った値に0x6C078965を掛けて1を足した物
* エメラルドのトレーナーID(仮説)
名前入力中にタイマーが有効になって、CPUの実行時間をカウントしている。(これもLGと同じようなもの)
入力終了時点での値を表IDとして、同時にこれを初期シードとした乱数計算を開始する。
博士の話が終わった時点での乱数の値を裏IDとする。最初から始めてリセットしない内に捕獲したポケモンのシードをさかのぼっていくとIDにたどり着くかも
* エメラルドのタマゴの性格値(仮説)
下位2バイトはその時点での乱数値を65534で割った余りの値に1を足した物。
上位2バイトはその時点での、起動時からの経過フレーム数をシードとした乱数。(この乱数は通常の物とは独立しています)
例えば600フレーム目にタマゴが出来たなら上位2バイトは0x28C8となり、
下位2バイトは600フレーム分の乱数消費にNPC移動などの乱数消費を加えた分の乱数が設定されます。
※ここでいう乱数では計算結果の上位2バイトのみ使っている考えてください。