サガフロンティア2のデータベースです。細かい設定などについてはアルティマニアの購入を推奨します。当wikiでは便利なデータ情報やアルティマニアに載ってない情報を取り扱っていきます。


メモリマップ

RAM領域にあるデータで、とりわけ最近発見されたアイテム欄の、アドレス参照の異常によるバグに関連ありそうな部分のまとめ。
ここに書かれている情報は、多くの方々の発見や検証に基づき調査して、プロセスエディタに出力された結果を書き写したもの。
(大変お世話になっているメモリエディタcep)
現在も大部分が不明で、解析内容には不明瞭な情報・間違っている情報が含まれる可能性も多々ありますので、そのような点を発見されましたら修正していただけると助かります。

アイテムや技・術のコード等のデータはこちらから。
アドレスデータ補足
009010乱数のSeed戦闘以外では時間、戦闘中は戦闘開始直前の時間を初期Seedとして毎フレーム進む。

記録されるデータ領域 010000〜

これらのデータはセーブやクイックセーブで保存される。
アドレスデータ補足
010008パーティの人数メインパーティの人数
010009主人公
01000A連携履歴のお気に入り境界バーの一番上〜一番下は0x01〜0x07に該当
01000Bカスタムアーツ履歴のお気に入り境界バーの一番上〜一番下は0x01〜0x07に該当
01000C〜010013パーティメンバー8人分 空欄はFFで埋まる
010014〜01001B敵の学習レベルビットフラグで管理
全64ビットだが初期状態で0100014の0x01のフラグしかなく、技・術のデータにも18種類しか存在しない
敵の学習フラグの判定は、全員分のコマンドを入力し終わった時点で行われるので、実際に行動しなかったとしても、敵の学習レベルは上がる可能性がある
全てのフラグが無い場合、クリア後の敵の学習レベルは1/22と表示され、
初めからある0100014の0x01フラグと合わせて、敵の学習レベルの最低値は2/22になる

詳細

01001C〜01003Bカスタムアーツ履歴1コマンドが1バイトで、カスタムアーツ1つにつき4バイトで8枠分
01003C〜01005B技術修得フラグビットフラグで管理 全部で256ビットで技・術のコード100〜1FFまでが対象

詳細

01005C〜01009B連携履歴アーツ1つが2バイトで、1つの連携データが8バイト×8枠
01009C〜01011Bアイテム欄64枠用意され、1つのデータがアイテムコード1バイト・耐久度1バイトの計2バイトで構成されている

データの内訳

01013C〜キーコンフィグシステムコンフィグのキー設定
変更できるのは1バイト分のみ。データ内には2バイトのキー判定にも対応しており、これは方向キーなどに対応している

対応フラグ

