ドラム缶輸送日記 【艦これ】

艦これで遊んだりするブログ

Firefoxで制空権シミュレータに艦隊を反映させる

なんかFirefoxだと制空権シミュの反映手順が使えないらしい。
困ってる人もいそう(?)なので別のやり方を書いてみる。

(2023/06/22 追記) 制空権シミュの反映手順が更新されたのでこっちでやってね。

過去の記述(クリックで展開)

注意事項

以下の手順は、艦これサーバーから正常に送られてきた情報を、通常のブラウザの機能を使って閲覧しているだけのものであり、
艦これサーバーへの不正なアクセスや、通常プレイ以外の方法でサーバーへの接続を試みるものではありません。

って制空権シミュに書いてあった。

APIや制空権シミュ、Firefoxのアップデート等で使えなくなる可能性があるので注意。
やるときは自己責任でお願いします₍ᐛ⁾🙏

艦娘を反映する

1. 開発者ツールを開く
まず編成画面に移動し、F12キーを押して開発者ツールを開く。 開発者ツールが出てきたら「ネットワーク」タブを開いておく。

2. 母港に戻る
母港に戻ると「port」という項目がネットワークタブに出てくるので、右クリック →「値をコピー」→「応答をコピー」でクリップボードにコピーする。
※「再送信」「新しいタブで開く」などは押さないこと

3. APIの応答を変換する
下の変換ツールにコピーした値を貼り付けて、「変換」を押す。

艦娘情報変換ツール



ソースコード(クリックで展開)

    let s_cnv = () => {
        try {
            document.getElementById("s_err").innerText = "";
            document.getElementById("s_o1").value = "";
            
            let input = document.getElementById("s_i1").value;
            if (!input) throw new Error("入力値が空です");

            let fLck = document.getElementsByName("s_lock")[0].checked;
            let fLv1 = document.getElementsByName("s_lv1")[0].checked;

            let data = JSON.parse(input.replace("svdata=", ""));
            if (!data.api_data || !data.api_data.api_ship) throw new Error("データの読み込みに失敗しました");

            var output = data.api_data.api_ship
            .filter((f) => !fLck || f.api_locked == 1)
            .filter((f) => !fLv1 || f.api_lv > 1)
            .map((m) => {
                return {
                id: m.api_ship_id,
                lv: m.api_lv,
                st: m.api_kyouka,
                ex: m.api_slot_ex,
                exp: m.api_exp,
                area: m.api_sally_area,
                };
            });

            document.getElementById("s_o1").value = JSON.stringify(output);
        } catch (e) {
            document.getElementById("s_err").innerText = e.message;
        }
    };

4. 制空権シミュに反映する
変換ツールの出力を制空権シミュの右上の枠に貼り付け、Enter キーを押して反映する。

装備を反映する

装備情報はゲーム開始時または出撃帰投時に取得できるので好きな方でやってね。

1-A. ゲーム開始時に取得する
開発者ツールの「ネットワーク」タブを開いた状態で普通にゲーム開始。
「require_info」という項目がネットワークタブに出てくるので、右クリック →「値をコピー」→「応答をコピー」でクリップボードにコピーする。
※「再送信」「新しいタブで開く」などは押さないように

1-B. 6-1に出撃する
すでにゲーム開始済みで、リロードするのが面倒という人向け。
キラのついていない重巡か戦艦1隻で6-1に出撃。
「出撃開始」を押したら開発者ツールの「ネットワーク」タブを開いておく。

重巡などの1隻編成だと戦闘なしで母港に戻る。
母港に戻ってきたタイミングで「slot_item」という項目がネットワークタブに出てくるので、右クリック →「値をコピー」→「応答をコピー」でクリップボードにコピーする。
※「再送信」「新しいタブで開く」などは押さないように

帰投時ならなんでもいいので、キラ付け等の出撃の帰投時にサッとやってしまってもOK。

2. APIの応答を変換する
下の変換ツールにコピーした値を貼り付けて、「変換」を押す。

装備情報変換ツール



ソースコード(クリックで展開)

    let e_cnv = () => {
        try {
            document.getElementById("e_err").innerText = "";
            document.getElementById("e_o1").value = "";
            
            let input = document.getElementById("e_i1").value;
            if (!input) throw new Error("入力値が空です");

            let fLck = document.getElementsByName("e_lock")[0].checked;

            let data = JSON.parse(input.replace("svdata=", ""));
            if (!data.api_data) throw new Error("データの読み込みに失敗しました");

            var output = (data.api_data.api_slot_item || data.api_data)
            .filter((f) => !fLck || f.api_locked == 1)
            .map((m) => {
                return {
                id: m.api_slotitem_id,
                lv: m.api_level,
                };
            });

            document.getElementById("e_o1").value = JSON.stringify(output);
        } catch (e) {
            document.getElementById("e_err").innerText = e.message;
        }
    };

3. 制空権シミュに反映する
変換ツールの出力を制空権シミュの右上の枠に貼り付け、Enter キーを押して反映する。


ブックマークレット

反映の度にこのページ開くのめんどい って意見がありそうなのでブックマークからツールを出せるようにした。
ブックマークから実行するとなんかダイアログが出てくるので、↑の手順で取得したAPIの応答を入れてOKを押すだけ。

↓右クリックしてブックマークに追加してね。
艦隊情報変換ツール
装備情報変換ツール


以上。うまくいかなかったらごめんね。
いっそEdgeかChromeに乗り換えてしまった方が楽ではある。