5.5. 仲間キャラクターオブジェクト

5.5.1. 構造に関する構成要素
5.5.1.1. 構造体 $7E3925: 仲間キャラクター
5.5.1.2. 配列 $7E36E8: 仲間キャラクターポインター列
5.5.2. 振る舞いに関する構成要素

本節では RAM に展開される仲間キャラクターオブジェクトについて述べる。

5.5.1. 構造に関する構成要素

仲間キャラクターの状態を表現する構造体について述べる。

5.5.1.1. 構造体 $7E3925: 仲間キャラクター

アドレス $7E3925 には次の表で示される型のオブジェクトが最大 24 個配列されている。 このオブジェクトが仲間キャラクターを表現する。

表 5.10 構造体 $7E3925

オフセット 属性
#$00 #$000001 登録済みフラグ
#$00 #$0000FE レベル
#$01 #$FFFFFF 経験値
#$04 #$00FFFF さいだい HP
#$06 #$00FFFF HP
#$08 #$00FFFF さいだい MP
#$0A #$00FFFF MP
#$0C #$0000FF ちから
#$0D #$0000FF すばやさ
#$0E #$0000FF たいりょく
#$0F #$0000FF かしこさ
#$10 #$0000FF うんのよさ
#$11 #$0000FF ちから持ち越し
#$12 #$0000FF たいりょく持ち越し
#$13 #$0000FF すばやさ持ち越し
#$14 #$0000FF かしこさ持ち越し
#$15 #$0000FF うんのよさ持ち越し
#$16 #$0000FF 名前文字列 #$00
#$17 #$0000FF 名前文字列 #$01
#$18 #$0000FF 名前文字列 #$02
#$19 #$0000FF 名前文字列 #$03
#$1A #$0000FF 名前文字列 #$04
#$1B #$0000FF 名前文字列 #$05
#$1C #$0000FF 名前文字列 #$06
#$1D #$0000FF 名前文字列 #$07
#$1E #$0000FF 名前文字列 #$08
#$1F #$000001 毒フラグ
#$1F #$000002 マヒフラグ
#$1F #$000004 呪いフラグ
#$1F #$000008 瀕死フラグ
#$1F #$000010 死亡フラグ
#$1F #$000020 性別
#$1F #$000FC0 性格
#$20 #$000030 仲間分類
#$20 #$0000C0 (未使用)
#$21 #$0000FF 職業
#$22 #$0000FF 移動時じゅもんカーソル位置
#$23 #$0000FF 戦闘時じゅもんカーソル位置
#$24 #$000001 習得フラグ #$00: ホイミ
#$24 #$000002 習得フラグ #$01: キアリー
#$24 #$000004 習得フラグ #$02: ベホイミ
#$24 #$000008 習得フラグ #$03: ザオラル
#$24 #$000010 習得フラグ #$04: ベホマ
#$24 #$000020 習得フラグ #$05: ザオリク
#$24 #$000040 習得フラグ #$06: ベホマラー
#$24 #$000080 習得フラグ #$07: ベホマズン
#$25 #$000001 習得フラグ #$08: メラ
#$25 #$000002 習得フラグ #$09: ギラ
#$25 #$000004 習得フラグ #$0A: ヒャド
#$25 #$000008 習得フラグ #$0B: バギ
#$25 #$000010 習得フラグ #$0C: ザキ
#$25 #$000020 習得フラグ #$0D: イオ
#$25 #$000040 習得フラグ #$0E: メラミ
#$25 #$000080 習得フラグ #$0F: ベギラマ
#$26 #$000001 習得フラグ #$10: ヒャダルコ
#$26 #$000002 習得フラグ #$11: バギマ
#$26 #$000004 習得フラグ #$12: ザラキ
#$26 #$000008 習得フラグ #$13: イオラ
#$26 #$000010 習得フラグ #$14: ライデイン
#$26 #$000020 習得フラグ #$15: メラゾーマ
#$26 #$000040 習得フラグ #$16: ベギラゴン
#$26 #$000080 習得フラグ #$17: ヒャダイン
#$27 #$000001 習得フラグ #$18: マヒャド
#$27 #$000002 習得フラグ #$19: バギクロス
#$27 #$000004 習得フラグ #$1A: イオナズン
#$27 #$000008 習得フラグ #$1B: ギガデイン
#$27 #$000010 習得フラグ #$1C: キアリク
#$27 #$000020 習得フラグ #$1D: ニフラム
#$27 #$000040 習得フラグ #$1E: マホトーン
#$27 #$000080 習得フラグ #$1F: マホトラ
#$28 #$000001 習得フラグ #$20: マホカンタ
#$28 #$000002 習得フラグ #$21: ボミオス
#$28 #$000004 習得フラグ #$22: ルカニ
#$28 #$000008 習得フラグ #$23: ルカナン
#$28 #$000010 習得フラグ #$24: スカラ
#$28 #$000020 習得フラグ #$25: スクルト
#$28 #$000040 習得フラグ #$26: ラリホー
#$28 #$000080 習得フラグ #$27: ザメハ
#$29 #$000001 習得フラグ #$28: ピオリム
#$29 #$000002 習得フラグ #$29: マヌーサ
#$29 #$000004 習得フラグ #$2A: メダパニ
#$29 #$000008 習得フラグ #$2B: フバーハ
#$29 #$000010 習得フラグ #$2C: バイキルト
#$29 #$000020 習得フラグ #$2D: アストロン
#$29 #$000040 習得フラグ #$2E: ドラゴラム
#$29 #$000080 習得フラグ #$2F: メガンテ
#$2A #$000001 習得フラグ #$30: バシルーラ
#$2A #$000002 習得フラグ #$31: パルプンテ
#$2A #$000004 習得フラグ #$32: モシャス
#$2A #$000008 習得フラグ #$33: (未使用)
#$2A #$000010 習得フラグ #$34: ルーラ
#$2A #$000020 習得フラグ #$35: リレミト
#$2A #$000040 習得フラグ #$36: インパス
#$2A #$000080 習得フラグ #$37: トラマナ
#$2B #$000001 習得フラグ #$38: トヘロス
#$2B #$000002 習得フラグ #$39: ラナルータ
#$2B #$000004 習得フラグ #$3A: シャナク
#$2B #$000008 習得フラグ #$3B: レムオル
#$2B #$000010 習得フラグ #$3C: アバカム
#$2B #$000020 習得フラグ #$3D: おもいだす
#$2B #$000040 習得フラグ #$3E: もっとおもいだす
#$2B #$000080 習得フラグ #$3F: ふかくおもいだす
#$2C #$000001 習得フラグ #$40: わすれる
#$2C #$000002 習得フラグ #$41: タカのめ
#$2C #$000004 習得フラグ #$42: フローミ
#$2C #$000008 習得フラグ #$43: しのびあし
#$2C #$000010 習得フラグ #$44: とうぞくのはな
#$2C #$000020 習得フラグ #$45: レミラーマ
#$2C #$000040 習得フラグ #$46: くちぶえ
#$2C #$000080 習得フラグ #$47: あなほり
#$2D #$000001 習得フラグ #$48: おおごえ
#$2D #$0000FE (未使用)
#$2E #$0000FF 装備数
#$2F #$0000FF 所持品数
#$30 #$0000FF 所持品 #$00
#$31 #$0000FF 所持品 #$01
#$32 #$0000FF 所持品 #$02
#$33 #$0000FF 所持品 #$03
#$34 #$0000FF 所持品 #$04
#$35 #$0000FF 所持品 #$05
#$36 #$0000FF 所持品 #$06
#$37 #$0000FF 所持品 #$07
#$38 #$0000FF 所持品 #$08
#$39 #$0000FF 所持品 #$09
#$3A #$0000FF 所持品 #$0A
#$3B #$0000FF 所持品 #$0B