01013C80キャンセル・ダッシュ
01013E81決定
01014082パーティーステータス
01014283キャラクターステータス
01014484武具装備メニュー
01014685技装備メニュー
01014A87セーブ
01014C88バトルスタイル
01014E89プレイヤーノート
01015090システムコンフィグ
01015291アイテム
01015492ヘルプ・クイックセーブ
01015A95サイドチェンジ
01015C96バトルステータス
ここからはコンフィグで弄れない
01015E97上(通常↑キーで行う操作全て)
01016098下(通常↓キーで行う操作全て)
01016299左(通常←キーで行う操作全て)
010164100右(通常→キーで行う操作全て)
010166101コンフィグコンフィグの各項がビットフラグで管理されている
0x01 サウンド モノラル
0x08 振動ON・OFF ON
0x10 呼出しヘルプ OFF
010167101画面位置調整 X−8〜+8は内部的には0xF8〜0x08に相当
010168102画面位置調整 Y上に同じ
010169102アクティブウィンドウの色彩? 赤初期値0x1E(30)
01016A103アクティブウィンドウの色彩? 緑初期値0x1B(27)
01016B103アクティブウィンドウの色彩? 青初期値0x17(23)
01016D104主人公の状態?コンバットの結果?0x01 メインパーティーに主人公不在で戦闘終了orコンバットHP割合で敗北時(ネーベルスタン退却時2歩後退)
0x02 主人公のHPかLPが0で戦闘終了(ネーベルスタン退却時3歩後退)
01016E105???0x80 コンバットで戦闘中(戦闘後0x00に戻る)
010170106☐ボタンで表示されないメニューキーコンフィグで☐ボタンが割当てられていて、このフラグが立っていないことが表示される条件
0x40 クイックセーブ
0x20 アイテム
0x10 システムコンフィグ
0x08 プレイヤーノート
0x04 バトルスタイル
0x02 セーブ
0x01 ロード(最初からこのフラグだけある)
0101711060x80 技装備
0x40 武具装備
0x20 キャラクターステータス
0x10 パーティステータス
010172107このアドレスの数値が0x00以外の時にメニューを閉じるとアイテムの使用メッセージXXを使った。と出る
XXはアイテムコードに対応したアイテム名 再度メニューを開くと0x00に戻る
0101731070x20 宝箱でとっておくを選択
0x00 宝箱でいらないを選択
宝箱を開けると0x00にリセットされるが、ハンの廃墟のクヴェルでは変動しない
010174108年表を開いている時は、そのページの番号になっていた
0101751080x20 鉱山にて(1251年) 足が挟まってた人を助けてお礼に砂龍の杖を貰う
0x10 鉱山にて(1251年) 錯乱していた人を助けてお礼に2,000CRを貰う
0x08 鉱山にて(1251年) 足場の陰に隠れていた人を助けてお礼に300チップを貰う
010177109鉱山にて(1251年) マップを切り替える、人を助ける、宝を取る度に1加算
20(0x14)になった時点でゲームオーバー
010178110ウィルの旅立ち 0x80 マスターかナルセスに話し掛けてコーデリアが入ってきた時にフラグ
酒場を出ると0x00に戻る
010179110マップを切り替える度にランダムに変動
何に関連しているのか不明
01017B111選択肢の出るメッセージウィンドウで変動する
0x01 上から1つ目を選択
0x02 上から2つ目を選択
0xFF 選択をキャンセルしてウィンドウを閉じる
ショップ、修理、処分、装備回収でもキャンセル後0xFFになる
01017E113クリア回数(初期値0、クリアする度に+1、255以降は変化なし)
0の状態でクリアしてセーブすると「クリアデータ」になる。
1〜255でクリアしてセーブすると「クリアデータ2」になる。
010180114初期値0x00 現在使用目的不明
010181114初期値0x01 現在使用目的不明
010182115初期値0x00 現在使用目的不明
010183115初期値0x02 現在使用目的不明
010184〜010187仲間になった事がある人装備回収できるキャラのビットフラグ
フラグが立つタイミングは、シナリオ開始時にいるか加入した時

詳細

01018cタイトル画面のカウントタイトル画面でNEW GAMEの表示が出た瞬間に0x29になり、120フレーム毎に1ずつ減少。
0x00になったらデモムービーが流れる。
01019C〜0101A3年表ビットフラグで管理 シナリオを進めると徐々にフラグが立っていく

詳細

0101AC〜パーティ加入フラグそのシナリオでパーティに加入するキャラのフラグ
シナリオ開始時にパーティいない、又はいない場合が存在するキャラのみが対象

詳細

0101CC〜0101EB修得技術(クリア時)エンディングの修得技術一覧が表示されるときに01003C〜01005Bのフラグが書き込まれる
0101EC〜01022Fシナリオフラグフラグが2バイトに亘るシナリオは1のみ共通フラグの対象
町シナリオの出現条件などで参照される場合、0x00、0x01、0x02以外の数値になっているとクリア済として扱われる
バグを活用するならJPを調整してアドレス偶数ならアイテムコード0x02のキノコ、奇数なら耐久度2のアイテムを埋め込む事でそのシナリオが出せる。

詳細

01026C232シナリオクリア数シナリオをクリアした数が書き込まれる
町シナリオは含まない
全く同じシナリオをクリアしてもカウントされるが、0xFFになるともう加算されない
01026D〜(01036B)232〜(359)クリアしたシナリオのコード01026C+加算後のシナリオクリア数のアドレスに、クリアしたシナリオのコードを書き込む
装備のJP参照バグによって、シナリオクリア数を弄れば狙ったアドレスにシナリオクリア時のコードを入れることが出来るが、
シナリオクリア数が0xFF(255)になると、シナリオコードは書き込まれない
本来想定されてない数値までシナリオクリア数を伸ばせるため、宝箱等のフラグの範囲と被ってしまうが、
これによってJPを成長させなくてもバグらせることが出来るメモリ領域が増える

シナリオコード

?〜?宝箱等のフラグ現在どこまでの範囲かは不明分かってるとこだけ 取るとフラグが立つ
モンスターの場合フラグを消すと再戦可能

詳細

0103AC〜0103AF392
393
時間1加算されるのに 1/60sec
0103B4〜0103B5396戦闘場面モンスターとの戦闘前にコードが書き込まれ戦闘後も残る。
0103B6397乱数補正値戦闘後もここに書き込まれて記録される
この数値をバグによって書き換えた場合、最大255(成功率+25%相当)の補正値が戦闘時に有効となる
判定失敗で上限の100、閃きの場合0になるが、補正値255の場合は1度合成や成長に成功しても、127で上限を超えたまま
0103B7397???ゲーム開始時からずっと0x08のまま
何に使われているのか不明
0103B8〜0103BB398
399
所持ロール全32ビット

