|
Paradies Project
|
게임 내 모든 유닛(플레이어, 몬스터, 소환수)이 공유하는 기본 스탯 클래스 More...
#include <BaseAttributeSet.h>


Public Member Functions | |
| virtual void | PreAttributeChange (const FGameplayAttribute &Attribute, float &NewValue) override |
| 속성 값이 변경되기 직전에 호출되는 함수 (값 보정용) | |
| virtual void | PostGameplayEffectExecute (const FGameplayEffectModCallbackData &Data) override |
| GE(GameplayEffect)가 실행된 직후 호출되는 함수 (후처리용). | |
| virtual void | PostAttributeChange (const FGameplayAttribute &Attribute, float OldValue, float NewValue) override |
| 스탯(Attribute)의 최종 값이 변경된 직후에 자동으로 호출되는 함수 | |
Public Attributes | |
| FGameplayAttributeData | Health |
| 현재 체력 (Current Health) | |
| FGameplayAttributeData | MaxHealth |
| 최대 체력 (Max Health) | |
| FGameplayAttributeData | Mana |
| 현재 마나 (Current Mana) | |
| FGameplayAttributeData | MaxMana |
| 최대 마나 (Max Mana) | |
| FGameplayAttributeData | AttackPower |
| 공격력 (Attack Power) | |
| FGameplayAttributeData | Defense |
| 방어력 (Defense) | |
| FGameplayAttributeData | CritRate |
| 크리티컬 확률 (CritRate) 공격 적중 시 치명타가 발생할 확률입니다. | |
| FGameplayAttributeData | CritDamage |
| 치명타 피해량 배율 (Critical Damage) | |
| FGameplayAttributeData | MoveSpeed |
| 이동 속도 (Movement Speed) | |
| FGameplayAttributeData | AttackRange |
| 사거리 (Attack Range) - [추가됨] | |
| FGameplayAttributeData | AttackSpeed |
| 공격 속도 (Attack Speed) | |
| FGameplayAttributeData | HealthRegen |
| 체력 재생량 (Mana Regen) | |
| FGameplayAttributeData | ManaRegen |
| 마나 재생량 (Mana Regen) | |
| FGameplayAttributeData | IncomingDamage |
| 들어오는 데미지 (Incoming Damage) | |
게임 내 모든 유닛(플레이어, 몬스터, 소환수)이 공유하는 기본 스탯 클래스
GAS(GameplayAbilitySystem)의 핵심 데이터 컨테이너입니다.
|
overridevirtual |
GE(GameplayEffect)가 실행된 직후 호출되는 함수 (후처리용).
'IncomingDamage' 같은 메타 어트리뷰트로 들어온 값을 실제 체력(Health) 차감 로직으로 변환합니다. 데미지 폰트 출력, 사망 처리 트리거 등이 이곳에서 이루어집니다.
| Data | 발동된 GE에 대한 상세 정보 (가해자, 효과 스펙 등) |
|
overridevirtual |
속성 값이 변경되기 직전에 호출되는 함수 (값 보정용)
주로 현재 체력(Health)이나 마나(Mana)가 0보다 작아지거나 Max값을 넘지 않도록 Clamp(범위 제한) 처리를 수행합니다.
| Attribute | 변경되려는 속성 |
| NewValue | 변경될 새로운 값 (참조로 전달되어 수정 가능) |
| FGameplayAttributeData UBaseAttributeSet::AttackPower |
공격력 (Attack Power)
데미지 계산 공식의 기본 계수가 됩니다.
| FGameplayAttributeData UBaseAttributeSet::AttackRange |
사거리 (Attack Range) - [추가됨]
공격 가능한 최대 거리입니다.
| FGameplayAttributeData UBaseAttributeSet::AttackSpeed |
공격 속도 (Attack Speed)
애니메이션 재생 속도(PlayRate) 배율입니다.
| FGameplayAttributeData UBaseAttributeSet::CritDamage |
치명타 피해량 배율 (Critical Damage)
치명타 발생 시 기본 데미지에 곱해지는 배율입니다.
| FGameplayAttributeData UBaseAttributeSet::CritRate |
크리티컬 확률 (CritRate) 공격 적중 시 치명타가 발생할 확률입니다.
| FGameplayAttributeData UBaseAttributeSet::Defense |
방어력 (Defense)
들어오는 데미지를 차감하는 수치입니다.
| FGameplayAttributeData UBaseAttributeSet::Health |
현재 체력 (Current Health)
0 ~ MaxHealth 사이의 값을 유지합니다. 0이 되면 사망 처리됩니다.
| FGameplayAttributeData UBaseAttributeSet::HealthRegen |
체력 재생량 (Mana Regen)
1초 마다 회복되는 체력의 양입니다.
| FGameplayAttributeData UBaseAttributeSet::IncomingDamage |
들어오는 데미지 (Incoming Damage)
실제 저장되는 스탯이 아닌, 데미지 계산을 위해 잠시 값을 담아두는 '메타 어트리뷰트'입니다. GameplayEffect가 이 값을 변경하면, PostGameplayEffectExecute에서 값을 읽어 Health를 깎고 즉시 0으로 초기화됩니다.
| FGameplayAttributeData UBaseAttributeSet::Mana |
현재 마나 (Current Mana)
스킬 사용 시 소모되는 자원입니다.
| FGameplayAttributeData UBaseAttributeSet::ManaRegen |
마나 재생량 (Mana Regen)
1초 마다 회복되는 마나의 양입니다.
| FGameplayAttributeData UBaseAttributeSet::MaxHealth |
최대 체력 (Max Health)
체력의 상한선입니다. 버프/장비로 증가할 수 있습니다.
| FGameplayAttributeData UBaseAttributeSet::MaxMana |
최대 마나 (Max Mana)
마나의 상한선입니다.
| FGameplayAttributeData UBaseAttributeSet::MoveSpeed |
이동 속도 (Movement Speed)
캐릭터의 걷기/달리기 속도에 영향을 줍니다.