2013年2月9日土曜日

Global PropertyとLayer

テストプレイを始めていたアイラウの戦いだが、
投入状態とモラル0になった時の表示が必要と気付き改訂した。

投入状態とMorale=0の表示はモラルカウンターだけでなく各師団ユニットにも必要。
状態の変更はモラルカウンターで行い、各師団ユニットに自動的に反映されるようにした。

各師団の投入状態とモラル値をGlobal Propertyとして設定。
師団ユニット毎に Gd, Mur, LevなどのPrototypeを設定。

例えばSam師団の Prototype Samは
Layer - Activation
Layer - Morale
となる。

Layer - Moraleは
Levels follow expression value? をチェック
Follow Expressionに各師団のmorale値を入れる。
Sam師団の場合 MSam
Level 1 = 0 として
image 1を orz の画像を指定(透過するもの)
image 2になにも指定しない。


モラルカウンターのTraitsに
Set Global Propertyを追加
Description: Morale
Global Property Name: MSam
Locate Property starting in the: Current Zone/Current Map/Module
Key Commands
 Menu Command:Morale Up
 Key Command: ALT U
 Type: Set value directly
 New Value: {MSam+1}

 Menu Command: Morale Down
 Key Command: ALT D
 Type: Set value directly
 New Value: {MSam-1}

これによりALT D/Uでモラル値が変化し
MSamが0になるとimage 1(orz)が表示され、
それ以外は表示なしと設定できる。



モラル値は初期値+2〜0で変化するので、
初期値8のSam師団の場合
New Valueを{ If(MSam=10, 10, MSam+1)}
として10以上にならないように設定できないか試みたが、
VASSAL 3.2.2ではbugが発生してだめだった。

モラルカウンター以外の師団ユニットには
Prototype Samを指定するだけでよい。


師団投入は常に投入状態であるGd,Mur,Lesを除く各師団のPrototypeに
ActivationというLayerを設定。


Levels follow expression value? をチェック
Follow Expressionに各師団のStatusを表すGlobal Propertyを入れる。
Sam師団の場合SamActive
Level 1 = 0 として
image 1を半透明の四角の画像を指定(透過するもの)
image 2になにも指定しない。

モラルカウンターに
Description: SamActive
Global Property Name: SamActive
Locate Property starting in the: Current Zone/Current Map/Module
Key Commands
 Menu Command: Active
 Key Command: CTRL A
 Type: Set value directly
 New Value: 1

 Menu Command: Deactive
 Key Command: CTRL D
 Type: Set value directly
 New Value:0

これによりモラルカウンターでCTRL Dとすると
Global Property SamActive=0となり
Layerで image 1の半透明の四角がユニット全体を覆い非投入状態になる。

CTRL AでSamActive=1となり
Layerでimage 2となり、ユニットの覆いが外れ投入状態になる。













0 件のコメント:

コメントを投稿