DQ3(FC版)
【バシルーラ】と【しあわせのくつ】を使用した裏技。後期ROMでは修正されており不可能。従ってWii版でも不可能な技である。
パーティの誰かが幸せの靴を装備している場合、移動中にレベルアップすることがあるが、その判定のメカニズムは以下の通り。
- 移動中に経験値の変動があった場合、あらかじめ読み込んでおいた経験値テーブル(次のレベルアップの必要経験値)と各メンバーの現在経験値を照らし合わせて、その経験値の差分が0以下になった時点でそのキャラがレベルアップ。
- その際、改めてパーティメンバー全員の経験値テーブルを並び順に従って読み込む。
ここで、使用される経験値テーブルは常時更新されているわけではなく、ゲーム開始時や戦闘終了時等の特定のタイミングで読み込まれるのだが、初期ロムの場合、戦闘終了時は戦闘に勝利して全員の経験値が表示されたときのみに読み込みが行われるため、下記の手順をとると1歩あるくだけで特定のキャラのレベルが上がるバグが生じる。
- パーティメンバーの誰かに幸せの靴を装備させる(誰でもよい)。
- レベルを上げたいキャラAと、キャラAの現在の経験値と比較して、次のレベルになるときの経験値が同じか低いキャラBを用意する。
- 並び変えでキャラAをキャラBのすぐ後に置く。
- 戦闘中にバシルーラでキャラBを飛ばし、その後敵から逃げる。
(倒したり消したり敵全部が逃げて戦闘終了たりしては駄目。ルーラによる戦闘離脱は可。) - 一歩歩くとキャラAがレベルアップする。
これはバシルーラで仲間キャラが飛ばされることで、「パーティの経験値テーブルがずれるバグ」を利用している。
つまり、キャラAの次のレベルになるときの経験値のデータがキャラBのものに置き換わってしまい、その結果キャラAの経験値がレベルアップする経験値に達したと判断されて、レベルが上がるというもの。
だがこのズレは戦闘に勝利して全員の経験値が表示されると修正されるため、上記の通り倒さずに逃げる必要がある。
なお、レベルアップ判定は後列キャラから順に実施され、1人がレベルアップした時点で経験値テーブルの再読み込みが行われるので、1人のキャラを1度に複数回レベルアップさせたり、2人以上を同時にレベルアップさせたりはできない。
また、移動中に並べ替えた場合も経験値テーブルの再読み込みが行われるので、ズレは解消される。
歩く前に幸せの靴を装備から外すとレベルアップを保留できるが、ズレを解消しないままもう一度装備すればやはり1歩でレベルアップする。
具体例を上げて解説すると、キャラBがレベル2の戦士であれば、レベル3になるための累積経験値は36である。
つまりキャラAはレベルに関係なく36(以上)の経験値を既に持っていればよい。
バシルーラで経験値テーブルがずれた後に1歩歩けばレベルアップ判定が行われ、キャラAの経験値は条件を満たしたと判定されてレベルアップする。
もちろん、レベルを上げたいキャラA本人に幸せの靴を装備させていた場合は、キャラAの現在の経験値がキャラBの次のレベルになるときの経験値よりも低かったとしても、歩き続けて経験値を稼ぎ、条件を満たせばレベルアップする。途中でエンカウントしても逃げ続ければ経験値テーブルはリセットされない。
この例ではキャラAの元の経験値が35なら当然1歩でレベルアップできるし、元の経験値が30なら6歩歩けばレベルアップできるわけである。
また、同じ原理により、幸せの靴を装備したキャラのレベルが上がるはずなのに上がらないというバグも起こりうる。
キャラAのさらに後ろにキャラCがいて、その現在経験値がキャラAの次のレベルになるときの経験値以上だった場合は、隊列がズレたときにキャラCがキャラAのいた位置におさまり、上述した通り先にキャラCのレベルが上がって経験値テーブルがリセットされ、キャラAのレベルは上がらない。
一見便利に見えるが、この裏技は「誰かが幸せの靴を装備していると移動中に経験値変動があってレベルアップ判定が行われる」仕様を利用しているため、幸せの靴が必須アイテムとなる。
幸せの靴を入手するころにはレベルは嫌でも上がるだろうからあまり意味のない技とも言える。
なおレベルは上がっても経験値は増えないので、この技を使ったキャラは次のレベルまで莫大な経験値が必要になる。
そのため一度使ったら一気にレベル99まで上げてしまった方がいいだろう。
経緯
DQ3のチーフプログラマーである【内藤寛】のYoutubeチャンネル内で、このバグと後期ロムにおける修正の経緯が語られた。
同番組に登場した【山名学】(戦闘プログラムを担当)によると、経験値テーブルのデータはかなり重く、高度に圧縮されていて読み込みに時間がかかるため、移動中に逐一読み出すわけにはいかず、戦闘終了時に読み出して「次のレベルまでの経験値」を計算する仕様になっていた。
しかし上記の通り、初期出荷ロムでは逃げた場合にはその経験値の計算が行われないため、戦闘中にパーティの順序がズレると訂正されないままになったとのこと。
後期ロムでは逃げた場合にも経験値テーブルを読みだして再計算するように修正されたことで解決した。
なお、移動中に並び方を変えた場合には「次のレベルまでの経験値」もちゃんと入れ替わるためこのバグは発生しない。
ちなみに戦闘中に意図しない並び順の変更が起これば、バシルーラ以外でも同様のことが起こる。
パルプンテによる方法
【パルプンテ】で並び順が変わったときは現在HPの順になるので、あらかじめキャラBがいた場所に、並び変わった後にキャラAが配置されるように、現在HPを考えて隊列順を調整しておけばよい。
並び方が変わる効果を出すこと自体に運が絡み、しかも目的のキャラを上げるために現在HPをうまく調整する必要があるため、バシルーラの方が確実な上に手間も少ない。
この方法は狙って起こすよりも、狙ってないときに偶然起こるパターンの方が多いかもしれない。
バシルーラと同様、後期ロムではこのバグは起こらない。
ランシールバグによる方法
【ランシールバグ】も利用できる。一例として【キャラクター増殖】で示した手順が応用できる。
先頭がキャラB、二人目がキャラAとなる。キャラAは、コピーするキャラと、コピーされて消えるはずのキャラとで、同じキャラを選ぶ形になる。危険なので冒険の書をコピーしておくことが推奨される。
あらかじめ冒険の書が異常な状態(バグ状態でのリセット再開)にしておくと、ランシールバグ時の2人パーティで戦闘が起こった際に、先頭のキャラBが死亡状態になることにより、戦闘終了後にキャラAが自動的に先頭にスライドして一人になることができるので、経験値テーブルのずれを起こせるというわけである。なお冒険の書が異常でない場合は普通に【自走式棺桶】状態になるだけであるため、必ず冒険の書を異常状態にしておく必要がある。
このランシールバグを使った方法の場合は、並び順が変わるタイミングが戦闘終了後であるため、必ずしも逃げる必要はなく、戦闘に勝ってもよいという特徴がある。