This commit is contained in:
wuwenbo 2025-09-01 14:01:14 +08:00
commit 197132a5f3
3 changed files with 10 additions and 4 deletions

View File

@ -33,16 +33,20 @@ namespace Logic.Skill
if (info == null) return;
if (info.DamageType != DamageType.ActiveAttack) return;
if (info.DamageOrigin == null || info.DamageTarget == null) return;
if (info.DamageTarget.UnitType is UnitType.Giant or UnitType.GiantJuggernaut) return;
if (!mapData.GetPlayerIdByUnitId(info.DamageOrigin.Id, out var playerId)) return;
var citySet = mapData.GetCityDataSetByPlayerId(playerId);
info.DamageTarget.AttackRenderMark = false;
info.DamageTarget.AttackRenderMarkNeedBack = false;
info.DamageTarget.ClearAPMPCP();
foreach (var city in citySet)
{
if (mapData.GetUnitCount(city.Id) >= city.Level) continue;
mapData.SetUnitIdToCityId(info.DamageTarget.Id, city.Id);
return;
}
foreach (var city in citySet)
{
if (!city.IsCapital) continue;

View File

@ -821,9 +821,7 @@ namespace Logic
return MoveAttackType.None;
//如果目标位置上面有敌军单位,那不可移动,但是有可能可以攻击
else if (mapData.GridMap.CalcDistance(gridDataA, gridDataB) <= unitDataA.GetAttackRange() &&
Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitDataA.UnitType, unitDataA.GiantType,unitDataA.UnitLevel,
out var info)
&& info.Attack > 0) //判断距离在攻击距离范围内且攻击大于0就可以攻击
!unitDataA.IsLimitSelfAttack(mapData)) //判断距离在攻击距离范围内,且具备攻击能力
{
if(mapData.GridMap.CalcDistance(gridDataA, gridDataB) > 3)
Debug.Log("异常的攻击距离");

View File

@ -435,6 +435,10 @@ namespace TH1Renderer
ROGridMap[targetGridData.Id].SetMoveHighlight(true);
}
//如果是攻击目标且unit的AP>0
if (sig == MoveAttackType.Attack && unitData.AP > 0)
{
Debug.Log("ATTAK!");
}
if (sig == MoveAttackType.Attack && unitData.AP > 0 && !unitData.IsLimitSelfAttack(Main.MapData))
{
ret = true;