From 3daf841ee4fe16569d2754b127f989774f3edd3e Mon Sep 17 00:00:00 2001 From: daixiawu Date: Fri, 26 Jun 2026 16:06:40 +0800 Subject: [PATCH] Fix Aunn twin petrify after portal move --- .../Skill/AllSkill/HakureiNorwayHeroSkill.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/HakureiNorwayHeroSkill.cs b/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/HakureiNorwayHeroSkill.cs index a0d75af82..a1a870eb8 100644 --- a/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/HakureiNorwayHeroSkill.cs +++ b/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/HakureiNorwayHeroSkill.cs @@ -3064,8 +3064,12 @@ namespace Logic.Skill { if (!HakureiNorwayHeroSkillUtil.IsAunnBody(unitData)) return; if (moveType != MoveType.ActiveMove && moveType != MoveType.SkillMove) return; + var spawnedTwin = false; if (HakureiNorwayHeroSkillUtil.IsAunnPrimaryBody(unitData)) - HakureiNorwayHeroSkillUtil.TrySpawnAunnTwin(mapData, unitData, out _); + spawnedTwin = HakureiNorwayHeroSkillUtil.TrySpawnAunnTwin(mapData, unitData, out _); + if (spawnedTwin) return; + if (moveType == MoveType.SkillMove) + ApplyAunnSkillMoveTwinActionResult(mapData, unitData); } public override void OnActionExecuted(ActionLogicBase logic, CommonActionParams param, UnitData self) @@ -3151,6 +3155,13 @@ namespace Logic.Skill && logic.ActionId.UnitActionType == UnitActionType.AunnPetrify; } + private static void ApplyAunnSkillMoveTwinActionResult(MapData mapData, UnitData actor) + { + if (!HakureiNorwayHeroSkillUtil.TryFindPairedAunn(mapData, actor, out var waitingBody)) return; + HakureiNorwayHeroSkillUtil.SetAunnPetrified(mapData, actor, false); + HakureiNorwayHeroSkillUtil.SetAunnPetrifiedAndClearActionPoint(mapData, waitingBody); + } + public override bool IsCanAttackAlly() { return false;