詳細

0103BC400マップ上での動作モンスターとの戦闘前に状態が書き込まれ戦闘後も残る。
0x00 歩行or停止
0x01 ダッシュ
0103BE401主人公の向きモンスターとの戦闘前に状態が書き込まれ戦闘後も残る。コンバットでは常に0x00下向き
0x00 下
0x01 左下
0x02 左
0x03 左上
0x04 上
0x05 右上
0x06 右
0x07 右下
0103BF401敵の向きモンスターとの戦闘前に状態が書き込まれ戦闘後も残る。コンバットでは向かってきた方向に等しい
向きに対応する数値は主人公と同じ
0103C0〜0103D3402
〜411
主人公名(文字コード)最大10文字。1文字につき2バイトの文字コードを使用している
0103D4〜0103D7412
413
所持チップ
0103D8〜0103DB414
415
チップ流通量
0103DC〜0103DD416現在の年
0103DE417戦闘BGMモンスターのいるマップに入ったり戦闘が起こる場所に行くと書き換えられる
曲のコードが書き込まれるがシナリオ選択画面や非戦闘マップでは0x0F Feldschlacht Iが標準となっている
状況によってはバグってフリーズするので注意
0103DF417戦闘をまたいで参照されるデータエッグの形態撃破フラグやコンバットの両軍の戦死者、メガリスビーストの残りHP等
0103E0418戦闘勝利時のBGM0103DEの戦闘BGMと同じく曲のコードが書き込まれるが、こちらは書き込まれるタイミングがシナリオ開始時
よくバグるので注意
010400〜キャラクターのステータス1人分のデータが0x70
バグについては現状の最大JP理論上限は430で届く
アドレスは0103F8までなので有効範囲には及ばない

キャラの並びは以下の通り

データの内訳

013000〜

01300Aフィールドの彩度(赤)標準は0x80、メニューを開いている時0x40
01300Bフィールドの彩度(緑)標準は0x80、メニューを開いている時0x40
01300Cフィールドの彩度(青)標準は0x80、メニューを開いている時0x40
01309A主人公の彩度(赤)標準は0x80
01309B主人公の彩度(緑)標準は0x80
01309C主人公の彩度(青)標準は0x80

戦闘場面データ 0ED000〜

ROMのSCENA.BINというファイルに0x1000区切りで格納されているデータが戦闘前に読み込まれる。
モンスターのデータを始め、戦闘時の様々なパラメータの参照元となる。

戦闘時のRAM領域 1F1770〜1FA54B

