diff --git a/ProjectFish/Content/DataTable/PawnSkills.uasset b/ProjectFish/Content/DataTable/PawnSkills.uasset index eb543c6..9b50995 100644 Binary files a/ProjectFish/Content/DataTable/PawnSkills.uasset and b/ProjectFish/Content/DataTable/PawnSkills.uasset differ diff --git a/ProjectFish/Source/ProjectFish/Skill/Skill.cpp b/ProjectFish/Source/ProjectFish/Skill/Skill.cpp index 37a16a6..d42dc62 100644 --- a/ProjectFish/Source/ProjectFish/Skill/Skill.cpp +++ b/ProjectFish/Source/ProjectFish/Skill/Skill.cpp @@ -104,7 +104,8 @@ void USkill::ApplyRemainingTimeOffset(int timeOffset) void USkill::ApplyRemainingRemainingEnduranceOffset(int Offset) { - this->RemainingEndurance = FMath::Max(this->RemainingEndurance + Offset, SkillData.Endurance); + if (SkillData.Endurance != -1) + this->RemainingEndurance = FMath::Max(this->RemainingEndurance + Offset, SkillData.Endurance); } class APawnWithSkill* USkill::GetOwner() diff --git a/ProjectFish/Source/ProjectFish/Skill/SkillEffect.cpp b/ProjectFish/Source/ProjectFish/Skill/SkillEffect.cpp index 2353f08..354f363 100644 --- a/ProjectFish/Source/ProjectFish/Skill/SkillEffect.cpp +++ b/ProjectFish/Source/ProjectFish/Skill/SkillEffect.cpp @@ -21,11 +21,23 @@ void USkillEffect::Execute(const FSkillContext& context) FString strTargets; for (auto target: targets) { - strTargets += "|" + target->GetName(); + if (target->GetClass()->IsChildOf(APawnWithSkill::StaticClass())) + { + strTargets += (Cast(target))->GetActorNameOrLabel() +"|" ; + } + else + { + strTargets += (Cast(target))->GetSkillData().SkillName.ToString() + "|" ; + } + } const UEnum* EnumPtr = StaticEnum(); FString type = EnumPtr->GetNameStringByValue(static_cast(effectData.EffectType)) ; - UE_LOG(LogTemp, Log, TEXT("针对目标 %s 释放技能效果%s"), *strTargets, *type); + + UE_LOG(LogTemp, Warning, TEXT("技能:%s 目标: %s 效果: %s") + , *OwnerSkill->GetSkillData().SkillName.ToString() + ,*strTargets + , *( GetSkillEffectDes())); } void USkillEffect::EffectEnded() @@ -160,7 +172,7 @@ void USkillEffect::GetEffectTargetsByTargetType(const FSkillContext& context, TA //所有当前技能右侧的技能 TArray< USkill*> allSkills = context.SkillManager->GetAllSkills(); int32 index = allSkills.Find(OwnerSkill); - for (int i = index; i < allSkills.Num(); ++i) + for (int i = index + 1; i < allSkills.Num(); ++i) { if (allSkills[i]->GetOwner() == OwnerSkill->GetOwner()) result.Add(allSkills[i]); diff --git a/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp b/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp index 91626b4..571fb9d 100644 --- a/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp +++ b/ProjectFish/Source/ProjectFish/Skill/SkillEffects/SkillEffect_ModifySpeed.cpp @@ -27,7 +27,7 @@ void USkillEffect_ModifySpeed::Execute(const FSkillContext& context) GetWorld()->GetTimerManager().SetTimer(TimerHandle, [&]() { - UE_LOG(LogTemp, Warning, TEXT("取消CD充能效果!")); + UE_LOG(LogTemp, Log, TEXT("取消CD充能效果!")); skill->GetSkillData().Speed = 1; }, UKismetStringLibrary::Conv_StringToInt(effectData.ParamAddition), false); // 单次触发