WSN追加案:PC消去時にロストクーポン1を発生の有無を操作出来る様にする

Issue #335 new
crowstar created an issue

これに関して以前から思っていたことなのですが、アレトゥーザなどの永住イベントや
一時参加キャラの永久離脱イベントを起こしてアルバムに載った際に
「旅の中、帰らぬ人となる…」(ロストクーポン1)がついてしまうのが不自然だと思っています。

全滅以外の冒険者(PC)への対象消去はこういったイベントによるものが大半であるはずなので、
(むしろ戦闘中のカード効果で不意に起こしてはいけないと自分は思っています)
死亡・永久離脱イベントの直前に作者が対象者にクーポンを付けることは可能だと思うのです。
(「死んでしまった」とか「○○で幸せに暮らした」とかはその時につければ良い)
これに関してどう思うでしょうか?意見を募集します。

Comments (10)

  1. 暗黒 騎士

    1.20では冒険者を引退/加齢して復帰させることができ、アルバムで30名まで生死を問わず「引退/殉職冒険者」の確認ができたのですが、 1.28でアルバムの解説は「過去に死亡した冒険者」と断定され、「_消滅予約」という特殊クーポンをつけるとアルバムに載らないようになりました。

    1.28以降のアルバムのニュアンスでは、死亡しない形での永久離脱は「_消滅予約」の付け忘れということになるのではないでしょうか。

    もっともPy側で「_消滅予約」の亜種として「旅の中、帰らぬ人となる…」が付かずにアルバムに載る特殊クーポンを定義したり、WSNの機能として対応する等はありかと思います。

  2. k4nagatsuki repo owner

    引退者もアルバムに載っていた方がよいと思うので、ロストクーポンをつけない方法があった方がよいというのは私も賛成です。ただ、無条件にそれをつけないようにするのは次の理由で筋が悪いです。

    • シナリオ作者はすでにロストクーポンがつくことを前提にシナリオを作っています。
    • 個人単位で死亡者が出るシナリオがすでに複数あります。

    ですので、@akkwさんの指摘通り、WSNの機能として追加するというのが妥当のように思えます。_消滅予約の例から観て、そうしたコントロールのための称号を一つ定義するという仕様が妥当でしょう。


    そうなると称号の文言で仕様の衝突が発生しやしないか?という話になりますが、これを含めたシステム称号関係では、かなり衝突の危険性を低くする方法があります。「WSNではこの文言」と決めてしまって、他形式との相互変換の時、相手形式固有の同じ役割の称号をWSNで決めた方の文言に変換してしまえばよいのです。

    例えば今回のロストクーポンをつけないようにする操作用クーポンの文言として、WSNで@引退を、他形式では@生存を選んだとします。相互変換の時にやるべき作業は単純で、WSNへ変換する時は@生存を見つけたら@引退へ置換し、他形式へ変換する時はその逆をやればよいのです。

    ただし両方の形式がで始まるシステムクーポンを使わなかった場合には問題が生じます。上の例で他形式が_生存を選んだ場合、WSNシナリオでシステム的な意味はなく普通に_生存クーポンを持っているキャラクターがいると、他形式へ変換した時に挙動がおかしくなります。この問題を回避する方法は無いかもしれません。ただ、そういう普通に使われるような文言は他形式でも選ばないんじゃないかな、という希望的観測をするしかありません。

  3. crowstar reporter

    ふーむ、既存のシナリオも考えるとロストクーポンの有無が操作出来る様にした方が良さそうですかね。
    WSN用の機能とするのであれば、[_消滅予約]みたいに特定のクーポン(システムなり隠蔽なり)を所持していればロストクーポンがつかない、
    という風にするのがベストとは言いきりませんがベターっぽそうですね。
    シナリオ間で持ち越さないために「:」(シナリオ終了時に消滅するクーポン)を使用するのも良いかもしれません。

  4. k4nagatsuki repo owner

    ありがとうございます。issue #277のリストに追加しました。

    そのクーポンをつけたままシナリオを終了するとどうなるか、という問題が残っていましたね。当初の目的からすると無効になった方が安全そうですが……。

    _消滅予約は、一時雇いなのでアルバムに載らないという前提の傭兵NPCなどで使われている例があるようです。こうした使い方は複数のシナリオを通じて無効にならないため可能となります。今回の称号にもこのような応用はあるでしょうか。

  5. 暗黒 騎士

    時限なら時限でいいとも思いますが、種族やシナリオ側でPCに付与できる特典として使えなくもなさそうです。(「帰らぬ人」が似合わない不死者や非人型など。また全年代の付与クーポンとしてつけておけばそのスキンではロストクーポン自体を無効化できたり)_消滅予約に倣うなら「_生存予約」「_帰還予約」とかでしょうか。

  6. k4nagatsuki repo owner

    私は、原則、システムに影響する新しい称号はで始まるシステムクーポンにするべきだと考えています。そうしないと、1.28でカード名をキーコード化した時に一部のシナリオが誤動作したように、互換性問題が生じる可能性があるからです。システムクーポンはシナリオで付与する事ができないため、そうした事故は決して起こりません。

    とはいえ、既存の仕様との一貫性がなくなるという問題が明らかにあるので、考えどころではあります。

  7. 暗黒 騎士

    これに関連して、CWでは死亡時・成長による老衰時に配布される「_死亡」がPyでは配布されていないことに気づいたので、一応報告しておきます。

    「_死亡」は1.20以前において、アルバム内で「DEAD」と表示される死亡者判定に使われていたようです。 「_死亡」を持たないキャラは「復帰」コマンドが有効になります。 1.28以降で使われているかは不明で、アルバム内のPCを称号検索する手段はないため、直さなくても今のところ実害はないと思いますが、現状PyRebootでは「削除」したレベル3以上のPCがロストクーポン無しでアルバム送りになっている独自仕様があり、それを将来拡張していく可能性もあるかと思いますので、その時は留意してもらえればと思います。

  8. k4nagatsuki repo owner

    1.20の復帰は、引退したキャラクターが年代を進めて戻ってくるものです。1.28では使用されていないと思われます。

    復帰機能は#681を立てた流れで検討しています。過去のデータとの整合性が問題になりますが、復帰をデバッグ機能に限定しないのであれば、たしかに死亡者と生存者の区別は必要です。

    それはそれとして、表題とは別件になるので、検討する際は新しくIssueを立てた方がよいでしょう。

  9. k4nagatsuki repo owner

    _死亡については#811を立てました。

    ここまでの議論ではシステムクーポンを使う方法が検討されていますが、改めて考えるに、単純に対象消去効果に「死亡扱いにする」のようなオプションをつければいいのではないでしょうか。

    システムクーポンは名称の問題がある上に、その場限りのものではないので副作用が発生してしまいます。

  10. Log in to comment