道具のn番目でSELを押して、余計なことをせずに戦闘に入り、「たたかう」→SELまたは「ポケモン」→Aで、何らかのデータが入れ替わります。これがバグ技の基本です。このとき、技またはポケモンのn番目にカーソルが合わさっていることになっています。
その番号目のデータが目に見えるものなら、何も問題はないです。例えば、先頭のポケモンが技を4つ覚えていて、道具の2番目でSEL→「たたかう」→技の4番目でSEL、としたとしましょう(このとき、白いカーソルが技の2番目に合わさっている筈です)。こうすると、技の2番目と4番目がチェンジします。ただそれだけの話です。
データが目に見えない場合でも、原理は同じです。例えば、道具の7番目でSEL→「たたかう」→技の4番目でSEL、こうすると、技の4番目の情報と技の7番目の情報がチェンジします。ただそれだけの話。
とはいっても、技の7番目にどんな情報が格納されているか知りたいですよね?知りたいといってください。でないとこのページ要りません。
技の7番目には、経験値を65536*a+256*b+cという形で表したときのaの値が格納されています(以下、このaを経験値の上桁、bを中桁、cを下桁と呼びます)。どういうことか…具体的に説明しましょう。
ここに、現在の経験値が10万のポケモンがいたとします。この裏技をしたとき、消した技が仮に技番号19の「そらをとぶ」だったとします。
aの値とその技の技番号(技がどの技かを見分ける番号のようなものです)が交換されるので、消した技の技番号はもともとのaの値…1になり、その技は技番号1の「はたく」になります。
そして、aの値は19になります。ところで、経験値は「65536*a+256*b*c」の形で表すので、このポケモンの経験値は、
65536*19+256*b+c=120万〜130万ぐらいなので、問答無用でレベル100になります。
通常プレイでの技番号の平均は80ぐらいなので、技を適当に選んでやっても大抵はレベル100になります。故に、原理を知らない人たちはこれを「レベル100の裏技」などと呼んでいるようですが、、勿論、レベル100にならないこともあるのも明らかです。
ここで、技の1番目に格納されているデータのアドレスをx+1と表すことにします。x+nに格納されているデータ(以後、x[n]と表記)は、nの値によって以下のように変化します。
nの値 | 情報 |
---|---|
1~4 | 技1〜4番目の技番号 |
5 | そのポケモンのID/256の商 |
6 | ↑の余り |
7 | 前述したaの値 |
8 | bの値 |
9 | cの値 |
10 | HPの努力値(0~255) |
12 | 攻撃の努力値 |
14 | 防御の努力値 |
16 | 素早さの努力値 |
18 | 特殊の努力値 |
20 | 個体値(HP?、攻撃、防御) |
21 | 個体値(HP?、素早さ、特殊) |
実は、道具のn番目でSEL→「たたかう」の説明は、これで十分です。が…これだけだと少しサミシイので、これを利用した技を3でいくつか紹介しておきます。