コメントで教えてもらった運のよさの件ですが、バイナリwikiに書いてありましたね。灯台もと暗しというやつです。返事を書きがてら、いままでまじめに見てなかった運のよさ依存の成功率の処理を見てみることにします。
- SR: $02C51E 運のよさ依存処理
02C51E | PHA | Push A | |
---|---|---|---|
02C51F | LDX $242A | X=$242A | |
02C522 | JSL $C2CC25 | SR: $02CC25 引数:1#$187B 引数:2#$0010 | |
02C52A | BEQ #$2D | if(z==on) goto $02C559 | |
02C52C | JSL $C438FB | SR: $0438FB 引数:1#$06 引数:2#$FD 引数:3#$FF | |
02C533 | STA $6A | DP($6A)=A | |
02C535 | LDA #$0140 | A=#$0140 | |
02C538 | SEC | c=on | |
02C539 | SBC $6A | A-=(DP($6A)+c) | |
02C53B | STA $6A | DP($6A)=A | |
02C53D | LDA $242A | A=$242A | |
02C540 | CMP #$002E | A==#$002E? | |
02C543 | BEQ #$16 | if(z==on) goto $02C55B | |
02C545 | LDX #$006A | X=#$006A | |
02C548 | LDA $01,S | A=Stack($01) | |
02C54A | JSL $C01146 | SR: $001146 | |
02C54E | LDA #$0140 | A=#$0140 | |
02C551 | JSL $C01295 | SR: $001295 | |
02C555 | LDA $6A | A=DP($6A) | |
02C557 | STA $01,S | Stack($01)=A | |
02C559 | PLA | Pull A | |
02C55A | RTS | return | |
略 |
$02C522で現在の戦闘行動が運のよさに依存するかを調べて依存していなければすぐにSRを出てしまいます。依存していれば運のよさを取得し、それを320から引いています。$2C53Dからは現在の戦闘行動がザオラルかを調べてザオラルであれば以下略の部分に処理を飛ばしています。それ以外の場合は320-運のよさを成功率とかけた値を320で割っています。つまり
成功率*(320-運のよさ)/320
ということですね。wikiのほうは書き間違いでしょう(諸事情によりwikiが更新できないのでどなたか更新お願いします)勘違いでした。wikiのほうは
成功率*(1-(運のよさ/320))
という意味で書いているようですね(ちょっと紛らわしいですが)。コメントをくれた方は320の部分を500に変えてプレイしてあまり差は感じられなかったとのことなので、非常に参考になりました。
コメント