TOP > プログラミング関係解説&調査 > データマップ > 各種データアドレス

各種データアドレス

当ページの内容は、ある程度のプログラミングの知識を必要とする。
まず、プログラミング関係解説&調査をひととおり読んでいただきたい。

このページには、ゲームデータ部分(ROM領域)内の、特に重要な基礎データ(バンク$D5及び$D6に入っているデータ)の一覧を掲載する。
頭に$がついている値は16進数、%がついている値は2進数。

基本

1バイト内に8ビットのON・OFFデータを格納する場合、状態異常と属性は以下に対応している。複数の状態異常や属性のデータを格納したい場合(キャラ固有の無効状態異常や回避属性の設定など)に用いられる。

2進法の位2726252423222120
状態異常石化酔い眠りマヒ腕かため足かため首かため
属性1
属性2

以下、「状態異常(8ビット)」「属性1(8ビット)」「属性2(8ビット)」と表記する場合は上表に対応する。
例えば「状態異常(8ビット)」は、1バイトで8種類の状態異常のON・OFFを表し、例えば「$A1」であれば2進数「%1010 0001」だから、石化・眠り・首かためがONで、それ以外はOFFの意味である。

属性1つだけを表す場合(技の属性など)は、4バイト(16進数1文字分)で以下表記が使われることもある。

属性数値
$0
$1
$2
$3
$4
$5
$6
$7
$8
$9
$A
$B
$C
$D
$E
$F

味方キャラデータ

アドレス:$D5:00C0$D5:04CA
ID$00$16までの23キャラ分。1キャラにつき00~44の45バイト分のデータ。

各データの補足は表の下にある。

