仕様合わせ:選択メンバの挙動(「@MP3」称号所持分岐、自動選択の失敗)
#1017をみて、今更選択メンバが解除された場合の挙動を再調査してみたんですけども、結論として、選択メンバが存在しない時の「フィールド全体」での「@MP3」称号所持分岐(必ず成功)での結果が異なるのがわかったので一応報告しておきます。
通常のクーポンでは挙動は一致しているようにみえるので、@MP3の実装の仕方だけがちょっと違うのかと思います。@MP3だけであれば多分影響は軽微なはずです。
再現手順
1.選択メンバ不在状態にする(@レベル原点でパーティ全体所持分岐(解除)をクリックすると100%そうなります)
2.「@MP3でフィールド全体所持分岐分岐」をクリックすると1.50の場合、不在状態が維持されますが、Pyだと_1が選択メンバになります。
※添付シナリオは#1017に付属されていたものを改変させてもらったので消し忘れありましたらご容赦下さい。
Comments (10)
-
repo owner -
repo owner キャラクターを無視して無条件に成功だけする仕組みを追加しました。
ただしクーポン分岐で複数クーポンを指定できたり、クーポン多岐分岐があったりして、それらに対応しようとするとややこしいことになるので、クーポン分岐で単一クーポンが指定されている時だけ適用します。
-
reporter - changed title to 仕様合わせ:選択メンバの挙動(「@MP3」称号所持分岐、自動選択の失敗)
- marked as major
- attached smem_t3.zip
別のケースを見つけたので報告します。
メンバ選択分岐コンテントにおいて、「自動」での動けるメンバからのメンバ選択に「失敗」(メンバー全員束縛状態など)した場合に選択メンバが解除されるようです。ということは、「パーティ全員」で失敗した場合も解除されそうですが、調査するケースが思いつきません。(戦闘中における全員対象消去時の敗北イベント中では失敗できますが、どのタイミングで選択メンバが消失しているかわからない)
なお手動でのメンバ選択を「キャンセル」した場合は、選択メンバに影響しないようです。
再現手順
1.「選択メンバランダム選出」または「手動選出」で選択メンバがいる状態にする
2.「選択メンバ自動選出の失敗で解除」を行うと1.50では選択メンバが解除されるが、Pyでは解除されない
-
reporter #907の議論を見て空文字(指定無し)のキーコード所持分岐をした場合どうなるんだろう?と思い試したところ、この挙動も一致していないようでした。
- 1.50では空文字KCの所持分岐に失敗する。つまりKC発火イベントに反して空文字を検索できない(!)。
- Pyでは空文字KCの所持分岐に成功する。
- 1.50で選択メンバ不在状態で「現在選択中のメンバ」に対するKC所持分岐を行うと失敗し、選択メンバの選出は行われない。
- Pyで選択メンバ不在状態で「現在選択中のメンバ」に対するKC所持分岐を行うと効果コンテントを使ったときのように自動で選択メンバが選出されている。
-
reporter - attached smem_KC.zip
確認用です。
-
repo owner あれ、なんかCWPyのほうの挙動を勘違いしていました。そこは合わせないと行けないですね。
いま進行中の関数周りが片付いたらまとめて対応します。
-
repo owner メンバ選択分岐による選択メンバの解除です。
-
repo owner キーコード所持分岐です。他の分岐コンテントの挙動から類推するに、キーコードが未指定の場合は処理せず失敗としているものと思われます。
1.50で選択メンバ不在状態で「現在選択中のメンバ」に対するKC所持分岐を行うと失敗し、選択メンバの選出は行われない。
Pyで選択メンバ不在状態で「現在選択中のメンバ」に対するKC所持分岐を行うと効果コンテントを使ったときのように自動で選択メンバが選出されている。
このあたりは挙動の確認時に空キーコードのカードを使ったために結論がおかしくなっているものと思われます。普通のキーコードを指定して実行するとメンバ選択が行われます。
-
reporter 対応ありがとうございました。コンテントごとの調査をあらかた終えましたが、上記以外の不一致は見つかりませんでした。
このあたりは挙動の確認時に空キーコードのカードを使ったために結論がおかしくなっているものと思われます。普通のキーコードを指定して実行するとメンバ選択が行われます。
再調査したところそのようです。雑な検証でお手数おかけしました。
-
reporter - changed status to resolved
まだちょっと曖昧な部分もあるのですが、完遂はいつになるかわからないので閉じておきます。
- Log in to comment
ご報告ありがとうございます。
もしやと思って試したところ、「誰か一人」の「パーティ全体」も選択メンバを変更しないようです。つまり
@MP3
通常のクーポンとは異なり、判定前に無条件に成功を返すようになっているのでしょう。SystemCoupons.xml
が使えそうに思ったのですが、これはたしか選択メンバを変更したと思います。ちょっとどうするべきか考えます。