カリスマなどのスキルを持つ武器で太陽剣が発動しなかったのを修正しました。原作のバグです。
スキル「太陽剣」の処理は以下の通りです。
83:D86A BD 1D 00 lda $001D,X ; スキル2~3読み込み 83:D86D 89 00 08 bit #$0800 ; 太陽剣 83:D870 F0 2E beq $D8A0 ; 83:D872 BD 0D 00 lda $000D,X ; 技読み込み 83:D875 29 FF 00 and #$00FF ; 1バイト目だけ取り出す 83:D878 22 91 A7 83 jsl $83:A791 ; 乱数判定 83:D87C 90 22 bcc $D8A0 ; 83:D87E BD 4E 00 lda $004E,X ; 武器ID読み込み 83:D881 22 0D B0 83 jsl $83:B00D ; アイテムの情報をメモリ$0F3B~に展開する 83:D885 AD 4D 0F lda $0F4D ; 武器の追加効果 83:D888 F0 07 beq $D891 ; 83:D88A C9 06 00 cmp #$0006 ; HP吸収 83:D88D F0 02 beq $D891 ; 83:D88F 80 0F bra $D8A0 ; 83:D891 A9 64 00 lda #$0064 ; 100% 83:D894 8D 8F A6 sta $A68F ; 命中 83:D897 AD E4 A4 lda $A4E4 ; 戦闘のステータス 83:D89A 09 40 00 ora #$0040 ; 太陽フラグ 83:D89D 8D E4 A4 sta $A4E4 ; 83:D8A0 60 rts ;
cmp #$0006 の前に and #$00FF がないため、2バイト目(武器スキル)が格納されたまま判定を行っています。これにより、武器に連続、カリスマ、非捕縛、祈り、待ち伏せ、突撃、大盾、見切りのいずれかが付いていると不発にされていました。
また、「HP吸収効果以外の追加効果がある武器では発動しない」判定が入っているため、毒、石化、混乱、眠りの追加効果のある武器およびヘルとデビルアクスでは太陽剣が発動せず、大地の剣やリザイアでは太陽剣が発動します。
ためしにこのプログラムを改変してデビルアクスで太陽剣を発動させてみると、戦闘中のHP計算がおかしくなるようなので、追加効果が付いている場合は発動させないままにしておいたほうが無難でしょう。
確率で発動するスキルが特定の武器でのみ発動しないケースはバグ摘出が難しく、ソースを机上で確認しないとまず見つかりません。このようなバグが残ってしまったのも仕方のないことでしょう。しかし、よりによってパーンが持っている王者の剣で太陽剣が発動しないのはちょっと面白いですね。
追記
壊れた武器で太陽剣が発動しないように変更しました。
戦闘中にデビルアクスが壊れると、武器の追加効果が失われるため、上記の判定をすり抜けてしまいます。その状態で太陽剣が発動すると、戦闘アニメでは呪いが発動したように描画されて、実際の結果とアニメが食い違ってしまうバグがありました。(これも原作バグです。デビルアクスで武器の追加効果が発動すると、効果の内容にかかわらず呪いが発動したものとして描画されるようです。)