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)