はじめに
金銀には、特定の手順を踏むとHPが異常な野生ポケモンが現れ、そのポケモンを倒すか捕まえると徘徊中のスイクンが消えるバグがあります[1][2]。このバグはクリスタルで修正されました。
この記事では、このバグを発生させる手順・バグの詳細・バグの回避方法について説明しています。
バグ発生手順
このバグを発生させる一例の手順を示します[1][2][3]。
準備
手順
- 徘徊ポケモン(種類は問わない)がいるマップに行く。
- Aを先頭にする。
- スプレーを使用する。
- スプレーが切れるまで草むらを歩き回る。
- スプレーが切れてからも草むらを歩き回り、野生ポケモンとエンカウントする。
- そのポケモンを倒すか捕まえるとスイクンが消える。
補足
手順5は徘徊ポケモンがいないマップで行っても構わない。
スイクンとエンカウント済みのデータでこの手順を行った場合、手順5でエンカウントするポケモンの現在HPはスイクンのものとなる。この場合、HPバーが最初から少なかったりはみ出していたりする。
スイクンが消えなかった・手順6で野生ポケモンから逃げた*1・野生ポケモンが逃げた場合は手順1からやり直す。
詳細
このバグが発生する原因は、スプレーで徘徊ポケモンとの戦闘をスキップすると、次にエンカウントするポケモンが徘徊ポケモンとの戦闘として扱われるためです。そのポケモンを倒すか捕まえると、徘徊ポケモンを倒すか捕まえたことになるため、徘徊ポケモンをマップ上から消す処理が行われます。このとき消えるポケモンは必ずスイクンになります。
以下に詳細を示します。
※詳細の情報源: [4]
前提知識
説明に必要な情報をここで示します。
- 戦闘タイプ(アドレス: D10Bh)
- 戦闘場面によって異なる値をとります。通常の戦闘では00h、徘徊ポケモンとの戦闘では05hになります。
- 徘徊ポケモンの情報(アドレス: DC90h~DCA4h)
- WRAM上に各徘徊ポケモンの情報を格納している領域があります。格納されている情報は、ポケモンの種類・レベル・生息地(2バイト)・現在HP・個体値(2バイト)です。徘徊ポケモンを解放した時点ではポケモンの種類・レベル・生息地のみ設定され、現在HPは0・個体値はオール0となります。
- この情報は3匹分あり、以下これらを「徘徊情報n (nは1~3)」と書くことにします。通常、徘徊情報1はライコウ、徘徊情報2はエンテイ、徘徊情報3はスイクンのものとなっています。
スプレーで徘徊ポケモンとの戦闘をスキップしたときに発生する現象
通常、徘徊ポケモンとエンカウントした場合は戦闘タイプが05hになって戦闘が始まり、戦闘終了後は戦闘タイプが00hに戻ります。
Aを先頭にしてスプレーを使用している最中に徘徊ポケモンと出会った場合、スプレーの効果により戦闘はスキップされますが、戦闘タイプは05hのままとなります。なお、クリスタルではこの場合に戦闘タイプが00hとなるように修正されました。
戦闘タイプが徘徊ポケモン(05h)の状態でエンカウントしたときの処理
戦闘タイプが05hの状態でエンカウントしたとき、個体値と現在HPは徘徊ポケモンの情報に格納されている値を使用します。ただし、徘徊ポケモンの情報の現在HPが0の場合は初遭遇とみなし、ランダムに生成された個体値とHPが使用され、その値を徘徊ポケモンの情報に書き込みます。
読み書きする徘徊ポケモンの情報は、エンカウントしたポケモンの種類によって以下のように決められます。
- 徘徊情報1と等しい: 徘徊情報1を読み書きする
- 徘徊情報1と等しくなく、徘徊情報2と等しい: 徘徊情報2を読み書きする
- 徘徊情報1・徘徊情報2のどちらとも等しくない: 徘徊情報3を読み書きする
徘徊バグ発生中にエンカウントしたポケモンはライコウでもエンテイでもないため、徘徊情報3が読み書きされます。徘徊情報3はスイクンのため、徘徊バグ発生中にエンカウントした野生ポケモンの個体値とHPはスイクンのものになります。このため、スイクンの現在HPがエンカウントした野生ポケモンと等しい場合を除いて、野生ポケモンのHPが最初から減った状態やHPバーを突き抜けるほど多いHPの状態で出現します。
ただし、徘徊バグを起こす前に一度もスイクンとエンカウントしていなかった場合、スイクンの個体値・HPは徘徊バグ発生中にエンカウントした野生ポケモンの個体値・HPになります。この場合、エンカウントしたポケモンを見て徘徊バグが発生しているかどうかの判断はできません。
戦闘タイプが徘徊ポケモン(05h)の状態で相手を倒すか捕まえたときに行われる処理
戦闘タイプが05hの状態で相手のポケモンを倒すか捕まえたとき、対応する徘徊ポケモンの情報を更新し、そのポケモンをマップ上から消す処理が行われます*2。更新される徘徊ポケモンの情報は、戦った相手のポケモンの種類によって以下のように決められます。
- 徘徊情報1と等しい: 徘徊情報1を更新する
- 徘徊情報1と等しくなく、徘徊情報2と等しい: 徘徊情報2を更新する
- 徘徊情報1・徘徊情報2のどちらとも等しくない: 徘徊情報3を更新する
徘徊バグ発生中に戦ったポケモンはライコウでもエンテイでもないため、徘徊情報3が更新されます。徘徊情報3はスイクンのため、徘徊バグが発生した場合はスイクンが消えます。
回避方法
以下の行動をすることによって、徘徊バグを回避することができます*3。
- スプレーの効果が切れたあと、草むらの最初の戦闘で逃げる(逃げられる・全滅させられるでも可)
※徘徊バグを起こす前に一度もスイクンとエンカウントしていなかった場合、スイクンの個体値・HPはこの戦闘でエンカウントしたポケモンのものになる - スプレーの効果が切れたあと、草むらのエンカウントの前に釣りか頭突きによる戦闘を行う
前者の方法は徘徊ポケモンをマップ上から消す条件を満たしていないため、後者の方法は戦闘タイプが05hではなくなるため*4、徘徊バグは発生しません。
参考文献
[1] ファイヤー使い友の会、X(旧Twitter)、https://x.com/146Moltres/status/1780088898938699864、2024年7月9日閲覧。
[2] nakayoshibaddi、金銀の小ネタ集(11/7更新) - nakayoshibaddi’s blog、https://nakayoshibaddi.hatenadiary.jp/entry/2017/10/07/003104、2024年7月9日閲覧。
[3] nakayoshibaddi、【ポケモン金銀VC】スイクンの消滅に気をつけろ! - YouTube、https://www.youtube.com/watch?v=nqGrJ3W8M30、2024年7月9日閲覧。
[4] 【GB/VC】ポケットモンスター 金銀クリスタル Part5 [無断転載禁止]©2ch.net - 5ちゃんねる掲示板、https://medaka.5ch.net/test/read.cgi/poke/1506418886 ※レス番570・777・794・894・933・950、2024年7月27日閲覧。
