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

アイテムデータ構造体

アイテムデータ構造体は 11 バイトで、PRG 14 内に格納されている。

アイテムデータ構造体は ROM 内から直接参照されるのではなく、現在見ているアイテムのデータをバッファ $02A8-$02B2 にコピーしたものが参照される。

アイテムデータ構造体の内容は以下の通り:

offset内容
0u8装備条件
1u8装備効果
2u8装備効果の引数
3u8使用効果
4u8使用効果の引数
5u8初期チャージ数
6u16le買値
8u8(武器の場合) ダメージダイス面数
9u8(武器の場合) ダメージダイス追加値
(鎧/盾の場合) AC修正
10u8(未使用: 意図としては最大チャージ数かも)

フィールドの詳細

offset=0: 装備条件

bit意味
0盗賊は不可
1魔法使いは不可
2僧侶は不可
3弓使いは不可
4戦士は不可
5騎士は不可
6-70:性格制限なし, 1:善のみ可, 2:悪のみ可, 3:中立のみ可

offset=1: 装備効果

能力修正系の効果については引数の値が加算される。

意味
0x00(装備効果なし)
0x01(装備不可)
0x10性別修正
0x13種族修正
0x15知性修正
0x17力修正
0x19魅力修正
0x1D素早さ修正
0x1F技能修正
0x21幸運修正
0x25年齢修正
0x3CAC修正
0x58魔法耐性修正
0x5A火耐性修正
0x5C冷気耐性修正
0x5E電撃耐性修正
0x60酸耐性修正
0x62恐怖耐性修正
0x64毒耐性修正
0x66眠り耐性修正
0x6C解錠スキル修正
0xFF呪い

offset=3: 使用効果

上昇/回復/獲得系の効果については引数の値が加算される。魔法発動の場合、魔法IDは (引数) + 1 となる。

使用効果にはいくつか不具合がある: 詳細

意味
0x00(使用効果なし)
0x18力一時上昇
0x1E素早さ一時上昇
0x20技能一時上昇
0x22幸運一時上昇
0x24レベル一時上昇
0x25年齢上昇
0x2BMP回復
0x30魔法レベル一時上昇
0x31GEM獲得
0x3AGOLDを 256 単位で獲得
0x3FFOOD獲得
0x59永続 魔法耐性上昇
0x63永続 恐怖耐性上昇
0xFF魔法発動