From 293f9411c328b1e2911b16efdc1b2bc49c3c5534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=AC=E3=83=AB=E3=83=A0?= Date: Fri, 29 Nov 2024 05:23:26 +0900 Subject: [PATCH] [fix] way to identify the first icicle impact --- .../The Futures Rewritten/P2 Diamond Dust.cs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P2 Diamond Dust.cs b/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P2 Diamond Dust.cs index 35f0cda8..74b99d4d 100644 --- a/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P2 Diamond Dust.cs +++ b/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P2 Diamond Dust.cs @@ -374,14 +374,20 @@ public override void OnStartingCast(uint source, uint castId) var isEast = icicleObject?.Position.X > 105; var isWest = icicleObject?.Position.X < 95; var isNorth = icicleObject?.Position.Z < 95; + var isSouth = icicleObject?.Position.Z > 105; - if (isNorth && isEast) - _firstIcicleImpactDirection = IcicleImpactDirection.NorthEast; - else if (isNorth && isWest) - _firstIcicleImpactDirection = IcicleImpactDirection.SouthEast; - else if (isEast) - _firstIcicleImpactDirection = IcicleImpactDirection.East; - else if (isNorth) _firstIcicleImpactDirection = IcicleImpactDirection.North; + _firstIcicleImpactDirection = (isNorth, isEast, isWest, isSouth) switch + { + (true, false, false, false) => IcicleImpactDirection.North, + (true, true, false, false) => IcicleImpactDirection.NorthEast, + (false, true, false, false) => IcicleImpactDirection.East, + (false, true, true, false) => IcicleImpactDirection.SouthEast, + (false, false, false, true) => IcicleImpactDirection.North, + (false, false, true, true) => IcicleImpactDirection.NorthEast, + (false, false, true, false) => IcicleImpactDirection.East, + (true, false, true, false) => IcicleImpactDirection.SouthEast, + _ => _firstIcicleImpactDirection + }; } _aoeType = castId switch