#pragma once #include "CoreMinimal.h" #include "GameplayTagContainer.h" #include "ItemUpgrade.h" #include "Templates/SubclassOf.h" #include "UpgradeValues.h" #include "TargetSpecificDamageBonusUpgrade.generated.h" class AActor; class AFSDPlayerState; UCLASS(Blueprintable, EditInlineNew, MinimalAPI) class UTargetSpecificDamageBonusUpgrade : public UItemUpgrade { GENERATED_BODY() public: protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) float Bonus; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FGameplayTagQuery tagQuery; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FName Key; public: UTargetSpecificDamageBonusUpgrade(); UFUNCTION(BlueprintCallable, BlueprintPure) static FUpgradeValues GetUpgradedValue(TSubclassOf Item, AFSDPlayerState* Player, FName NewKey); };