From 5ba8311058ddb1014468ed083c1210c4c56998a1 Mon Sep 17 00:00:00 2001 From: Kazuhiro Fujieda Date: Sun, 11 Dec 2016 16:59:50 +0900 Subject: [PATCH] =?utf8?q?=E5=88=B6=E7=A9=BA=E5=80=A4=E3=81=AE=E8=A8=88?= =?utf8?q?=E7=AE=97=E3=81=AA=E3=81=A9=E3=82=92=E5=99=B4=E5=BC=8F=E6=A9=9F?= =?utf8?q?=E3=81=AB=E5=AF=BE=E5=BF=9C=E3=81=95=E3=81=9B=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KancolleSniffer/FleetPanel.cs | 18 +++++++--------- KancolleSniffer/ItemInfo.cs | 48 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 45 insertions(+), 21 deletions(-) diff --git a/KancolleSniffer/FleetPanel.cs b/KancolleSniffer/FleetPanel.cs index 5781c28..e213fb7 100644 --- a/KancolleSniffer/FleetPanel.cs +++ b/KancolleSniffer/FleetPanel.cs @@ -82,19 +82,15 @@ namespace KancolleSniffer if (item.Spec.Name == "ドラム缶(輸送用)") drum++; var airspec = ""; - if (item.Spec.CanAirCombat) + if (item.Spec.IsDiveBomber) // 爆撃 { - if (item.Spec.Type == 7 || item.Spec.Type == 11) // 爆撃 - { - airspec = "航空戦 " + (25 + (int)(item.Spec.Bomber * Math.Sqrt(onslot))); - } - else if (item.Spec.Type == 8) - { - var normal = 25 + item.Spec.Torpedo * Math.Sqrt(onslot); - airspec = "航空戦 " + (int)(normal * 0.8) + "/" + (int)(normal * 1.5); - } + airspec = "航空戦 " + (25 + (int)(item.Spec.Bomber * Math.Sqrt(onslot))); + } + else if (item.Spec.IsTorpedoBomber) + { + var normal = 25 + item.Spec.Torpedo * Math.Sqrt(onslot); + airspec = "航空戦 " + (int)(normal * 0.8) + "/" + (int)(normal * 1.5); } - equips.Add(new EquipColumn { Equip = GenEquipString(item, onslot, max), diff --git a/KancolleSniffer/ItemInfo.cs b/KancolleSniffer/ItemInfo.cs index 50f6ed4..0baac4e 100644 --- a/KancolleSniffer/ItemInfo.cs +++ b/KancolleSniffer/ItemInfo.cs @@ -52,6 +52,9 @@ namespace KancolleSniffer case 8: // 艦攻 case 11: // 水爆 case 45: // 水戦 + case 56: // 噴式戦闘機 + case 57: // 噴式戦闘爆撃機 + case 58: // 噴式攻撃機 return true; } return false; @@ -97,12 +100,20 @@ namespace KancolleSniffer case 45: case 47: // 陸上攻撃機 case 48: // 局地戦闘機 + case 56: + case 57: + case 58: + case 59: // 噴式偵察機 return true; } return false; } } + public bool IsDiveBomber => Type == 7 || Type == 11 || Type == 57; + + public bool IsTorpedoBomber => Type == 8 || Type == 58; + public int RealAntiSubmarine { get @@ -260,6 +271,9 @@ namespace KancolleSniffer return Color.FromArgb(57, 182, 78); case 38: // 局地戦闘機 return Color.FromArgb(57, 182, 78); + case 39: // 噴式景雲改 + case 40: // 橘花改 + return Color.FromArgb(72, 178, 141); default: return SystemColors.Control; } @@ -297,22 +311,36 @@ namespace KancolleSniffer Sqrt(9.9), Sqrt(12.0) }; - private readonly Dictionary _alvTypeBonus = new Dictionary + private int[] AlvTypeBonusTable { - {06, new[] {0, 0, 2, 5, 9, 14, 14, 22}}, // 艦戦 - {07, new[] {0, 0, 0, 0, 0, 0, 0, 0}}, // 艦爆 - {08, new[] {0, 0, 0, 0, 0, 0, 0, 0}}, // 艦攻 - {11, new[] {0, 0, 1, 1, 1, 3, 3, 6}}, // 水爆 - {45, new[] {0, 0, 2, 5, 9, 14, 14, 22}}, // 水戦 - {48, new[] {0, 0, 2, 5, 9, 14, 14, 22}} // 局地戦闘機 - }; + get + { + switch (Spec.Type) + { + case 6: // 艦戦 + case 45: // 水戦 + case 48: // 局地戦闘機 + case 56: // 噴式戦闘機 + return new[] {0, 0, 2, 5, 9, 14, 14, 22}; + case 7: // 艦爆 + case 8: // 艦攻 + case 57: // 噴式戦闘爆撃機 + case 58: // 噴式攻撃機 + return new[] {0, 0, 0, 0, 0, 0, 0, 0}; + case 11: // 水爆 + return new[] {0, 0, 1, 1, 1, 3, 3, 6}; + default: + return null; + } + } + } public double[] AlvBonus { get { - int[] table; - if (!_alvTypeBonus.TryGetValue(Spec.Type, out table)) + var table = AlvTypeBonusTable; + if (table == null) return new[] {0.0, 0.0}; return new[] {table[Alv] + _alvBonusMin[Alv], table[Alv] + _alvBonusMax[Alv]}; } -- 2.11.0