バグ?:StartScenarioでただちにpostコンテントでシナリオ開始させず、操作を受け付ける状態にした時、キャストカードをクリックすると内部エラー

Issue #843 resolved
暗黒 騎士 created an issue
Version : 4.0 Alpha 2 (64-bit) / 2019-08-10 11:07:56
DateTime: 2019-08-10 16:47:05
Traceback (most recent call last):
File ".\cw\thread.py", line 851, in run
File ".\cw\thread.py", line 903, in _run
File ".\cw\thread.py", line 918, in main_loop
File ".\cw\eventhandler.py", line 108, in run
File ".\cw\eventhandler.py", line 379, in lclick_event
File ".\cw\sprite\card.py", line 854, in lclick_event
File ".\cw\thread.py", line 1832, in call_modaldlg
File ".\cw\thread.py", line 914, in main_loop
File ".\cw\eventhandler.py", line 132, in run
File ".\cw\eventhandler.py", line 125, in run
File ".\cw\eventhandler.py", line 825, in executing_event
File ".\cw\frame.py", line 1423, in func
File ".\cw\thread.py", line 3747, in change_specialarea
File ".\cw\thread.py", line 3556, in change_area
cw.event.EffectBreakError

長月さんの説明では「時限クーポン無しでF9判別が可能」と想定されているように受け取ったのですが、パターンが多すぎて直感的にわからなかったので、とりあえずStartScenarioの挙動を調べるかと思って色々やってる時に気づきました。

多分想定外なのでしょうが、「メニューカードをクリックして手動で開始する」というUIにしようという発想はあるでしょうし、「そもそもスタートエリアでは操作を受け付ける状態にしてはいけない」が仕様ならイベントの切れ目で強制開始させる方が安全かとは思います。

Comments (2)

  1. k4nagatsuki repo owner

    pull request #2599

    ご報告ありがとうございます。特殊エリアのIDの設定に失敗していたので修正しました。


    長月さんの説明では「時限クーポン無しでF9判別が可能」と想定されている

    申し訳ないのですが、これは私の考え不足でした。色々考えてみましたが、判別する方法を思いつきません。というより、緊急避難を含む拠点とシナリオの境界に極力穴は開けたくないというのが私の考えで、その基本的な考えに従った結果としてそうなったという感じです。

    なぜそういう考えかというと、緊急避難が信用できなくなっては困るからです。シナリオにバグがあって進行不能になる、無限ループしてハングアップ状態になる、誤ってシナリオを選択した、というようなトラブルから抜け出すために緊急避難はあります。これはユーザシナリオを追加して遊ぶという形態のゲームには必ずあるべき機能です。

    しかしながら、緊急避難にスキンやシナリオが介入できるとなると、緊急避難時に何かプレイヤーの望まない事が発生する可能性があるという事になります。それはプレイヤーが緊急避難機能を信用する事ができなくなる事に繋がります。そうなると、上記したようなトラブルからの脱出にはセーブせずに終了するなどの代替手段を選択するしかなくなりますが、それではそもそも緊急避難機能が存在する意味がありませんし、必ずあるべきとして入れた機能が用を成していない事になってしまいます。

    従って、私は緊急避難に穴を開けるべきだとは思いませんし、開けるのであれば相当の理由が必要だと考えています。

    とはいえスキンは半ばシステムの一部なので、シナリオとは事情が違う、という事には考慮の余地があると思います。

    これだけ書いておいて、実は現行の仕様でも判別手段があるというのも充分ありえそうな落ちではあります。

  2. 暗黒 騎士 reporter

    表題は解決しているので閉じておきます。対応ありがとうございました。 書き忘れていましたが、上記やりとりは#842に関連するものです。

  3. Log in to comment