From 3ad2bf18f2fef1569031f3ac73f02685bb17619a Mon Sep 17 00:00:00 2001 From: Andante Date: Sat, 7 Sep 2019 20:36:41 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E3=82=AE=E3=83=9F=E3=83=83=E3=82=AF?= =?UTF-8?q?=E8=A7=A3=E9=99=A4=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92?= =?UTF-8?q?=E5=BC=B7=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ElectronicObserver/Window/FormInformation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ElectronicObserver/Window/FormInformation.cs b/ElectronicObserver/Window/FormInformation.cs index f91a93a06..2a0725676 100644 --- a/ElectronicObserver/Window/FormInformation.cs +++ b/ElectronicObserver/Window/FormInformation.cs @@ -445,7 +445,7 @@ private string GetBattleResult(dynamic data) private string CheckGimmickUpdated(dynamic data) { - if (data.api_m1() && data.api_m1 != 0) + if ((data.api_m1() && data.api_m1 != 0) || (data.api_m2() && data.api_m2 != 0)) { Utility.Logger.Add(2, "海域に変化を確認しました!"); return "\r\n*ギミック解除*\r\n"; From d04ecf49d17f0b6e7a168349a0c00d0ba150bef6 Mon Sep 17 00:00:00 2001 From: Andante Date: Sat, 7 Sep 2019 20:54:37 +0900 Subject: [PATCH 2/3] Version 4.2.2 --- ElectronicObserver/Other/Information/apilist.txt | 3 ++- ElectronicObserver/Utility/SoftwareInformation.cs | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ElectronicObserver/Other/Information/apilist.txt b/ElectronicObserver/Other/Information/apilist.txt index b837beae1..a9bb9abbb 100644 --- a/ElectronicObserver/Other/Information/apilist.txt +++ b/ElectronicObserver/Other/Information/apilist.txt @@ -2238,7 +2238,8 @@ api_req_sortie/battleresult :通常艦隊 戦闘結果 api_escape :退避艦 api_escape_flag=0の時 null api_escape_idx :退避艦のインデックス [対象艦数] 1基点 実際は[0]が対象となる api_next_map_ids :次に出撃可能になった海域ID[] 海域解放時のみ存在 通常海域は数値、イベント海域は文字列なので注意 - api_m1 :('16秋イベ)ギミック解除フラグ? 1=解除 それ以外の場合存在しない + api_m1 :('16秋イベ)ギミック解除フラグ 1=解除(段階によって 1 以外の場合もある) それ以外の場合存在しない + api_m2 :('19夏イベ)ギミック解除フラグ 1=解除(〃) それ以外の場合存在しない api_req_sortie/goback_port :単艦退避受諾 diff --git a/ElectronicObserver/Utility/SoftwareInformation.cs b/ElectronicObserver/Utility/SoftwareInformation.cs index 6e3f63355..fe19c908b 100644 --- a/ElectronicObserver/Utility/SoftwareInformation.cs +++ b/ElectronicObserver/Utility/SoftwareInformation.cs @@ -29,20 +29,20 @@ public static class SoftwareInformation /// /// バージョン(日本語, ソフトウェア名を含みます) /// - public static string VersionJapanese => SoftwareNameJapanese + "四二型改"; + public static string VersionJapanese => SoftwareNameJapanese + "四二型改二"; /// /// バージョン(英語) /// - public static string VersionEnglish => "4.2.1"; + public static string VersionEnglish => "4.2.2"; /// /// 更新日時 /// - public static DateTime UpdateTime => DateTimeHelper.CSVStringToTime("2019/06/30 21:00:00"); + public static DateTime UpdateTime => DateTimeHelper.CSVStringToTime("2019/09/07 21:00:00"); From 0ed6befc3fd57006c606f024c06eaf412b193dd6 Mon Sep 17 00:00:00 2001 From: Andante Date: Sun, 15 Sep 2019 00:18:15 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E7=B7=8A=E6=80=A5=E6=B3=8A=E5=9C=B0?= =?UTF-8?q?=E4=BF=AE=E7=90=86=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 任務:『戦果拡張任務!「Z作戦」後段作戦』の進捗管理に対応 * 図鑑・任務:google 検索時に名前に「+」が含まれていると正しく検索されないのを修正 * 艦隊:命中・爆装の合計値を表示するように --- ElectronicObserver/Data/CompassData.cs | 5 ++ ElectronicObserver/Data/Constants.cs | 2 + .../Data/Quest/ProgressSpecialBattle.cs | 4 +- .../Data/Quest/QuestProgressManager.cs | 86 ++++++++++--------- ElectronicObserver/ElectronicObserver.csproj | 1 + ElectronicObserver/Observer/APIObserver.cs | 1 + .../kcsapi/api_req_map/anchorage_repair.cs | 37 ++++++++ .../Other/Information/apilist.txt | 12 ++- .../Other/Information/kcmemo.md | 1 + .../Dialog/DialogAlbumMasterEquipment.cs | 2 +- .../Window/Dialog/DialogAlbumMasterShip.cs | 2 +- ElectronicObserver/Window/FormCompass.cs | 4 + ElectronicObserver/Window/FormFleet.cs | 13 +-- .../Window/FormFleetOverview.cs | 4 +- ElectronicObserver/Window/FormQuest.cs | 2 +- 15 files changed, 123 insertions(+), 53 deletions(-) create mode 100644 ElectronicObserver/Observer/kcsapi/api_req_map/anchorage_repair.cs diff --git a/ElectronicObserver/Data/CompassData.cs b/ElectronicObserver/Data/CompassData.cs index c304d3c36..92d4ff4fa 100644 --- a/ElectronicObserver/Data/CompassData.cs +++ b/ElectronicObserver/Data/CompassData.cs @@ -313,6 +313,11 @@ public int AirReconnaissanceResult public int MapHPMax => RawData.api_eventmap() ? (int)RawData.api_eventmap.api_max_maphp : 0; + /// + /// 緊急泊地修理が可能か + /// + public bool CanEmergencyAnchorageRepair => RawData.api_anchorage_flag() && (int)RawData.api_anchorage_flag != 0; + /// /// 対応する海域情報 diff --git a/ElectronicObserver/Data/Constants.cs b/ElectronicObserver/Data/Constants.cs index ecc2c56f6..54b81e8f6 100644 --- a/ElectronicObserver/Data/Constants.cs +++ b/ElectronicObserver/Data/Constants.cs @@ -421,6 +421,8 @@ public static string GetMapEventID(int value) return "船団護衛成功"; case 9: return "揚陸地点"; + case 10: + return "泊地"; default: return "不明"; } diff --git a/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs b/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs index 0ca078835..9db34aec2 100644 --- a/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs +++ b/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs @@ -190,8 +190,8 @@ public override void Increment(string rank, int areaID, bool isBoss) }) >= 4; break; - // |893|季|泊地周辺海域の安全確保を徹底せよ!|1-5・7-1・7-2(第一&第二)ボスS勝利各3|3エリア達成時点で80% - case 893: + case 872: //|872|季|戦果拡張任務!「Z作戦」後段作戦|5-5・6-2・6-5・7-2(第二)ボスS勝利各1|要第一艦隊? + case 893: //|893|季|泊地周辺海域の安全確保を徹底せよ!|1-5・7-1・7-2(第一&第二)ボスS勝利各3|3エリア達成時点で80% if (GaugeIndex == 1) isAccepted = bm.Compass.Destination == 7; else if (GaugeIndex == 2) diff --git a/ElectronicObserver/Data/Quest/QuestProgressManager.cs b/ElectronicObserver/Data/Quest/QuestProgressManager.cs index 61b23886f..d921cb4f5 100644 --- a/ElectronicObserver/Data/Quest/QuestProgressManager.cs +++ b/ElectronicObserver/Data/Quest/QuestProgressManager.cs @@ -233,69 +233,69 @@ void QuestUpdated(string apiname, dynamic data) Progresses.Add(new ProgressBattle(q, 10, "E", null, false)); break; case 211: //|211|敵空母を3隻撃沈せよ!|空母3 - Progresses.Add(new ProgressSlaughter(q, 3, new[]{ 7, 11 })); + Progresses.Add(new ProgressSlaughter(q, 3, new[] { 7, 11 })); break; case 212: //|212|敵輸送船団を叩け!|輸送5 - Progresses.Add(new ProgressSlaughter(q, 5, new[]{ 15 })); + Progresses.Add(new ProgressSlaughter(q, 5, new[] { 15 })); break; case 218: //|218|敵補給艦を3隻撃沈せよ!|輸送3 - Progresses.Add(new ProgressSlaughter(q, 3, new[]{ 15 })); + Progresses.Add(new ProgressSlaughter(q, 3, new[] { 15 })); break; case 226: //|226|南西諸島海域の制海権を握れ!|2-(1~5)ボス勝利5 - Progresses.Add(new ProgressBattle(q, 5, "B", new[]{ 21, 22, 23, 24, 25 }, true)); + Progresses.Add(new ProgressBattle(q, 5, "B", new[] { 21, 22, 23, 24, 25 }, true)); break; case 230: //|230|敵潜水艦を制圧せよ!|潜水6 - Progresses.Add(new ProgressSlaughter(q, 6, new[]{ 13 })); + Progresses.Add(new ProgressSlaughter(q, 6, new[] { 13 })); break; case 213: //|213|海上通商破壊作戦|輸送20 - Progresses.Add(new ProgressSlaughter(q, 20, new[]{ 15 })); + Progresses.Add(new ProgressSlaughter(q, 20, new[] { 15 })); break; case 214: //|214|あ号作戦|出撃36/S勝利6/ボス24/ボス勝利12 Progresses.Add(new ProgressAGo(q)); break; case 220: //|220|い号作戦|空母20 - Progresses.Add(new ProgressSlaughter(q, 20, new[]{ 7, 11 })); + Progresses.Add(new ProgressSlaughter(q, 20, new[] { 7, 11 })); break; case 221: //|221|ろ号作戦|輸送50 - Progresses.Add(new ProgressSlaughter(q, 50, new[]{ 15 })); + Progresses.Add(new ProgressSlaughter(q, 50, new[] { 15 })); break; case 228: //|228|海上護衛戦|潜水15 - Progresses.Add(new ProgressSlaughter(q, 15, new[]{ 13 })); + Progresses.Add(new ProgressSlaughter(q, 15, new[] { 13 })); break; case 229: //|229|敵東方艦隊を撃滅せよ!|4-(1~5)ボス勝利12 - Progresses.Add(new ProgressBattle(q, 12, "B", new[]{ 41, 42, 43, 44, 45 }, true)); + Progresses.Add(new ProgressBattle(q, 12, "B", new[] { 41, 42, 43, 44, 45 }, true)); break; case 242: //|242|敵東方中枢艦隊を撃破せよ!|4-4ボス勝利1 - Progresses.Add(new ProgressBattle(q, 1, "B", new[]{ 44 }, true)); + Progresses.Add(new ProgressBattle(q, 1, "B", new[] { 44 }, true)); break; case 243: //|243|南方海域珊瑚諸島沖の制空権を握れ!|5-2ボスS勝利2 - Progresses.Add(new ProgressBattle(q, 2, "S", new[]{ 52 }, true)); + Progresses.Add(new ProgressBattle(q, 2, "S", new[] { 52 }, true)); break; case 261: //|261|海上輸送路の安全確保に努めよ!|1-5ボスA勝利3 - Progresses.Add(new ProgressBattle(q, 3, "A", new[]{ 15 }, true)); + Progresses.Add(new ProgressBattle(q, 3, "A", new[] { 15 }, true)); break; case 241: //|241|敵北方艦隊主力を撃滅せよ!|3-(3~5)ボス勝利5 - Progresses.Add(new ProgressBattle(q, 5, "B", new[]{ 33, 34, 35 }, true)); + Progresses.Add(new ProgressBattle(q, 5, "B", new[] { 33, 34, 35 }, true)); break; case 249: //|249|月|「第五戦隊」出撃せよ!|2-5ボスS勝利1|要「那智」「妙高」「羽黒」 - Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[]{ 25 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[] { 25 }, true)); break; case 256: //|256|「潜水艦隊」出撃せよ!|6-1ボスS勝利3 - Progresses.Add(new ProgressBattle(q, 3, "S", new[]{ 61 }, true)); + Progresses.Add(new ProgressBattle(q, 3, "S", new[] { 61 }, true)); break; case 257: //|257|月|「水雷戦隊」南西へ!|1-4ボスS勝利1|要軽巡旗艦、軽巡3隻まで、他駆逐艦 他艦種禁止 - Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[]{ 14 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[] { 14 }, true)); break; case 259: //|259|月|「水上打撃部隊」南方へ!|5-1ボスS勝利1|要(大和型or長門型or伊勢型or扶桑型)3/軽巡1 巡戦禁止、戦艦追加禁止 - Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[]{ 51 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[] { 51 }, true)); break; case 264: //|264|月|「空母機動部隊」西へ!|4-2ボスS勝利1|要(空母or軽母or装母)2/駆逐2 - Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[]{ 42 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[] { 42 }, true)); break; case 266: //|266|月|「水上反撃部隊」突入せよ!|2-5ボスS勝利1|要駆逐旗艦、重巡1軽巡1駆逐4 - Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[]{ 25 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 1, "S", new[] { 25 }, true)); break; case 280: //|280|月|兵站線確保!海上警備を強化実施せよ!|1-2・1-3・1-4・2-1ボスS勝利各1|要(軽母or軽巡or雷巡or練巡)1/(駆逐or海防)3 Progresses.Add(new ProgressMultiBattle(q, new[]{ @@ -307,25 +307,33 @@ void QuestUpdated(string apiname, dynamic data) break; case 265: //|265|海上護衛強化月間|1-5ボスA勝利10 - Progresses.Add(new ProgressBattle(q, 10, "A", new[]{ 15 }, true)); + Progresses.Add(new ProgressBattle(q, 10, "A", new[] { 15 }, true)); break; case 822: //|822|季|沖ノ島海域迎撃戦|2-4ボスS勝利2 - Progresses.Add(new ProgressBattle(q, 2, "S", new[]{ 24 }, true)); + Progresses.Add(new ProgressBattle(q, 2, "S", new[] { 24 }, true)); break; case 854: //|854|季|戦果拡張任務!「Z作戦」前段作戦|2-4・6-1・6-3ボスA勝利各1/6-4ボスS勝利1 Progresses.Add(new ProgressMultiBattle(q, new[]{ - new ProgressBattle( q, 1, "A", new[]{ 24 }, true ), - new ProgressBattle( q, 1, "A", new[]{ 61 }, true ), - new ProgressBattle( q, 1, "A", new[]{ 63 }, true ), - new ProgressBattle( q, 1, "S", new[]{ 64 }, true ), + new ProgressBattle(q, 1, "A", new[]{ 24 }, true), + new ProgressBattle(q, 1, "A", new[]{ 61 }, true), + new ProgressBattle(q, 1, "A", new[]{ 63 }, true), + new ProgressBattle(q, 1, "S", new[]{ 64 }, true), })); break; case 861: //|861|季|強行輸送艦隊、抜錨!|1-6終点到達2|要(航空戦艦or補給艦)2 - Progresses.Add(new ProgressSpecialBattle(q, 2, "x", new[]{ 16 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 2, "x", new[] { 16 }, true)); break; case 862: //|862|季|前線の航空偵察を実施せよ!|6-3ボスA勝利2|要水母1軽巡2 - Progresses.Add(new ProgressSpecialBattle(q, 2, "A", new[]{ 63 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 2, "A", new[] { 63 }, true)); + break; + case 872: //|872|季|戦果拡張任務!「Z作戦」後段作戦|5-5・6-2・6-5・7-2(第二)ボスS勝利各1|要第一艦隊? + Progresses.Add(new ProgressMultiBattle(q, new[]{ + new ProgressBattle(q, 1, "S", new[]{ 55 }, true), + new ProgressBattle(q, 1, "S", new[]{ 62 }, true), + new ProgressBattle(q, 1, "S", new[]{ 65 }, true), + new ProgressSpecialBattle(q, 1, "S", new[]{ 72 }, true, 2), + })); break; case 873: //|873|季|北方海域警備を実施せよ!|3-1・3-2・3-3ボスA勝利各1|要軽巡1, 1エリア達成で50%,2エリアで80% Progresses.Add(new ProgressMultiBattle(q, new[]{ @@ -335,7 +343,7 @@ void QuestUpdated(string apiname, dynamic data) })); break; case 875: //|875|季|精鋭「三一駆」、鉄底海域に突入せよ!|5-4ボスS勝利2|要長波改二/(高波改or沖波改or朝霜改) - Progresses.Add(new ProgressSpecialBattle(q, 2, "S", new[]{ 54 }, true)); + Progresses.Add(new ProgressSpecialBattle(q, 2, "S", new[] { 54 }, true)); break; case 888: //|888|季|新編成「三川艦隊」、鉄底海峡に突入せよ!|5-1・5-3・5-4ボスS勝利各1|要(鳥海or青葉or衣笠or加古or古鷹or天龍or夕張)4 Progresses.Add(new ProgressMultiBattle(q, new[]{ @@ -384,14 +392,14 @@ void QuestUpdated(string apiname, dynamic data) Progresses.Add(new ProgressExpedition(q, 30, null)); break; case 410: //|410|南方への輸送作戦を成功させよ!|「東京急行」「東京急行(弐)」成功1 - Progresses.Add(new ProgressExpedition(q, 1, new[]{ 37, 38 })); + Progresses.Add(new ProgressExpedition(q, 1, new[] { 37, 38 })); break; case 411: //|411|南方への鼠輸送を継続実施せよ!|「東京急行」「東京急行(弐)」成功6 - Progresses.Add(new ProgressExpedition(q, 6, new[]{ 37, 38 })); + Progresses.Add(new ProgressExpedition(q, 6, new[] { 37, 38 })); Progresses[q.QuestID].SharedCounterShift = 1; break; case 424: //|424|月|輸送船団護衛を強化せよ!|「海上護衛任務」成功4 - Progresses.Add(new ProgressExpedition(q, 4, new[]{ 5 })); + Progresses.Add(new ProgressExpedition(q, 4, new[] { 5 })); Progresses[q.QuestID].SharedCounterShift = 1; break; case 426: //|426|季|海上通商航路の警戒を厳とせよ!|「警備任務」「対潜警戒任務」「海上護衛任務」「強行偵察任務」成功各1|3エリア達成時点で80% @@ -438,18 +446,18 @@ void QuestUpdated(string apiname, dynamic data) Progresses.Add(new ProgressImprovement(q, 1)); break; case 673: //|673|装備開発力の整備|小口径主砲廃棄4個|進捗は1/5から始まる(3個廃棄時点で80%達成になる) - Progresses.Add(new ProgressDiscard(q, 4, true, new[]{ 1 })); + Progresses.Add(new ProgressDiscard(q, 4, true, new[] { 1 })); Progresses[q.QuestID].SharedCounterShift = 1; break; case 674: //|674|工廠環境の整備|機銃廃棄3個,鋼材300保有|進捗は2/5から始まる(2個廃棄時点で80%達成になる) - Progresses.Add(new ProgressDiscard(q, 3, true, new[]{ 21 })); + Progresses.Add(new ProgressDiscard(q, 3, true, new[] { 21 })); Progresses[q.QuestID].SharedCounterShift = 2; break; case 613: //|613|資源の再利用|廃棄24回 Progresses.Add(new ProgressDiscard(q, 24, false, null)); break; case 638: //|638|対空機銃量産|機銃廃棄6個|回ではない - Progresses.Add(new ProgressDiscard(q, 6, true, new[]{ 21 })); + Progresses.Add(new ProgressDiscard(q, 6, true, new[] { 21 })); break; case 676: //|676|週|装備開発力の集中整備|(中口径主砲x3, 副砲x3, 簡易輸送部材x1)廃棄, 鋼材2400保有|進捗は n/7 で1つごとに進む Progresses.Add(new ProgressMultiDiscard(q, new[]{ @@ -472,16 +480,16 @@ void QuestUpdated(string apiname, dynamic data) })); break; case 628: //|628|月|機種転換|零式艦戦21型(熟練)>>装備の空母旗艦, 零式艦戦52型x2廃棄 - Progresses.Add(new ProgressDiscard(q, 2, true, new[]{ 21 }, -1)); + Progresses.Add(new ProgressDiscard(q, 2, true, new[] { 21 }, -1)); break; case 645: //|645|月|「洋上補給」物資の調達|三式弾廃棄, (燃料750, 弾薬750, ドラム缶(輸送用)x2, 九一式徹甲弾)保有 - Progresses.Add(new ProgressDiscard(q, 1, true, new[]{ 18 })); + Progresses.Add(new ProgressDiscard(q, 1, true, new[] { 18 })); break; case 643: //|643|季|主力「陸攻」の調達|零式艦戦21型x2廃棄, (九六式陸攻x1, 九七式艦攻x2)保有 - Progresses.Add(new ProgressDiscard(q, 2, true, new[]{ 20 }, -1)); + Progresses.Add(new ProgressDiscard(q, 2, true, new[] { 20 }, -1)); break; case 663: //|663|季|新型艤装の継続研究|大口径主砲x10廃棄, 鋼材18000保有 - Progresses.Add(new ProgressDiscard(q, 10, true, new[]{ 3 })); + Progresses.Add(new ProgressDiscard(q, 10, true, new[] { 3 })); break; case 675: //|675|季|運用装備の統合整備|(艦上戦闘機x6, 機銃x4)廃棄, ボーキ800保有 Progresses.Add(new ProgressMultiDiscard(q, new[]{ diff --git a/ElectronicObserver/ElectronicObserver.csproj b/ElectronicObserver/ElectronicObserver.csproj index 6adc52568..e89de88ce 100644 --- a/ElectronicObserver/ElectronicObserver.csproj +++ b/ElectronicObserver/ElectronicObserver.csproj @@ -232,6 +232,7 @@ + diff --git a/ElectronicObserver/Observer/APIObserver.cs b/ElectronicObserver/Observer/APIObserver.cs index b488ad94a..3f59e42aa 100644 --- a/ElectronicObserver/Observer/APIObserver.cs +++ b/ElectronicObserver/Observer/APIObserver.cs @@ -120,6 +120,7 @@ private APIObserver() new kcsapi.api_req_member.itemuse(), new kcsapi.api_req_sortie.ld_shooting(), new kcsapi.api_req_combined_battle.ld_shooting(), + new kcsapi.api_req_map.anchorage_repair(), new kcsapi.api_req_quest.clearitemget(), new kcsapi.api_req_nyukyo.start(), diff --git a/ElectronicObserver/Observer/kcsapi/api_req_map/anchorage_repair.cs b/ElectronicObserver/Observer/kcsapi/api_req_map/anchorage_repair.cs new file mode 100644 index 000000000..bd24fb49e --- /dev/null +++ b/ElectronicObserver/Observer/kcsapi/api_req_map/anchorage_repair.cs @@ -0,0 +1,37 @@ +using ElectronicObserver.Data; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ElectronicObserver.Observer.kcsapi.api_req_map +{ + public class anchorage_repair : APIBase + { + public override void OnResponseReceived(dynamic data) + { + + var db = KCDatabase.Instance; + + foreach (var elem in data.api_ship_data) + { + int id = (int)elem.api_id; + + var ship = db.Ships[id]; + if (ship != null) + ship.LoadFromResponse(APIName, elem); + else + { + ship = new ShipData(); + ship.LoadFromResponse(APIName, elem); + db.Ships.Add(ship); + } + } + + base.OnResponseReceived((object)data); + } + + public override string APIName => "api_req_map/anchorage_repair"; + } +} diff --git a/ElectronicObserver/Other/Information/apilist.txt b/ElectronicObserver/Other/Information/apilist.txt index a9bb9abbb..3c20588f8 100644 --- a/ElectronicObserver/Other/Information/apilist.txt +++ b/ElectronicObserver/Other/Information/apilist.txt @@ -1502,6 +1502,7 @@ api_req_map/start :出撃 同じメンバはnextのほうが情報が新し 9=航空偵察 10=長距離空襲戦 13=レーダー射撃 + 14=泊地 api_passed :1=通行済み 初期地点は常に0 api_rashin_flg : api_rashin_id : @@ -1547,7 +1548,7 @@ api_req_map/next :進撃 7=航空戦or航空偵察 8=船団護衛成功 9=揚陸地点 - 10=長距離空襲戦 + 10=泊地 api_event_kind :イベント種別  0=非戦闘セル, 1=通常戦闘, 2=夜戦, 3=夜昼戦, 4=航空戦, 5=敵連合艦隊戦, 6=長距離空襲戦, 7=夜昼戦(対連合艦隊), 8=レーダー射撃 api_event_id=1|6(気のせいだった)時は  @@ -1646,8 +1647,8 @@ api_req_map/next :進撃 3=「空襲により基地航空隊に地上撃破の損害が発生しました!」 4=「空襲による基地の損害はありません。」 api_m1 :('16秋イベ) 1=スタート地点解放ギミック発動 それ以外の場合は存在しない - api_m1 :('17夏イベ) 1=ルート解放など 通常は存在しない - + api_m1 :イベント海域ギミック開放フラグ 1=ルート解放など 進捗によって 2 の場合もある 通常は存在しない + api_anchorage_flag :泊地セルでのみ存在 0=修理不可 1=修理可能 Request.api_req_sortie/battle :通常艦隊 昼戦 @@ -3384,6 +3385,11 @@ Request.api_req_member/set_friendly_request :友軍艦隊要請 (情報なし) +api_req_map/anchorage_repair :緊急泊地修理 + api_used_ship :発動させた艦娘のID (固有IDではない; 450=秋津洲改 など) + api_ship_data :艦船データ [出撃艦隊の艦船数] api_port/port.api_ship に準じる  + + ◇APIが呼ばれる順番 diff --git a/ElectronicObserver/Other/Information/kcmemo.md b/ElectronicObserver/Other/Information/kcmemo.md index 75d0fcfbb..d9b1f20cb 100644 --- a/ElectronicObserver/Other/Information/kcmemo.md +++ b/ElectronicObserver/Other/Information/kcmemo.md @@ -1453,6 +1453,7 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの |854|季|戦果拡張任務!「Z作戦」前段作戦|2-4・6-1・6-3ボスA勝利各1/6-4ボスS勝利1 |861|季|強行輸送艦隊、抜錨!|1-6終点到達2|要(航空戦艦or補給艦)2 |862|季|前線の航空偵察を実施せよ!|6-3ボスA勝利2|要水母1軽巡2 +|872|季|戦果拡張任務!「Z作戦」後段作戦|5-5・6-2・6-5・7-2(第二)ボスS勝利各1|要第一艦隊? |873|季|北方海域警備を実施せよ!|3-1・3-2・3-3ボスA勝利各1|要軽巡1, 1エリア達成で50%,2エリアで80% |875|季|精鋭「三一駆」、鉄底海域に突入せよ!|5-4ボスS勝利2|要長波改二/(高波改or沖波改or朝霜改) |888|季|新編成「三川艦隊」、鉄底海峡に突入せよ!|5-1・5-3・5-4ボスS勝利各1|要(鳥海or青葉or衣笠or加古or古鷹or天龍or夕張)4 diff --git a/ElectronicObserver/Window/Dialog/DialogAlbumMasterEquipment.cs b/ElectronicObserver/Window/Dialog/DialogAlbumMasterEquipment.cs index bc71b1378..838421c2b 100644 --- a/ElectronicObserver/Window/Dialog/DialogAlbumMasterEquipment.cs +++ b/ElectronicObserver/Window/Dialog/DialogAlbumMasterEquipment.cs @@ -819,7 +819,7 @@ private void StripMenu_Edit_GoogleEquipmentName_Click(object sender, EventArgs e { // google <装備名> 艦これ - System.Diagnostics.Process.Start(@"https://www.google.co.jp/search?q=%22" + Uri.EscapeDataString(eq.Name) + "%22+%E8%89%A6%E3%81%93%E3%82%8C"); + System.Diagnostics.Process.Start(@"https://www.google.co.jp/search?q=%22" + Uri.EscapeDataString(eq.Name.Replace("+", "+")) + "%22+%E8%89%A6%E3%81%93%E3%82%8C"); } catch (Exception ex) diff --git a/ElectronicObserver/Window/Dialog/DialogAlbumMasterShip.cs b/ElectronicObserver/Window/Dialog/DialogAlbumMasterShip.cs index 8f239d571..5b7e3b09b 100644 --- a/ElectronicObserver/Window/Dialog/DialogAlbumMasterShip.cs +++ b/ElectronicObserver/Window/Dialog/DialogAlbumMasterShip.cs @@ -1581,7 +1581,7 @@ private void StripMenu_Edit_GoogleShipName_Click(object sender, EventArgs e) { // google <艦船名> 艦これ - System.Diagnostics.Process.Start(@"https://www.google.co.jp/search?q=%22" + Uri.EscapeDataString(ship.NameWithClass) + "%22+%E8%89%A6%E3%81%93%E3%82%8C"); + System.Diagnostics.Process.Start(@"https://www.google.co.jp/search?q=%22" + Uri.EscapeDataString(ship.NameWithClass.Replace("+", "+")) + "%22+%E8%89%A6%E3%81%93%E3%82%8C"); } catch (Exception ex) diff --git a/ElectronicObserver/Window/FormCompass.cs b/ElectronicObserver/Window/FormCompass.cs index bb45a8a0f..9b5108d29 100644 --- a/ElectronicObserver/Window/FormCompass.cs +++ b/ElectronicObserver/Window/FormCompass.cs @@ -942,6 +942,10 @@ Color getColorFromEventKind(int kind) TextEventDetail.Text = ""; break; + case 10: // 泊地 + TextEventDetail.Text = compass.CanEmergencyAnchorageRepair ? "修理可能" : ""; + break; + default: TextEventDetail.Text = ""; break; diff --git a/ElectronicObserver/Window/FormFleet.cs b/ElectronicObserver/Window/FormFleet.cs index 3f381487e..8cbac0187 100644 --- a/ElectronicObserver/Window/FormFleet.cs +++ b/ElectronicObserver/Window/FormFleet.cs @@ -457,13 +457,13 @@ public void Update(int shipMasterID) { bool isEscaped = KCDatabase.Instance.Fleet[Parent.FleetID].EscapedShipList.Contains(shipMasterID); - + var equipments = ship.AllSlotInstance.Where(eq => eq != null); Name.Text = ship.MasterShip.NameWithClass; Name.Tag = ship.ShipID; ToolTipInfo.SetToolTip(Name, string.Format( - "{0} {1}\r\n火力: {2}/{3}\r\n雷装: {4}/{5}\r\n対空: {6}/{7}\r\n装甲: {8}/{9}\r\n対潜: {10}/{11}\r\n回避: {12}/{13}\r\n索敵: {14}/{15}\r\n運: {16}\r\n射程: {17} / 速力: {18}\r\n(右クリックで図鑑)\n", + "{0} {1}\r\n火力: {2}/{3}\r\n雷装: {4}/{5}\r\n対空: {6}/{7}\r\n装甲: {8}/{9}\r\n対潜: {10}/{11}\r\n回避: {12}/{13}\r\n索敵: {14}/{15}\r\n運: {16}\r\n命中: {17:+#;-#;+0}\r\n爆装: {18:+#;-#;+0}\r\n射程: {19} / 速力: {20}\r\n(右クリックで図鑑)\n", ship.MasterShip.ShipTypeName, ship.NameWithLevel, ship.FirepowerBase, ship.FirepowerTotal, ship.TorpedoBase, ship.TorpedoTotal, @@ -473,7 +473,9 @@ public void Update(int shipMasterID) ship.EvasionBase, ship.EvasionTotal, ship.LOSBase, ship.LOSTotal, ship.LuckTotal, - Constants.GetRange(ship.Range), + equipments.Any() ? equipments.Sum(eq => eq.MasterEquipment.Accuracy): 0, + equipments.Any() ? equipments.Sum(eq => eq.MasterEquipment.Bomber) : 0, + Constants.GetRange(ship.Range), Constants.GetSpeed(ship.Speed) )); { @@ -904,8 +906,9 @@ private void FormFleet_Load(object sender, EventArgs e) o["api_req_kaisou/remodeling"].RequestReceived += Updated; o["api_req_map/start"].RequestReceived += Updated; o["api_req_hensei/combined"].RequestReceived += Updated; + o["api_req_kaisou/open_exslot"].RequestReceived += Updated; - o["api_port/port"].ResponseReceived += Updated; + o["api_port/port"].ResponseReceived += Updated; o["api_get_member/ship2"].ResponseReceived += Updated; o["api_get_member/ndock"].ResponseReceived += Updated; o["api_req_kousyou/getship"].ResponseReceived += Updated; @@ -923,7 +926,7 @@ private void FormFleet_Load(object sender, EventArgs e) o["api_get_member/require_info"].ResponseReceived += Updated; o["api_req_kaisou/slot_deprive"].ResponseReceived += Updated; o["api_req_kaisou/marriage"].ResponseReceived += Updated; - + o["api_req_map/anchorage_repair"].ResponseReceived += Updated; //追加するときは FormFleetOverview にも同様に追加してください diff --git a/ElectronicObserver/Window/FormFleetOverview.cs b/ElectronicObserver/Window/FormFleetOverview.cs index ba62b4386..24f6fc152 100644 --- a/ElectronicObserver/Window/FormFleetOverview.cs +++ b/ElectronicObserver/Window/FormFleetOverview.cs @@ -191,8 +191,9 @@ private void FormFleetOverview_Load(object sender, EventArgs e) o["api_req_member/updatedeckname"].RequestReceived += Updated; o["api_req_map/start"].RequestReceived += Updated; o["api_req_hensei/combined"].RequestReceived += Updated; + o["api_req_kaisou/open_exslot"].RequestReceived += Updated; - o["api_port/port"].ResponseReceived += Updated; + o["api_port/port"].ResponseReceived += Updated; o["api_get_member/ship2"].ResponseReceived += Updated; o["api_get_member/ndock"].ResponseReceived += Updated; o["api_req_kousyou/getship"].ResponseReceived += Updated; @@ -209,6 +210,7 @@ private void FormFleetOverview_Load(object sender, EventArgs e) o["api_get_member/require_info"].ResponseReceived += Updated; o["api_req_kaisou/slot_deprive"].ResponseReceived += Updated; o["api_req_kaisou/marriage"].ResponseReceived += Updated; + o["api_req_map/anchorage_repair"].ResponseReceived += Updated; Utility.Configuration.Instance.ConfigurationChanged += ConfigurationChanged; } diff --git a/ElectronicObserver/Window/FormQuest.cs b/ElectronicObserver/Window/FormQuest.cs index 14dce47a8..28c383ffa 100644 --- a/ElectronicObserver/Window/FormQuest.cs +++ b/ElectronicObserver/Window/FormQuest.cs @@ -725,7 +725,7 @@ private void MenuMain_GoogleQuest_Click(object sender, EventArgs e) { // google <任務名> 艦これ - System.Diagnostics.Process.Start(@"https://www.google.co.jp/search?q=%22" + Uri.EscapeDataString(quest.Name) + "%22+%E8%89%A6%E3%81%93%E3%82%8C"); + System.Diagnostics.Process.Start(@"https://www.google.co.jp/search?q=%22" + Uri.EscapeDataString(quest.Name.Replace("+", "+")) + "%22+%E8%89%A6%E3%81%93%E3%82%8C"); } catch (Exception ex)