つづき
(6)指揮範囲内の部隊ユニットをレベル2(OOCマーカー有り)にする。
汎用キーコマンドを使い、次の3条件成立で部隊ユニットのレベルを上げる。
・部隊名一致(部隊のOOBidと指揮官のOOB_GB *1) *1汎用属性に登録したもの。
・部隊ユニットのレベルが1である。
・部隊ユニットと指揮官の距離が20HEX以内である。
→20の値は仮の値である。プレイテスト結果で見直す予定である。
処理時間の短縮のためには小さい値が良いと思われる。
遠く離れた部隊は指揮範囲外である事が明らかなので、自動判定の必要性は低い。
(7)指揮範囲内の部隊ユニットをレベル1(OOCマーカー無し)にする。
汎用キーコマンドを使い、次の2条件成立で部隊ユニットのレベルを上げる。
・部隊名一致(部隊のOOBidと指揮官のOOB_GB *1) *1汎用属性に登録したもの。
・部隊ユニットと指揮官の距離が指揮範囲(range)以内である。
(8)上記の(5)から(7)までを一括して処理する。
トリガー動作機能に(5)から(7)までのホットキーを登録する。
→これでctrl+tで指揮範囲の自動判定ができる。
4.build変更プログラムの改修
上記3の機能を持つVASSALを作成する為のbuild変更プログラムを改修する。
(1)改修の内容
下図のようにVASSAL編集機能で変更した上記3の機能を持つVASSALモジュールと
変更前のモジュールを比較する。下図枠内は指揮官の例(上段が変更前、下段が変更後)。
その差分データをbuild変更プログラムに追加する。
(2)改修版プログラムソース
最後に添付する。
5.その他
(1)部隊指揮官以外の指揮官は指揮部範囲を空白にする。
参謀長や副官などは、部隊指揮官の代理として交代したときに指揮範囲を手動で入れる。
なお、臨時の派遣部隊を編成したときには、部隊の指揮官として新規の部隊名を入れ、
派遣部隊も部隊名を変更する。なお、既存の部隊名と重複しないようにする。
例)一部のコサックを派遣部隊とし、副官の1人を指揮官とする。
派遣部隊を編成前 編成後
副官の指揮部隊名と範囲 R0fと空白 R0fDtと3
派遣部隊の部隊名 R0f R0fDt
<個人的な感想>
pythonのbuild変更プログラムは便利である。VASSALの改修を全てのモジュールに反映できる。