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:
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user