Fix Aunn attack move kill desync

This commit is contained in:
daixiawu 2026-06-28 16:12:38 +08:00
parent 7f4680c957
commit e0d43ab06f
3 changed files with 11 additions and 8 deletions

View File

@ -157,8 +157,8 @@ namespace Logic.Skill
&& Main.UnitLogic.CheckUnitAbleForGrid_RealTimeStatus(map, self, targetGrid)
&& !targetGrid.RealUnit(map, out _))
{
Main.UnitLogic.MoveToLogic(map, self, targetGrid, MoveType.AttackMove);
outFragmentType = FragmentType.MoveKill;
if (Main.UnitLogic.MoveToLogic(map, self, targetGrid, MoveType.AttackMove))
outFragmentType = FragmentType.MoveKill;
}
}
}

View File

@ -210,8 +210,8 @@ namespace Logic.Skill
}
else if (!target.IsAlive() && Main.UnitLogic.CheckUnitAbleForGrid_RealTimeStatus(map, self, targetGrid))
{
outFragmentType = FragmentType.MoveKill;
Main.UnitLogic.MoveToLogic(map, self, targetGrid, MoveType.AttackMove);
if (Main.UnitLogic.MoveToLogic(map, self, targetGrid, MoveType.AttackMove))
outFragmentType = FragmentType.MoveKill;
TryCreateBonePile(map, player, city, targetCity, target, targetGrid, fullType);
}
else if (!target.IsAlive())

View File

@ -226,7 +226,8 @@ namespace Logic
return false;
}
if (!isPassiveDisplacement
bool shouldApplyAunnPairDistanceLimit = moveType is MoveType.ActiveMove or MoveType.SkillMove;
if (shouldApplyAunnPairDistanceLimit
&& !HakureiNorwayHeroSkillUtil.IsAunnPairWithinDistanceLimit(mapData, unitData, gridData))
return false;
@ -497,9 +498,11 @@ namespace Logic
&& CheckUnitAbleForGrid_RealTimeStatus(mapData, unit1, grid2)
&& !grid2.RealUnit(mapData,out _))
{
Main.UnitLogic. MoveToLogic(mapData, unit1, grid2, MoveType.AttackMove);
//如果杀了人且可以移动过去动画类型就是Movekill
fragmentType = FragmentType.MoveKill;
if (Main.UnitLogic.MoveToLogic(mapData, unit1, grid2, MoveType.AttackMove))
{
//如果杀了人且可以移动过去动画类型就是Movekill
fragmentType = FragmentType.MoveKill;
}
}
else
{