戦闘開始時に1度、アドレス1F1770から0x8DDC分のメモリ領域がクリア(全て0x00になる)され、それから戦闘中のパラメータが書き込まれていく。
1F1764エンカウントパターン16パターンあり、0x00〜0x0Fで1〜16
1F1768配置パターン8パターンあり、0x00〜0x07で1〜8
1F1770戦闘での様々なフラグ4バイトで管理 まだほとんど分かっていない
0x00000001 キー入力受付
0x00000008 ポーズ中
0x00008000 この戦闘では閃き不可能(コンバット等)
1F177Cフレームカウンタコマンド入力終了時や敵の行動に切り替わった時などにリセット
1F1780経過ターン数1ターン目は0
1F4C00〜戦闘時のキャラクターのパラメータデータサイズは0x1F0 味方隊列1〜4→敵隊列1〜4の順に並んでいる
アドレス右の数字はオフセットアドレス
1F4C00000キャラクターの状態フラグ0x00000001:存在フラグ
0x00000002:グラフィック表示フラグ
0x00000040:昏睡(LP0)フラグ
0x00000200:武器欄1の武器使用
0x00000400:武器欄2の武器使用
0x00020000:身を守る状態
0x00200000:無敵フラグ(HPが0にならない)
0x00400000:回避技使用可能フラグ(敵はこのフラグが無いとディフレクトを出せない)
1F4C12012使用武器フラグ0x0001:武器欄1
0x0002:武器欄2
0xFFFF:使用武器無し
1F4C4C04CX座標位置
1F4C4E04EZ座標位置
1F4C50050Y座標位置
1F4D08〜1F4D1B0108名前最大10文字。1文字につき2バイトの文字コードで格納されている
1F4D1C11Cキャラ名そのキャラクター名のコードが格納されている
1F4D1D11Dキャラグラフィックそのキャラクターのコードが格納されている
1F4D1E11Eグラフィック?
1F4D1F11Fグラフィック?
1F4D20120性別と種族属性
1F4D21121防具装備部位フラグ0x01体術? 0x02戦闘中使用不可 0x04ツール 0x08装飾 0x10足 0x20腕 0x40頭 0x80体
1F4D22122???
1F4D23123キャラのコード敵の場合データが何番目に格納されているか
1F4D24124所持CR
1F4D28128現在HP
1F4D2C12C最大HP
1F4D30130現在LP
1F4D32132最大LP
1F4D34134お気に入り境界
1F4D36136アイテムのJP増加補正合計
1F4D38138現在の残存WP
1F4D3A13A戦闘開始時の残存WP
1F4D3C13C現在の最大WP
1F4D3E13E戦闘開始時の最大WP
1F4D40140WP減少補正
1F4D42142回復WP
1F4D44144現在の残存JP
1F4D46146戦闘開始時の残存JP
1F4D48148現在の最大JP
1F4D4A14A戦闘開始時の最大JP
1F4D4C14CJP減少補正
1F4D4E14E回復JP
1F4D50150状態異常フラグ0x00000001:行動不能
0x00000002:スタン
0x00000004:強制対象変更
0x00000020:瀕死
0x00000040:戦闘不能
0x00000080:昏睡
0x00000100:眠り
0x00000200:眠り(ナイトメア)
0x00000400:眠り?
0x00000800:マヒ
0x00004000:毒
0x00008000:石化
0x00010000:恐怖
0x00020000:混乱
0x00040000:魅了
0x00080000:狂戦士
0x01000000:リヴァイヴァ
0x02000000:凍結
0x08000000:再生
0x20000000:ガードビースト
1F4D54154肉体的ステータス異常値マヒ、眠りの深さ 異常に掛かった時に100になる
1F4D55155精神的ステータス異常値精神の異常の深さ 異常に掛かった時に100になる
1F4D58158Morale
1f4D5A15APsycho
1f4D5C15CQuick
1F4D60160Quick(1ターン)
1F4D62162Morale(1ターン)
1F4D64164Psycho(1ターン)
1f4D68168Weapon1
1f4D6A16AWeapon2
1F4D6C16CDefence
1F4D6E16EMagic
1F4D72172戦闘時使用技系統フラグ02:体術
04:剣
08:斧
10:杖
20:槍
40:弓
1F4D73173戦闘時使用術系統フラグ01:樹
02:石
04:炎
08:水
10:音
20:獣
1F4D74174未分類の技Lvためるや身を守る等
1F4D75175体術Lv
1F4D76176剣Lv
1F4D77177斧Lv
1F4D78178杖Lv
1F4D79179槍Lv
1F4D7A17A弓Lv
1F4D7B17B未使用の技Lv
1F4D7C17C樹Lv
1F4D7D17D石Lv
1F4D7E17E炎Lv
1F4D7F17F水Lv
1F4D80180音Lv
1F4D81181獣Lv
1F4D82182未解明の術Lv
1F4D83183未使用の術Lv
1F4D94194武器欄
1F4D95195武器欄耐久
1F4D96196武器盾欄
1F4D97197武器盾耐久
1F4D98198防具1
1F4D99199防具1耐久
1F4D9A19A防具2
1F4D9B19B防具2耐久
1F4D9C19C防具3
1F4D9D19D防具3耐久
1F4D9E19E防具4
1F4D9F19F防具4耐久
1F4DA01A0体術装備欄
1F4DA11A1体術装備耐久
1F4DA21A2空装備欄?
1F4DA31A3空装備欄耐久?
1F4DA41A4地形1
1F4DA51A5地形1耐久
1F4DA61A6地形2
1F4DA71A7地形2耐久
1F4DB21B2地形8
1F4DB31B3地形8耐久
1F4DC41C4装備技術1
1F4DC61C6装備技術2
1F4DC81C8装備技術3
1F4DCA1CA装備技術4
1F4DCC1CC装備技術5
1F4DCE1CE装備技術6
1F4DD01D0装備技術7
1F4DD21D2装備技術8
1F4DD41D4斬防術力増強補正を含まない値。以下同
1F4DD51D5打防
1F4DD61D6射防
1F4DD71D7熱防
1F4DD81D8冷防
1F4DD91D9電防
1F4DDA1DA光防
1F4DDB1DB状防
1F4DDC1DC術力増強?と無効特性0x00〜0x07 術力増強?良く分かってない
0x08凝視 0x10音波 0x20水 (0x40有翼) 0x80地上
1F4DDE1DE賢さパーティメンバーは全員100(0x64)
1F4DDF1DFステータス耐性
1F4DE01E0ロール
1F4DE11E1行動順0x01〜0x04 0x00で自己最速
1F4DE21E2体勢0x00:無 0x01:備え 0x02:不動 0x03:接近 0x04:離脱(デュエル限定)
1F4DE31E3装備武器(グラフィック)
1F4DE41E4アニマ使用可能フラグ
フラグがあると0x80、ない場合0x00
1F4DE51E5
1F4DE61E6
1F4DE71E7
1F4DE81E8
1F4DE91E9
1F4DEC1EC行動パターンの先頭アドレス敵の行動テーブルの開始アドレス
1F6494このターンの全体の行動数回避技・時間差発動技も含まれるが、「身を守る」「つめ寄る」は含まれない
ターン終了時の処理にも使われる
1F6498このターンの経過行動数誰かが行動するたびに加算される
以下、1回分の行動のパラメータ データサイズは0x388
速度決定後に先に行動するものから順に並び替えられる。
アドレス右の数字はオフセットアドレス
1F649C0000行動の識別フラグ0x0001:カウンター?
0x0002:連携の後続
0x0004:閃き
0x0008:アーツ合成
0x0010:カスタムアーツ
0x0020:回避不可?
0x0040:回避技
0x0080:反応射撃
0x0200:Timely Action(味方)
0x0400:Timely Action(敵)
0x0800:相抜け
1F649E0002行動に関わる人数行動する者と対象の合計の数
1F64A00004行動するキャラの隊列味方は0〜3、敵は4〜7
1F64A20006使用技術
1F64A40008使用アイテムアイテムコード
1F64A6000A相抜け回数?
1F64A8000C使用武器の装備部位0x0000:武器欄1
0x0001:武器欄2
0xFFFF:武器欄のアイテムを使わない
1F64AA000Eデュエルの速度補正
1F64AC0010連携元の行動の順番
1F64AE0012連携時の対象の隊列
1F64B00014対象の隊列0x0010:味方全体フラグ
0x0020敵全体フラグ
0x0040それ以外の範囲攻撃フラグ
1F64B20016使用コマンド数
1F64B30017カスタムアーツの種類0x01:高速
0x02:最速
0x03:反撃
0x04:不動
1F64B40018???
1F64B8001C技の消費WP
1F64BA001E技・術の消費JP
1F64BC0020技・術の使用者使用者の隊列が格納される
1F64BE0022技・術の対象対象の隊列が格納される
1F64C00024他の連携したキャラと対象連携に関っている全てのキャラの隊列が書き込まれる
1F64D00034対象へ与える効果のフラグチェック項目自分→対象の順で、対象が複数の場合隊列順に個別に格納される(4バイト)
0x00000001:HP変動
0x00000002:LP変動
0x00000004:WP変動
0x00000008:JP変動
0x00000010:状態異常変動
0x00000020:能力値低下(固定の数値)
0x00000040:回復
0x00000100:ガードビースト発動
0x00000200:ミス
0x00000400:状態異常、能力値変化付加
0x00002080:盾発動
0x00008000:種族属性特
0x00010000:一撃必殺
0x00100000:固定能力値変化フラグ
0x00200000:変動能力値変化フラグ
0x02000000:体勢(デュエル限定)
0x08000000:耐性あり(水、音波、地上、凝視)
1F64F8005C変動HP量自分→対象の順で、対象が複数の場合隊列順に個別に格納される(4バイト)
連携時の個別のダメージもこのアドレスを調べれば分かる
1F65200084変動LP量自分→対象の順で、対象が複数の場合隊列順に個別に格納される(2バイト)
1F65340098変動WP量自分→対象の順で、対象が複数の場合隊列順に個別に格納される(2バイト)
1F654800AC変動JP量自分→対象の順で、対象が複数の場合隊列順に個別に格納される(2バイト)
1F655C00C0状態異常付与フラグ自分→対象の順で、対象が複数の場合隊列順に個別に格納される(4バイト)
0x00000002:スタン
0x00000004:強制対象変更
0x00000100:眠り
0x00000200:眠り(ナイトメア)
0x00000800:マヒ
0x00004000:毒
0x00010000:恐怖
0x00020000:混乱
0x00040000:魅了
0x00080000:狂戦士
0x01000000:リヴァイヴァ
0x02000000:凍結
0x08000000:再生
0x20000000:ガードビースト
1F658400E8変動能力値変化量自分→対象の順で、対象が複数の場合隊列順に個別に格納される(8バイト)
XXXXYYYYZZZZ0000というように各能力値2バイトで管理されている
XXXX:Morale変化量
YYYY:Psycho変化量
ZZZZ:Quick変化量
1F65D40138変動能力値(1ターン継続)変化量デュエルで使用するコマンドのターン終了までの効果の能力値変化のフラグ
自分→対象の順で、対象が複数の場合隊列順に個別に格納される(8バイト)
〜XXXXYYYYZZZZ0000
XXXX:Quick(1ターン)変化量
YYYY:Morale(1ターン)変化量
ZZZZ:Psycho(1ターン)変化量
1F66240188固定能力値変化量自分→対象の順で、対象が複数の場合隊列順に個別に格納される(8バイト)
XXXXYYYYZZZZzzzz
XXXX:Weapon1変化量
YYYY:Weapon2変化量
ZZZZ:Defence変化量
zzzz:Magic変化量
1F667401D8自分の体勢0x00:無 0x01:備え 0x02:不動 0x03:接近 0x04:離脱(デュエル限定)
1F667501D9対象の体勢(デュエル限定)
1F668001E4計算後の現在HP自分→対象の順で、対象が複数の場合隊列順に個別に格納される(4バイト)
このアドレスに格納された時点では上限下限の切捨てが行われない以下のパラメータも同じ
1F66A8020C計算後の現在LP自分→対象の順で、対象が複数の場合隊列順に個別に格納される(2バイト)
1F66BC0220計算後の現在WP自分→対象の順で、対象が複数の場合隊列順に個別に格納される(2バイト)
1F66D00234計算後の現在JP自分→対象の順で、対象が複数の場合隊列順に個別に格納される(2バイト)
1F66E40248判定後の状態異常自分→対象の順で、対象が複数の場合隊列順に個別に格納される(4バイト)
1F670C0270計算後の変動能力値自分→対象の順で、対象が複数の場合隊列順に個別に格納される(8バイト)
1F675C02C0計算後の変動能力値(1ターン継続)自分→対象の順で、対象が複数の場合隊列順に個別に格納される(8バイト)
1F67AC0310計算後の固定能力値自分→対象の順で、対象が複数の場合隊列順に個別に格納される(8バイト)
1F67FC0360自分の体勢(デュエル限定)
1F67FD0361対象の体勢(デュエル限定)
1F6808036Cエフェクトの何かアドレス0x1E9A48〜の数値 よくわかってない
1F68100374使用コマンド数(デュエル限定)
1F68140378コマンド毎の使用技・術最大4コマンド分(1バイト)(デュエル限定)
1F6818037Cコマンド毎の使用アイテム装備位置最大4コマンド分(2バイト)(デュエル限定)
0x0000〜0x0001:武器欄1、2
0x0002〜0x0005:防具欄1〜4
0x0006:体術武器欄
0x0008〜0x000F:フィールドアイテム
1F68200384カスタムアーツ接尾語0x0001:セピア 0x0002:ブライト 0x0003:シェイディ(デュエル限定)
1F9EAC〜1F9ECB戦闘時の技術修得フラグ01003C〜01005Bの技術修得フラグが戦闘前に読み込まれ、戦闘中に該当技・術を閃き、合成、学習するとフラグが立つ。
戦闘後に01003C〜01005Bに書込まれる。
1F9ED0交渉手段のコード01:敗走する 02:逃走する 03:見逃してもらう 04:退却する 05:停戦交渉 06:去る 07:追い払う 08:見逃す
1F9ED4交渉手段のテーブル戦闘データ別に設定されている4つのテーブルの上から何番目か
1F9ED8先制補正4バイト 1ターン目、交渉失敗時に変動する 1ターン目に交渉失敗した場合重複する
1F9EFC戦闘中の乱数補正値0103B6の値が戦闘前に読み込まれ、戦闘中の行動によってこのアドレスの値が増減する。
戦闘後に最終的な値が0103B6に書込まれる。
1F9F300x80エッグ第1形態撃破フラグこのフラグがないと5ターン毎の形態変化を起こさない
0x40エッグ最終形態移行フラグ最終形態になるとこのフラグが立つ
このフラグがあることでエッグを倒して戦闘終了になる
0x20
0x10
0x08エッグ樹形態フラグ樹形態に変化する事が決定すると、このフラグが立つ。
この状態で樹形態を倒すことで、0103DFの0x80の樹形態撃破フラグが立つ
何故か第1形態撃破後にもこのフラグを立てる処理があり、
もし形態変化で樹形態が選ばれると、現在の形態が樹形態であると見なされ、樹形態のデータが読み込まれない。
そのままターン終了前の状態確認の処理に移り、樹形態が戦闘不能になったと見なされ、
樹形態撃破フラグが立つ。これが形態スキップバグの原因。
0x04エッグ石形態フラグ石形態に変化する事が決定すると、このフラグが立つ。
この状態で石形態を倒すことで、0103DFの0x40の石形態撃破フラグが立つ
0x02エッグ炎形態フラグ炎形態に変化する事が決定すると、このフラグが立つ。
この状態で炎形態を倒すことで、0103DFの0x20の炎形態撃破フラグが立つ
0x01エッグ水形態フラグ水形態に変化する事が決定すると、このフラグが立つ。
この状態で水形態を倒すことで、0103DFの0x10の水形態撃破フラグが立つ
1F9F310x80エッグ音形態フラグ音形態に変化する事が決定すると、このフラグが立つ。
この状態で音形態を倒すことで、0103DFの0x08の音形態撃破フラグが立つ
0x40エッグ獣形態フラグ獣形態に変化する事が決定すると、このフラグが立つ。
この状態で獣形態を倒すことで、0103DFの0x04の獣形態撃破フラグが立つ
0x20エッグ第2形態フラグ第2形態に変化する事が決定するとこのフラグが立つ
この状態で第2形態を倒すことで0103DFの0x02の第2形態撃破フラグが立つ
0x10エッグ第3形態フラグ第3形態に変化する事が決定するとこのフラグが立つ
この状態で第3形態を倒すことで0103DFの0x01の第3形態撃破フラグが立つ
0x08エッグ最終形態フラグ全形態撃破でフラグが立つ
0x04
0x02
0x01
1FA284味方パーティのロールフラグフラグの並びは0103B8〜0103BBのビットフラグと同じ。
戦闘に参加しているメンバーのロールのフラグのみ
1FA288敵パーティのロールフラグフラグの並びは0103B8〜0103BBのビットフラグと同じ。
戦闘に参加しているメンバーのロールのフラグのみ
1FA53C〜1FA543戦闘時の敵の学習レベル戦闘前に010014〜から読み込まれ、戦闘中に該当技・術を使うと1/64の確率でフラグが立つ。
戦闘後に010014〜に書込まれる。

