本節では職業について述べる。
職業を表現するオブジェクト型について述べる。
アドレス $C4179E に下の表に示すような巨大なオブジェクトが 9 個配列されている。
これらがそれぞれの職業の性質を表現する。
表 5.50 構造体 $C4179E
| オフセット | 桁 | 属性 | 
|---|---|---|
                      #$0000
                     | 
                    
                      #$00FFFF
                     | 
                    名前 | 
                      #$0002
                     | 
                    
                      #$0000FF
                     | 
                    スプライト男 | 
                      #$0003
                     | 
                    
                      #$0000FF
                     | 
                    スプライト女 | 
                      #$0004
                     | 
                    
                      #$0000FF
                     | 
                    スプライト水着 | 
                      #$0005
                     | 
                    
                      #$0000FF
                     | 
                    頭文字コード | 
                      #$0006
                     | 
                    
                      #$0000FF
                     | 
                    初期性格条件 0 | 
                      #$0007
                     | 
                    
                      #$0000FF
                     | 
                    初期性格条件 1 | 
                      #$0008
                     | 
                    
                      #$0000FF
                     | 
                    初期性格条件 2 | 
                      #$0009
                     | 
                    
                      #$0000FF
                     | 
                    初期性格条件 3 | 
                      #$000A
                     | 
                    
                      #$0000FF
                     | 
                    初期性格条件 4 | 
                      #$000B
                     | 
                    
                      #$FFFFFF
                     | 
                    習得呪文配列 | 
                      #$000E
                     | 
                    
                      #$0000FF
                     | 
                    習得呪文個数 | 
                      #$000F
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$00 | 
                  
                      #$0012
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$01 | 
                  
                      #$0015
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$02 | 
                  
                      #$0018
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$03 | 
                  
                      #$001B
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$04 | 
                  
                      #$001E
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$05 | 
                  
                      #$0021
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$06 | 
                  
                      #$0024
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$07 | 
                  
                      #$0027
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$08 | 
                  
                      #$002A
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$09 | 
                  
                      #$002D
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$0A | 
                  
                      #$0030
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$0B | 
                  
                      #$0033
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$0C | 
                  
                      #$0036
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$0D | 
                  
                      #$0039
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$0E | 
                  
                      #$003C
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$0F | 
                  
                      #$003F
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$10 | 
                  
                      #$0042
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$11 | 
                  
                      #$0045
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$12 | 
                  
                      #$0048
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$13 | 
                  
                      #$004B
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$14 | 
                  
                      #$004E
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$15 | 
                  
                      #$0051
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$16 | 
                  
                      #$0054
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$17 | 
                  
                      #$0057
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$18 | 
                  
                      #$005A
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$19 | 
                  
                      #$005D
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$1A | 
                  
                      #$0060
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$1B | 
                  
                      #$0063
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$1C | 
                  
                      #$0066
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$1D | 
                  
                      #$0069
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$1E | 
                  
                      #$006C
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$1F | 
                  
                      #$006F
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$20 | 
                  
                      #$0072
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$21 | 
                  
                      #$0075
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$22 | 
                  
                      #$0078
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$23 | 
                  
                      #$007B
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$24 | 
                  
                      #$007E
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$25 | 
                  
                      #$0081
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$26 | 
                  
                      #$0084
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$27 | 
                  
                      #$0087
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$28 | 
                  
                      #$008A
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$29 | 
                  
                      #$008D
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$2A | 
                  
                      #$0090
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$2B | 
                  
                      #$0093
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$2C | 
                  
                      #$0096
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$2D | 
                  
                      #$0099
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$2E | 
                  
                      #$009C
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$2F | 
                  
                      #$009F
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$30 | 
                  
                      #$00A2
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$31 | 
                  
                      #$00A5
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$32 | 
                  
                      #$00A8
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$33 | 
                  
                      #$00AB
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$34 | 
                  
                      #$00AE
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$35 | 
                  
                      #$00B1
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$36 | 
                  
                      #$00B4
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$37 | 
                  
                      #$00B7
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$38 | 
                  
                      #$00BA
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$39 | 
                  
                      #$00BD
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$3A | 
                  
                      #$00C0
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$3B | 
                  
                      #$00C3
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$3C | 
                  
                      #$00C6
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$3D | 
                  
                      #$00C9
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$3E | 
                  
                      #$00CC
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$3F | 
                  
                      #$00CF
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$40 | 
                  
                      #$00D2
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$41 | 
                  
                      #$00D5
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$42 | 
                  
                      #$00D8
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$43 | 
                  
                      #$00DB
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$44 | 
                  
                      #$00DE
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$45 | 
                  
                      #$00E1
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$46 | 
                  
                      #$00E4
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$47 | 
                  
                      #$00E7
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$48 | 
                  
                      #$00EA
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$49 | 
                  
                      #$00ED
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$4A | 
                  
                      #$00F0
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$4B | 
                  
                      #$00F3
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$4C | 
                  
                      #$00F6
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$4D | 
                  
                      #$00F9
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$4E | 
                  
                      #$00FC
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$4F | 
                  
                      #$00FF
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$50 | 
                  
                      #$0102
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$51 | 
                  
                      #$0105
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$52 | 
                  
                      #$0108
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$53 | 
                  
                      #$010B
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$54 | 
                  
                      #$010E
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$55 | 
                  
                      #$0111
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$56 | 
                  
                      #$0114
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$57 | 
                  
                      #$0117
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$58 | 
                  
                      #$011A
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$59 | 
                  
                      #$011D
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$5A | 
                  
                      #$0120
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$5B | 
                  
                      #$0123
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$5C | 
                  
                      #$0126
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$5D | 
                  
                      #$0129
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$5E | 
                  
                      #$012C
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$5F | 
                  
                      #$012F
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$60 | 
                  
                      #$0132
                     | 
                    
                      #$FFFFFF
                     | 
                    経験値 #$61 | 
                  
                      #$0135
                     | 
                    
                      #$0000FF
                     | 
                    ちから初期値男 | 
                      #$0136
                     | 
                    
                      #$0000FF
                     | 
                    ちから初期値女 | 
                      #$0137
                     | 
                    
                      #$0000FF
                     | 
                    ちからレベル 0 | 
                      #$0138
                     | 
                    
                      #$0000FF
                     | 
                    ちから増分 0 | 
                      #$0139
                     | 
                    
                      #$0000FF
                     | 
                    ちからレベル 1 | 
                      #$013A
                     | 
                    
                      #$0000FF
                     | 
                    ちから増分 1 | 
                      #$013B
                     | 
                    
                      #$0000FF
                     | 
                    ちからレベル 2 | 
                      #$013C
                     | 
                    
                      #$0000FF
                     | 
                    ちから増分 2 | 
                      #$013D
                     | 
                    
                      #$0000FF
                     | 
                    ちからレベル 3 | 
                      #$013E
                     | 
                    
                      #$0000FF
                     | 
                    ちから増分 3 | 
                      #$013F
                     | 
                    
                      #$0000FF
                     | 
                    ちからレベル 4 | 
                      #$0140
                     | 
                    
                      #$0000FF
                     | 
                    ちから増分 4 | 
                      #$0141
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ初期値男 | 
                      #$0142
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ初期値女 | 
                      #$0143
                     | 
                    
                      #$0000FF
                     | 
                    すばやさレベル 0 | 
                      #$0144
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ増分 0 | 
                      #$0145
                     | 
                    
                      #$0000FF
                     | 
                    すばやさレベル 1 | 
                      #$0146
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ増分 1 | 
                      #$0147
                     | 
                    
                      #$0000FF
                     | 
                    すばやさレベル 2 | 
                      #$0148
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ増分 2 | 
                      #$0149
                     | 
                    
                      #$0000FF
                     | 
                    すばやさレベル 3 | 
                      #$014A
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ増分 3 | 
                      #$014B
                     | 
                    
                      #$0000FF
                     | 
                    すばやさレベル 4 | 
                      #$014C
                     | 
                    
                      #$0000FF
                     | 
                    すばやさ増分 4 | 
                      #$014D
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく初期値男 | 
                      #$014E
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく初期値女 | 
                      #$014F
                     | 
                    
                      #$0000FF
                     | 
                    たいりょくレベル 0 | 
                      #$0150
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく増分 0 | 
                      #$0151
                     | 
                    
                      #$0000FF
                     | 
                    たいりょくレベル 1 | 
                      #$0152
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく増分 1 | 
                      #$0153
                     | 
                    
                      #$0000FF
                     | 
                    たいりょくレベル 2 | 
                      #$0154
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく増分 2 | 
                      #$0155
                     | 
                    
                      #$0000FF
                     | 
                    たいりょくレベル 3 | 
                      #$0156
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく増分 3 | 
                      #$0157
                     | 
                    
                      #$0000FF
                     | 
                    たいりょくレベル 4 | 
                      #$0158
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく増分 4 | 
                      #$0159
                     | 
                    
                      #$0000FF
                     | 
                    たいりょくレベル 5 | 
                      #$015A
                     | 
                    
                      #$0000FF
                     | 
                    たいりょく増分 5 | 
                      #$015B
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ初期値男 | 
                      #$015C
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ初期値女 | 
                      #$015D
                     | 
                    
                      #$0000FF
                     | 
                    かしこさレベル 0 | 
                      #$015E
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ増分 0 | 
                      #$015F
                     | 
                    
                      #$0000FF
                     | 
                    かしこさレベル 1 | 
                      #$0160
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ増分 1 | 
                      #$0161
                     | 
                    
                      #$0000FF
                     | 
                    かしこさレベル 2 | 
                      #$0162
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ増分 2 | 
                      #$0163
                     | 
                    
                      #$0000FF
                     | 
                    かしこさレベル 3 | 
                      #$0164
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ増分 3 | 
                      #$0165
                     | 
                    
                      #$0000FF
                     | 
                    かしこさレベル 4 | 
                      #$0166
                     | 
                    
                      #$0000FF
                     | 
                    かしこさ増分 4 | 
                      #$0167
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ初期値男 | 
                      #$0168
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ初期値女 | 
                      #$0169
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさレベル 0 | 
                      #$016A
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ増分 0 | 
                      #$016B
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさレベル 1 | 
                      #$016C
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ増分 1 | 
                      #$016D
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさレベル 2 | 
                      #$016E
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ増分 2 | 
                      #$016F
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさレベル 3 | 
                      #$0170
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ増分 3 | 
                      #$0171
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさレベル 4 | 
                      #$0172
                     | 
                    
                      #$0000FF
                     | 
                    うんのよさ増分 4 | 
