Section 13 complete, Damage numbers, added Block chance and Critical Hit chance
This commit is contained in:
@@ -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);
|
||||
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
20
Source/Aura/Public/AbilitySystem/MMC/ExecCalc_Damage.h
Normal file
20
Source/Aura/Public/AbilitySystem/MMC/ExecCalc_Damage.h
Normal 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;
|
||||
};
|
||||
@@ -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")
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -31,4 +31,6 @@ public:
|
||||
|
||||
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
||||
UAnimMontage* GetHitReactMontage();
|
||||
|
||||
virtual void Die() = 0;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
20
Source/Aura/Public/UI/Widget/DamageTextComponent.h
Normal file
20
Source/Aura/Public/UI/Widget/DamageTextComponent.h
Normal 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);
|
||||
};
|
||||
Reference in New Issue
Block a user