2024-10-22 10:25:27 -07:00
|
|
|
// Generated by GasaEditor/GasaGen/GasaGen_AttributeSets.cpp
|
2024-04-21 15:56:57 -07:00
|
|
|
#pragma once
|
2024-04-13 07:19:45 -07:00
|
|
|
|
2024-04-13 13:18:57 -07:00
|
|
|
#include "AttributeSet.h"
|
2024-04-13 07:19:45 -07:00
|
|
|
#include "GasaAttributeSet.generated.h"
|
|
|
|
|
2024-04-21 06:51:51 -07:00
|
|
|
UCLASS()
|
|
|
|
class GASA_API UGasaAttributeSet : public UAttributeSet
|
2024-04-13 07:19:45 -07:00
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
public:
|
2024-04-24 15:18:26 -07:00
|
|
|
UGasaAttributeSet();
|
|
|
|
|
2024-10-22 10:25:27 -07:00
|
|
|
// Vital Attributes
|
2024-10-21 13:10:56 -07:00
|
|
|
|
2024-10-22 10:25:27 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Health, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Vital" )
|
|
|
|
FGameplayAttributeData Health;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Mana, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Vital" )
|
|
|
|
FGameplayAttributeData Mana;
|
|
|
|
|
|
|
|
// Primary Attributes
|
|
|
|
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Strength, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Primary" )
|
2024-10-21 13:10:56 -07:00
|
|
|
FGameplayAttributeData Strength;
|
2024-10-22 10:25:27 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Intelligence, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Primary" )
|
2024-10-21 13:10:56 -07:00
|
|
|
FGameplayAttributeData Intelligence;
|
2024-10-22 10:25:27 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Resilience, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Primary" )
|
2024-10-21 13:10:56 -07:00
|
|
|
FGameplayAttributeData Resilience;
|
2024-10-22 10:25:27 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Vigor, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Primary" )
|
2024-10-21 13:10:56 -07:00
|
|
|
FGameplayAttributeData Vigor;
|
|
|
|
|
2024-10-22 10:25:27 -07:00
|
|
|
// Secondary Attributes
|
2024-10-21 13:10:56 -07:00
|
|
|
|
2024-10-22 10:25:27 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_MaxHealth, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
2024-04-13 13:18:57 -07:00
|
|
|
FGameplayAttributeData MaxHealth;
|
2024-10-22 10:25:27 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_MaxMana, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
2024-04-13 13:18:57 -07:00
|
|
|
FGameplayAttributeData MaxMana;
|
2024-10-22 13:52:42 -07:00
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_Armor, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData Armor;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_ArmorPenentration, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData ArmorPenentration;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_BlockChance, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData BlockChance;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_CriticalHitChance, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData CriticalHitChance;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_CriticalHitDamage, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData CriticalHitDamage;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_CriticalHitResistance, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData CriticalHitResistance;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_HealthRegeneration, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData HealthRegeneration;
|
|
|
|
UPROPERTY( ReplicatedUsing = Client_OnRep_ManaRegeneration, EditAnywhere, BlueprintReadWrite, Category = "Attributes|Secondary" )
|
|
|
|
FGameplayAttributeData ManaRegeneration;
|
2024-04-13 13:18:57 -07:00
|
|
|
|
2024-10-22 10:25:27 -07:00
|
|
|
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Health( FGameplayAttributeData& PrevHealth );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Mana( FGameplayAttributeData& PrevMana );
|
2024-10-21 13:10:56 -07:00
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Strength( FGameplayAttributeData& PrevStrength );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Intelligence( FGameplayAttributeData& PrevIntelligence );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Resilience( FGameplayAttributeData& PrevResilience );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Vigor( FGameplayAttributeData& PrevVigor );
|
2024-04-13 13:18:57 -07:00
|
|
|
UFUNCTION()
|
2024-04-24 21:30:54 -07:00
|
|
|
void Client_OnRep_MaxHealth( FGameplayAttributeData& PrevMaxHealth );
|
2024-04-13 13:18:57 -07:00
|
|
|
UFUNCTION()
|
2024-04-24 21:30:54 -07:00
|
|
|
void Client_OnRep_MaxMana( FGameplayAttributeData& PrevMaxMana );
|
2024-10-22 13:52:42 -07:00
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_Armor( FGameplayAttributeData& PrevArmor );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_ArmorPenentration( FGameplayAttributeData& PrevArmorPenentration );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_BlockChance( FGameplayAttributeData& PrevBlockChance );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_CriticalHitChance( FGameplayAttributeData& PrevCriticalHitChance );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_CriticalHitDamage( FGameplayAttributeData& PrevCriticalHitDamage );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_CriticalHitResistance( FGameplayAttributeData& PrevCriticalHitResistance );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_HealthRegeneration( FGameplayAttributeData& PrevHealthRegeneration );
|
|
|
|
UFUNCTION()
|
|
|
|
void Client_OnRep_ManaRegeneration( FGameplayAttributeData& PrevManaRegeneration );
|
2024-04-13 13:18:57 -07:00
|
|
|
|
2024-04-13 15:35:19 -07:00
|
|
|
#pragma region Getters
|
2024-10-22 10:25:27 -07:00
|
|
|
static FGameplayAttribute GetHealthAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Health ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetManaAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Mana ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
2024-10-21 13:10:56 -07:00
|
|
|
static FGameplayAttribute GetStrengthAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Strength ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetIntelligenceAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Intelligence ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetResilienceAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Resilience ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetVigorAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Vigor ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
2024-04-13 15:35:19 -07:00
|
|
|
static FGameplayAttribute GetMaxHealthAttribute()
|
|
|
|
{
|
2024-04-24 21:30:54 -07:00
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, MaxHealth ) );
|
2024-04-13 15:35:19 -07:00
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetMaxManaAttribute()
|
|
|
|
{
|
2024-04-24 21:30:54 -07:00
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, MaxMana ) );
|
2024-04-13 15:35:19 -07:00
|
|
|
return Prop;
|
|
|
|
}
|
2024-10-22 13:52:42 -07:00
|
|
|
static FGameplayAttribute GetArmorAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, Armor ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetArmorPenentrationAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop =
|
|
|
|
FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, ArmorPenentration ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetBlockChanceAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop = FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, BlockChance ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetCriticalHitChanceAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop =
|
|
|
|
FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, CriticalHitChance ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetCriticalHitDamageAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop =
|
|
|
|
FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, CriticalHitDamage ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetCriticalHitResistanceAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop =
|
|
|
|
FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, CriticalHitResistance ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetHealthRegenerationAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop =
|
|
|
|
FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, HealthRegeneration ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
|
|
|
static FGameplayAttribute GetManaRegenerationAttribute()
|
|
|
|
{
|
|
|
|
static FProperty* Prop =
|
|
|
|
FindFieldChecked<FProperty>( UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED( UGasaAttributeSet, ManaRegeneration ) );
|
|
|
|
return Prop;
|
|
|
|
}
|
2024-04-21 15:56:57 -07:00
|
|
|
|
2024-10-22 10:25:27 -07:00
|
|
|
FORCEINLINE float GetHealth() const { return Health.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetMana() const { return Mana.GetCurrentValue(); }
|
2024-10-21 13:10:56 -07:00
|
|
|
FORCEINLINE float GetStrength() const { return Strength.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetIntelligence() const { return Intelligence.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetResilience() const { return Resilience.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetVigor() const { return Vigor.GetCurrentValue(); }
|
2024-04-21 06:51:51 -07:00
|
|
|
FORCEINLINE float GetMaxHealth() const { return MaxHealth.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetMaxMana() const { return MaxMana.GetCurrentValue(); }
|
2024-10-22 13:52:42 -07:00
|
|
|
FORCEINLINE float GetArmor() const { return Armor.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetArmorPenentration() const { return ArmorPenentration.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetBlockChance() const { return BlockChance.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetCriticalHitChance() const { return CriticalHitChance.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetCriticalHitDamage() const { return CriticalHitDamage.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetCriticalHitResistance() const { return CriticalHitResistance.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetHealthRegeneration() const { return HealthRegeneration.GetCurrentValue(); }
|
|
|
|
FORCEINLINE float GetManaRegeneration() const { return ManaRegeneration.GetCurrentValue(); }
|
2024-10-22 10:25:27 -07:00
|
|
|
#pragma endregion Getters
|
2024-04-13 15:35:19 -07:00
|
|
|
|
|
|
|
#pragma region Setters
|
2024-10-22 10:25:27 -07:00
|
|
|
FORCEINLINE void SetHealth( float NewVal );
|
|
|
|
FORCEINLINE void SetMana( float NewVal );
|
|
|
|
FORCEINLINE void SetStrength( float NewVal );
|
2024-10-21 13:10:56 -07:00
|
|
|
FORCEINLINE void SetIntelligence( float NewVal );
|
|
|
|
FORCEINLINE void SetResilience( float NewVal );
|
|
|
|
FORCEINLINE void SetVigor( float NewVal );
|
2024-04-24 21:30:54 -07:00
|
|
|
FORCEINLINE void SetMaxHealth( float NewVal );
|
|
|
|
FORCEINLINE void SetMaxMana( float NewVal );
|
2024-10-22 13:52:42 -07:00
|
|
|
FORCEINLINE void SetArmor( float NewVal );
|
|
|
|
FORCEINLINE void SetArmorPenentration( float NewVal );
|
|
|
|
FORCEINLINE void SetBlockChance( float NewVal );
|
|
|
|
FORCEINLINE void SetCriticalHitChance( float NewVal );
|
|
|
|
FORCEINLINE void SetCriticalHitDamage( float NewVal );
|
|
|
|
FORCEINLINE void SetCriticalHitResistance( float NewVal );
|
|
|
|
FORCEINLINE void SetHealthRegeneration( float NewVal );
|
|
|
|
FORCEINLINE void SetManaRegeneration( float NewVal );
|
2024-04-24 21:30:54 -07:00
|
|
|
#pragma endregion Setters
|
2024-04-13 15:35:19 -07:00
|
|
|
|
2024-04-24 15:18:26 -07:00
|
|
|
#pragma region AttributeSet
|
2024-04-24 21:30:54 -07:00
|
|
|
void
|
|
|
|
PreAttributeChange( const FGameplayAttribute& Attribute, float& NewValue ) override;
|
|
|
|
void PostGameplayEffectExecute( FGameplayEffectModCallbackData const& Data ) override;
|
|
|
|
#pragma endregion AttributeSet
|
2024-04-24 15:18:26 -07:00
|
|
|
|
2024-04-13 13:18:57 -07:00
|
|
|
#pragma region UObject
|
2024-04-24 21:30:54 -07:00
|
|
|
void
|
|
|
|
GetLifetimeReplicatedProps( TArray<FLifetimeProperty>& OutLifetimeProps ) const override;
|
2024-04-13 13:18:57 -07:00
|
|
|
#pragma endregion UObject
|
|
|
|
};
|