各属性の意味を説明する。

登録済みフラグ

この属性値が 1 であることが、アドレスに仲間キャラクターオブジェクトが本当に定義されていることを示す条件となる。

レベル

仲間キャラクターのレベルを値とする属性だ。 前作とは異なり経験値そのものが格納される。

経験値

仲間キャラクターの経験値を値とする属性だ。 前作とは異なり経験値そのものが格納される。

さいだい HP, さいだい MP

それぞれ仲間キャラクターのさいだい HP とさいだい MP を値とする属性だ。 取り得る値の範囲は 0..999 だ。

HP, MP

それぞれ仲間キャラクターの HP と MP を値とする属性だ。取り得る値の範囲は 0..999 だ。

ちから

ちからとは、攻撃力を評価する際に参照される数値型属性だ。 移動時で「つよさ」メニューで確認できる攻撃力は、この属性値と装備アイテム属性値によって決まる。

「つよさ」ウィンドウに表示されるちからの値はこの属性値に装備を考慮したものになっている。 以下で述べるすばやさ、たいりょく、かしこさ、うんのよさについても同様だ。

すばやさ

すばやさとは、守備力を評価する際に参照される数値型属性であり、 また、戦闘中のコマンド実行順を決定する際に参照される数値型属性だ。 移動時で「つよさ」メニューで確認できる守備力は、この属性値の半分と装備アイテム属性値によって決まる値との和とする。

