2025-06-18 10:07:14 +08:00

35 lines
1.0 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#include "SkillEffect_ModifyCD.h"
#include "Chaos/Deformable/MuscleActivationConstraints.h"
#include "ProjectFish/PawnWithSkill.h"
#include "ProjectFish/Skill/Skill.h"
void USkillEffect_ModifyCD::Execute(const FSkillContext& context)
{
Super::Execute(context);
TArray<UObject*> targets = GetApplyTargets(context);
for (auto target: targets)
{
if (!target->GetClass()->IsChildOf(USkill::StaticClass()))
{
UE_LOG(LogTemp, Error, TEXT("skill %s apply target is not a skill"), *(OwnerSkill->GetSkillName()));
}
else
{
//修改技能的冷却时间
USkill* skill = Cast<USkill>(target);
skill->GetSkillData().CD = FMath::Max(1, skill->GetSkillData().CD + effectData.EffectValue);
skill->ApplyRemainingTimeOffset(effectData.EffectValue);
}
}
}
FString USkillEffect_ModifyCD::GetSkillEffectDes()
{
return FString::Printf(TEXT("对指定位置的技能冷却时间在正常战斗中增加 %d秒"),(int32)(effectData.EffectValue));
}