WSN追加案: 使用者が麻痺していても動く召喚獣
使用者が麻痺していても動く召喚獣を考えます。
実装内容としてはオプションを1つ追加するだけです。衝突の危険性はほとんど無いと思われます。
<Property>
<Name>召喚獣名</Name>
<麻痺でも動く>True</麻痺でも動く>
</Property>
英語は苦手だ。
Comments (26)
-
-
reporter Antiだと打ち消しになるような……。
ActiveInParalysisみたいなのかなぁと思ったんですが、なんか違う気がする。
-
Ignore Paralysis 辺りでしょうか……?
-
reporter あー、それだ。麻痺を無視。いいですね。ありがとうございます。
とりあえずもう数日寝かせてみて、懸案が何も出てこないようなら試験実装してみます。
-
reporter そもそも呪縛・睡眠なんかでも動く・動かないを切り替えられた方がよさそうな気もします(呪縛・睡眠はデフォルト設定で動く)。
同じようにIgnoreBind・IgnoreSleepでいけるでしょう。
-
reporter 呪縛・睡眠と発展を考えていくと、どうも状態判定分岐相当の条件をつけられた方がいいような気がしてきました。そうすれば、例えば重症時のみ動く召喚獣なども可能になります。従来の挙動は「生存」を選択すれば実現可能です。
しかしそうなると「意識不明」時も発動可能な召喚獣は意識不明になっても剥がれないのか、などといった事も考える必要が出てきますし、仕様の衝突の可能性も出てきます。当初思ったより考えるべき事が多そうです。
-
発動判定すら行なわれない麻痺・意識不明以外は使用時イベントでの状態判定分岐でも対処可能なので、 召喚獣に限らないカード全体のオプションとして「使用時イベントより後に動作する」や、「使用前イベント」を作るなどの方向性もある気がします。 (カード発動より先に使用時イベントが実行され判定コンテント→効果中断コンテントがあれば見た目発動・動作せず、使用回数が減らない)
意識不明でも発動する付帯能力、貼付いたままの有限召喚獣はF○のリレイズ等を表現できそうで面白そうですが、 とりあえずは麻痺だけでもいいんじゃないでしょうか?
-
状態判定分岐相当の条件をつけられた方がいいような気がしてきました。そうすれば、例えば重症時のみ動く召喚獣なども可能になります。
とても良いと思います。 「カード効果」→「使用時イベント」で多重に判定させるよりも戦闘の進行速度が非常に良くなります。
カード効果と使用時イベントを組み合わせることで現状でも 「カード所有者が重傷時のみに効果のある召喚獣カード」は作ることはできますが、 それでは「負傷」時にもカード使用演出が出てしまい少々テンポが悪くなってしまいますので、 「重傷」時に発動するなどの特定条件下での挙動の追加はとても良いと思います。
しかしそうなると「意識不明」時も発動可能な召喚獣は意識不明になっても剥がれないのか、などといった事も考える必要が出てきますし、
わざと「意識不明」にする事で妨害用通常召喚獣を解除する戦法を封じる事もできそうですね。 『カードに「死亡時イベント」を追加しては?』と思いましたが、それこそ仕様が衝突しそうです。
その他思いついた事など。
- シナリオプレイ中は破棄できない通常召喚獣。使い切るか召喚獣消去のどちらかでしか解除できない。
- 「死亡時イベント」の他に「防御・回避・抵抗モーション時イベント」などの追加。(できれば技能やアイテムカードにも)
-
reporter とりあえず麻痺だけでもいいかもしれないですが、どうせなら……とも思います。たぶん麻痺で動かしたいという需要はウンディーネ相当のものしかありませんが、重症時とか弱体化時にしか動かない召喚獣などのアイデアは私ですらいくらでも出てきます。
衝突を避ける方法の一つなのですが、「そのデータ構造で表現できない形がないくらい徹底的にやってしまう」という手を取ってもよいかもしれません。全ステータスと健康・負傷・重傷を並べてチェックボックスで動ける条件として指定し、意識不明でも破棄されないなどのオプションを追加してしまうのはどうでしょうか。
- シナリオプレイ中は破棄できない通常召喚獣。使い切るか召喚獣消去のどちらかでしか解除できない。
一覧に「キャラクターに固定されたカード」というような項目を作った気がするのですが、それの応用として実装できるかもしれません。
- 「死亡時イベント」の他に「防御・回避・抵抗モーション時イベント」などの追加。(できれば技能やアイテムカードにも)
使用時イベントでも回避成功した時のイベントなどを設定できるといいかもしれませんね。ただ、それは別の話になるので、発動前の使用時イベント共々、一覧の方の「使用者に対して使用されたカードのキーコードに反応する使用時イベント」の下辺りに追加しておきます。
-
>全ステータスと健康・負傷・重傷を並べてチェックボックスで動ける条件
ええと、「使用前イベント」は状態判定発動を完全に内含してしまうものと認識しているのですが、伝わっているか不安…。 発動前にイベントツリーが組めるならそれらに加えて、 「一定以上所持金を持っている時のみ発動」「特定のフラグがtrueの時や称号をもっている時のみ発動」 それ以外では効果中断コンテントで発動アニメを出さずに終了する召喚獣やPCを行動させない(実際には判定しているが視覚的には動いてない)アイテム・技能などを作ることが出来るのではないかということです。
この場合召喚獣・付帯能力のみのチェックボックスは「麻痺時にも動作する」「意識不明時にも動作する」「意識不明時に消滅しない」のみを用意すればいいことになります。 伝わっていてくどかったらすいません。
-
reporter それはもちろん理解しています。複雑な条件はそういう手段を取れるようにして、現状でそもそも発動しないパターンをオプションで補完するというのはいい手段です(欠点はちょっとトリッキーになる事くらいでしょうか)。
使用時イベントはまた別の機能の話になるとして、麻痺時・意識不明時・非消滅という3つのチェックボックスは衝突安全に思えます。ただ、また後から何か出てくるかもしれないので、少し時間を置いて考えてみます。
-
すいません、余計混乱してしまいました。 召喚獣データの設定ダイアログに麻痺発動・意識不明発動、非消滅は了解が取れているとして、 呪縛・眠り・重傷等も詳細に発動条件のチェックボックスを作った方が良いというお話で、二者択一だと思ったのですが、両立できるということでしょうか…。 チェックボックス型のメリットとしてはわかりやすく簡単、デメリットとしては召喚獣のみの設定項目としてはやや過密に感じました。逆に使用前イベントは表現力は広くなるものの、ツリーを組む必要があり面倒というデメリットがあります。良し悪しだと思うので、そちらを導入する場合なら使用前イベントは逆に要らないんじゃないかなーと思います。
追記:よくよく考えると使用時(前)イベントはあくまで出口を塞ぐ形なので、たとえば重症時のみ発動する回復召喚獣などはRound開始時に発動判定を行なわないと自動選択のターゲットの除外対象に常時影響を与えてしまいますね…。そこを自然にできるのはチェック形式のメリットです。
-
reporter それらは両立できますし、どういう形で実現するべきかはちょっと簡単には判断できない感じもします。腰を据えて検討した方がよさそうです。私が言った「状態判定分岐のような……」という案も、よく考えると「能力修正を受けていない時」というような条件が扱えません。
追記:よくよく考えると使用時(前)イベントはあくまで出口を塞ぐ形なので、たとえば重症時のみ発動する回復召喚獣などはRound開始時に発動判定を行なわないと自動選択のターゲットの除外対象に常時影響を与えてしまいますね…。
優先回復のような動作がありましたね。確かに影響を受けてしまいます。また、使用前イベント自体にも判断の難しい検討点があります。
- イベント中に使用者が行動不能になったらどうなる?
- 選択メンバが変更されたらどうなる?
- 中断した時に使用回数はどうなる?(使用時イベントと同じなのか、絶対に消費しないのか)
なかなか悩ましいです。衝突の可能性を考えないのであれば、えいやと決めてしまえるのですが。この機能がよほど有用であるならばともかく、課題を置き去りにして一気に実装するほどのものとも思えません。私はこの件の判断を先送りにして他のことをする気になっています。
-
「発動アニメと回数減少処理の直前」に挿入する形を考えていました。
よって、あくまで自分が想定する場合ですが、
- 使用時イベントと同じで止まりません。沈黙・魔法無効化にすれば次の判定で魔法属性や沈黙時使用不可カードは失敗します。
- 初期選択メンバは使用時イベントと同じく使用者が選択されていて変動します。使用時イベントの初期選択メンバは使用者が再選択されます。
- 判定前なので絶対減りません。
ここまで書いておいてなんですが、こういう方向性と衝突可能性があるかもと思っただけで、 自分としても自動選択に影響が出る以上、麻痺発動と一緒に実装するなら当初のチェックボックス型の方がスマートだと思い直しました。チェックを付けるだけで重症時のみ発動する召喚獣などを作れるのは魅力的だと思います。
-
reporter 別の話になってきますので、使用前イベントについて#295を作成しました。
仰るとおり、振り出しに戻って、麻痺を無視などの簡単な条件だけをまずは実装するのがいいかもしれませんね。将来もっと複雑な仕様が出てきた時には、そのような簡単な条件式は包含可能なものになっているから衝突の可能性は低かろうという判断が可能です。
-
reporter 時間が空いてしまいましたが、単純で効果的な形を目指して案を練り直してみました。
- 召喚獣に「発動条件」と「消滅条件」の2つを追加します。
- 各条件には、状態判定分岐と同じ条件を指定できるようにします。
従来型の召喚獣は「発動条件」が生存、「消滅条件」が意識不明、という事になります。
仕様衝突が起きた場合、状態指定の他に新しい条件が選択できるようにすれば解決できます。
-
reporter 消滅条件に状態を指定できるのはやりすぎな気がしてきました。たぶん意識不明以外の需要はほとんどありません。
需要とのバランスを考えると、さしあたりは意識不明で消滅するかどうかだけ指定できればいい気がします。
-
reporter pull request #2138
発動条件に状態を指定、消滅条件はさしあたり意識不明での消滅有無を指定する形で試験実装しました。
内部的には以下のように意識不明状態以外の条件もすぐ導入できる構造にしてあります。
<Property> <InvocationCondition> <Status>Alive</Status><!-- 状態「生存」で発動 --> </InvodationCondition> <RemovalCondition> <Status>Unconscious</Status><!-- 状態「意識不明」で消滅 --> </RemovalCondition> </Property>
-
reporter - changed status to resolved
実現できたので解決とします。
-
reporter - changed status to open
盲点になっていましたが、非戦闘時の使用にも発動条件は適用されるべきです。
既存の召喚獣の場合、麻痺・意識不明時にはそもそもカードを使用する事ができないので特別な処理は必要ありませんが、新しい発動条件に引っかかる場合にはメッセージを出して使用をキャンセルする必要があります。
今から修正します。
-
reporter pull request #2263
修正しました。
ところで、行動不能なメンバはカード使用ダイアログを開く事ができません。そのため、行動不能時に発動可能な召喚獣は非戦闘時に使用できません。これが妥当かどうかは考える必要がありそうです。
もし使用できるようにするのであれば、非戦闘時に行動不能なメンバのカード使用ダイアログを開けるようにし、行動不能時に使用不能なカードを選択した時点でエラーにすればよいです。
-
reporter もともと呪縛されたメンバが非戦闘時に怪力無双を使えないのがCWの仕様ですし、使用できない方がよさそうな気がします。
-
発動条件 生存 非生存でも消滅しない
Wsn.2以前の通常の付帯能力を再現したいのですが、最大ダメージ+1回復といった処理を行った場合、内部的には一度非生存になっているので付帯能力の行動もキャンセルされていました。
Wsn.3では1回復した為生存となり付帯能力が発動してしまいます。
-
reporter 1.50では一度意識不明になっても付帯能力は発動するようです。意図せず仕様合せが発生してしまったような感じがします。
行動キャンセルを行えば召喚獣の発動もキャンセルできるはずですが、それでは不充分でしょうか。
-
今の使用が正しいと言う事ですね。
それなら問題無いですね。
-
reporter - changed status to resolved
実装済みなのでクローズします。
- Log in to comment
自分も苦手ですが(笑)、Antiparalyzeとか…