【BW孵化乱数】任意の模様(性格値)のパッチールの孵化乱数

この記事は Pokemon RNG Advent Calendar 2016 の14日目です。

Pokémon RNG Advent Calendar 2016 – Adventar

大分前に行った任意の性格値のポケモン(任意の模様のパッチール)を孵化乱数する方法を書いた記事です。
にわかですし、下手なこと書いて偉い人に怒られたくないので、仕組みとかにはあまり触れず、
こうやったらできる(少なくても私はできた)という記事です。
(いわゆる猿真似用の記事です)

個体値乱数はこの方法だと(少なくても私は)できません(任意3か所にV配置くらいならできますが)
個体値にもこだわりたい方はBW2でのやり方調べると多分できると思います(記事あるかわかりませんが)。
私はBW2で乱数調整自体、実はID調整しかしたことないので(BW2孵化乱数のやり方さえも)知りません。

前準備

一般的な(?)BW孵化乱数できる環境(孵化要因、ペラップ、seedparamsearch、bwseedlist等)を準備します。
(当記事ではBW孵化乱数をする方法については記述しません)
5世代ではパッチールの模様は性格値によって決まってるので、まずどの性格値(模様)のパッチールを孵化したいのか決めておきます。
パッチールペインタDPt版

oupo氏のツールを弄ってほしい性格値を決めるといいでしょう。

本記事では、この個体(性格値 0x9788a7b9)を例にとって解説します。
snapcrab_noname_2016-12-4_10-19-16_no-00

性格値を表ID裏IDとして検索

パラメータ諸々入れて、
性格値を表IDと裏IDとしてseedparamsearchで検索します。
0x9788a7b9の例では、この性格値を0x9788と0xa7b9に分け前者を裏ID、後者を表IDとします。
0xというのは16進法で記述されているという意味ですので、

進数変換電卓

こちらのようなサイトで10進法に直してあげます。
0x9788という16進法を10進法にすると38792
0xa7b9という16進法を10進法にすると42937
になるので、
表ID 42937、裏ID 38792で検索ということになります。
snapcrab_noname_2016-12-5_15-45-20_no-00

そして、(私の)結果が以下になります。
snapcrab_noname_2016-12-5_15-45-7_no-00

この例では、2列目の
02215F30,5f,c77,8,6000000,10,1,18,4,42,45,54C963396F784196
を用いります。

bwseedlistで検索

snapcrab_noname_2016-12-5_15-52-15_no-00

画像の用に初期seedや消費範囲を入力し、最終結果のみ出力にチェックを入れタマゴリストをクリックします。
出力されたリストをctrl+fで9788a7b9を検索しますと、

snapcrab_noname_2016-12-5_15-57-10_no-00

ありましたので、こちらの個体を孵化乱数して終わりです

検索結果に該当性格値がない場合

上記の例では、問題なく性格値0x9788a7b9の個体が見つかりましたが、
そうではない場合があります。
3列目の
02215F30,5f,c77,8,6000000,10,2,5,16,57,51,1B0AD862827809CE
を例に解説します。
(正直面倒な工程ですので、おとなしく検索結果が見つかる初期seedが見つかるまで検索した方が楽だと思われます)

こちらの初期seedを検索し、ctrl+Fで性格値を探すと、
snapcrab_noname_2016-12-5_16-10-21_no-00

このように見つからないときがあります。
その場合は、まず最終結果のみ出力のチェックを外して再度検索します。
snapcrab_noname_2016-12-5_16-24-44_no-00

ありました。
(ない場合はツールに入力してる数値のいずれかが間違っています)

個体値遺伝の仕組み

以下は最初の例の初期seedを最終結果のみ出力のチェックを外して検索した際のリストになります。
snapcrab_noname_2016-12-5_16-36-44_no-00
そして、最終結果のみに出力にチェックしてる場合の結果は以下の結果でした。
110,きまぐれ ,H-先,A-後,B-後,♂,特性1,9788A7B9,185,

ポケモンを孵化した際親の個体値から3つの個体値が子に遺伝されます。
そのプロセスについて、上記の例を持って解説します。

110消費され、ポケモンが生成される際、親から子へ遺伝される個体値のうち1つが決定されます。
上記例だと、H-先つまり先親のH個体値が遺伝されます。
次に2消費先で次に遺伝される個体値が決まります。
A-後ということで、後親のA個体値が遺伝されます。
最後の遺伝される個体値が決定される2消費先をみると、A-先とあります。
しかし、すでにA個体値は後親から遺伝されることが決まっているため、その箇所は無視し、さらに2消費先を参照します。
そして、B-後つまりB個体値が後親から遺伝されることが決まり、その列に記載されている性格値が消費110で生まれるポケモンの個体値になるわけです。

では、先程検索結果が出なかった
02215F30,5f,c77,8,6000000,10,2,5,16,57,51,1B0AD862827809CE
を見てみましょう。

snapcrab_noname_2016-12-10_7-51-47_no-00

性格値0x9788a7b9の個体が孵化されるには最後の遺伝箇所決定でD-後が決定させる必要があります。
遡ると、D-後の前にはB―先が決定されています。
しかし、さらに遡るとD-後とD個体値の遺伝親がすでに決定済みなのです。
これでは、79消費の列のD-後はスキップされ、次の遺伝箇所が参照されてします。

パワー系アイテムを使用した遺伝

対処法の前にパワー系アイテム(パワーレンズ、パワーリスト等)を使用した場合の遺伝がどうなるかを説明します。
例として、先親にパワーレンズ(C遺伝)を持たせたとして、
先程110消費で性格値0x9788a7b9が生成されたのを見ましょう。

snapcrab_noname_2016-12-10_9-13-39_no-00

同じく、110消費から見ていくと、まず1つ目にH-先が決まる前にパワーレンズの遺伝が決まります。
つまり、C-先が決定し、その後H-先が決まります。
そうして、3つ目の遺伝個体値であるA-後が決定され、性格値0x4F387BBAの個体が生まれてくるということになります。

パワー系アイテムを用いた対処法

snapcrab_noname_2016-12-10_7-51-47_no-00

先程の画像を見てみましょう。

消費77のB-先の前にある消費75のD-後、こいつがもしDまたはB以外の個体値を遺伝するのでしたら、
消費75で問題なく性格値0x9788a7b9が生まれてくるのが分かると思います。

では、どうすればいいのか、つまり消費77のB-先の前にD個体値の遺伝が決定してるのが問題なわけですので、
パワー系アイテムを用いて消費77のB-先の直前にBとD以外の個体値遺伝を確定させればいいのです。

つまり、この場合は、パワーウエイト(H) ・パワーリスト (A) ・パワーレンズ (C) ・パワーアンクル(S)のいずれかを親に持たせて、消費77で孵化させればいいということです。

というわけで、私が2年以上前に性格値0xDEADFACEのデスマス孵化乱数したよというツイートを埋め込んでこれにて
(パッチールなんていなかったんや、新規で乱数するのが面倒だったからこれで許して)

サブコンテンツ

このページの先頭へ