Section 13 complete, Damage numbers, added Block chance and Critical Hit chance

This commit is contained in:
2025-11-09 16:27:22 -05:00
parent 2dbdfa5bf8
commit b51c555d9e
112 changed files with 11164 additions and 9455 deletions

View File

@@ -34,4 +34,7 @@ public:
UFUNCTION(BlueprintCallable, Category="AuraAbilitySystem|Attributes")
static void GiveStartupAbilities(const UObject* WorldContextObject, UAbilitySystemComponent* ASC);
UFUNCTION(BlueprintCallable, Category="AuraAbilitySystem|Attributes")
static UCharacterClassInfo* GetCharacterClassInfo(const UObject* WorldContextObject);
};

View File

@@ -183,6 +183,7 @@ public:
private:
void SetEffectProperties(const FGameplayEffectModCallbackData& Data, FEffectProperties& Props) const;
void ShowFloatingText(const FEffectProperties& Props, float Damage, bool bCritical, bool bBlocked);
};

View File

@@ -6,6 +6,7 @@
#include "CharacterClassInfo.generated.h"
class UGameplayAbility;
class UGameplayEffect;
UENUM(BlueprintType)
@@ -43,7 +44,10 @@ public:
TSubclassOf<UGameplayEffect> VitalAttributes;
UPROPERTY(EditDefaultsOnly, Category = "Common Class Defaults")
TArray<TSubclassOf<UGameplayEffect>> CommonAbilities;
TArray<TSubclassOf<UGameplayAbility>> CommonAbilities;
UPROPERTY(EditDefaultsOnly, Category = "Common Class Defaults|Damage")
TObjectPtr<UCurveTable> DamageCalculationCoefficients;
FCharacterClassDefaultInfo GetClassDefaultInfo(ECharacterClass CharacterClass);
};

View File

@@ -0,0 +1,20 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "GameplayEffectExecutionCalculation.h"
#include "ExecCalc_Damage.generated.h"
/**
*
*/
UCLASS()
class AURA_API UExecCalc_Damage : public UGameplayEffectExecutionCalculation
{
GENERATED_BODY()
public:
UExecCalc_Damage();
virtual void Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const override;
};

View File

@@ -27,6 +27,11 @@ public:
UAttributeSet* GetAttributeSet() const { return AttributeSet; }
virtual UAnimMontage* GetHitReactMontage_Implementation() override;
virtual void Die() override;
UFUNCTION(NetMulticast, reliable)
virtual void MulticastHandleDeath();
protected:
virtual void BeginPlay() override;
@@ -59,6 +64,24 @@ protected:
virtual void InitializeDefaultAttributes() const;
void AddCharacterAbilities();
/* Dissolve Effects */
void Dissolve();
UFUNCTION(BlueprintImplementableEvent)
void StartDissolveTimeline(UMaterialInstanceDynamic* DynamicMaterialInstance);
UFUNCTION(BlueprintImplementableEvent)
void StartWeaponDissolveTimeline(UMaterialInstanceDynamic* DynamicMaterialInstance);
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TObjectPtr<UMaterialInstance> WeaponDissolveMaterialInstance;
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TObjectPtr<UMaterialInstance> DissolveMaterialInstance;
private:
UPROPERTY(EditAnywhere, Category="Abilities")

View File

@@ -27,6 +27,7 @@ public:
virtual void UnHighlightActor() override;
virtual int32 GetPlayerLevel() override;
virtual void Die() override;
UPROPERTY(BlueprintAssignable)
FOnAttributeChangedSignature OnHealthChanged;
@@ -39,6 +40,8 @@ public:
UPROPERTY(BlueprintReadOnly, Category = "Combat")
float BaseWalkSpeed = 250.f;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Combat")
float LifeSpan = 5.f;
protected:
virtual void BeginPlay() override;

View File

@@ -31,4 +31,6 @@ public:
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
UAnimMontage* GetHitReactMontage();
virtual void Die() = 0;
};

View File

@@ -8,6 +8,7 @@
#include "GameplayTagContainer.h"
#include "AuraPlayerController.generated.h"
class UDamageTextComponent;
class UAuraInputConfig;
class UInputMappingContext;
class UInputAction;
@@ -27,6 +28,9 @@ public:
AAuraPlayerController();
virtual void PlayerTick(float DeltaTime) override;
UFUNCTION(Client, Reliable)
void ShowDamageNumber(float DamageAmount, ACharacter* TargetCharacter, bool bCritical, bool bBlocked);
protected:
virtual void BeginPlay() override;
virtual void SetupInputComponent() override;
@@ -76,5 +80,8 @@ private:
UPROPERTY(VisibleAnywhere, Category = "Input")
TObjectPtr<USplineComponent> Spline;
//Show Damage Numbers
UPROPERTY(EditDefaultsOnly)
TSubclassOf<UDamageTextComponent> DamageTextComponentClass;
};

View File

@@ -0,0 +1,20 @@
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "Components/WidgetComponent.h"
#include "DamageTextComponent.generated.h"
/**
*
*/
UCLASS()
class AURA_API UDamageTextComponent : public UWidgetComponent
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintImplementableEvent, BlueprintCallable)
void SetDamageText(float Damage,bool bCritical, bool bBlocked);
};