たいりょく

たいりょくとは、レベルアップ時にさいだい HP の上昇量を増加しやすくするための属性値だ。 randint(500, 525) * たいりょく / 256 の値がさいだい HP より上回っていれば、 この評価値と現時点でのさいだい HP との差が増加量となる。

かしこさ

かしこさとは、レベルアップ時にさいだい MP の上昇量を増加しやすくするための属性値だ。 増加量の評価式において、かしこさとさいだい MP の関係は上述のたいりょくとさいだい HP との関係と同じだ。

うんのよさ

うんのよさとは、コマンドの一部の効力、的中確率を評価するのに参照される属性値だ。 このようなコマンドには毒攻撃、マヒ攻撃、ザキ系、バシルーラ、ボミオス等々が該当する。

5.7.1.1 構造体 $C21860: コマンド のうんのよさ考慮属性で説明する。

ちから持ち越し, たいりょく持ち越し, すばやさ持ち越し, かしこさ持ち越し, うんのよさ持ち越し

レベルアップにおける対応する仲間キャラクターの属性値の増加量を調整するための属性だ。 いずれも同様の意味を持つので、ちから属性とちから持ち越し属性の場合の関係について説明する。

レベルアップの際には、ちからの増分とちから持ち越しの増分の両方を同時に決定する。 このとき、ちから持ち越し属性値が 255 を超えると、本来のちから属性値に対する増分値をさらに 1 だけ加算する。 変化後のちから持ち越し属性の値の扱いは、変化後のちから属性値がある閾値をまたぐかどうかによって異なる。 255 を超えたぶんだけ残るか、あるいは 0 にリセットされる。

詳細はレベルアップの節で述べる。

名前文字列 k (k = #$00..#$08)

この仲間キャラクターの名前を表す文字列を値とする属性だ。

毒フラグ

ブーリアン型属性で、この仲間キャラクターが毒状態であるかどうかを示すものだ。

マヒフラグ

ブーリアン型属性で、この仲間キャラクターがマヒ状態であるかどうかを示すものだ。

呪いフラグ

ブーリアン型属性で、この仲間キャラクターが呪い状態であるかどうかを示すものだ。

瀕死フラグ

ブーリアン型属性で、この仲間キャラクターの HP の量がさいだい HP の 1/4 未満であり、 かつ死亡状態でなければ、値が 1 となる。

死亡フラグ

ブーリアン型属性で、この仲間キャラクターが死亡状態であるかどうかを示すものだ。 死亡状態であることと HP 属性値がゼロであることとが同値でなければならない。

性別

この仲間キャラクターの性別を示す 1 ビット値を取る属性だ。 値 0 が男を、値 1 が女をそれぞれ表す。

性格

この仲間キャラクターの性格を値とする属性だ。 性格については 5.26 性格 で述べる。

なお、「つよさ」ウィンドウに表示される性格はこの属性値そのものではなく、 装備品によってはそれが定める性格で上書きされていることがある。

仲間分類

仲間キャラクターの分類を意味する値とする属性だ。 値が 1 であれば主人公を、値が 2 であれば通常の仲間キャラクターであることをそれぞれ意味する。

職業

この仲間キャラクターの職業を値とする属性だ。 職業については 5.25 職業 で述べる。

移動時じゅもんカーソル位置, 戦闘時じゅもんカーソル位置

それぞれウィンドウで選択したコマンドを次のウィンドウ表示の際に再現するための値を保持する属性だ。 ウィンドウについては 5.10 ウィンドウ で述べる。

習得フラグ k (k = #$00..#$48)

対応するコマンドを習得したことを示すビット配列型属性だ。

装備数

この仲間キャラクターが装備しているアイテムの個数を値に取る属性だ。

所持品数

この仲間キャラクターの持ち物の個数を値に取る属性だ。

所持品 k (k = #$00..#$0B)

この仲間キャラクターの持ち物のアイテム ID を値に取る属性だ。 アイテムについては 5.24 アイテム で述べる。

5.5.1.2. 配列 $7E36E8: 仲間キャラクターポインター列

アドレス $7E36E8 は 2 バイト値が 24 個配列されている。 この各要素は仲間キャラクターオブジェクトのアドレス値(データバンクは #$7E とする)を直接表現していて、 パーティーの隊列とルイーダの酒場に控えているキャラクターの並びを連結したような順序に格納されている。 まだ存在しないキャラクターについては #$0000 がセットされている。

5.5.2. 振る舞いに関する構成要素

仲間キャラクターの属性にアクセスするサブルーチンが多数存在する。