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

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,13 +50,19 @@ 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;
--RemainingEndurance;
if (RemainingEndurance >0)
--RemainingEndurance;
FSkillContext context;
context.Self = Owner;
context.SkillManager = SkillManager;
@ -64,8 +70,7 @@ void USkill::TickSkill(float deltaTime)
{
Effect->Execute(context);
}
if (RemainingEndurance > 0)
RemainingTime = SkillData.CD;
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;
};