戦闘中に対象を選ぶ場面で、無理矢理戦闘中断すると不具合

Issue #82 resolved
takuto_cw created an issue

申し訳ありません、今日もバグ報告を投下させていただきます。ここ最近人任せばかりで面目ないです……自分の速度だと作業が追いつかなくて……。

CardWirthPy_20130829とwinXPで確認したバグ×3個です。

まずは戦闘中、カードの対象を選ぶ場面(青カーテンかかってる状態)にします。そこから、

1.デバッガを使い戦闘中断。
その後、カードも何もないところで右クリック。(すると左下に「中断」ボタン出現)と、 その後シナリオを進められなくなります。メニューカードが左クリックに反応しなくなってしまうのです。

Comments (8)

  1. takuto_cw reporter

    2.デバッガから戦闘モードに入りなおす。
    対象選択場面が継続しているので、そのまま適当に対象を左クリック。するとこんなエラーが出ました。

    Exception in thread Thread-1:
    Traceback (most recent call last):
     File "C:\Python27\lib\threading.py", line 808, in __bootstrap_inner
      self.run()
     File "D:_cwpy\cw\thread.py", line 335, in run
      self._run()
     File "D:_cwpy\cw\thread.py", line 349, in _run
      self.eventhandler.run() # 繧、繝吶Φ繝医ワ繝ウ繝峨Λ
     File "D:_cwpy\cw\eventhandler.py", line 67, in run
      self.lclick_event()
     File "D:_cwpy\cw\eventhandler.py", line 168, in lclick_event
      cw.cwpy.selection.lclick_event()
     File "D:_cwpy\cw\sprite\card.py", line 771, in lclick_event
      header.get_owner().set_action(self, header)
     File "D:_cwpy\cw\character.py", line 599, in set_action
      assert cw.cwpy.pre_dialogs
    AssertionError

  2. takuto_cw reporter

    3.F9離脱する。
    宿にまで左下の「中断」ボタンがついてきます。

    2と3は、戦闘以外での選択画面からでも起こります。2はコンパイルしたPyだとエラーが出なかったのでご注意ください。お時間ありましたら、ご確認いただいてもよろしいでしょうか……?

  3. k4nagatsuki repo owner

    ありがとうございます。

    そもそも戦闘中止で選択モードが解除されてないのがおかしいですね。そこを直せば全部解決しそうです。調査してみます。

  4. takuto_cw reporter

    ありがとうございます! デバッガで戦闘強制終了しても、ちゃんと動くようになりました。

    実は2については、プログラム的には戦闘の中断をはさんでいないことに今更気付きました…。プレイヤー視点には1回目の戦闘が中断されているので、つい題に「戦闘中に~中断すると」なんて紛らわしい書き方をしてしまいました。

    これについては、bccc96b16bfe を参考に(というかコード丸コピペ)したら直せました。後ほど commit させていただきます。

  5. k4nagatsuki repo owner

    これであらかた解決でしょうか。同様の問題が出たときはまたIssueを立てるとして、これはクローズさせていただきます。

  6. Log in to comment