各属性の意味を次に述べる。
職業の名前を表す文字列 の ID を値に取る属性だ。 文字列については 5.2 文字列 で述べる。
「はなす」対象分類オブジェクトの ID を値に取る属性だ。 この職業のキャラクターを移動中の画面上に表現するときに用いられるスプライトに関する情報は、 そのオブジェクトから参照する。
        「はなす」対象分類オブジェクトについては 5.26.1.2 構造体 $C893D4: 「はなす」対象分類 で述べる。
      
移動中や戦闘中のパーティー編成ウィンドウにおいて、各キャラクターのレベルの左に現れる平仮名一文字のコード値を取る属性だ。
この職業のキャラクターを仲間登録所で新規に作成する際に用いるオブジェクトの ID を値とする属性だ。 詳細は 5.16 冒険者たちの登録所 で述べる。
        この職業のキャラクターが、レベルアップ時に習得する可能性のあるレベルと、
        習得呪文のペアを定義する配列のアドレスである。
        厳密には、コマンド ID を直接保持するわけではなく、
        仲間キャラクターオブジェクトの一部である「習得済み呪文フラグ」の位置を指示する配列
        $C456AC の添字を保持する。
      
仲間キャラクターオブジェクトについては 5.4 仲間キャラクターオブジェクト で述べる。
上述した習得呪文配列属性の配列長を値とする属性だ。
#$00..#$61)
              この職業のキャラクターのレベルが k + 2 であるために必要な経験値を値とする属性だ。