No.内容
00HP 初期値 *$80以上の時は、実際のHP = (味方キャラデータ00 & $7F) * $10
01力 初期値
02速 初期値
03体 初期値
04知 初期値
05技 レベル00(技ID)
06技 レベル01(技ID)
07技 レベル02(技ID)
08技 レベル03(技ID)
09技 レベル04(技ID)
10技 レベル05(技ID)
11技 レベル06(技ID)
12技 レベル07(技ID)
13技 レベル08(技ID)
14技 レベル09(技ID)
15技 レベル10(技ID)
16技 レベル11(技ID)
17技 レベル12(技ID)
18技 レベル13(技ID)
19技 レベル14(技ID)
20技 レベル16(技ID)
21レベルアップ時 力上昇値(※計算方法は表の下)
22レベルアップ時 速上昇値(※計算方法は表の下)
23レベルアップ時 体上昇値(※計算方法は表の下)
24レベルアップ時 知上昇値(※計算方法は表の下)
25レベル 初期値
26装備可能(上4ビット:タイプ/下4ビット:種類)
27レベルアップ時 HP上昇値(※計算方法は表の下)
28無効状態異常(8ビット)
29上4ビット:背後補正/下4ビット:側面補正
30回避属性1(8ビット)
31回避属性2(8ビット)
32頭 初期装備(アイテムID)
33右 初期装備(アイテムID)
34左 初期装備(アイテムID)
35体 初期装備(アイテムID)
36足 初期装備(アイテムID)
37アクセサリ1 初期装備(アイテムID)
38アクセサリ2 初期装備(アイテムID)
39アクセサリ3 初期装備(アイテムID)
40アクセサリ4 初期装備(アイテムID)
41アクセサリ5 初期装備(アイテムID)
42(全キャラ$00
43(全キャラ$00
44最終編追加レベル
IDキャラクター名
00オルステッド
01ストレイボウ
02ウラヌス
03ハッシュ
04ポゴ
05ゴリ
06べる
07ざき
08心山拳老師
09ユン・ジョウ
0Aレイ・クウゴ
0Bサモ・ハッカ
0Cサンダウン
0Dマッドドッグ
0Eおぼろ丸
0Fとらわれの男
10高原 日勝
11アキラ
12タロイモ
13無法松
14キューブ
15キャプテンS
16カラクリ丸
味方キャラデータ21~24

順に、レベルアップ時の力上昇値/速上昇値/体上昇値/知上昇値(上限値と下限値)を計算するための値が入っている。
実際のゲーム内では、下限値を「基本値」として、「加算値」に乱数を掛けた数値が基本値に加えられてレベルアップ時のステータス上昇値が決まる。
「基本値」+「加算値」が最大になる時が上限値ということになる。
これらの値は、ゲーム内でレベルアップしないキャラにも設定されている。
計算方法は共通で、

下限値 = データ値の上4ビット = trunc(データ値 & $F0 / $10)
上限値 = max(下限値 + データ値の下4ビット-1, 0) = max(下限値 + データ値 & $0F -1, 0)

例:
高原日勝は、味方キャラデータ21~24に$52, $42, $11, $01と値が入っているので、

能力下限値上限値
trunc($52 & $F0 / $10) = $5max($5 + $52 & $0F -1, 0) = $6
trunc($42 & $F0 / $10) = $4max($4 + $42 & $0F -1, 0) = $5
trunc($11 & $F0 / $10) = $1max($1 + $11 & $0F -1, 0) = $1
trunc($01 & $F0 / $10) = $0max($0 + $01 & $0F -1, 0) = $0

力は5~6、速は4~5、体は1、知は0となる。

味方キャラデータ27

レベルアップ時のHP上昇値(上限値と下限値)を計算するための値が入っている。
ゲーム内でレベルアップしないキャラにも設定されている。

上2ビットに計算方法パターン、下6ビットに計算用の数値が入る。
便宜上、下の表では味方キャラデータ27の下6ビットの値を、「計算値」とする。
x, yは計算に使うための変数。
xが基礎値、yが加算値のようなもので、基礎値に加算値を加えて上昇値とするのだが、加算値には乱数でブレを生じさせる仕組みである。

上2ビット基礎値x加算値y
%00計算値trunc(計算値/2)
%01計算値計算値
%10trunc(計算値/2)計算値
%110計算値

HP上昇の下限値は、

下限値 = x

HP上昇の上限値は、

上限値 = x + trunc(y * $FF / $100)
= x + max(y - 1, 0)

このように計算される。

例:オルステッド
味方キャラデータ27 = $1A = %0001 1010
下6ビット = %0001 1010 = $1A(10進法26)
上2ビット = %00

下限値 = 味方キャラデータ27の下6ビット
= $1A(10進法26)

上限値 = max($1A + trunc($1A/2)-1, 0)
= max($1A + $0D - 1, 0)
= max($26, 0)
= $26(10進法38)

よってレベルアップ時のHP上昇値は26~38となる。

味方キャラデータ26

装備可能な装備種類とタイプの値が入っている。
装備アイテムに該当の装備種類やタイプが設定されている場合、キャラ側にも同じ装備種類とタイプが設定されていないと装備できない。
また、装備変更時に参照する値であり、初期装備には関係しない。
よって、とらわれの男は装備種類が「銃」にもかかわらず、装備種類「刀」の「ヨシユキ」が初期装備になっている。
データ集 > 装備 > 装備種類/タイプも参照。

タイプ:上4ビット
以下4ビットを加算した値が入る。該当しない場合は%0000が入る。
また、重装かつ超能(%1001)の時は「勇者」、特殊かつ重装(%1100)の時は「野性」も追加になる。
「勇者」は実質、ハッシュ専用「ブライオン」(アイテムID23)と、オルステッドも装備可能な「ブライオン」(アイテムID24)のためにある分類だが、データ上では一応、カラクリ丸も重装かつ超能のために「勇者」フラグが付くことになる。

上4ビットタイプ
%0001超能
%0010女性
%0100特殊
%1000重装

装備種類:下4ビット
どのキャラも以下のいずれかの値が入る。
ゴリは原始編での装備がかなり限られているが、装備種類を「ロボ」に設定することで制限をかけている(よって装備種類の名称とキャラが必ずしも一致するとは限らない)。

下4ビット装備種類
$6
$7
$8日用品
$9野性武器
$A
$Bグローブ
$C
$Dロボ

例:
ポゴの味方キャラデータ26の値は「$C9」。

$C9 = $1100 1001

上4ビットが$1100なので、タイプは特殊・重装・野性。
下4ビットが$9なので、装備種類は野性武器。

敵キャラデータ

アドレス:$D5:04CB$D5:24CA
ID$00$FFまでの256キャラ分。1キャラにつき00~31の32バイト分のデータ。

各データの補足は表の下にある。

No.内容
00移動パターン
01上4ビット:フィールド吸収/下4ビット:移動頻度
02(データアドレス呼び出しの値)
03(データアドレス呼び出しの値)
04HP *$80以上の時は、実際のHP = (敵データ04 & $7F) * $10
05
06
07
08
09上1ビット:使用技を敵技IDから取得するなら0、味方技IDから取得するなら1/下7ビット:レベル
10無効状態異常(8ビット)
11使用技1 技ID 敵データ09上1ビットが0なら敵技ID/1なら味方技ID、以下敵データ14まで同じ
12使用技2 技ID
13使用技3 技ID
14使用技4 技ID
15タイプ
16カウンター行動異常 手/足(行動異常IDがそれぞれ上4ビット・下4ビットに入る。以下No.23まで同じ)
17カウンター行動異常 突/鋭
18カウンター行動異常 鈍/締
19カウンター行動異常 飛/背
20カウンター行動異常 火/水
21カウンター行動異常 風/土
22カウンター行動異常 精/善
23カウンター行動異常 悪/無 ※下1桁(4ビット)はそのまま種族の値。
24ドロップアイテム1(アイテムID)
25ドロップアイテム2(アイテムID)
26ドロップアイテム3(アイテムID)
27※未使用データ
28※未使用データ
29上4ビット:背後補正/下4ビット:側面補正
30回避属性1(8ビット)
31回避属性2(上7ビット)/下1ビットはダメージフィールド無効だと%1
敵データ01

上4ビットのフィールド吸収は、以下合計値で表す。$0だとフィールド吸収なし。
フィールド無効かどうかは敵データ31の下1ビットに入る($1だと無効)。

フィールド
$1
$2
$4
$8
敵データ15

タイプについてのデータが入っている。
タイプがNAMEだと、倒した人数に応じて固有名称が変化する。
幕末編のザコ敵が対象だが、最終編のザビエールも含まれている(ザビエールは名前変化しない)
下の4種類以外の、タイプなしの敵とNAMEの敵は、戦闘初期位置がランダムで1~2マスズレることがある。

  • COLLAPSE:ボス敵(シナリオ上のボスでない場合もあるし、ボスでも対象外の場合もある。おそらく初期位置を固定したいボス敵など)。戦闘初期位置は固定で変動しない。
  • BREAKDOWN:BREAK DOWN可能な戦闘におけるBREAK DOWN対象。戦闘初期位置は固定で変動しない。
  • OBJECT:岩やしょく台などの障害物、破壊しなくても戦闘終了する。戦闘初期位置は固定で変動しない。
  • LEADER:BREAK DOWN可能な戦闘におけるリーダー。戦闘初期位置は固定で変動しない。

タイプのフラグが複数の場合は加算する。COLLAPSEかつLEADERのマザーCOMやからくり源内などは$09が入る。

上位
4ビット
下位
4ビット
タイプ
00(なし)
01COLLAPSE
02BREAKDOWN
04OBJECT
08LEADER
20NAME 忍者(2人組)
30NAME 虚無僧
40NAME 奴
50NAME 浪人
60NAME 藩士
70NAME 強藩士
80NAME 外人
90NAME 商人
A0NAME 家老
B0NAME 忍者
C0NAME くの一/ザビエール
D0NAME 腰元
F0NAME 忍者(4人組)
敵データ23

下位4ビットは無属性攻撃に対してのカウンター行動異常であるのと同時に、種族の値でもある。
種族の値は、開戦時行動異常に関係してくる。
名称は世界の合言葉は森部様参照。

下位
4ビット
種族
$0(なし)
$1超人
$2妖怪
$3悪魔
$4猛禽
$5
$6機械
$7植物
$8小型動物
$9(なし)
$A大型動物
$B宇宙人
$C軟体動物
$D物質
$E魔法生命
$F恐竜

技データ

アドレス:味方技データ$D5:24CB$D5:3DB1/敵技データ$D5:3DB2$D5:56CA
それぞれID$00$FFの256×2種類。1つの技につき00~24の25バイト分のデータ。

表の後に詳細な説明を掲載している。

No.内容
00-
01-
02-
03-
04-
05-
06技の方向
07上1~2ビット:自身依存係数/上3~4ビット:自身依存ステータス/下4ビット:射程
08使用不能状態異常(8ビット)
09状態異常(8ビット)
10上8ビット-下2ビット:LV差係数/下2ビット:敵依存ステータス・防御力依存係数
11上2ビット:命中タイプ/下6ビット:位置変化
12上2~4ビット:必中状態異常(腕・足・首)/下2ビット:効果範囲(1)
13上4ビット:周囲攻撃2、反撃専用4、回復8/下4ビット:技の属性
14反撃属性1
15上7ビット:反撃属性2※無属性除く/下1ビット:攻撃力依存(あり:%1、なし:%0
16-
17上4ビット:発動時間(16で1ターン)/下4ビット:技LV
18上1~2ビット:状態異常自身依存ステータス/上3~4ビット:状態異常敵依存ステータス/下4ビット:状態異常時間係数
19最大連発数・ヒット数パターン
20-
21上4ビット:特殊なタイプ/下3ビット:効果範囲(2)
22上4ビット:ダメージフィールド/下4ビット:上4ビットが8以上の時、行動異常の値
23ステータス変化
24-
技データ06

技の方向。
キャラが右下向きの時、上4ビットは下図の青数字、下4ビットは赤数字の合計値で表す。
周囲攻撃だと$00が入る。

124

421

例えば正面3方向だと$83が入る。

技データ07

上1~2ビット:自身依存係数

数値自身依存係数
%001
%011/2
%101/4
%11なし

上3~4ビット:自身依存ステータス

数値自身依存ステータス
%00
%01
%10
%11

下4ビット:射程

数値射程
$0なし
$11
$22
$31~2
$43
$5-
$62~3
$71~3
$83~
$9-
$A-
$B-
$C2~
$D-
$E1~
$F無限
技データ10

上8ビットと%1111 1100の論理積がLV差係数。
つまり上8ビットから下2ビットを引くとLV差係数になる。

下2ビットは敵依存ステータスと防御力依存係数を兼用した値で、対応は以下の通り。

16進数2進数敵依存
ステータス
防御力
依存係数
$0%001/4
$1%011/2
$2%101
$3%110

敵依存ステータスは攻撃を受ける側の依存ステータス、防御力依存係数は攻撃を受ける側の防御の値がどれだけ関係するかを表しているので、意味合い自体はまったく異なるが、実際には同じ値から計算されているということになる。

技データ11

上2ビットは命中タイプ。

数値
2進数
内容
%00狙撃
%01直進
%10貫通(目標まで)
%11貫通(目標より先まで)

下6ビットは位置変化の値、以下合計値が入る。

数値
2進数
数値
16進数
内容
%000001$01後方吹き飛ばし
%000010$0290度右回転
%000100$04180度回転
%001000$08使用者後退
%010000$10使用者90度右回転
%100000$20使用者180度回転
技データ12

上2~4ビット:必中状態異常
各ビットが「腕かため」・「足かため」・「首かため」順に対応。

下2ビット:効果範囲
技データ21の下3ビットが%000の時のみ、技データ12の下2ビットが以下の値で範囲を示す。

数値
2進数
効果範囲
$001×1
$013×3
$105×5
$11全体

他の範囲(縦と横の範囲が異なる場合)は、技データ21の下3ビットに効果範囲が入る。

技データ13

上4ビットは、技のタイプ関係の値の合計値が入る。

上4ビット内容
$0通常
$2範囲が周囲
$4反撃専用
$8回復

周囲かつ回復技だと$2 + $8$Aが入ることになる。

下4ビットは技の属性の値。

属性数値
$0
$1
$2
$3
$4
$5
$6
$7
$8
$9
$A
$B
$C
$D
$E
$F
技データ14

反撃属性1が入る。
反撃属性の続きは技データ15に入る。

2進法の位2726252423222120
属性1
技データ15

上7ビット:反撃属性2
下1ビット:攻撃力依存(あり:%1、なし:%0
無属性は反撃属性に設定されないため、下1ビットの値には攻撃力依存の値が入っている。

2進法の位2726252423222120
属性2-
技データ18

状態異常を発生させる場合の、状態異常関連の数値。状態異常を発生させない技なら$00

上1~2ビット:状態異常自身依存ステータス
上3~4ビット:状態異常敵依存ステータス

数値内容
%00
%01
%10
%11

下4ビット:状態異常時間係数($0$F

技データ19

最大連発数と、ヒット数パターンのデータが収められている。

2進法の位2726252423222120
収録データ
  • ① 一番上の27の位。%1だと「範囲内に1ヒット」
  • ② 上から3、4番目(25~24)の位(2ビット分)に、以下表のようにヒット数パターンが記録されている。
  • 数値ヒット数パターン
    %00通常(最大連発数がヒット数)
    %01レベルにより減
    %10範囲内に1ヒット
    %11ランダムに減
  • ③ 下4ビット分は、「範囲内に1ヒット」以外の技の最大連発数。
    $0~$Fが入るので、本作の技の最大ヒット数は15ということになる。
技データ21

上4ビット:特殊なタイプ

特殊な効果があるタイプの値が入る。技データ13の上4ビット(技のタイプ)が$8以上か未満かでも判断される。

技データ13の上4ビットが$8未満:

数値タイプ
$3吸収
$7外すとダメージ
$8自爆999ダメージ

技データ13の上4ビットが$8以上:

数値タイプ
$3HP振り分け
$8自滅
例:
ガボラッチョなら、技データ13は$02、技データ21は$30なので「吸収」
ラブヒーリングなら、技データ13は$EC、技データ21は$30なので「HP振り分け」

下3ビット:効果範囲
下3ビットが%000の時は、技データ12に効果範囲が入る。

数値
2進数
効果範囲
%001縦±0×横全体
%010縦±1×横全体
%011縦±2×横全体
%100縦全体×横±0
%101縦全体×横±1
%111縦全体×横±2
技データ22

ダメージフィールドと行動異常の値が入っている。
上4ビットはダメージフィールドで、行動異常が発生する場合は+$8される。

フィールド
$4
$5
$6
$7

下4ビットは、上4ビットが$8以上の時、行動異常の値$0~$Fが入る。

技データ23

ステータス変動。$00ならステータス変動なし。

上1ビット:%0なら変動するのは標的、%1なら変動するのは使用者

上2~3ビット:下降か上昇か

数値内容
%00下降・大
%01下降・中
%10下降・小
%11上昇

上4~8ビット:変動するステータス、合計値が入る。

数値内容
%00001
%00010
%00100
%01000
%10000レベル

行動異常データ

アドレス:$D5:644B$D5:64CA
ID$0$Fの16種類。1つの行動異常につき0~7の8バイト分のデータ。

No.内容
0上4ビットが使用不能になる技番号
1-
2レベル変動値
3行動順・発生時修正値
4行動順・被ダメージ定数
5行動順・攻撃以外の増加値
6行動順・攻撃時の減少値
7-

レベル変動がマイナス補正になる場合があるが、その場合は$100からマイナス分を引いた値が入る。

アイテムデータ

アドレス:$D5:71C4$D5:81C3
ID$00$FFまでの256種類分。1アイテムにつき00~15の16バイト分のデータ。

No.内容
00上4ビット:1~7は主装備位置、8以上なら罠アイテム/下4ビット:装備品なら装備種類、装備品以外ならアイテム種別
01上6ビット:装備部位/下1ビット:材料アイテム
02無効状態異常(8ビット)
03上4ビット:装備タイプ/下4ビット:フィールド吸収
04回避属性1(8ビット)
05回避属性2(8ビット)
06力 主能力変動値(符号付き8ビット整数値、一番上のビットが正負、下7ビットが数値になる。以下09まで同じ)
07速 主能力変動値
08体 主能力変動値
09知 主能力変動値
10味方技ID
11副能力変動値計算用の値
12メカがアクセサリ装備で技追加($08~$0F
13上4ビット:戦闘開始時行動異常を起こす敵種族/下4ビット:戦闘開始時行動異常
14下6ビット:攻撃または防御の値
15状態異常追加効果(8ビット)
副能力変動値

装備品は、主装備位置が指定されている場合、主装備位置以外では副能力変動値が使用される。
アイテムデータ06~09の力・速・体・知(主能力変動値、符号付き8ビット整数値)と、アイテムデータ11(副能力変動値計算用の値)から、以下のように計算して副能力変動値とする。

主能力変動値を符号付き8ビット整数値とするので、2進数にして一番上の値が1なら負の値であり、下7ビット分が整数値である。
(主能力変動値が負の値($80~$FF)の場合、$100-主能力変動値で、10進数のように考えることができる。主能力変動値が$FBなら$100-$FB = $5なので、10進数だと「-5」である)

まず、「副能力用計算値」を以下のように計算する。

  • 主能力変動値が正の値($00~$79)の場合は、
    副能力用計算値 = trunc(主能力変動値/2)
  • 主能力変動値が負の値($80~$FF)の場合は、頭に$FFをつけて符号付き16ビット整数値として扱い、
    副能力用計算値 = trunc($FF(主能力変動値)/2) & $00FF
    例:主能力変動値が$F5(10進数-11)なら、trunc($FFF5/2) = $7FFA、下1バイト$FA(10進数-6)が副能力変動値。

次に、アイテムデータ11(副能力変動値計算用の値)に$00が入っているかどうかで分岐する。

  • アイテムデータ11(副能力変動値計算用の値)に$00が入っている場合、
    副能力変動値 = 副能力用計算値
  • アイテムデータ11に$00以外の値が入っている場合は、まずアイテムデータ11から必要な値を算出する。
    • アイテムデータ11の上2ビット:
      変動する能力値の値。以下に対応。
    • 上2ビット能力値
      00
      01
      10
      11
    • アイテムデータ11の下6ビット:
      変動値を以下のように計算する。
      副能力用計算値は上で算出した値。
      副能力変動値 = (副能力用計算値 + (アイテムデータ11の下6ビットと$FFの排他的論理和 + 1)) & $FF
      計算結果が$100以上の時は下1バイト分が変動値になる(※符号付き8ビット整数)。
    以上から副能力変動するステータス&副能力変動値が算出される。

例1:
「木の棒」(主能力変動値はすべて$00)、アイテムデータ11は$45なので、

アイテムデータ11:
$45 = %0100 0101
アイテムデータ11の上2ビット:$01 変動する能力値 速
アイテムデータ11の下6ビット:%0000 0101 = $05

速:
副能力用計算値 = trunc($00/2)
= $00

副能力変動値 = (副能力用計算値 + (アイテムデータ11の下6ビットと$FFの排他的論理和 + 1)) & $FF
= ($00 + ($05 XOR $FF + $01)) & $FF
= ($00 + $FB) & $FF
= $FB

$100-$FB = $05、10進数5なので、「木の棒」の副能力変動値(速)-5となる。

例2:
「野性バッグ」(主能力変動値は力$14、知$08)、アイテムデータ11は$14なので、

アイテムデータ11:
$14 = %0001 0100
アイテムデータ11の上2ビット:$00 変動する能力値 力
アイテムデータ11の下6ビット:%0001 0100 = $14

力:
副能力用計算値 = trunc($14/2)
= $0A

副能力変動値 = (副能力用計算値 + (アイテムデータ11の下6ビットと$FFの排他的論理和 + 1)) & $FF
= ($0A + ($14 XOR $FF + $01)) & $FF
= ($0A + $EC) & $FF
= $F6

$100-$F6 = $0A、10進数10なので、「野性バッグ」の副能力変動値(力)-10となる。

知:
副能力用計算値 = trunc($08/2)
= $04
「野性バッグ」の副能力変動値(知)+4となる。

例3:
「ワタナベのパンツ」(主能力変動値は知$E7)、アイテムデータ11は$E0なので、

アイテムデータ11:
$E0 = %1110 0000
アイテムデータ11の上2ビット:$11 変動する能力値 知
アイテムデータ11の下6ビット:%0010 0000 = $20

知:
副能力用計算値 = trunc($FFE7/2) & $00FF
= $F3

副能力変動値 = (副能力用計算値 + (アイテムデータ11の下6ビットと$FFの排他的論理和 + 1)) & $FF
= ($F3 + ($20 XOR $FF + $01)) & $FF
= ($F3 + ($DF + $01)) & $FF
= ($F3 + $E0) & $FF
= $1D3 & $FF
= $D3

$100-$D3 = $2D、10進数45なので、「ワタナベのパンツ」の副能力変動値(知)は-45となる。
アイテムデータ00

上4ビット:
$1~$7なら主装備位置、$8以上なら罠アイテム。

数値主装備位置
$1
$2
$3
$4
$5
$6アクセサリー
$7自由

下4ビット:
装備品なら装備種類、装備品以外ならアイテム種別。

数値内容
$0(なし)
$1-
$2回復(無限)
$3回復(1回)
$4攻撃(無限)
$5攻撃(1回)
$6
$7
$8日用品
$9野性武器
$A
$Bグローブ
$C
$Dロボ
$E重要
$F
アイテムデータ01

上6ビット:装備可能部位
以下合計値が入る。%000000の場合、装備品ではない。

数値装備可能部位
%000001アクセサリー
%000010
%000100
%001000
%010000
%100000

下1ビット:材料アイテムなら%1

アイテムデータ03

上4ビットは装備タイプ。

装備タイプ
$0(なし)
$1超能
$4特殊
$6女性
$8重装
$9勇者
$C野性

下4ビット:フィールド吸収
以下合計値が入る。

フィールド
$1
$2
$4
$8
アイテムデータ13

左装備時の、戦闘開始時行動異常関係データ。
上4ビットは戦闘開始時行動異常を起こす敵種族、下4ビットは戦闘開始時行動異常。

上位
4ビット
種族
$0(なし)
$1超人
$2妖怪
$3悪魔
$4猛禽
$5
$6機械
$7植物
$8小型動物
$9(なし)
$A大型動物
$B宇宙人
$C軟体動物
$D物質
$E魔法生命
$F恐竜

敵パーティデータ

アドレス:$D6:4280$D6:512F
ID$00$FFまでの256種類分。1パーティにつき9~37バイト分のデータ(敵の総数により可変)。

以下表では、敵ID(0)のように、後ろのカッコ内に敵番号を記す。
向きと初期座標は、表の下で詳細を説明している。

No.内容
00敵パーティレベル
01$00:通常
$01:敵対敵(ブリキ大王戦など)
$10または$20:原始編のざき戦
$40:味方対味方(功夫編修行など)
02味方1 向き/初期座標
03味方2 向き/初期座標
04味方3 向き/初期座標
05味方4 向き/初期座標
06上位8ビット:アイテム入手率補正
下位8ビット:敵の総数
07敵ID(0)
08向き/初期座標(0)
09敵ID(1)
10向き/初期座標(1)
11敵ID(2)
12向き/初期座標(2)
13敵ID(3)
14向き/初期座標(3)
15敵ID(4)
16向き/初期座標(4)
17敵ID(5)
18向き/初期座標(5)
19敵ID(6)
20向き/初期座標(6)
21敵ID(7)
22向き/初期座標(7)
23敵ID(8)
24向き/初期座標(8)
25敵ID(9)
26向き/初期座標(9)
27敵ID(A)
28向き/初期座標(A)
29敵ID(B)
30向き/初期座標(B)
31敵ID(C)
32向き/初期座標(C)
33敵ID(D)
34向き/初期座標(D)
35敵ID(E)
36向き/初期座標(E)
向きと座標について

向き/初期座標が入るアドレスには、以下のようにしてデータが収納されている。

上2ビット:向き
以下の数値が入る。

数値向き
%00右下
%01左下
%10右上
%11左上

下6ビット:座標
左上マスを(0,0)として、右方向がX0~6)、下方向がY0~6)。
3ビットずつ区切って、順に(X,Y)が入る。
複数マスにまたがる敵は左上マス位置の座標になる。

例:
向き/初期座標の値が$D3なら、%1101 0011なので、

向き:%11(左上向き)
X座標:%010
Y座標:%011
初期座標(2,3)

となる。



このページをシェアする

上へ