Fix Aunn twin petrify after portal move

This commit is contained in:
daixiawu 2026-06-26 16:06:40 +08:00
parent 0630a55b64
commit 3daf841ee4

View File

@ -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;