マイトアンドマジック (FC) 攻略/解析 - データ構造

味方キャラ構造体

概要

味方キャラ構造体は 0x70 バイトで、アドレス $6F00 から 0x80 バイトアラインメントで味方キャラID順に配置されている:

多くの場合、これらの味方キャラ構造体は直接操作されるのではなく、バッファ $0A-$79 にコピーしたものが操作され、その結果がまとめて書き戻されている。

味方キャラ構造体の一部のフィールドは主人公 (味方キャラID 0) 専用で、これらのフィールドについては前述のバッファにコピーされる際に主人公のもので上書きされ、バッファから書き戻される際も主人公の構造体にコピーされる。

味方キャラ構造体の内容は以下の通り:

offset内容
0x00u8性別 (1:男, 2:女)
0x01u8性格 (永続) (1:善, 2:悪, 3:中立)
0x02u8性格 (一時的) (1:善, 2:悪, 3:中立)
0x03u8種族 (1:人間, 2:エルフ, 3:ドワーフ, 4:ノーム, 5:半オーク)
0x04u8職業 (1:騎士, 2:戦士, 3:弓使い, 4:僧侶, 5:魔法使い, 6:盗賊)
0x05u8知性 (永続)
0x06u8知性 (一時的)
0x07u8力 (永続)
0x08u8力 (一時的)
0x09u8魅力 (永続)
0x0Au8魅力 (一時的)
0x0Bu8耐久 (永続)
0x0Cu8耐久 (一時的)
0x0Du8素早さ (永続)
0x0Eu8素早さ (一時的)
0x0Fu8技能 (永続)
0x10u8技能 (一時的)
0x11u8幸運 (永続)
0x12u8幸運 (一時的)
0x13u8レベル (永続)
0x14u8レベル (一時的)
0x15u8年齢
0x16u8休息した回数 (値が 100 のとき休息すると 1 歳加齢し、値が 0 に戻る)
0x17u32le経験値 (注意: しばしば u24 として扱われる(最上位バイトが無視される))
0x1Bu16le現在MP
0x1Du16le最大MP
0x1Fu8魔法レベル (永続)
0x20u8魔法レベル (一時的)
0x21u16leGEM
0x23u16le現在HP
0x25u16le最大HP (永続)
0x27u16le最大HP (一時的)
0x29u32leGOLD (注意: しばしば u24 として扱われる(最上位バイトが無視される))
0x2Du8AC (補正前)
0x2Eu8AC (補正後)
0x2Fu8FOOD
0x30u8状態異常
0x31u8[6]装備品のアイテムID配列
0x37u8[6]バックパックのアイテムID配列
0x3Du8[6]装備品の残りチャージ数配列
0x43u8[6]バックパックの残りチャージ数配列
0x49u8魔法耐性 (永続)
0x4Au8魔法耐性 (一時的)
0x4Bu8火耐性 (永続)
0x4Cu8火耐性 (一時的)
0x4Du8冷気耐性 (永続)
0x4Eu8冷気耐性 (一時的)
0x4Fu8電撃耐性 (永続)
0x50u8電撃耐性 (一時的)
0x51u8酸耐性 (永続)
0x52u8酸耐性 (一時的)
0x53u8恐怖耐性 (永続)
0x54u8恐怖耐性 (一時的)
0x55u8毒耐性 (永続)
0x56u8毒耐性 (一時的)
0x57u8眠り耐性 (永続)
0x58u8眠り耐性 (一時的)
0x59u8近接武器ダメージダイス面数
0x5Au8近接武器ダメージダイス追加値
0x5Bu8射撃武器ダメージダイス面数
0x5Cu8射撃武器ダメージダイス追加値
0x5Du8解錠スキル
0x5Eu8主人公専用: 請けている諸侯クエスト
0x5Fu8主人公専用: 囚人解放クエスト報酬決定用の値
0x60u8粒度を細かくした性格 (0:完全な善, 16:完全な中立, 32:完全な悪)
実質未使用: 詳細
0x61u8主人公専用: メインクエスト関連フラグ (序中盤)
0x62u8主人公専用: 囚人解放クエスト関連フラグ
0x63u8主人公専用: ビースト討伐クエスト関連フラグ
0x64u8主人公専用: (未使用)
0x65u8オーラの色など
0x66u8主人公専用: インスペクトロン王のクエストの達成状況
0x67u8主人公専用: ハッカー王のクエストの達成状況
0x68u8主人公専用: アイアンフィスト王のクエストの達成状況
0x69u8主人公専用: インスペクトロン王のクエストの報酬受け取り状況
0x6Au8主人公専用: ハッカー王のクエストの報酬受け取り状況
0x6Bu8主人公専用: アイアンフィスト王のクエストの報酬受け取り状況
0x6Cu8各地の能力値上昇ポイントの使用状況
0x6Du8主人公専用: メインクエスト関連フラグ (終盤)
0x6Eu8常に 0
0x6Fu8滞在しているマップID

