diff --git a/BrowserLib/PipeCommunicator.cs b/BrowserLib/PipeCommunicator.cs index 38cb6d63f..c3875b6a6 100644 --- a/BrowserLib/PipeCommunicator.cs +++ b/BrowserLib/PipeCommunicator.cs @@ -116,7 +116,7 @@ public async void AsyncRemoteRun(Action action) } catch (CommunicationException cex) { - ((IClientChannel)Proxy).Abort(); + ((IClientChannel)Proxy)?.Abort(); Proxy = null; if (i >= 1) { diff --git a/ElectronicObserver/Assets.zip b/ElectronicObserver/Assets.zip index 7e03ac06d..bd2523ccc 100644 Binary files a/ElectronicObserver/Assets.zip and b/ElectronicObserver/Assets.zip differ diff --git a/ElectronicObserver/Assets/Equipment/HeavyBomber.png b/ElectronicObserver/Assets/Equipment/HeavyBomber.png new file mode 100644 index 000000000..302490096 Binary files /dev/null and b/ElectronicObserver/Assets/Equipment/HeavyBomber.png differ diff --git a/ElectronicObserver/Data/DataRes.Designer.cs b/ElectronicObserver/Data/DataRes.Designer.cs index f9ca2561c..6fa81ea13 100644 --- a/ElectronicObserver/Data/DataRes.Designer.cs +++ b/ElectronicObserver/Data/DataRes.Designer.cs @@ -132,6 +132,15 @@ internal static string MissionClearEscortLeaderCount { } } + /// + /// Looks up a localized string similar to (水母除く). + /// + internal static string MissionClearExcludingSeaplaneTender { + get { + return ResourceManager.GetString("MissionClearExcludingSeaplaneTender", resourceCulture); + } + } + /// /// Looks up a localized string similar to 失敗 . /// diff --git a/ElectronicObserver/Data/DataRes.en.resx b/ElectronicObserver/Data/DataRes.en.resx index 4a7f03542..8fe088ff4 100644 --- a/ElectronicObserver/Data/DataRes.en.resx +++ b/ElectronicObserver/Data/DataRes.en.resx @@ -186,4 +186,7 @@ {1}{2} {0} + + (Excluding AV) + \ No newline at end of file diff --git a/ElectronicObserver/Data/DataRes.resx b/ElectronicObserver/Data/DataRes.resx index c4c534dbf..4344538d5 100644 --- a/ElectronicObserver/Data/DataRes.resx +++ b/ElectronicObserver/Data/DataRes.resx @@ -1,76 +1,96 @@  + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + + + + + + + + + + + + + + + + + + - + + @@ -89,13 +109,13 @@ text/microsoft-resx - 1.3 + 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 艦船数{0}{1} @@ -166,4 +186,7 @@ {0} {1}{2} + + (水母除く) + \ No newline at end of file diff --git a/ElectronicObserver/Data/MissionClearCondition.cs b/ElectronicObserver/Data/MissionClearCondition.cs index a9cf21573..bcaf85786 100644 --- a/ElectronicObserver/Data/MissionClearCondition.cs +++ b/ElectronicObserver/Data/MissionClearCondition.cs @@ -421,7 +421,7 @@ public static MissionClearConditionResult Check(int missionID, FleetData fleet) .CheckLevelSum(300) .CheckShipCount(6) .CheckFlagshipType(ShipTypes.LightAircraftCarrier) - .CheckEscortFleet() + .CheckEscortFleetDD4() .CheckFirepower(500) .CheckAA(280) .CheckASW(280) @@ -431,8 +431,13 @@ public static MissionClearConditionResult Check(int missionID, FleetData fleet) .CheckFlagshipLevel(35) .CheckLevelSum(210) .CheckShipCount(6) - .CheckAircraftCarrierCount(1, includesSeaplaneTender: false) - .CheckShipCountByType(ShipTypes.SeaplaneTender, 1) + .OrCondition( + r => r + .CheckShipCountByType(ShipTypes.SeaplaneTender, 2), + r => r + .CheckShipCountByType(ShipTypes.SeaplaneTender, 1) + .CheckAircraftCarrierCount(1, false) + ) .CheckShipCountByType(ShipTypes.LightCruiser, 1) .CheckSmallShipCount(2) .CheckEquippedShipCount(EquipmentTypes.TransportContainer, 3) @@ -597,7 +602,7 @@ public MissionClearConditionResult CheckSmallShipCount(int leastCount) => CheckShipCount(s => s.MasterShip.ShipType == ShipTypes.Destroyer || s.MasterShip.ShipType == ShipTypes.Escort, leastCount, DataRes.MissionClearSmallShipCount); public MissionClearConditionResult CheckAircraftCarrierCount(int leastCount, bool includesSeaplaneTender = true) => - CheckShipCount(s => s.MasterShip.IsAircraftCarrier || (includesSeaplaneTender && s.MasterShip.ShipType == ShipTypes.SeaplaneTender), leastCount, DataRes.MissionClearAircraftCarrierCount); + CheckShipCount(s => s.MasterShip.IsAircraftCarrier || (includesSeaplaneTender && s.MasterShip.ShipType == ShipTypes.SeaplaneTender), leastCount, DataRes.MissionClearAircraftCarrierCount + (includesSeaplaneTender ? "" : DataRes.MissionClearExcludingSeaplaneTender)); public MissionClearConditionResult CheckSubmarineCount(int leastCount) => CheckShipCount(s => s.MasterShip.IsSubmarine, leastCount, DataRes.MissionClearSubmarineCount); @@ -644,6 +649,26 @@ public MissionClearConditionResult CheckEscortFleetDD3() return this; } + public MissionClearConditionResult CheckEscortFleetDD4() + { + int lightCruiser = members.Count(s => s.MasterShip.ShipType == ShipTypes.LightCruiser); + int destroyer = members.Count(s => s.MasterShip.ShipType == ShipTypes.Destroyer); + int trainingCruiser = members.Count(s => s.MasterShip.ShipType == ShipTypes.TrainingCruiser); + int escort = members.Count(s => s.MasterShip.ShipType == ShipTypes.Escort); + int escortAircraftCarrier = members.Count(s => s.MasterShip.ShipType == ShipTypes.LightAircraftCarrier && s.ASWBase > 0); + + Assert( + (lightCruiser >= 1 && (destroyer + escort) >= 4) || + (lightCruiser >= 1 && escort >= 2) || + (escortAircraftCarrier >= 1 && (destroyer >= 2 || escort >= 2)) || + (destroyer >= 1 && escort >= 3) || + (trainingCruiser >= 1 && escort >= 2), + //() => "[軽巡+(駆逐+海防)4 or 軽巡+海防2 or 護衛空母+(駆逐2 or 海防2) or 駆逐+海防3 or 練巡+海防2]" // 厳密だけど長いので + () => "護衛隊(軽巡1駆逐4他)" + ); + return this; + } + public MissionClearConditionResult CheckFlagshipType(ShipTypes shipType) { Assert( diff --git a/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs b/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs index c5ad213f3..251824aeb 100644 --- a/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs +++ b/ElectronicObserver/Data/Quest/ProgressSpecialBattle.cs @@ -278,24 +278,11 @@ static int CountSpecific(IEnumerable? fleet, IEnumerable<(ShipId Bas break; case 872: // |872|季|戦果拡張任務!「Z作戦」後段作戦|5-5・6-2・6-5・7-2(第二)ボスS勝利各1|要第一艦隊 - isAccepted = fleet.FleetID == 1; - if (bm.Compass.MapAreaID == 7 && bm.Compass.MapInfoID == 2) - { - if (GaugeIndex == 1) - isAccepted &= bm.Compass.Destination == 7; - else if (GaugeIndex == 2) - isAccepted &= bm.Compass.Destination == 15; - } + isAccepted = fleet.FleetID == 1 && CheckGaugeIndex72(bm.Compass); break; case 893: // |893|季|泊地周辺海域の安全確保を徹底せよ!|1-5・7-1・7-2(第一&第二)ボスS勝利各3|3エリア達成時点で80% - if (bm.Compass.MapAreaID == 7 && bm.Compass.MapInfoID == 2) - { - if (GaugeIndex == 1) - isAccepted = bm.Compass.Destination == 7; - else if (GaugeIndex == 2) - isAccepted = bm.Compass.Destination == 15; - } + isAccepted = CheckGaugeIndex72(bm.Compass); break; // |894|季|空母戦力の投入による兵站線戦闘哨戒|1-3・1-4・2-1・2-2・2-3ボスS勝利各1?|要空母系 @@ -798,6 +785,23 @@ static int CountSpecific(IEnumerable? fleet, IEnumerable<(ShipId Bas isAccepted = flag && second && count; } break; + + case 928: //|928|9|歴戦「第十方面艦隊」、全力出撃!|4-2・7-2(第二)・7-3(第二)ボスS勝利各2|要(羽黒/足柄/妙高/高雄/神風)2 + isAccepted = members.Count(s => + { + switch (s?.MasterShip?.NameReading) + { + case "はぐろ": + case "あしがら": + case "みょうこう": + case "たかお": + case "かみかぜ": + return true; + default: + return false; + } + }) >= 2 && CheckGaugeIndex72(bm.Compass) && CheckGaugeIndex73(bm.Compass); + break; } // 第二ゲージでも第一ボスに行ける場合があるので、個別対応が必要 @@ -810,6 +814,45 @@ static int CountSpecific(IEnumerable? fleet, IEnumerable<(ShipId Bas + private bool CheckGaugeIndex72(CompassData compass) + { + if (compass.MapAreaID == 7 && compass.MapInfoID == 2) + { + switch (compass.Destination) + { + case 7: + return GaugeIndex == 1; + case 15: + return GaugeIndex == 2; + default: + return false; + } + } + return true; + } + + private bool CheckGaugeIndex73(CompassData compass) + { + if (compass.MapAreaID == 7 && compass.MapInfoID == 3) + { + switch (compass.Destination) + { + case 5: + case 8: + return GaugeIndex == 1; + case 18: + case 23: + case 24: + case 25: + return GaugeIndex == 2; + default: + return false; + } + } + return true; + } + + public override string GetClearCondition() { var sb = new StringBuilder(base.GetClearCondition()); diff --git a/ElectronicObserver/Data/Quest/QuestProgressManager.cs b/ElectronicObserver/Data/Quest/QuestProgressManager.cs index 4e89e223c..d987cbf97 100644 --- a/ElectronicObserver/Data/Quest/QuestProgressManager.cs +++ b/ElectronicObserver/Data/Quest/QuestProgressManager.cs @@ -775,6 +775,13 @@ void QuestUpdated(string apiname, dynamic data) new ProgressSpecialBattle(q, 2, "x", new[] { 16 }, true), })); break; + case 928: //|928|9|歴戦「第十方面艦隊」、全力出撃!|4-2・7-2(第二)・7-3(第二)ボスS勝利各2|要(羽黒/足柄/妙高/高雄/神風)2 + Progresses.Add(new ProgressMultiBattle(q, new[] { + new ProgressSpecialBattle(q, 2, "S", new[] { 42 }, true), + new ProgressSpecialBattle(q, 2, "S", new[] { 72 }, true, 2), + new ProgressSpecialBattle(q, 2, "S", new[] { 73 }, true, 2), + })); + break; case 303: //|303|「演習」で練度向上!|演習3 Progresses.Add(new ProgressPractice(q, 3, false)); @@ -1098,6 +1105,15 @@ void QuestUpdated(string apiname, dynamic data) new ProgressDiscard(q, 4, true, new[]{ 5 }), })); break; + case 655: //|655|11|工廠フル稼働!新兵装を開発せよ!|(小口径主砲x5, 中口径主砲x5, 大口径主砲x5, 水上偵察機x5, 艦上攻撃機x5)廃棄, (燃料x1500, 鋼材x1500, ボーキx1500)保有 + Progresses.Add(new ProgressMultiDiscard(q, new[]{ + new ProgressDiscard(q, 5, true, new[]{ 1 }), + new ProgressDiscard(q, 5, true, new[]{ 2 }), + new ProgressDiscard(q, 5, true, new[]{ 3 }), + new ProgressDiscard(q, 5, true, new[]{ 8 }), + new ProgressDiscard(q, 5, true, new[]{ 10 }), + })); + break; case 702: //|702|艦の「近代化改修」を実施せよ!|改修成功2 Progresses.Add(new ProgressModernization(q, 2)); diff --git a/ElectronicObserver/Data/ShipDataMaster.cs b/ElectronicObserver/Data/ShipDataMaster.cs index 1568c2ab8..b3fda458d 100644 --- a/ElectronicObserver/Data/ShipDataMaster.cs +++ b/ElectronicObserver/Data/ShipDataMaster.cs @@ -512,25 +512,31 @@ public class ShipDataMaster : ResponseWrapper, IIdentifiable, IShipDataMaster public int RemodelSteel => !RawData.api_afterfuel() ? 0 : (int)RawData.api_afterfuel; /// - /// 改装に改装設計図が必要かどうか + /// 改装に必要な 改装設計図 の枚数 /// public int NeedBlueprint { get; internal set; } /// - /// 改装に試製甲板カタパルトが必要かどうか + /// 改装に必要な 試製甲板カタパルト の個数 /// public int NeedCatapult { get; internal set; } /// - /// 改装に戦闘詳報が必要かどうか + /// 改装に必要な 戦闘詳報 の枚数 /// public int NeedActionReport { get; internal set; } /// - /// 改装に新型航空兵装資材が必要かどうか + /// 改装に必要な 新型航空兵装資材 の個数 /// public int NeedAviationMaterial { get; internal set; } + /// + /// 改装に必要な 新型兵装資材 の個数 + /// + public int NeedArmamentMaterial { get; internal set; } + + #region Parameters diff --git a/ElectronicObserver/Observer/kcsapi/api_start2/getData.cs b/ElectronicObserver/Observer/kcsapi/api_start2/getData.cs index 6657ba491..065d3ef79 100644 --- a/ElectronicObserver/Observer/kcsapi/api_start2/getData.cs +++ b/ElectronicObserver/Observer/kcsapi/api_start2/getData.cs @@ -203,6 +203,7 @@ public override void OnResponseReceived(dynamic data) shipbefore.NeedCatapult = (int)elem.api_catapult_count; shipbefore.NeedActionReport = (int)elem.api_report_count; shipbefore.NeedAviationMaterial = (int)elem.api_aviation_mat_count; + shipbefore.NeedArmamentMaterial = elem.api_arms_mat_count() ? (int)elem.api_arms_mat_count : 0; } } diff --git a/ElectronicObserver/Other/Information/apilist.txt b/ElectronicObserver/Other/Information/apilist.txt index 9aa5ad726..216cf86bc 100644 --- a/ElectronicObserver/Other/Information/apilist.txt +++ b/ElectronicObserver/Other/Information/apilist.txt @@ -148,6 +148,7 @@ api_start2/getData :艦娘・装備固有データその他 23=輸送機材 24=潜水艦装備 25=陸上偵察機 + 26=大型陸上機 [1]:図鑑表示 1=Primary Armament @@ -190,6 +191,9 @@ api_start2/getData :艦娘・装備固有データその他 41=Transport Materials 42=Submarine Equipment 43=Multi-purpose Seaplane + 44=Helicopter + 45=DD Tank + 46=Heavy Bomber 1=主砲 2=副砲 @@ -231,6 +235,9 @@ api_start2/getData :艦娘・装備固有データその他 41=輸送機材 42=潜水艦装備 43=多用途水上機/水上爆撃機 + 44=ヘリコプター + 45=DD戦車 + 46=大型陸上機 [2]:カテゴリ (api_mst_slotitem_equiptype を参照) @@ -285,6 +292,8 @@ api_start2/getData :艦娘・装備固有データその他 49=陸上偵察機 50=輸送機材 51=潜水艦装備 + 52= + 53=大型陸上機 56=噴式戦闘機 57=噴式戦闘爆撃機 58=噴式攻撃機 @@ -340,6 +349,8 @@ api_start2/getData :艦娘・装備固有データその他 45=夜間戦闘機 46=夜間攻撃機 47=陸上対潜哨戒機 + 48= + 49=大型陸上機 [4]: 航空機カテゴリ 0=非航空機 @@ -369,6 +380,15 @@ api_start2/getData :艦娘・装備固有データその他 30=陸上対潜哨戒機 31=陸上偵察機 32=瑞雲 + 33=流星 + 34=烈風改良型 + 35=試製秋水 + 36=高高度局地戦闘機 + 37=Fw190 + 38=XF5U + 39=TBM-3W+3S + 40=九九式艦爆改良型 + 41=大型陸上機 api_taik :耐久(0) api_souk :装甲 @@ -508,6 +528,7 @@ api_start2/getData :艦娘・装備固有データその他 api_catapult_count :試製甲板カタパルト 所要個数 api_report_count :戦闘詳報 所要枚数 api_aviation_mat_count :新型航空兵装資材 所要個数 + api_arms_mat_count :新型兵装資材 所要個数 api_sortno :? (概ね図鑑IDだが、霞(改/二/乙), 利根(改/二), 筑摩(改/二)などで異なる) api_mst_bgm :母港BGMデータ? @@ -520,12 +541,13 @@ api_start2/getData :艦娘・装備固有データその他 api_req_member/get_incentive :褒賞関連 - api_count :情報の個数 - api_item :もらえるアイテム api_count=0だと存在しない - api_mode :1=事前登録?, 2=招待?, 3=月次褒賞/プレゼント - api_type :1=艦船?, 2=装備, 3=アイテム, 4=資源?, 5=家具 - api_mst_id :ID - api_getmes :獲得時メッセージ + api_count :情報の個数 + api_item :もらえるアイテム api_count=0だと存在しない + api_mode :1=事前登録?, 2=招待?, 3=月次褒賞/プレゼント + api_type :1=艦船?, 2=装備, 3=アイテム, 4=資源?, 5=家具 + api_mst_id :ID + api_getmes :獲得時メッセージ + api_slotitem_level :装備改修レベル 装備かつ +1 以上のときのみ存在 api_get_member/require_info :起動時情報群 diff --git a/ElectronicObserver/Other/Information/kcmemo.md b/ElectronicObserver/Other/Information/kcmemo.md index e00fc204c..e6bdaeaf0 100644 --- a/ElectronicObserver/Other/Information/kcmemo.md +++ b/ElectronicObserver/Other/Information/kcmemo.md @@ -1489,6 +1489,7 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの |905|2|「海防艦」、海を護る!|1-1・1-2・1-3・1-5ボスA勝利各1/1-6終点到達1|要海防艦3, 5隻以下の編成 |912|3|工作艦「明石」護衛任務|1-3・2-1・2-2・2-3ボスA勝利各1/1-6終点到達1|要明石旗艦, 駆逐艦3 |914|3|重巡戦隊、西へ!|4-1・4-2・4-3・4-4ボスA勝利各1|要重巡3/駆逐1 +|928|9|歴戦「第十方面艦隊」、全力出撃!|4-2・7-2(第二)・7-3(第二)ボスS勝利各2|要(羽黒/足柄/妙高/高雄/神風)2 |303|日|「演習」で練度向上!|演習3 |304|日|「演習」で他提督を圧倒せよ!|演習勝利5 |302|週|大規模演習|演習勝利20 @@ -1536,14 +1537,17 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの |653|季|工廠稼働!次期作戦準備!|14cm単装砲x6廃棄, (家具コイン6000, 35.6cm連装砲x3, 九六式艦戦x3)保有 |663|季|新型艤装の継続研究|大口径主砲x10廃棄, 鋼材18000保有 |675|季|運用装備の統合整備|(艦上戦闘機x6, 機銃x4)廃棄, ボーキ800保有 -|678|季|主力艦上戦闘機の更新|(九六式艦戦x3, 零式艦戦21型x5)廃棄, 秘書艦の第1・第2スロットに零式艦戦52型装備, ボーキ4000保有 +|678|季|主力艦上戦闘機の更新|(九六式艦戦x3, 零式艦戦21型x5)廃棄, 秘書艦の第1・第2スロットに零式艦戦52型装備, ボーキx4000保有 |680|季|対空兵装の整備拡充|(対空機銃x4, (小型電探or大型電探)x4)廃棄, ボーキ1500保有 |686|季|戦時改修A型高角砲の量産|12.7cm連装砲A型改二★10を第一スロ装備の特型駆逐艦旗艦, (10cm連装高角砲x4, 94式高射装置x1)廃棄, (開発資材30, 鋼材900, 新型砲熕兵装資材1)保有 -|688|季|航空戦力の強化|(艦上戦闘機x3, 艦上爆撃機x3, 艦上攻撃機x3, 水上偵察機x3)廃棄, (熟練搭乗員x1, ボーキサイトx1800)保有 +|688|季|航空戦力の強化|(艦上戦闘機x3, 艦上爆撃機x3, 艦上攻撃機x3, 水上偵察機x3)廃棄, (熟練搭乗員x1, ボーキx1800)保有 |657|9|新型兵装開発整備の強化|(小口径主砲x6, 中口径主砲x5, 魚雷x4)廃棄, 鋼材4000保有| -|654|10|精鋭複葉機飛行隊の編成|(Swordfishx1, Fulmarx2)廃棄, 秘書艦Ark Royalの第一スロットにSwordfish★10装備, (熟練搭乗員x1, 弾薬x1500, ボーキサイトx1500)保有 +|654|10|精鋭複葉機飛行隊の編成|(Swordfishx1, Fulmarx2)廃棄, 秘書艦Ark Royalの第一スロットにSwordfish★10装備, (熟練搭乗員x1, 弾薬x1500, ボーキx1500)保有 +|655|11|工廠フル稼働!新兵装を開発せよ!|(小口径主砲x5, 中口径主砲x5, 大口径主砲x5, 水上偵察機x5, 艦上攻撃機x5)廃棄, (燃料x1500, 鋼材x1500, ボーキx1500)保有 |702|日|艦の「近代化改修」を実施せよ!|近代化改修成功2 |703|週|「近代化改修」を進め、戦備を整えよ!|近代化改修成功15 +|714|11|「駆逐艦」の改修工事を実施せよ!|駆逐に対して駆逐3を用いた近代化改修成功2, (鋼材600, ボーキ300)保有 +|715|11|続:「駆逐艦」の改修工事を実施せよ!|駆逐に対して軽巡3を用いた近代化改修成功2, (鋼材900, ボーキ500)保有 #### 任務の特殊仕様について diff --git a/ElectronicObserver/Resource/ResourceManager.cs b/ElectronicObserver/Resource/ResourceManager.cs index 196fcc208..72d4bdeec 100644 --- a/ElectronicObserver/Resource/ResourceManager.cs +++ b/ElectronicObserver/Resource/ResourceManager.cs @@ -216,6 +216,8 @@ public enum EquipmentContent NightFighter, NightAttacker, LandASPatrol, + Reserved48, // 艦これ本体側が未実装 + HeavyBomber, Locked, Unknown, } @@ -460,6 +462,8 @@ private void LoadFromArchive(string path) LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/NightFighter.png", "Equipment_NightFighter"); LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/NightAttacker.png", "Equipment_NightAttacker"); LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/LandASPatrol.png", "Equipment_LandASPatrol"); + LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/Unknown.png", "Equipment_Reserved48"); // 艦これ本体側が未実装 + LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/HeavyBomber.png", "Equipment_HeavyBomber"); LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/Locked.png", "Equipment_Locked"); LoadImageFromArchive(Equipments, archive, mstpath + @"Equipment/Unknown.png", "Equipment_Unknown"); diff --git a/ElectronicObserver/Utility/SoftwareInformation.cs b/ElectronicObserver/Utility/SoftwareInformation.cs index 342a412cd..fad5104c0 100644 --- a/ElectronicObserver/Utility/SoftwareInformation.cs +++ b/ElectronicObserver/Utility/SoftwareInformation.cs @@ -30,13 +30,13 @@ public static class SoftwareInformation /// /// バージョン(日本語, ソフトウェア名を含みます) /// - public static string VersionJapanese => SoftwareNameJapanese + "四六型改三"; + public static string VersionJapanese => SoftwareNameJapanese + "四六型改四"; /// /// バージョン(英語) /// - public static string VersionEnglish => "4.6.3"; + public static string VersionEnglish => "4.6.4"; ///