ユニットの移動力を求める
解説
「追加移動力」能力を考慮した、ユニットの移動力を求めるサブルーチンです。
引数は対象ユニットのID。
引数は対象ユニットのID。
ソースコード
// @param Args(1) UnitID
// 移動力を求めるサブルーチン
mvcheck_getMovePoint:
Local _UnitID = Args(1)
Local _uArea = Area(_UnitID) // Unitが今いるエリア
Local _mpoint i _level _area
_mpoint = Info("ユニット", _UnitID, "移動力")
// "追加移動力"能力を持っていたら
If (Info("ユニット", _UnitID, "特殊能力所有", "追加移動力")) Then
// 複数持っているかもしれない
For i = 1 to Info("ユニット", _UnitID, "特殊能力数")
If (Info("ユニット", _UnitID, "特殊能力", i) = "追加移動力") Then
_level = Info("ユニット", _UnitID, "特殊能力レベル", i)
_area = LIndex(Info("ユニット", _UnitID, "特殊能力データ", i), 2)
// 能力の発動条件を満たしていれば
If (_uArea = _area) Then
Incr _mpoint _level // 移動力追加
EndIf
EndIf
Next
EndIf
Return _mpoint