From 5ac868e8244acef878a746a7c122e74b4da4f1e3 Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 14 Aug 2026 05:42:01 +0200 Subject: [PATCH 1/6] Special Attacks adjustments --- .../Attacks/Specials/KongouSpecialAttack.cs | 4 ++-- .../Specials/QueenElizabethSpecialAttack.cs | 2 +- .../Attacks/Specials/RichelieuSpecialAttack.cs | 16 ++-------------- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/ElectronicObserver.Core/Types/Attacks/Specials/KongouSpecialAttack.cs b/ElectronicObserver.Core/Types/Attacks/Specials/KongouSpecialAttack.cs index fd5925f09..4f704d26a 100644 --- a/ElectronicObserver.Core/Types/Attacks/Specials/KongouSpecialAttack.cs +++ b/ElectronicObserver.Core/Types/Attacks/Specials/KongouSpecialAttack.cs @@ -22,11 +22,11 @@ public override bool CanTrigger() if (flagship is null) return false; if (!IsKongouClassThirdRemodel(flagship.MasterShip.ShipId)) return false; - if (flagship.HPRate <= 0.5) return false; + if (flagship.HPRate <= 0.25) return false; IShipData? helper = ships[1]; if (helper is null) return false; - if (helper.HPRate <= 0.5) return false; + if (helper.HPRate <= 0.25) return false; return IsValidPair(flagship.MasterShip.ShipId, helper.MasterShip.ShipId); } diff --git a/ElectronicObserver.Core/Types/Attacks/Specials/QueenElizabethSpecialAttack.cs b/ElectronicObserver.Core/Types/Attacks/Specials/QueenElizabethSpecialAttack.cs index 22f4a811f..ffa38a5e0 100644 --- a/ElectronicObserver.Core/Types/Attacks/Specials/QueenElizabethSpecialAttack.cs +++ b/ElectronicObserver.Core/Types/Attacks/Specials/QueenElizabethSpecialAttack.cs @@ -49,7 +49,7 @@ public override double GetTriggerRate() IShipData? helper = ships[1]; if (helper is null) return 0; - double rate = Math.Sqrt(flagship.Level) + Math.Sqrt(helper.Level) + 1.2 * (Math.Sqrt(flagship.LuckTotal) + Math.Sqrt(helper.Level)); + double rate = Math.Sqrt(flagship.Level) + Math.Sqrt(helper.Level) + 1.2 * (Math.Sqrt(flagship.LuckTotal) + Math.Sqrt(helper.LuckTotal)); return (rate + 30) / 100; } diff --git a/ElectronicObserver.Core/Types/Attacks/Specials/RichelieuSpecialAttack.cs b/ElectronicObserver.Core/Types/Attacks/Specials/RichelieuSpecialAttack.cs index 377a84e15..0186c8bda 100644 --- a/ElectronicObserver.Core/Types/Attacks/Specials/RichelieuSpecialAttack.cs +++ b/ElectronicObserver.Core/Types/Attacks/Specials/RichelieuSpecialAttack.cs @@ -49,21 +49,9 @@ public override double GetTriggerRate() IShipData? helper = ships[1]; if (helper is null) return 0; - double rate = Math.Sqrt(flagship.Level) + Math.Sqrt(helper.Level) + 1.2 * (Math.Sqrt(flagship.LuckTotal) + Math.Sqrt(helper.Level)); + double rate = Math.Sqrt(flagship.Level) + Math.Sqrt(helper.Level) + 1.2 * (Math.Sqrt(flagship.LuckTotal) + Math.Sqrt(helper.LuckTotal)); - int deuxGunBonus = 0; - - if (flagship.HasDeuxGun()) - { - deuxGunBonus += 5; - } - - if (helper.HasDeuxGun()) - { - deuxGunBonus += 5; - } - - return (rate + 30 + deuxGunBonus) / 100; + return (rate + 30) / 100; } public override List GetAttacks() From b4c13960388d0d2f86406b06de7c83a4715560bd Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 14 Aug 2026 05:43:54 +0200 Subject: [PATCH 2/6] tests --- .../SpecialAttacks/KongouSpecialAttackTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs b/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs index 98fc77a3d..0b92313c7 100644 --- a/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs +++ b/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs @@ -37,7 +37,7 @@ public void KongouSpecialAttackTest1() }); Assert.Empty(fleet.GetSpecialAttacks()); - Assert.False(specialAttack.CanTrigger()); + Assert.True(specialAttack.CanTrigger()); } [Fact(DisplayName = "Can trigger - Flagship shouha")] @@ -78,7 +78,7 @@ public void KongouSpecialAttackTest6() }); Assert.Empty(fleet.GetSpecialAttacks()); - Assert.False(specialAttack.CanTrigger()); + Assert.True(specialAttack.CanTrigger()); } [Fact(DisplayName = "Can trigger - Helper shouha")] From e6d6b74c772b74e2c2e46f5334d1c58baedd58ac Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 14 Aug 2026 05:44:57 +0200 Subject: [PATCH 3/6] test for real --- .../SpecialAttacks/KongouSpecialAttackTests.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs b/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs index 0b92313c7..9976492bb 100644 --- a/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs +++ b/ElectronicObserverCoreTests/SpecialAttacks/KongouSpecialAttackTests.cs @@ -36,7 +36,6 @@ public void KongouSpecialAttackTest1() new ShipDataMock(Db.MasterShips[ShipId.HieiKaiNiC]), }); - Assert.Empty(fleet.GetSpecialAttacks()); Assert.True(specialAttack.CanTrigger()); } @@ -77,7 +76,6 @@ public void KongouSpecialAttackTest6() }, }); - Assert.Empty(fleet.GetSpecialAttacks()); Assert.True(specialAttack.CanTrigger()); } From 7d0bae58e28054caba57b3a174c75cb7ad06be65 Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 14 Aug 2026 06:57:46 +0200 Subject: [PATCH 4/6] Escort check --- .../Utility/Data/FleetSpecialAttacks.cs | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs b/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs index 003530fbf..ebfd81cac 100644 --- a/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs +++ b/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs @@ -9,19 +9,30 @@ public static class FleetSpecialAttacks { public static List GetSpecialAttacks(this IFleetData fleet) { - List attacks = - [ - new NelsonSpecialAttack(fleet), - new NagatoSpecialAttack(fleet), - new ColoradoSpecialAttack(fleet), - new Yamato123SpecialAttack(fleet), - new Yamato12SpecialAttack(fleet), - new KongouSpecialAttack(fleet), - new SubmarineSpecialAttack(fleet), - new RichelieuSpecialAttack(fleet), - new QueenElizabethSpecialAttack(fleet), - ]; + List attacks = []; + if (fleet.FleetType is FleetType.Single || fleet.FleetID == 1) + { + attacks = [ + new NelsonSpecialAttack(fleet), + new NagatoSpecialAttack(fleet), + new ColoradoSpecialAttack(fleet), + new Yamato123SpecialAttack(fleet), + new Yamato12SpecialAttack(fleet), + new KongouSpecialAttack(fleet), + new SubmarineSpecialAttack(fleet), + new RichelieuSpecialAttack(fleet), + new QueenElizabethSpecialAttack(fleet), + ]; + } + else + { + attacks = [ + new KongouSpecialAttack(fleet), + new SubmarineSpecialAttack(fleet), + ]; + } + return attacks .Where(attack => attack.CanTrigger()) .ToList(); From 79cf6cf47e5cf930d0eb5937fbe951ffeae71ec1 Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 14 Aug 2026 07:10:33 +0200 Subject: [PATCH 5/6] Escort --- .../Utility/Data/FleetSpecialAttacks.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs b/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs index ebfd81cac..078c4d783 100644 --- a/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs +++ b/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs @@ -19,20 +19,27 @@ public static List GetSpecialAttacks(this IFleetData fleet) new ColoradoSpecialAttack(fleet), new Yamato123SpecialAttack(fleet), new Yamato12SpecialAttack(fleet), - new KongouSpecialAttack(fleet), - new SubmarineSpecialAttack(fleet), new RichelieuSpecialAttack(fleet), new QueenElizabethSpecialAttack(fleet), ]; + + if (fleet.FleetType is FleetType.Single) + { + attacks.Add(new KongouSpecialAttack(fleet)); + } } else { attacks = [ new KongouSpecialAttack(fleet), - new SubmarineSpecialAttack(fleet), ]; } - + + if (fleet.FleetType is FleetType.Single) + { + attacks.Add(new SubmarineSpecialAttack(fleet)); + } + return attacks .Where(attack => attack.CanTrigger()) .ToList(); From 56e192e9ea17bace36853c0ca70107c432d8227f Mon Sep 17 00:00:00 2001 From: Jebzou <22751386+Jebzou@users.noreply.github.com> Date: Fri, 14 Aug 2026 07:53:27 +0200 Subject: [PATCH 6/6] sonar --- ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs b/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs index 078c4d783..5847ccee7 100644 --- a/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs +++ b/ElectronicObserver/Utility/Data/FleetSpecialAttacks.cs @@ -9,7 +9,7 @@ public static class FleetSpecialAttacks { public static List GetSpecialAttacks(this IFleetData fleet) { - List attacks = []; + List attacks; if (fleet.FleetType is FleetType.Single || fleet.FleetID == 1) {