WSN追加案: プレイヤーカードの死亡時・キーコードイベント
Issue #426
resolved
プレイヤーカードに対してなんらかのキーコードが使用されたり、意識不明になった時に発火するイベントを考えます。
これらのイベントは、現在は何らかのアクションが起きるたびに発火条件を確認するようなイベントを組む事で擬似的に作る事しかできませんし、実際にそうしているシナリオがいくつかあるので、それらを自然に表現できるようにする事には需要があると考えています。
これらのイベントが発生した時には、どのPCに属するイベントであるかを判別できる必要があります。しかし、死亡イベントやキーコードイベントは、発火要因のカードの使用者が選択メンバとなるため、イベント対象を選択メンバにする事はできません。他の方法が必要です。
個人的なイメージとして、以下の2種類の判別方法を考えていました。
- PCに属すイベントを最大6件作れるようにする。それぞれが
_1
~_6
のPCに対応する - PCに属すイベントを1件作れるようにする。発火したイベントの対象が誰かは、
@イベント対象
(#303)で判別する
プログラマ的な感性では2.の方が自然ですし、パーティ人数によらず実装でき、イベントの共通化も安易でエディタ上でスペースも取らないので好ましいと考えていますが、いちいち@イベント対象
で誰が対象か判断しなくてはならないというのは抵抗がある人もいるかもしれません。
エディタ上のイメージをアスキーアートで表すと以下のような感じになると思います。
1.新規エリア
├|>到着
└|>魔力感知
プレイヤー ←ここにPCに対するイベントを追加する
├|>死亡
└|>[攻撃]
メニューカードA
└|>クリック
メニューカードB
└|>クリック
:
副次的な事ですが、プレイヤーカードに死亡イベントをつけられれば、#405のオプションとの組み合わせでエリア上でのゲームオーバーをある程度検出できる可能性があります。
Comments (4)
-
reporter -
おそらくこの影響だと思うのですが、キーコードイベントが発生すると止まるようになってしまいました。
Version : 2.0 Alpha 1 / 2017-01-12 21:19:23 DateTime: 2017-01-12 22:12:28 Traceback (most recent call last): File "cw\thread.pyo", line 707, in run File "cw\thread.pyo", line 737, in _run File "cw\thread.pyo", line 746, in main_loop File "cw\eventhandler.pyo", line 96, in run File "cw\eventhandler.pyo", line 277, in lclick_event File "cw\sprite\card.pyo", line 1247, in lclick_event File "cw\thread.pyo", line 1435, in call_modaldlg File "cw\thread.pyo", line 746, in main_loop File "cw\eventhandler.pyo", line 113, in run File "cw\eventhandler.pyo", line 618, in executing_event File "cw\character.pyo", line 903, in use_card File "cw\event.pyo", line 1269, in start File "cw\event.pyo", line 736, in start File "cw\event.pyo", line 807, in run File "cw\event.pyo", line 1294, in run_exit File "cw\event.pyo", line 1528, in effect_cardmotion File "cw\event.pyo", line 1365, in run_menucardevent AttributeError: 'NoneType' object has no attribute 'check_keycodes'
-
reporter ありがとうございます。pull request #1716で修正しました。
-
reporter - changed status to resolved
実装済みなので完了にします。
- Log in to comment
pull request #1715
これまでのところ特に意見も出ていませんので、2.の形で試験実装しました。
対応するエディタはcwxeditorの20170112版以降です。