フィールドの詳細

offset=0x5E: 主人公専用: 請けている諸侯クエスト

意味
0(諸侯クエストを請けていない)
1アイアンフィスト王 1: レイバンの森の要塞を探せ
2アイアンフィスト王 2: 行方不明のキルバーン王を探せ
3アイアンフィスト王 3: ポートスミスの秘密を暴け
4アイアンフィスト王 4: 海賊の秘密の洞窟を探せ
5アイアンフィスト王 5: 行方不明の探検家ジョリー・レイバンを探せ
6アイアンフィスト王 6: 幽霊海賊船アナーキストを滅ぼせ
7アイアンフィスト王 7: レイバンの森の要塞を征服せよ
8インスペクトロン王 1: クイバリングの森にある廃墟を探せ
9インスペクトロン王 2: ブリセス・ピークに登れ
10インスペクトロン王 3: 砂漠の住人たちが取引している品物を手に入れよ
11インスペクトロン王 4: ダスクの下の洞窟でオクザールの神殿を探せ
12インスペクトロン王 5: ドラガデューンのGOLDを経験に変える泉を探せ
13インスペクトロン王 6: レイバンの要塞でクリスタルの謎を解け
14インスペクトロン王 7: 魔法の森の要塞を征服せよ
15ハッカー王: 1: にんにくを持ってこい
16ハッカー王: 2: とりかぶとを持ってこい
17ハッカー王: 3: ベラドンナを持ってこい
18ハッカー王: 4: メデューサの首を持ってこい
19ハッカー王: 5: ウィバーンの目を持ってこい
20ハッカー王: 6: ドラゴンの歯を持ってこい
21ハッカー王: 7: オクリムの指輪を持ってこい
0xFF偽アラマー王: カーメンカのクリプトを探せ (達成不可能)

offset=0x5F: 主人公専用: 囚人解放クエスト報酬決定用の値

TODO

offset=0x61: 主人公専用: メインクエスト関連フラグ (序中盤)

bit意味
0コーラックからアガールへの手紙配達依頼を遂行中
1アガールからテルゴランへの手紙配達依頼を遂行中
2テルゴランからザム/ゾム捜索依頼を請けた
3ゾムからルビーの笛に関するヒントを聞いた
4ザムからルビーの笛に関するヒントを聞いた
5ルビーの笛を入手した
6魔法の砦に入った
7黒白ぶちの犬の青像からキルバーン王の情報を聞いた

offset=0x62: 主人公専用: 囚人解放クエスト関連フラグ

囚人に会ったフラグは選択肢 (助ける/拷問/立ち去る) によらず立つので、実際には必ずしも囚人を解放する必要はない。

