Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
変更内容
持続状態(いわゆる“バフ”や“デバフ”に代表される、ゲーム中に特定のあいだだけ、ユニットが保有して存続する効果)を管理する機能を追加
目的
ゲームやセッションの内容によっては、多数の持続状態がそれぞれことなるライフサイクルをもって同時に存在するようなケースがある。
そうした場合、それをユニットの「メモ」機能などで管理するのは現実的に困難となり、プレイアビリティ上の問題が生じてしまう。
持続状態を専門的にとりあつかう機能をもうけることで、ゲーム上のそうした要素の管理・表現を容易にし、プレイアビリティを向上させたい。
使い方
※とりあえず簡易的な使い方です。draftじゃなくなるときにはもっとちゃんと書くかもしれません。
持続状態ウィンドウ
メニューの「状態」から開く。

状態の追加
ウィンドウ上部の「操作モード」で「新しい状態を追加」を選択する。

ウィンドウ左側の「状態設定」で必要な項目を入力する。

このとき、「状態名」「持続時間」は必須。他は任意。
頻繁に使うような状態はテンプレートとして lib/pl/state-templates.pl に設定しておき、「テンプレートから選択」ボタンで呼び出すこともできる。


状態の内容を入力したら、ウィンドウ右側で対象ユニットを選択する。

ひととおり終わったら、ウィンドウ右下の「実行」ボタンをクリックすると、状態が追加される。

このとき、内部的にはウィンドウ下部に表示されているコマンドを送信している。そのため、コマンドをコピーしてどこかに保存しておくなどして、ウィンドウを操作せずに状態を追加することも可能である。
状態の変更(≒時間経過)
ウィンドウ上部の「操作モード」で「既存の状態を変更」を選択する。

ウィンドウ左側で、操作対象の状態の抽出条件を指定する。( SQL の WHERE に似た挙動をします。各条件は論理積( AND )をとります)

ウィンドウ右側で、時間の変更量を指定する。
(例として、 SW2.x の一般的な戦闘中の持続状態の場合、左側で「発生源」に手番を得るキャラクターを指定し、右側で「減少」を選んで「減少量」を
1Rにするのが、ルールどおりの挙動となります)ひととおり終わったら、ウィンドウ右下の「実行」ボタンをクリックすると、状態が追加される。

このとき、内部的にはウィンドウ下部に表示されているコマンドを送信している。そのため、コマンドをコピーしてどこかに保存しておくなどして、ウィンドウを操作せずに状態を追加することも可能である。