2007年04月24日

クロス・ソウル

「クロス・ソウル」のバグ報告がきたけど、あれは「クロス・ソウル」の処理を根底から作り直さないと対応できないので、修正方法(というか作り直し)案を脳内検討してみる。


「クロス・ソウル」の処理は現在、魔法カードの効果処理部で$hk[13]に対象モンスターのフィールド位置をセットている。(このため同一ターンに2枚目を発動すると、単に$hk[13]の値が切り替わるので、最初に発動した方が無効となり2枚目で対象にした方が有効になるだけとなる)

この$hk[13]の値を利用して

1.生け贄選択時にsub card_searchで@res_sに$hk[13]をpushしている
2.sub view_fldbutton_mstで相手の場のモンスターに「生贄」のチェックボックスを表示している

の2つを行っている。

発動ターンにバトルフェイズを行えない効果については、初期デュエルCGIでは$hk[13]を使用していたが、うちのは$jok[22]で判定するように変更しているのでこちらはそのままいける。

$hk[13]がクロス・ソウルだけで使用する変数となっている(初期デュエルCGIでは「魔霧雨」でも使用)ので、$hk[13]は発動されたことのフラグ(単に1を入れる)として利用するだけにし、$fld_koka[xx]に"xsoul_$turn<>"をセットして、これによって対象を識別するように変更する。

sub find_koka_subで$hk[13]==1の時に$fld_koka[xx]を調べて@xsoulにフィールド位置を保存する。

sub card_searchとsub view_fldbutton_mstは、@xsoulを利用して処理を行う。

「クロス・ソウル」の効果を受けていることを明示するためにsub get_fld_messで'《クロスソウル》'とでも表示するようにするとか。

これで多分いけるはず。
posted by はぐリン at 12:15| Comment(0) | TrackBack(0) | バグ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。