Integriere Gameplay Ability System (GAS)

Ersetze HealthComponent und StaminaComponent durch GAS-basierte AttributeSets (`UHealthAttributeSet`, `UStaminaAttributeSet`) und füge `UAbilitySystemComponent` hinzu.

Implementiere neue GameplayEffects (`UGE_HealthDamage`, `UGE_HealthHealing`, `UGE_HealthDebuff`, `UGE_StaminaFatiguePenalty`) und eine Modifikator-Berechnung (`UMMC_MaxStaminaFatiguePenalty`).

Erweitere `AKingshearthLegacyCharacter` um Methoden zur Attributmanipulation (`ApplyDamage`, `SpendStamina`, etc.) und Stamina-Regeneration.

Aktualisiere UI-Widgets (`HealthBarWidget`, `StaminaBarWidget`) zur Nutzung der neuen AttributeSets. Entferne Legacy-Code für Health- und Stamina-Komponenten.

Füge neue Assets (Niagara-Systeme, Materialien, Texturen) hinzu und passe Projektkonfiguration an (z. B. `GameplayAbilities`-Modul, `r.Substrate`).
This commit is contained in:
2026-09-04 22:54:46 +02:00
parent 495424a2b2
commit 64f4a59b0b
79 changed files with 877 additions and 431 deletions
@@ -0,0 +1,18 @@
#include "GE_HealthHealing.h"
#include "HealthAttributeSet.h"
#include "KingshearthLegacyGameplayTags.h"
UGE_HealthHealing::UGE_HealthHealing()
{
DurationPolicy = EGameplayEffectDurationType::Instant;
FSetByCallerFloat SetByCaller;
SetByCaller.DataTag = TAG_Data_Health_Healing.GetTag();
FGameplayModifierInfo Modifier;
Modifier.Attribute = UHealthAttributeSet::GetHealingAttribute();
Modifier.ModifierOp = EGameplayModOp::Additive;
Modifier.ModifierMagnitude = FGameplayEffectModifierMagnitude(SetByCaller);
Modifiers.Add(Modifier);
}