bit意味
0ラナローから囚人解放クエストを請けた
1ドラガデューンの城の囚人(床に繋がれた生き物)に会った
2デュームの城の囚人(小さな子供)に会った
3アラマーの城の囚人(美しい少女)に会った
4ホワイトウルフの城の囚人(デモン)に会った
5ブラックリッジノースの囚人(足枷をかけられた男)に会った
6ブラックリッジサウスの囚人(奇妙なコートを着たモンスター)に会った
7審判のジャイアントの秤に乗った (write-only)

offset=0x63: 主人公専用: ビースト討伐クエスト関連フラグ

各ビーストについてはエンカウントしただけでフラグが立つ。倒さずに逃げたりしてもよい。

bit意味
0海のビーストとエンカウントした
1砂漠のビーストとエンカウントした
2空のビーストとエンカウントした
3森のビーストとエンカウントした
4-6(未使用)
7幸運の車輪に訪れた(回したかどうかは問わない) (write-only)

offset=0x65: オーラの色など

bit意味
0-3オーラの色 (0:未決定, 1:赤, 2:青, 3:緑, 4:黄, 5:紫, 6:オレンジ, 7:黒, 8:白, 15:金)
4-5(未使用)
6バーン地上E2のロボットと会話した(会話時にPT先頭の者についてのみフラグが立つ)
7バーン地上A4の老人に自身のオーラの色を正しく答えた (write-only)

offset=0x66: 主人公専用: インスペクトロン王のクエストの達成状況

クエストを請ける前でも達成フラグは立つ。また、報酬を受け取ったかどうかは無関係。

bit意味
0クエスト 1 を達成済み (クイバリングの森にある廃墟を探せ)
1クエスト 2 を達成済み (ブリセス・ピークに登れ)
2クエスト 3 を達成済み (砂漠の住人たちが取引している品物を手に入れよ)
3クエスト 4 を達成済み (ダスクの下の洞窟でオクザールの神殿を探せ)
4クエスト 5 を達成済み (ドラガデューンのGOLDを経験に変える泉を探せ)
5クエスト 6 を達成済み (レイバンの要塞でクリスタルの謎を解け)
6クエスト 7 を達成済み (魔法の森の要塞を征服せよ)
7全 7 クエストの報酬を受け取った後、さらにクエストを受注しようとすると 1 になる (write-only)

offset=0x67: 主人公専用: ハッカー王のクエストの達成状況

クエストを請ける前でも達成フラグは立つ。また、報酬を受け取ったかどうかは無関係。

bit意味
0クエスト 1 を達成済み (にんにくを持ってこい)
1クエスト 2 を達成済み (とりかぶとを持ってこい)
2クエスト 3 を達成済み (ベラドンナを持ってこい)
3クエスト 4 を達成済み (メデューサの首を持ってこい)
4クエスト 5 を達成済み (ウィバーンの目を持ってこい)
5クエスト 6 を達成済み (ドラゴンの歯を持ってこい)
6クエスト 7 を達成済み (オクリムの指輪を持ってこい)
7全 7 クエストの報酬を受け取った後、さらにクエストを受注しようとすると 1 になる (write-only)

offset=0x68: 主人公専用: アイアンフィスト王のクエストの達成状況

クエストを請ける前でも達成フラグは立つ。また、報酬を受け取ったかどうかは無関係。

bit意味
0クエスト 1 を達成済み (レイバンの森の要塞を探せ)
1クエスト 2 を達成済み (行方不明の王ロード・キルバーンを探せ)
2クエスト 3 を達成済み (ポートスミスの秘密を暴け)
3クエスト 4 を達成済み (海賊の秘密の洞窟を探せ)
4クエスト 5 を達成済み (行方不明の探検家ジョリー・レイバンを探せ)
5クエスト 6 を達成済み (幽霊海賊船アナーキストを滅ぼせ)
6クエスト 7 を達成済み (レイバンの森の要塞を征服せよ)
7全 7 クエストの報酬を受け取った後、さらにクエストを受注しようとすると 1 になる (write-only)