この職業のキャラクターを仲間登録所で新規に作成する際、男女それぞれのちから属性値の初期値(の最小値)を表す属性だ。 実際にはここにある乱数が加算される。
この職業のキャラクターのレベルが上がるときに再設定されるちから属性値の基準値を計算するための属性だ。 この職業のキャラクターのレベルがちからレベル k 以上ちからレベル k + 1 未満であるとき、 その評価値を次の式で求める:
基準値 = (初期値
        + 増分[0]     * (レベル[0]     - 2)
        + 増分[1]     * (レベル[1]     - レベル[0])
        + ...
        + 増分[k - 1] * (レベル[k - 1] - レベル[k - 2])
        + 増分[k]     * (キャラレベル  - レベル[k]))
        / 16
              ちからでの各属性についての説明をすばやさに置き換えて読んで欲しい。
ちからでの各属性についての説明をたいりょくに置き換えて読んで欲しい。
ちからでの各属性についての説明をかしこさに置き換えて読んで欲しい。
ちからでの各属性についての説明をうんのよさに置き換えて読んで欲しい。
職業オブジェクトが参照される処理のうち主要なものは、 仲間キャラクター初期化処理、同レベルアップ処理、同転職処理だろう。 本節ではそのうちで最も職業オブジェクトの属性値を参照するレベルアップ処理について記す。
仲間キャラクター初期化処理については 5.16.2.1 サブルーチン $C3DAEB: 登録所メイン で、
転職処理については 5.18.2.1 サブルーチン $C3E477: ダーマの神官との対話的処理 でそれぞれ述べる。