アイテム装備メニューの参照アドレスバグの概要

このバグを起こすためにはまず、アイテム欄を64枠分全てを、「武器か防具どちらか片方で統一」し、
装備可能アイテムが「右側のリストに64個表示される」状態にする。
その状態で、武具装備メニューの右側のリストに表示される、アイテムの「64番目」にカーソルを持っていくと、
アイテム名は64個目のものなのに、アイコンと耐久度は「表示されなかったり全く別のものが表示される」ことがある。
これは本来の正常な64番目のアイテムのアドレスである0x0001011Aではなく、
アイテム欄のアドレス0x0001009Cに「最大JP×2」を足したアドレスを参照して、
そこから取り出した数値を元に、アイテムと耐久度として表示している事が原因のバグ。
アイテム名だけ正常である理由は、
アイテム名を表示するために参照されるコードは装備欄にカーソルがある状態で書き込まれるが、
アイコンと耐久度は右側の装備可能アイテムリストにカーソルが写った瞬間に参照されるので、
その前に64番目のアイテムの番号のアドレスに最大JPが書き込まれてしまっているため。
このアイテムを装備することで、通常では入手不可能なアイテムを入手できたり、
それによって外れたアイテムは「そのアイテム欄の開始アドレスから最大JP分離れたアドレス」に格納され、
ゲーム内のコンフィグやシナリオ出現フラグ等のまったく無関係なパラメータの状態を書き換えてしまい、
ゲームの進行を無視したシナリオを出現させたり、最悪フリーズする。

