Last-modified: 2013-12-14 23:56:39
ルールの詳細
Civ4における空戦(AirCombat)とは航空機の空爆や空挺部隊の降下に対する迎撃戦闘のことです。
航空機に対して戦闘機が迎撃に出た場合は当然として、SAM歩兵などの地上兵器が迎撃に出た場合もこのページのルールに則って戦闘が行われます。
なお、空爆や空挺降下はSDKにおけるCvUnit::airBomb()、CvUnit::airStrike()、CvUnit::paradrop()によって処理されています。
なお、ここからは空爆や空挺降下を仕掛ける側を空爆ユニットと記述し、それに対して迎撃を試みる側を迎撃ユニットと記述します。
まず、空爆ユニットに対して、迎撃ユニットが割り込んで迎撃できるかどうかを判定します。(CvUnit::interceptTest())
この判定は次の手順を上から順に処理していきます。
- 1、空爆ユニットの迎撃回避率で判定。成功すると迎撃失敗。
- 2、空爆ユニットの目標タイルに迎撃出動でき、航空機か「迎撃済み」*1でない航空機以外のユニットの中で、最も迎撃率の高いユニットの修正迎撃率で判定。
成功すると迎撃成功で迎撃戦闘へ。失敗すると迎撃失敗。
ただし、修正迎撃率とは次のように決めます。
- 航空機の場合、 (基本迎撃率+昇進等の補正)*(現在HP/最大HP)
- それ以外の場合、 (基本迎撃率+昇進等の補正)*2
つまり、ポイントとしては以下のようなことが挙げられます。
- 空爆ユニットの迎撃回避率はそのまま空爆成功率に反映される。(もし100%なら無敵!)
- 迎撃側は最も迎撃率の高いユニット1体しか迎撃判定ができない。
- 航空機は何度でも迎撃に出ることができるが、被弾すると迎撃率が下がる。
- 迎撃判定に成功し迎撃戦闘を行った非航空機ユニットは、そのターン中はもう迎撃に出ることはできない。
迎撃戦闘は通常の戦闘とは違う戦闘方法で行われます。(CvUnit::resolveAirCombat())
まず双方のユニットについて戦闘に使う修正戦闘力を以下のように決めます。
- 航空機なら航空戦闘力を用いて、 航空戦闘力*現在HP/最大HP
- 航空機以外は通常の戦闘と同じで、 戦闘力*(最大HP+現在HP)/(最大HP*2)
そして、空爆ユニットのラウンド勝率を 空爆ユニットの修正戦闘力/(双方の修正戦闘力の和) と求めます。
迎撃ユニットのラウンド勝率は 1-空爆ユニットのラウンド勝率 となります。
そしてラウンドごとに与えることのできるダメージは、双方ともに 修正迎撃率*50*3/100 となります。
ただし空爆ユニットが航空機であった場合のみ、空爆ユニットは最低でもダメージ 10*4 は与えることができます。
また迎撃ユニットが航空機以外の場合は、空爆ユニットはダメージを与えることはできません。
ここまでで事前準備ができたのでダメージを与えあう処理を行います。
実際の戦闘は基本的には通常の戦闘と同様に、ラウンドごとに勝者を決め敗者にダメージを与えることを繰り返すものとなります。
ただし、以下のような相違点があります。
- どちらかが死ぬまで繰り返すのではなく、5回*5ラウンドを行ったらそこで終わる
- 副次ダメージは発動しない
最後に生き残ったユニットにXPが与えられます。XPの計算は通常の戦闘と全く同じです。
まとめると、ポイントとしては以下のようなことが挙げられます。
- 航空機はHPが減っているときの弱り方が他のユニットよりも激しい
- 迎撃率は迎撃の確率だけでなく、ラウンドダメージに直結する
- 地上迎撃ユニットは傷つかない
- ラウンドは5回しか行われない。つまり迎撃率40%未満のユニットに1発で撃墜されることは無い。
迎撃されずに地上のユニットに対しての空爆に成功した場合について(CvUnit::airStrike())。
ダメージを与える対象は、通常戦闘で防衛に出るユニットと同様に基本的に戦闘力の最も高いユニットになります。
空爆のダメージは次のような式で求められます。(CvUnit::airCombatDamage())
通常戦闘のラウンドダメージの式と似ていますが、赤色表示されている部分が異なる部分になります。
A = 空爆ユニットの航空戦闘力*現在HP/最大HP
D = 防御ユニットの戦闘力
空爆のダメージ = 30*6 * (3 * A + D) / (3 * D + A)
さらにタイルが都市でバンカーなどで航空ユニットに対する抵抗力を持つ場合、その分だけダメージが減ります。
そして副次ダメージ持ちならば、副次ダメージを与えます。
副次ダメージの計算は航空機以外のユニットによる副次ダメージとほぼ同じですが、次のような相違点があります。
- 基本戦闘力の代わりに基本航空戦闘力を使う
- 空爆したタイルが都市で航空ユニットに対する抵抗力を持つ場合、その分だけダメージが減る
まとめると、ポイントとしては次のようなことが挙げられます。
- 空爆ユニットのHPが減ると空爆ダメージも減る
- 防御ユニットのHPが減っても空爆ダメージは増えない
- 都市の対航空ユニット防御力は副次ダメージにも効く
迎撃されずに都市や地形改善に対しての戦略爆撃に成功した場合について。(CvUnit::airBomb())
まず、修正爆撃力を次の式で求めます。
修正爆撃力 = 基本爆撃力*現在HP/最大HP
戦略爆撃したタイルが都市だった場合、都市防御が修正爆撃力分だけ減ります。
地形改善されているタイルだった場合、次の2つの乱数を求めます。
- 空爆ユニット:0~(修正爆撃力-1)
- 地形改善 :0~(対航空ユニット防御力*7-1)
そして空爆ユニット側が大きいか等しいと地形改善は破壊されます。
つまり、ポイントとしては次のようなことが挙げられます。
- 砲撃兵器とは違い、航空機の都市防御を削る能力はHPに依存する
- 地形改善の破壊は爆撃力に依存する。また乱数の影響も大きい。
- 乙です。空戦の知識が怪しかったのでありがたい記事です。しかし戦法集より「ルールの詳細」のほうがふさわしくないですか? --
- >>迎撃判定に成功し迎撃戦闘を行ったユニットは、そのターン中はもう迎撃に出ることはできない。ってあるけど、戦闘機で飛行船を無双して経験値がえらいことになった記憶があるんだがどうなんだろう。 --
- ↑↑1本の記事にするには短い気がして、ここなら書きすててもいいんじゃないかとアドバイスをもらってここにしたんですが、移動させた方がよさげですか? --
- ↑↑よく調べてみたら、航空機だと「迎撃済み」フラグが立たないことが判ったので修正しました。ありがとうございます。 --
- ↑↑なるほど。長さは特に気にすることはないと思いますが、少しいろんな人の目に触れてからでもいいかもしれません。 --
- 戦法集で良いんじゃないかとアドバイスした当人だが、航空機をどう運用するのかとかを想像していたので、正直アドバイスミスではなかったかと思っているところだ --
- 駆逐艦何体スタックさせても迎撃確率は変わらんかったのね・・ --
- 久々の大型新規項目乙!ここを叩き台にしてから移動ってのは無難な案とは思うが、既にこのレベルなら本?項目に移動させて然るべきじゃないかな。重ねて乙だぜ。参考になった! --
- 迎撃率がダメージと関連してるとは・・・ SAM歩兵で飛行機落としたかったら人数増やすより昇進つけたほうがいいのね --
- 空爆、戦略爆撃について加筆しました。移動させた方が良さそうなので移動させますね。新規ページ作ってコメントごとコピペしてしまえばいいのかな? --
- 「戦法集」から「ルールの詳細」下に作り直しました。ついでなので「空戦・空爆・戦略爆撃のルール」と改名しました。 --