提案:バトルカード選択画面で、カーソルを重ねたキャラを対象としたカードを一目で視認可能にするオプション

Issue #965 new
ルンバ created an issue

カーソルを重ねたキャラを対象としたカードを一目で視認可能にする新オプションの
イメージは画像でおわかりいただけるかと思います。

「_5への集中攻撃が明瞭なので双狼牙も使えるが、暗殺の一撃で回避力あげとくか、あと誰かに_5を回復させとこう」という風にカード選択がより楽に行えます。
現状で同じ判断をするためには、暴露状態の敵全員の選択カード対象を一人ひとり確認する必要があり、
ゴブ洞ぐらいならやれなくもないですが、敵が10体以上だとそういう確認は面倒になってしまいます。

また自動選択で仲間内での複数の回復行動の対象が一人に重なってしまっている等の無駄行動も把握しやすくなります。

なお敵キャラにカーソルを合わせた時にも同様の表示にするとします。
「こいつを攻撃しても回復されちゃうから他のやつ狙おう」とかの判断が容易になります。

(ただし当人である_5の暗殺の一撃は従来どおり不透明としていますが、これが本人を対象とした行為で無いのは従来どおりの手袋アイコンで判別できるかと思います。これも本人を対象とした場合のみ不透明にするよりは、この方がよいと思います)

次の画像はPCが攻撃対象として狙うコボルトCを対象にしたカードが不透明になっています。

暗カーテン下でも不透明であれば意味は明瞭です。
また、カード使用対象を未選択な(双方に暗カーテンのかかってない)状態でも、この仕様は双方に適用されるとします。

敵が暴露で無い場合でもオプションONならプレイヤーに明示されている範囲の情報は、この仕様原理を適用し表示としますが、あくまでプレイヤーが元々与えられている情報が確認しやすくなるだけなのでチート的な意味は無いです。

UIはエンジン詳細設定のカード欄の「戦闘行動を全員分表示する」の下辺りに「カーソル選択中のキャラを対象にしたカードを明示する」等で加える感じです。オプションにすれば旧来仕様が好みの人にも問題はありません。個人的には絶対ONでプレイしますが、全くの初心者にとっては情報過多というか意味がわかりにくいかもしれないのでデフォルトはOFFでしょうか。

Comments (8)

  1. ルンバ reporter

    できれば、添付画像の_5やコボルトCのように本人選択カードのみライフバーが不透明になれば
    不透明なカード同士でも、判別しやすくて良いです。

  2. k4nagatsuki repo owner

    pull request #66

    ご提案ありがとうございます。

    簡単にできるのでやってみました。そんなに鬱陶しくもないので、特にオプション枠を設ける必要はないのではないでしょうか。オプションはあまり増やしたくありません(できれば使われていないオプションは削りたいがすでにあるものをなくすのは難しい)。

    戻したいという要望が来た場合は考えます。

    一応現状で隠しオプションという形にはしていて、以下の設定で無効化できます。

    <ShowAim>False</ShowAim>
    

    画像を含める場合、極力イメージのライセンスを記載してくださるようお願いします(記載が必要なイメージが含まれる場合は必須)。

    groupAskの素材はCardWirth関係のサイトや企画で条件なしに使える事になっているので問題ないといえばないのですが、それを見た人が出典やライセンス情報を得られるようにしておいた方がよいです。

  3. ルンバ reporter

    4.3エンジンに上書きし実装確認しました。

    UI的にはまったく問題ありませんでした。

    思った以上に快適になりそうです。

    しかしカードの選択を行うとエラーが発生します。

    アクションカード、技能カードを問わず以下のエラーが出ます。

    Version : 4.3 (64-bit) / 2020-08-08 00:03:10
    DateTime: 2020-08-08 00:27:06
    Traceback (most recent call last):
    File ".\cw\thread.py", line 873, in run
    File ".\cw\thread.py", line 925, in _run
    File ".\cw\thread.py", line 944, in main_loop
    File ".\cw\thread.py", line 1245, in update
    File ".\cw\thread.py", line 1276, in update_groups
    File ".\cw\thread.py", line 4448, in change_selection
    TypeError: argument of type 'PlayerCard' is not iterable

  4. ルンバ reporter

    cardwirthpy_20200808b_x64

    を上書きしてみましたがやはり同じエラーが出るようです。

    Version : 4.3 (64-bit) / 2020-08-08 02:32:45
    DateTime: 2020-08-08 02:47:22
    Traceback (most recent call last):
    File ".\cw\thread.py", line 873, in run
    File ".\cw\thread.py", line 925, in _run
    File ".\cw\thread.py", line 944, in main_loop
    File ".\cw\thread.py", line 1245, in update
    File ".\cw\thread.py", line 1276, in update_groups
    File ".\cw\thread.py", line 4448, in change_selection
    TypeError: argument of type 'PlayerCard' is not iterable


    Version : 4.3 (64-bit) / 2020-08-08 02:32:45
    DateTime: 2020-08-08 02:49:19
    Traceback (most recent call last):
    File ".\cw\thread.py", line 873, in run
    File ".\cw\thread.py", line 925, in _run
    File ".\cw\thread.py", line 944, in main_loop
    File ".\cw\thread.py", line 1245, in update
    File ".\cw\thread.py", line 1276, in update_groups
    File ".\cw\thread.py", line 4448, in change_selection
    TypeError: argument of type 'EnemyCard' is not iterable

  5. ルンバ reporter

    正常選択可能な修正確認しました。

    他に強いて気になる点を挙げると、ジャッジメント等スキンによっては不透明になったカードでHPバーが隠れるタイミングがでるので、特にソロプレイ時等では敵全員のカードが不透明になったりする事はありえます。

    もし私の添付画像のように、半透明なHPバーを不透明なカードの手前に配置する事が可能だと、この問題も解決されます。

    しかし実際にそのようなプレイをしてみると、その他のタイミングではHPバーは隠れていないのでとくに邪魔を感じる事はなかったです。

    万一不満がでるとしてもそこだけな気がしますが、ほかはプレイヤーの利益しかないのでデフォルトONに越した事は無いと思います。

    他の人向けに経緯をわかりやすくするため4.4で正式公開されるまで課題は一応このままにしておきます。

    ありがとうございました。

  6. Log in to comment