Save and save often

This commit is contained in:
2025-10-15 18:50:55 -04:00
parent 9c5a1c1fa1
commit d110a61320
152 changed files with 18888 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
// Copyright Echo Devgroup
#include "AbilitySystem/AuraAbilitySystemLibrary.h"
#include "Kismet/GameplayStatics.h"
#include "Player/AuraPlayerState.h"
#include "UI/WidgetController/AuraWidgetController.h"
#include "UI/HUD/AuraHUD.h"
UOverlayWidgetController* UAuraAbilitySystemLibrary::GetOverlayWidgetController(const UObject* WorldContextObject)
{
if (APlayerController* PC = UGameplayStatics::GetPlayerController(WorldContextObject, 0))
{
if (AAuraHUD* AuraHUD = Cast<AAuraHUD>(PC->GetHUD()))
{
AAuraPlayerState* PS = PC->GetPlayerState<AAuraPlayerState>();
UAbilitySystemComponent* ASC = PS->GetAbilitySystemComponent();
UAttributeSet* AS = PS->GetAttributeSet();
const FWidgetControllerParams WidgetControllerParams(PC, PS, ASC, AS);
return AuraHUD->GetOverlayWidgetController(WidgetControllerParams);
}
}
return nullptr;
}
UAttributeMenuWidgetController* UAuraAbilitySystemLibrary::GetAttributeMenuWidgetController(
const UObject* WorldContextObject)
{
if (APlayerController* PC = UGameplayStatics::GetPlayerController(WorldContextObject, 0))
{
if (AAuraHUD* AuraHUD = Cast<AAuraHUD>(PC->GetHUD()))
{
AAuraPlayerState* PS = PC->GetPlayerState<AAuraPlayerState>();
UAbilitySystemComponent* ASC = PS->GetAbilitySystemComponent();
UAttributeSet* AS = PS->GetAttributeSet();
const FWidgetControllerParams WidgetControllerParams(PC, PS, ASC, AS);
return AuraHUD->GetAttributeMenuWidgetController(WidgetControllerParams);
}
}
return nullptr;
}

View File

@@ -0,0 +1,21 @@
// Copyright Echo Devgroup
#include "AbilitySystem/Data/AttributeInfo.h"
FAuraAttributeInfo UAttributeInfo::FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound) const
{
for (const FAuraAttributeInfo& Info : AttributeInformation)
{
if (Info.AttributeTag.MatchesTagExact(AttributeTag))
{
return Info;
}
}
if (bLogNotFound)
{
UE_LOG(LogTemp, Error, TEXT("AttributeInfo.cpp - Attribute not found - [%s] on AttributeInfo [%s]"), *AttributeTag.ToString(), *GetNameSafe(this));
}
return FAuraAttributeInfo();
}

View File

@@ -0,0 +1,5 @@
// Copyright Echo Devgroup
#include "AbilitySystem/Data/AuraDataAsset.h"

View File

@@ -0,0 +1,37 @@
// Copyright Echo Devgroup
#include "AbilitySystem/MMC/MMC_MaxHealth.h"
#include "AbilitySystem/AuraAttributeSet.h"
#include "Interact/CombatInterface.h"
UMMC_MaxHealth::UMMC_MaxHealth()
{
VigorDef.AttributeToCapture = UAuraAttributeSet::GetVigorAttribute();
VigorDef.AttributeSource = EGameplayEffectAttributeCaptureSource::Target;
VigorDef.bSnapshot = false;
RelevantAttributesToCapture.Add(VigorDef);
}
float UMMC_MaxHealth::CalculateBaseMagnitude_Implementation(const FGameplayEffectSpec& Spec) const
{
const FGameplayTagContainer* SourceTags = Spec.CapturedSourceTags.GetAggregatedTags();
const FGameplayTagContainer* TargetTags = Spec.CapturedTargetTags.GetAggregatedTags();
FAggregatorEvaluateParameters EvaluateParams;
EvaluateParams.SourceTags = SourceTags;
EvaluateParams.TargetTags = TargetTags;
float Vigor = 0.f;
GetCapturedAttributeMagnitude(VigorDef, Spec, EvaluateParams, Vigor);
Vigor = FMath::Max<float>(Vigor, 0.0f);
ICombatInterface* CombatInterface = Cast<ICombatInterface>(Spec.GetContext().GetSourceObject());
const int32 PlayerLevel = CombatInterface->GetPlayerLevel();
return 80.f + 2.5f * Vigor + 10.f * PlayerLevel;
}

View File

@@ -0,0 +1,36 @@
// Copyright Echo Devgroup
#include "AbilitySystem/MMC/MMC_MaxMana.h"
#include "AbilitySystem/AuraAttributeSet.h"
#include "Interact/CombatInterface.h"
UMMC_MaxMana::UMMC_MaxMana()
{
IntDef.AttributeToCapture = UAuraAttributeSet::GetIntelligenceAttribute();
IntDef.AttributeSource = EGameplayEffectAttributeCaptureSource::Target;
IntDef.bSnapshot = false;
RelevantAttributesToCapture.Add(IntDef);
}
float UMMC_MaxMana::CalculateBaseMagnitude_Implementation(const FGameplayEffectSpec& Spec) const
{
const FGameplayTagContainer* SourceTags = Spec.CapturedSourceTags.GetAggregatedTags();
const FGameplayTagContainer* TargetTags = Spec.CapturedTargetTags.GetAggregatedTags();
FAggregatorEvaluateParameters EvaluateParams;
EvaluateParams.SourceTags = SourceTags;
EvaluateParams.TargetTags = TargetTags;
float Int = 0.f;
GetCapturedAttributeMagnitude(IntDef, Spec, EvaluateParams, Int);
Int = FMath::Max<float>(Int, 0.0f);
ICombatInterface* CombatInterface = Cast<ICombatInterface>(Spec.GetContext().GetSourceObject());
const int32 PlayerLevel = CombatInterface->GetPlayerLevel();
return 50.f + 2.5f * Int + 5.f * PlayerLevel;
}