FF3(FC) バグジョブによる熟練度変換


§0、バグジョブによる熟練度変換とは

アイテム99個バグやアイテム欄32超えバグによって、
通常はなれないジョブ(バグジョブ)に変化することができる。

バグジョブの影響として、戦闘開始時のフリーズや、コマンド選択時の影響、
メニュー画面やステータスを見たときの影響などがあるが、ここでは取り上げない。

ここではメニューでジョブ選択を見たときに起こる現象を取り上げる。


§1、基礎知識

§1−1、熟練度とその周辺データの構造

ステータス上の現在の熟練度とは別に各ジョブの熟練度のデータが存在する。
各ジョブの熟練度データは、玉ねぎ剣士から順に、熟練度、熟練度経験値の順に並んでいる。
熟練度経験値とは、戦闘中にコマンドを選択することで戦闘勝利時に加算されるもので、
100以上になると熟練度がアップし、0に戻る。
熟練度が既に99以上の場合も加算され、100以上になると0に戻る。
その後には4バイト分の用途不明データがあり、
さらにその後には次のキャラの装備データ、魔法データと続いている。

以下は、一番目のキャラの玉ねぎ剣士の熟練度を記録したメモリを0番地とした場合の
データの内容である。

番地:内容
 0:玉ねぎ剣士の熟練度
 1:玉ねぎ剣士の熟練度経験値
 (中略)
 43:忍者の熟練度経験値
44-47:不明
---以下2番目キャラのデータ
 48:頭装備
 49:体装備
 50:腕装備
 51:右手装備
 52:右手個数
 53:左手装備
 54:左手個数
 55:レベル1魔法
 (中略)
 62:レベル8魔法
 63:隊列?
 64:玉ねぎ剣士の熟練度
 65:玉ねぎ剣士の熟練度経験値
 (中略)
107:忍者の熟練度経験値
108-111:不明
---
112-175:3番目のキャラのデータ
176-239:4番目のキャラのデータ
---
240:デブチョコボの空欄の数?
241:デブチョコボのカイザーナックルの数
 (中略)
255:デブチョコボの燃える杖の数
...


§1−2、ジョブ選択画面を出した時の処理

メニューでジョブを選択しキャラを選び、ジョブ一覧が表示されると
現在の熟練度を、現ジョブの熟練度に書き込む処理が行われる。
具体的には、1番目のキャラならジョブIDを2倍し、
先頭キャラは0、2番目は64、3番目は128、4番目は196をさらに加えた番地に、
熟練度を書き込み、その次の番地に熟練度経験値を書き込む。

ジョブ選択画面を見ずにバグによるジョブ変化を行った場合は、
前のジョブの熟練度が反映されないことになる。


§2 バグジョブ熟練度変換

バグジョブの場合も、ジョブ選択画面を見ることで対応する番地のデータが
現在の熟練度のもの変わる。
その場合、キャラの熟練度データを越えた場所のデータを変更することになる。
ただし、256番地を越えてデータ改変は行えない。
先頭キャラの場合は、0番地に戻るだけだが、他のキャラの場合は若干異なる。
詳細は不明だが、自分より前のキャラのデータには干渉できない様子。

また、バグジョブによっては、メニューを開いただけでフリーズするものもあるので、
注意が必要。


§2−1 他キャラ熟練度変化

IDが32のバグジョブでジョブ選択をすると、次のキャラの玉ねぎ剣士の熟練度が変化する。
IDが33なら戦士が、IDが64ならさらに次のキャラの玉ねぎ剣士が…、
というように対応する。
バグによるジョブ変化では、現在の熟練度は維持されるので、
複数人のジョブの熟練度を比較的容易に上げることができる。
アイテム関連のバグでは変更できない、4人目の熟練度も変えることができるのが特徴。


§2−2 装備変化

IDが24のバグジョブでジョブ選択をすると、
次のキャラの頭装備と体装備が変化する。
熟練度や熟練度経験値を調整することで、欲しいをアイテムを装備することが可能。
アイテム生成法として使える。

同様にIDが25のバグジョブでジョブ選択をすると、
次のキャラの腕装備と右手装備が変化する。
元々右手に何も装備していない場合、0個を装備することになり、
持っていないアイテムの場合、外すと、アイテム欄に0個のアイテムが発生する。
これを一個売ったり装備すれば255個になる。
アイテム増殖法として使える。

本来装備品でないものを装備できるが、
アイテムごとに性能が決まっているようだ。

さらに、IDが26のバグジョブでジョブ選択をすると、
次のキャラの右手装備個数と左手装備が変化する。
熟練度が1なら右手装備の個数が0となり、先ほどと同様に255個にすることができる。
0個の手裏剣や矢は一度攻撃すると255個になるので、
いちいち装備変更しなくても攻撃を続けられる。


§2−3 魔法変化

IDが28のバグジョブでジョブ選択をすると、
次のキャラのレベル2と3の魔法が変化する。
習得魔法はビットで管理されていて、
数値にして、アイテムIDの小さい順(黒→白→召喚、魔法欄で左→右の順)で
1,2,4,8,16,32,64に対応する。
4つ以上該当する場合は、IDの小さいもの2つと、一番大きいものの3つになる。
例えば、熟練度95なら、レベル2の魔法が、サンダー、ポイズン、アイスンになる。

他のレベルの魔法もジョブ次第で変更できる。
熟練度が偶数レベル、熟練度経験値が奇数レベルの魔法に相当する。


§2−4 装備消費アイテム

装備変化で消費アイテムを手に装備すると、
戦闘中、手のアイテムを消費せずに使用できる。
代わりに、アイテム欄の同アイテムが消費される。
アイテム欄に存在しない場合は、アイテム消費バグが起こる。

手に消費アイテムを装備するには、
アイテム99個バグで熟練度経験値をアイテムIDにするのが一番簡単な方法。


§2−5 デブチョコボアイテム数変化

IDが120から127までのバグジョブでジョブ選択をすると、
デブチョコボ内のアイテム数が変化する。
ただし、変化させることができるのはIDが15までのアイテムのみ。


§3 まとめ

バグジョブによる熟練度変換で可能なことは以下の通り。

・他人の熟練度変更
・アイテム生成&装備品変更
・武器盾増殖
・魔法生成
・デブチョコボアイテム数変化

いずれも、元々のデータは破棄されるので、
うっかり大事なものを消してしまわないように注意。

また、バグジョブによっては
生存時にフリーズしたり、メニューを開くだけでフリーズするなど、
危険なものもあるので注意。