修改 伤害触发 逻辑bug

This commit is contained in:
997146918 2025-09-04 17:52:35 +08:00
parent de90ec87d8
commit dd36f731d9
2 changed files with 9 additions and 4 deletions

View File

@ -15,13 +15,18 @@ void APawnWithSkill::ApplyyEndurance_Implementation(float enduranceOffset, UObje
{ {
if (enduranceOffset < 0) if (enduranceOffset < 0)
{ {
//受到伤害
OnReceiveDamage.Broadcast(Source);
//受到的伤害最低为1点 //受到的伤害最低为1点
enduranceOffset = FMath::Min(-1, enduranceOffset + DamageReduce); enduranceOffset = FMath::Min(-1, enduranceOffset + DamageReduce);
CurrentEndurance += enduranceOffset;;
//受到伤害
OnReceiveDamage.Broadcast(Source);
}
else
{
CurrentEndurance += enduranceOffset;;
} }
OnEnduranceChanged.Broadcast(); OnEnduranceChanged.Broadcast();
CurrentEndurance += enduranceOffset;;
} }

View File

@ -216,7 +216,7 @@ void USkillTrigger::InitAuraConditionTriggers()
SkillContext.SkillManager->GetEnemyPawn( SkillContext.OwnerSkill->GetOwner()); SkillContext.SkillManager->GetEnemyPawn( SkillContext.OwnerSkill->GetOwner());
//初始检测 //初始检测
if (!this->bTriggered && if (!this->bTriggered &&
TargetPawn->CurrentEndurance /TargetPawn ->MaxEndurance > this->AuraTriggerConfig.PercentageValue) TargetPawn->CurrentEndurance /TargetPawn ->MaxEndurance < this->AuraTriggerConfig.PercentageValue)
{ {
OnTrigger(); OnTrigger();
} }