// Copyright (c) 2026 Reignance Studios. MIT License, see LICENSE. #pragma once #include "CoreMinimal.h" #include "GameplayEffect.h" #include "GKLEffects.generated.h" /* * Gameplay effects defined in C++ so the kit works without any assets. * Magnitudes come from SetByCaller tags (GKLTags::Data_*), so one class serves * every ability. Subclass them in Blueprint if you prefer to tune in the editor. */ /** Instant. Adds Data.Cost.Stamina and Data.Cost.Mana (negative) to Stamina and Mana. */ UCLASS() class GASKITLITE_API UGKLCostEffect : public UGameplayEffect { GENERATED_BODY() public: UGKLCostEffect(); }; /** Lasts Data.Cooldown seconds. Tags come from the ability (DynamicGrantedTags), not from this class. */ UCLASS() class GASKITLITE_API UGKLCooldownEffect : public UGameplayEffect { GENERATED_BODY() public: UGKLCooldownEffect(); }; /** Instant. Adds Data.Damage to the Damage meta attribute; the AttributeSet turns it into Health loss. */ UCLASS() class GASKITLITE_API UGKLDamageEffect : public UGameplayEffect { GENERATED_BODY() public: UGKLDamageEffect(); }; /** Instant. Adds Data.Healing to Health. */ UCLASS() class GASKITLITE_API UGKLHealEffect : public UGameplayEffect { GENERATED_BODY() public: UGKLHealEffect(); }; /** Infinite, every second: +10 Stamina, +2 Mana. Applied by the Regen passive on the server. */ UCLASS() class GASKITLITE_API UGKLRegenEffect : public UGameplayEffect { GENERATED_BODY() public: UGKLRegenEffect(); };