| 2011/10/18(Tue) 21:18:05 編集(投稿者)
一応理想のものが完成したので、報告させていただきます。 今までの回答、ありがとうございました。 確認用Talkつきですが、完成したものをはっときます。
イベント↓
*攻撃 敵 味方 : *攻撃 敵 中立 : *攻撃 中立 味方 :
Talk システム
ラベル起動1 $(Unit(対象ユニットID)) $(Area(対象ユニットID))
End If Party(対象ユニットID) = フェイズ Then
攻撃ユニットID = 対象ユニットID 防御ユニットID = 相手ユニットID 攻撃ユニット使用武器 = 対象ユニット使用武器 Talk システム
ラベル起動フェイズ=対象 $(Party(攻撃ユニットID)) $(フェイズ) $(攻撃ユニットID) $(防御ユニットID) $(攻撃ユニット使用武器)
End
Else
攻撃ユニットID = 相手ユニットID 防御ユニットID = 対象ユニットID 攻撃ユニット使用武器 = 相手ユニット使用武器 Talk システム
ラベル起動フェイズ≠対象 $(Party(攻撃ユニットID)) $(フェイズ) $(攻撃ユニットID) $(防御ユニットID) $(攻撃ユニット使用武器)
End
EndIf
着地テスト装備 = 0 If Area(攻撃ユニットID) = 空中 Then Talk システム
$(Unit(攻撃ユニットID)) $(Area(攻撃ユニットID)) 条件クリア1
End
If Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,武) + Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,突) + Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,接) + Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,近) - ( Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,M) * 4 ) > 0 Then Talk システム
$(Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,武)) $(Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,突)) $(Info(ユニット,攻撃ユニットID,武器, 攻撃ユニット使用武器, 属性所有,接)) 条件クリア2
End
If Area(防御ユニットID) <> 空中 Then Talk システム
条件クリア3
End 元の地形 = Info(マップ, X(攻撃ユニットID), Y(攻撃ユニットID), 地形名) 元のビット = Mid(Info(マップ, X(攻撃ユニットID), Y(攻撃ユニットID), ビットマップ名),Len(Info(マップ, X(攻撃ユニットID), Y(攻撃ユニットID), ビットマップ名)) - 7,4) 元の座標X = X(攻撃ユニットID) 元の座標Y = Y(攻撃ユニットID) ChangeTerrain X(攻撃ユニットID) Y(攻撃ユニットID) Info(マップ, X(防御ユニットID), Y(防御ユニットID), 地形名) 1 ChangeArea 攻撃ユニットID Area(防御ユニットID) Talk システム
条件クリア5 $(元の地形) $(元のビット)
End 着地テスト装備 = 1 EndIf EndIf EndIf
Exit
*攻撃後 敵 味方 : *攻撃後 敵 中立 : *攻撃後 中立 味方 : *破壊 敵 : *破壊 中立 : *破壊 味方 :
If Status(攻撃ユニットID) = 出撃 Then If 着地テスト装備 = 1 Then ChangeArea 攻撃ユニットID 空中 着地テスト装備 = 0 ChangeTerrain 元の座標X 元の座標Y 元の地形 元のビット EndIf EndIf 攻撃不可能力補正 = 1 Exit
攻撃不可能力計算:
Talk システム
敵は$(Area(防御側ユニットID))にあり $(攻撃不可能力補正)
End
If Info(ユニット,攻撃側ユニットID,特殊能力所有,"$(Area(防御側ユニットID))攻撃不可") = 1 Then
Talk システム
$(Area(防御側ユニットID))攻撃不可 所有
End
If Info(ユニット,攻撃側ユニットID,武器, 武器番号, 属性所有,武) + Info(ユニット,攻撃側ユニットID,武器, 武器番号, 属性所有,突) + Info(ユニット,武器番号, 武器番号, 属性所有,接) + Info(ユニット,攻撃側ユニットID,武器, 武器番号, 属性所有,近) > 0 Then 攻撃不可能力補正 = 0
Talk システム
$(Area(防御側ユニットID))攻撃不可 所有2 $(攻撃不可能力補正)
End
Else
攻撃不可能力補正 = 1
Talk システム
$(Area(防御側ユニットID))攻撃不可 所有2 $(攻撃不可能力補正)
End
EndIf
Else
攻撃不可能力補正 = 1
Talk システム
$(Area(防御側ユニットID))攻撃不可 なし $(攻撃不可能力補正)
End
EndIf
Return 攻撃不可能力補正
イベント↑
バトルコンフィグ↓
最終命中率 最終値 * Call(攻撃不可能力計算)
バトルコンフィグ↑
テストユニット↓
テスト用地上味方 テスト用地上味方, テスト用地上味方, テスト, 1, 4 陸, 5, M, 1000, 1000 特殊能力 空中攻撃不可 5000, 500, 800, 50 DACB, -.bmp 地上近接攻撃, 1000, 1, 1, +999, -, -, -, AAAA, +0, 武
テスト用飛行敵 テスト用飛行敵, テスト用飛行敵, テスト, 1, 4 空陸, 5, M, 1000, 1000 特殊能力 水中攻撃不可 追加移動力Lv-3=鈍足 地上 水中 5000, 500, 800, 50 AACB, -.bmp 飛行近接攻撃, 1000, 1, 1, +999, -, -, -, AAAA, +0, 武
テストユニット↑
|