このバグに関連しているデータアドレス
開始アドレス1つのデータの大きさ内容
01009C〜2Byteアイテム欄の上から順にアイテムのコードと耐久度が格納されている領域(セーブによって記録される)
097B2E〜2Byte右側の装備可能アイテムリストに表示されるアイテムを識別して並び替えて格納している領域
097D32〜2Byte↑の装備可能アイテムリストに表示されるアイテムを上から順にアイテム欄の何番目にあるのかを格納している領域
097DB0〜2Byte武具装備メニューに表示される際に参照される最大JPの数値を格納するアドレス*1
(↑のアイテム欄の何番目にあるのかを参照する際のアドレスの64番目と同じアドレス!)
097DB2〜2Byte武具装備メニューに表示される際に参照される回復JPの数値を格納するアドレス

全滅後も進行可能な戦闘におけるアーツ消失バグの概要

戦闘時のプログラムには戦闘時のパラメータ読み込み開始前に主人公の状態をチェックする処理が存在し、
それによって、主人公がメインパーティにいない、主人公のHPかLPが0のいずれかの条件を満たす場合、
敵の編成や敵味方の配置、敵味方の戦闘時の全てのパラメータ、
習得済みアーツや学習フラグ、乱数補正値といった戦闘中に参照されるほぼ全てのRAM領域のデータが書き込まれずにそのまま戦闘終了処理へ移行する。
通常そのような場合は全滅時と同じようにタイトル画面に切り替わるのだが、
全滅後もゲームが続行可能な戦闘の場合には、
戦闘画面に切り替わるエフェクトの後に即戦闘終了してマップに戻る。
この時一見何事もなく戦闘が飛ばされたかのように見えるが、
戦闘終了処理のプログラムには戦闘終了時の味方のパラメータ、習得技術、学習などを記録領域へ書き込む処理が含まれ、
味方のパラメータについては何も読み込まれていないために、そのキャラクターが存在するというフラグの参照で弾かれて書き込まれないのだが、
技術修得フラグ、敵の学習レベル、乱数補正値に至っては、戦闘開始前に読み込まれていないため全くの空白であるのに
その空欄がコピーされて書き込まれ、すべてのフラグが消失する。
特に学習フラグのアドレス0x010014の0x01のビットフラグはゲーム開始時から存在するものの、
アーツの使用によって学習することは不可能でこのバグによって消えてしまうとゲーム内の操作では元に戻せない。
この状況を再現するためには上記の64番目の装備を交換するバグを駆使して主人公をメインパーティから下げるか戦闘前にHPかLPを0にする必要がある。
現在、最後のメガリスの将魔とのデュエルと夜の街でコーデリアを潜入させた際のアレクセイ手下戦、南の砦のデュエルでこのバグの発生を確認できた。
最後のメガリスの将魔とのデュエルでバグを起こす場合
最後のメガリスの獣・音・石・樹の各将魔は、戦うを選択した瞬間に主人公フラグが一時的に「サブパーティの先頭のキャラ」に切り替わり、
さらに該当キャラが一時的にメインパーティの1番目に置き換わることで、「主人公不在=主人公死亡の状態で戦闘突入したと看做されない」ように処理されている。
そして戦闘が終わった後は主人公フラグがジニーに戻り、切り替わる前に一時的にパーティの枠から外れていたキャラの内、
加入フラグの値が0xA0でない者がパーティに戻るという処理が内部的に行われている。
このために将魔とデュエルするキャラのHPかLPを0にする方法しか取れない。
デュエル不可のワッツ、グレタ、ウィリアムをサブパーティの先頭に置くと何故か代わりにウィルが出てくる仕様を利用して、
1戦目敗北(戦闘後に最大HPの1/4回復後パーティから抜ける)→2戦目敗北(初めからパーティに居ない為回復しない)→3戦目(戦闘開始時にHP0でバグ発生)
という手順を踏むか、64交換バグで年を変化させて最大HPを0にしたキャラを戦闘させるという方法によってバグが起こせる。
アレクセイ手下戦でバグを起こす場合
まず主人公がコーデリアでないとアレクセイ手下戦は発生しない。
内部処理的には主人公のアドレス0x010009の値がコーデリアのコードである0x08になっていなければいけない為、
0x0101F1の下位2ビットが0x01の状態でアレクセイの手下に話しかけて夜の街でのマップ上のキャラがコーデリアにする必要がある。
HPかLPを0にするよりシナリオフラグを弄って事前に仲間に加えたコーデリアをサブパーティに下げて話しかけた方が圧倒的に楽。
主人公をサブに下げた状態でアレクセイ手下以外と戦闘になると、
主人公不在=主人公死亡とみなされ、ゲームオーバー扱いとなり即タイトル画面になってしまうので注意。
南の砦でバグを起こす場合
事前にヨハンのHPかLPを年齢の能力値補正で丁度オーバーフローを起こして0になるよう調整することでこのバグを起こせる。

以下にps2disで逆アセンブルして突き止めたこのバグに関連する部分のみを抜粋

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

wikiメニュー

■はじめに
• 初回プレイの方へ
• 注意事項
■シナリオ
• シナリオ攻略 / コンバット
• ギュスターヴ編
• ナイツ編
   ◦ ウィル / リッチ / ジニー
• 町シナリオ / タウンガイド
■キャラクター
• 性能表 / ロール
• 戦闘成長 / 年齢 / 上限
■アイテム
• 武器 / 防具 / アニマ別
• レアアイテム
■バトル
•  /  / 敵の攻撃 / 特殊効果
• 閃き / 学習 / 合成 / 連携
• デュエルコマンド / 相抜け
• 覚えにくい技や術の修得
■モンスター
• 一覧 / 出現 / 行動 / 交渉
• 成長に使われる上昇Lv
• 閃きLv(パーティ / デュエル)
• 戦利品      • 敵の学習Lv
■検証·その他
• 計算式 / 先制補正
   敵との距離 / 乱数
• ダメージ検証 / ダメージ詳細
   最大ダメージ
• メモリ      • 動画研究所
• プレイレポート

どなたでも編集できます