offset=0x69: 主人公専用: インスペクトロン王のクエストの報酬受け取り状況

bit意味
0クエスト 1 の報酬を受け取り済み (クイバリングの森にある廃墟を探せ)
1クエスト 2 の報酬を受け取り済み (ブリセス・ピークに登れ)
2クエスト 3 の報酬を受け取り済み (砂漠の住人たちが取引している品物を手に入れよ)
3クエスト 4 の報酬を受け取り済み (ダスクの下の洞窟でオクザールの神殿を探せ)
4クエスト 5 の報酬を受け取り済み (ドラガデューンのGOLDを経験に変える泉を探せ)
5クエスト 6 の報酬を受け取り済み (レイバンの要塞でクリスタルの謎を解け)
6クエスト 7 の報酬を受け取り済み (魔法の森の要塞を征服せよ)
7全 7 クエストの報酬を受け取った後、さらにクエストを受注しようとすると 1 になる (write-only)

offset=0x6A: 主人公専用: ハッカー王のクエストの報酬受け取り状況

bit意味
0クエスト 1 の報酬を受け取り済み (にんにくを持ってこい)
1クエスト 2 の報酬を受け取り済み (とりかぶとを持ってこい)
2クエスト 3 の報酬を受け取り済み (ベラドンナを持ってこい)
3クエスト 4 の報酬を受け取り済み (メデューサの首を持ってこい)
4クエスト 5 の報酬を受け取り済み (ウィバーンの目を持ってこい)
5クエスト 6 の報酬を受け取り済み (ドラゴンの歯を持ってこい)
6クエスト 7 の報酬を受け取り済み (オクリムの指輪を持ってこい)
7全 7 クエストの報酬を受け取った後、さらにクエストを受注しようとすると 1 になる (write-only)

offset=0x6B: 主人公専用: アイアンフィスト王のクエストの報酬受け取り状況

bit意味
0クエスト 1 の報酬を受け取り済み (レイバンの森の要塞を探せ)
1クエスト 2 の報酬を受け取り済み (行方不明の王ロード・キルバーンを探せ)
2クエスト 3 の報酬を受け取り済み (ポートスミスの秘密を暴け)
3クエスト 4 の報酬を受け取り済み (海賊の秘密の洞窟を探せ)
4クエスト 5 の報酬を受け取り済み (行方不明の探検家ジョリー・レイバンを探せ)
5クエスト 6 の報酬を受け取り済み (幽霊海賊船アナーキストを滅ぼせ)
6クエスト 7 の報酬を受け取り済み (レイバンの森の要塞を征服せよ)
7全 7 クエストの報酬を受け取った後、さらにクエストを受注しようとすると 1 になる (write-only)

offset=0x6C: 各地の能力値上昇ポイントの使用状況

キャラごとに管理されている。

bit意味
0耐久 +4 の泉を使用済み (バーン地上A1 (12, 1))
1魅力 +4 の泉を使用済み (バーン地上D2 (10, 12))
2知性 +4 の装置を使用済み (バーン地上E2 (3, 13))
3力 +4 の泉を使用済み (ポートスミスの地下 (0, 12))
4技能 +4 のプリズムを使用済み (ダスクの地下 (15, 15))
5素早さ +4 の炎を使用済み (ダスクの地下 (14, 5))
6幸運 +4 のクローバーを使用済み (ドラガデューンの城 (1, 1))
7南のクレリックに能力値上昇ポイント使用権を復活させてもらうと 1 になる (write-only)

offset=0x6D: 主人公専用: メインクエスト関連フラグ (終盤)

bit意味
0アストラル世界 第1の封印解除済み
1アストラル世界 第2の封印解除済み
2アストラル世界 第3の封印解除済み
3アストラル世界 第4の封印解除済み
4アストラル世界 第5の封印解除済み
5(未使用)
6イドの迷宮クリア済み
7世界の果てからエンディングに行ける