27 virtual void PreAttributeChange(
const FGameplayAttribute& Attribute,
float& NewValue)
override;
28 virtual void PostGameplayEffectExecute(
const struct FGameplayEffectModCallbackData& Data)
override;
31 void InitBaseStats(
float InMaxHealth,
float InMoveSpeed,
float InAttack,
float InAttackSpeed,
float InStunDuration);
42 mutable FDeathDelegate OnDeathDelegate;
43 FOnDamageTakenDelegate OnDamageDelegate;
46 bool bOutOfHealth = false;
47 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
48 FGameplayAttributeData Health;
50 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
51 FGameplayAttributeData MaxHealth;
53 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
54 FGameplayAttributeData MoveSpeed;
56 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
59 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
60 FGameplayAttributeData AttackSpeed;
62 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (HideFromModifiers))
63 FGameplayAttributeData Damage;
65 UPROPERTY(BlueprintReadOnly, Category = "Damage", meta = (HideFromModifiers))
66 FGameplayAttributeData DamageIsCritical;
68 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
69 FGameplayAttributeData StunDuration;
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnDamageTakenDelegate, AActor *, TargetActor, float, DamageAmount, bool, bIsCritical)