WSN追加案: 効果コンテントの対象に「カードの効果対象」を追加
issue #428で出た課題を解決するための提案です。カードの使用前にプレイヤーが選択した対象カードに対して効果コンテントの効果を適用できるようにする事を考えます。
プレイヤーが選択したメニューカードを対象に取る仕組を作る事は簡単ではありません。メニューカードはクーポンを持たないので、クーポンを利用する方法は使えません。クーポンに代わる新しい仕組を作るとなると、牛刀をもって鶏を割く事態になりかねません(ちゃんと設計すれば後々役に立つかもしれませんが)。
表題の方法は、この問題を首尾よく簡潔に解決するよい手段です。
CWNextには同様の機能があるのですが、これはメニューカードを無視するようです。この齟齬を解消するには、イベント発火がオフになっている時には同様の動作をするようにすればよさそうです。
issue #303の@効果対象
の付け替えとの兼ね合いですが、たぶん付け替えが反映されるようにした方が応用範囲が広くなってよいでしょう。
最大の問題は、以上の内容を検討すると、仕様衝突の可能性が大きいように思われる事です。もし衝突が起きても、さらなるオプションで糊塗して解決する事は可能なはずですが、それを押してもWsn.2での実装を考えるべきでしょうか。
Comments (7)
-
-
reporter issue #406にて分類2、類似や関連性のある追加案に挙げました、「使用時イベント中にカードのキーコードと効果を上書きする」方式のほうが、メニューカードに対してはスマートで、仕様衝突のリスクも低そうに思えますが、どうでしょう。
たしかにそれを実装するのも解決策の一つになりそうですね。
効果コンテントは、イベント内で複数回実行できるのがメリットですが、ことメニューカードに対応したい場合には「連続攻撃したい」などの需要も関係ありませんし、使用時イベント内で戦闘中かどうかを判断して分岐すれば上手くさばく事ができそうです。
PC対象のキーコードイベントなどが実現された時にはまたややこしい事になりそうですが。
最終的にはここで挙げた事柄は全部実現を目指す事になると思うんですが、直近でどの選択肢を採るかは悩ましいところです。
このIssueでの提案には、もう1つのメリットがあります。
#429の能力参照の問題の解決策ともなる事です。ただし、それについても、#432で任意称号を対象範囲という解決案が示されているので、強い動機とはならないようにも思えます。 -
reporter しばらく時間を置いてみましたが、個人的な感覚としては、とりあえず表題の方法を採った方がよさそうだと感じています。
というのは、効果・キーコード上書きの機能は、それ自体衝突問題などの検討の必要が大きい上、効果コンテント単体に収まらない話になってしまうからです。
比較すると、効果コンテントの編集欄に1つのラジオボタンを追加するだけで実現可能である事に魅力を感じます。シナリオ作者としての視点で見ると、戦闘時以外と戦闘時で処理を作り分けずに済むのもよい点です。
-
reporter pull request #1722
今のところ追加の意見もありませんので、試験実装しました。発火がある時はメニューカードも対象、発火が無い時は無視します。
対応するエディタはcwxeditorの20170115b版以降です。
-
お疲れ様です。メニューカードを対象に取れるようになっていました。これで複数KCを持つ技能に関してはかなり自由度が広がりますね。 (いちいち召喚獣を配布せずに済む)
軽くためして見たところ、キーコードが設定されていないメニューカードを対象にしても無効化音が鳴らない(アニメは起こる)ようなのですが、これは仕様になるでしょうか?
-
reporter ありがとうございます。
軽くためして見たところ、キーコードが設定されていないメニューカードを対象にしても無効化音が鳴らない(アニメは起こる)ようなのですが、これは仕様になるでしょうか?
あいや、これはバグです。テストを半分くらい音の出ない環境でやっていたせいです。pull request #1723で修正しました。
-
reporter - changed status to resolved
実装済みなので完了にします。
- Log in to comment
issue #406にて分類2、類似や関連性のある追加案に挙げました、「使用時イベント中にカードのキーコードと効果を上書きする」方式のほうが、メニューカードに対してはスマートで、仕様衝突のリスクも低そうに思えますが、どうでしょう。
キャラクターに対しては効果コンテントとカード内容の上書きの二種類の手法が同居することになり、混乱もありそうですが、メニューカードを対象に取る仕組みを作る必要がないことは大きなメリットだと思います。