修改技能配置无限次耐久度

This commit is contained in:
997146918 2025-06-23 10:29:35 +08:00
parent 2af06c6b9b
commit bfd4cd64c2
4 changed files with 14 additions and 4 deletions

View File

@ -50,12 +50,18 @@ void USkill::InitSkill(APawnWithSkill* owner, USkillManager* skillManager, FSkil
}
}
bool USkill::SkillTickAble()
{
return RemainingEndurance >0 || RemainingEndurance == -1;
}
void USkill::TickSkill(float deltaTime)
{
RemainingTime -= deltaTime * SkillData.Speed;
if (RemainingTime <= 0 && RemainingEndurance >0)
if (RemainingTime <= 0 && SkillTickAble())
{
RemainingTime = 0;
if (RemainingEndurance >0)
--RemainingEndurance;
FSkillContext context;
context.Self = Owner;
@ -64,7 +70,6 @@ void USkill::TickSkill(float deltaTime)
{
Effect->Execute(context);
}
if (RemainingEndurance > 0)
RemainingTime = SkillData.CD;
}
if (RemainingEndurance == 0)

View File

@ -29,6 +29,9 @@ public:
void SetSkillData( FSkillData SkillData);
void ApplyRemainingTimeOffset(int timeOffset);
void ApplyRemainingRemainingEnduranceOffset(int Offset);
UFUNCTION(BlueprintPure)
bool SkillTickAble();
protected:
UPROPERTY(BlueprintAssignable)
FSkillUpdate OnSkillUpdate;
@ -45,3 +48,5 @@ protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ToolTip = "剩余耐久度"))
int32 RemainingEndurance;
};