#author("2017-07-02T15:09:48+09:00","","")
*空戦 [#i32b0a71]

こぴぺ~

**空戦とは [#h6d40de0]
Civ4における空戦とは航空機の空爆や空挺部隊の降下に対する迎撃戦闘のことです~
航空機に対して戦闘機が迎撃に出た場合は当然として、SAM歩兵などの地上兵器が迎撃に出た場合もこのページのルールに則って戦闘が行われます~
なお、空爆や空挺降下はSDKにおけるCvUnit::airBomb()、CvUnit::airStrike()、CvUnit::paradrop()によって処理されています

ここでは空爆や空挺降下を仕掛ける側を空爆ユニットとし、それに対して迎撃を試みる側を迎撃ユニットとする

**迎撃出撃の判定 [#j4773945]
まず、空爆ユニットに対して、迎撃ユニットが割り込んで迎撃できるかどうかを判定(CvUnit::interceptTest())~
この判定は次の手順を上から順に処理していく~
+空爆ユニットの迎撃回避率で判定。成功すると迎撃失敗
+空爆ユニットの目標タイルに迎撃出動でき、航空機か「迎撃済み」*1でない航空機以外のユニットの中で、最も迎撃率の高いユニットの修正迎撃率で判定~
成功すると迎撃戦闘へ~

ただし、修正迎撃率とは次のように決めます~
-航空機の場合 (基本迎撃率+昇進等の補正)*(現在HP/最大HP)~
-それ以外の場合 (基本迎撃率+昇進等の補正)*2

つまり、ポイントとしては以下のようなことが挙げられます。
空爆ユニットの迎撃回避率はそのまま空爆成功率に反映される(もし100%なら無敵!)
迎撃側は最も迎撃率の高いユニット1体しか迎撃判定ができない。
航空機は何度でも迎撃に出ることができるが、被弾すると迎撃率が下がる。
迎撃判定に成功し迎撃戦闘を行った非航空機ユニットは、そのターン中はもう迎撃に出ることはできない。

**迎撃戦闘の計算式 [#n65d358b]
迎撃戦闘は通常の戦闘とは違う戦闘方法で行われます。(CvUnit::resolveAirCombat())
まず双方のユニットについて戦闘に使う修正戦闘力を以下のように決めます。
航空機なら航空戦闘力を用いて、 航空戦闘力*現在HP/最大HP
航空機以外は通常の戦闘と同じで、 戦闘力*(最大HP+現在HP)/(最大HP*2)
そして、空爆ユニットのラウンド勝率を 空爆ユニットの修正戦闘力/(双方の修正戦闘力の和) と求めます。
迎撃ユニットのラウンド勝率は 1-空爆ユニットのラウンド勝率 となります。
そしてラウンドごとに与えることのできるダメージは、双方ともに 修正迎撃率*50*3/100 となります。
ただし空爆ユニットが航空機であった場合のみ、空爆ユニットは最低でもダメージ 10*4 は与えることができます。
また迎撃ユニットが航空機以外の場合は、空爆ユニットはダメージを与えることはできません。

ここまでで事前準備ができたのでダメージを与えあう処理を行います。
実際の戦闘は基本的には通常の戦闘と同様に、ラウンドごとに勝者を決め敗者にダメージを与えることを繰り返すものとなります。
ただし、以下のような相違点があります。
どちらかが死ぬまで繰り返すのではなく、5回*5ラウンドを行ったらそこで終わる
副次ダメージは発動しない
最後に生き残ったユニットにXPが与えられます。XPの計算は通常の戦闘と全く同じです。

まとめると、ポイントとしては以下のようなことが挙げられます。
航空機はHPが減っているときの弱り方が他のユニットよりも激しい
迎撃率は迎撃の確率だけでなく、ラウンドダメージに直結する
地上迎撃ユニットは傷つかない
ラウンドは5回しか行われない。つまり迎撃率40%未満のユニットに1発で撃墜されることは無い。

**空爆のルール [#r7da4473]
迎撃されずに地上のユニットに対しての空爆に成功した場合について(CvUnit::airStrike())。
ダメージを与える対象は、通常戦闘で防衛に出るユニットと同様に基本的に戦闘力の最も高いユニットになります。
空爆のダメージは次のような式で求められます。(CvUnit::airCombatDamage())
通常戦闘のラウンドダメージの式と似ていますが、赤色表示されている部分が異なる部分になります。
A = 空爆ユニットの航空戦闘力*現在HP/最大HP
D = 防御ユニットの戦闘力
空爆のダメージ = 30*6 * (3 * A + D) / (3 * D + A)
さらにタイルが都市でバンカーなどで航空ユニットに対する抵抗力を持つ場合、その分だけダメージが減ります。
そして副次ダメージ持ちならば、副次ダメージを与えます。
副次ダメージの計算は航空機以外のユニットによる副次ダメージとほぼ同じですが、次のような相違点があります。
基本戦闘力の代わりに基本航空戦闘力を使う
空爆したタイルが都市で航空ユニットに対する抵抗力を持つ場合、その分だけダメージが減る

まとめると、ポイントとしては次のようなことが挙げられます。
空爆ユニットのHPが減ると空爆ダメージも減る
防御ユニットのHPが減っても空爆ダメージは増えない
都市の対航空ユニット防御力は副次ダメージにも効く

**戦略爆撃のルール [#p67e12d9]
迎撃されずに都市や地形改善に対しての戦略爆撃に成功した場合について。(CvUnit::airBomb())
まず、修正爆撃力を次の式で求めます。
修正爆撃力 = 基本爆撃力*現在HP/最大HP
戦略爆撃したタイルが都市だった場合、都市防御が修正爆撃力分だけ減ります。
地形改善されているタイルだった場合、次の2つの乱数を求めます。
空爆ユニット:0~(修正爆撃力-1)
 地形改善 :0~(対航空ユニット防御力*7-1) そして空爆ユニット側が大きいか等しいと地形改善は破壊されます。

つまり、ポイントとしては次のようなことが挙げられます。
砲撃兵器とは違い、航空機の都市防御を削る能力はHPに依存する
地形改善の破壊は爆撃力に依存する。また乱数の影響も大きい。


*コメント [#c4726a17]
#pcomment(reply)



トップ   編集 差分 バックアップ 添付 複製 ページ名変更 リロード   新規 ページ一覧 単語検索 最終更新   スマホ版表示に変更   最終更新のRSS