性格と職業には相性の設定があり、ダーマでの転職時に「ねっからの〇〇じゃのう」や「世も末じゃ(意訳)」といったコメントで知ることができますが、実際にはいくら褒められたところで何が変わるわけではありません。というわけで、各性格の成長補正値にこういった職業との相性を加味することで、性格の存在意義を高めよう、というのが目的です。具体的な実装方法は、相性に応じたボーナス値(プラス、マイナス両方ある)を設定しておき、各性格のステータス補正値にさらに加算(減算)する、というものです。簡略化のためにボーナス値は全ステータス(力~運の良さ)で共通とします。
| 略 |
|
|
|
| 043F2D |
JSL $041E31 |
SR: $041E31 |
職業との相性を考慮した補正値取得 |
| 略 |
|
|
|
- SR: $041E31 職業との相性を考慮した補正値取得
| 041E31 |
JSL $046C63 |
SR: $046C63 |
性格に対応するステータス補正値(ベース:128)を取得 |
| 041E35 |
JSR $1E41 |
SR: $041E41 |
職業と性格の相性から補正ボーナス値を取得する |
| 041E38 |
RTL |
return |
|
- SR: $041E31 職業と性格の相性から補正ボーナス値を取得する
| 041E42 |
PHX |
Push X |
|
| 041E43 |
PHA |
Push A |
|
| 041E44 |
PHY |
Push Y |
|
| 041E45 |
LDX $40C7 |
X=$7E40C7 |
|
| 041E48 |
LDY $40C9 |
Y=$7E40C9 |
|
| 041E4B |
JSL $090501 |
SR: $090501 引数:1#$01 引数:2#$0010 引数:3#$D21C00 引数:4#$78 |
構造体アクセス Y番目の先頭アドレスを$00,第4引数にセット |
| 041E56 |
JSL $03F800 |
SR: $03F800 |
職業と性格の相性チェック(職業数拡張版) |
| 041E5A |
BCS #$05 |
if(c==on) goto $041E61 |
|
| 041E5C |
LDA #$0000 |
A=#$0000 |
|
| 041E5F |
BRA #$0B |
goto $041E6C |
|
| 041E61 |
ASL |
A<<1 |
|
| 041E62 |
TAX |
X=A |
|
| 041E63 |
LDA $121C81,X |
A=$121C81+X |
ボーナス定数値取得 |
| 041E67 |
CLC |
c=off |
|
| 041E68 |
ADC $03,S |
A+=Stack($03) |
|
| 041E6A |
STA $03,S |
Stack($03)=A |
|
| 041E6C |
PLY |
Pull Y |
|
| 041E6D |
PLA |
Pull A |
|
| 041E6E |
PLX |
Pull X |
|
| 041E6F |
PLP |
Pull P Flag |
|
| 041E70 |
RTS |
return |
|
また、これに伴い、相性値に応じたボーナス値を$121C81-に設定します。ぶとうかが装備すると弱くなる武器($043ADA-)と同じく、符号付き2バイトで定義します。
| ID |
ボーナス値 |
転職時コメント |
| 00 |
0 |
(なし) |
| 01 |
24 |
ねっからの〇〇じゃのう |
| 02 |
-16 |
なんという〇〇じゃ。まあ よい… |
| 03 |
-24 |
〇〇の分際で(中略)結構わらかしてくれるぞ |
| 04 |
16 |
さすが〇〇の性格のことはあるのう |
| 05 |
-24 |
〇〇になりたいとは世の中がいけないからかのう |
| 06 |
-8 |
ちょっと大変そうな気がする |
| 07 |
-32 |
ウケ狙いか |
| 08 |
32 |
天職とも言えるナイスチョイス |
| 09 |
-8 |
〇〇になりたいとはずいぶん成長したのう |
これにより、例えばセクシーギャルで賢者など、性格と相性の悪い職業だと成長率が最大25%悪くなります。ただ、これだけだと、単に職業を変えたときに性格を変える装備品を装備すればいいだけなので、不十分かなと思います。性格を変える消耗品はまだいいと思うのですが、装備すると性格の変わるアイテムは便利すぎるのでもうちょっと何とかならんかなーと思います。いい案は思いつかないけど。
コメント