- CATEGORY
- SOFTWARE
ウィザードリィ#1
PROVING GROUNDS OF THE MAD OVERLORD!
- 1985年
徹底研究/ウィザードリィ#1~キャラクターデータ解析
キャラクターデータは、「TSXBIN」で見た場合、トラック36のセクター13あたりからあると思います(FM-7版の場合。他機種では、ずれていると思います)。
1キャラクターのデータは208バイトで、これが作成キャラクター分並んでいます。下図のデータを例に各データを説明していきます。
- 名前の長さ(00)
- キャラクター名の長さが入ります。
- ex.
- &H0A=10文字です。
- 名前(01-0F)
- キャラクター名がアスキーコード、または漢字コードで入ります。
- ex.
- FRIEDEMANNと表示されます。
- パスワードの長さ(10)
- パスワードの長さが入ります。
- ex.
- パスワードは設定されていません。
- パスワード(11-1F)
- キャラクター作成時に設定されたパスワードの長さとコードが入ります。
- ex.
- パスワードは設定されていません。
- 不明(20-21)
- キャラクターがOUTだと1?
- 種族(22-23)
- 種族のコードが入ります。
- HUMAN
- ELF
- DWARF
- GNOME
- HOBBIT
- ex.
- DWARFです。
- クラス(24-25)
- キャラクターの職業が入ります。
- FIGHTER
- MAGE
- PRIEST
- THIEF
- BISHOP
- SAMURAI
- LORD
- NINJA
- ex.
- SAMURAIです。
- 年齢(26-27)
- キャラクターの年齢(初期値)×52+ADVENTURE'S INNで休息した回数が入ります。
- ex.
- &H0378=888÷52=17歳
- ステータス(28-29)
- キャラクターの状態を表わします。
- OK
- AFRAID
- ASLEEP
- PARALYZED
- PETRIFIED
- DEAD
- ASHES
- LOST
- ex.
- 正常です。
- 属性(2A-2B)
- キャラクターの属性が入ります。
- GOOD
- NEUTRAL
- EVIL
- ex.
- NEUTRALです。
- 特性(2C-2F)
- STRENGTH、I.Q、PIETY、VITALITY、AGILITY、LUCKの各特性値が入ります。2バイトのデータを結合して2進数に変換し、下位から5ビットずつを拾うとデータになります(リトルエンディアン)。最上位1ビットは使用しません。
- ex.
- &H4A52=0100101001010010=18/18/18
- 不明(30-33)
- GOLD(34-39)
- GOLDの枚数が入ります。2バイトずつリトルエンディアンで格納されています。
- ex.
- 3A1899000000=&H0000+&H0099+&H183A=1536202
- アイテムの数(3A-3B)
- 所持しているアイテムの個数が入ります。
- ex.
- 5個です。
- アイテム(3C-7B)
- 1アイテムにつき8バイト使用で、最大8アイテム分が並んでいます。1バイト目が装着しているかのフラグ、5バイト目がアイテムを識別しているかのフラグ、7-8バイト目がアイテムナンバーです。
アイテムナンバーはこちらを参照してください。
- 経験値(7C-81)
- 経験値が入ります。データ形式はGOLDと同様です。
- ex.
- B00229020000=&H0000+&H0229+&H02B0=5530688
- レヴェル(82-85)
- レヴェルが入ります。最初の2バイトが名前の後ろに表示される数値、次の2バイトが現在のレヴェルです。この値は同じにする必要があります。
- ex.
- &H17=23です。
- H.P.(86-87)
- 現在のヒットポイントが入ります。
- ex.
- &H00B2=178です。
- MAX H.P.(88-89)
- ヒットポイントの最大値が入ります。
- ex.
- &H00B2=178です。
- スペルのビット(8A-91)
- 使用できるスペルのビットが入ります。
- ex.
- FE FF FF FF FF FF 07とすると、すべてのスペルが使えます。
- MAGE系スペルの残り(92-9F)
- MAGE系スペルの残り使用回数が入ります。
- PRIEST系スペルの残り(A0-AD)
- PRIEST系スペルの残り使用回数が入ります。
- 不明(AE-AF)
- アーマークラス?
- 現在のA.C.(B0-B1)
- 現在のアーマークラスが入ります。最上位のビットを立てることによって負の値になります。なおここを書き換えても、ゲーム中でA.C.を計算した場合(EQUIPしたときなど)、元の値に戻ります。
- ex.
- &HFFFA=-6
- 不明(B2-B5)
- 不明(B6-BF)
- アイテム関連?
- 不明(C0-C9)
- 座標(CA-CC)
- キャラクターの存在する位置です。X,、Y、Zの座標が入ります。
- ex.
- 00 00 00=CASTLEにいます。
- EMBLEM(CD-CF)
- WERDNAのAMULETを持ち帰ったかどうかのフラグです。
- ex.
- 00 01 00で持ち帰ったことになります。