【艦これ】 回転母港 制空値計算バグ

※主に開発者さんに報告するために書いています。そのため最初から畳みます。


回転母港4.0.2ですが、制空値計算にバグがあるようです。

最初に結論を言うと、艦戦の搭載スロットの搭載数を、制空関係艦載機(※後述)が乗っているスロットだけで数えて上から何番目、で決めるロジックになっているようです。

【テスト環境】

分かりやすくするために全スロット搭載数が違う蒼龍改二で。
まず「正しい状態」から。

これで回転母港では制空値49と計算されます。(これは正しい数値です)


次に、1スロ目を「制空無関係装備」に変更してみます。

すると、制空値が69になります。
これは、一つ上の20スロに烈風を載せた場合の制空値です。

ここでは余計な要素をなくして分かりやすくするために缶詰を載せましたが、「制空無関係装備」とは「艦戦、艦爆、爆戦、艦攻以外の装備」です。
つまり索敵機も対象に入るので日常的に起こりうる条件です。



缶詰の位置を変えても制空値は69のまま。





烈風の位置を変えると、本来この場合の制空値は69ですが、上の例では84(一つ上の35スロに烈風を載せた場合の制空値)、下の例では正しく69のままになります。




制空無関係装備を二つに増やすと、二つずれて18スロに烈風を載せた場合の制空値(67)になります。




こうすると制空値は151(一番上の18スロと二番目の35スロに烈風を載せた場合の制空値)になります。



つまり、艦戦が載っている場合に、その搭載位置を制空関係艦載機の載っているスロットで数えて上から何番目、と認識するロジックになっているようです。
最後のこの例で言うと、

「烈風が載ってるな。この搭載数はいくつだろう?」

「ええと、この烈風は・・・一つ目の制空関係艦載機だな」

「てことは一つ目のスロットの搭載数を拾えばいいな。18だな」

「ええと、このもう一つの烈風は・・・二つ目の制空関係艦載機だな」

「てことはこっちは二つ目のスロットの搭載数を拾えばいいな。35だな」

とやってしまっているようです。

恐らくプログラムを

if(艦戦 || 艦爆 || 爆戦 || 艦攻) {
    //
} else {
    //
}

とした上で、スロットの搭載装備とスロット数を構造体配列(※)とかにせず、別々に計算してひも付けしてしまっているのでしょう。


※)

Slot slots[];
slots[i].weapon = xxx;
slots[i].volume = xxx;

みたいな

以上、バグレポート。