- 개요
특정 타입의 공격을 당한 적에게 적용할 디버프 효과를 의미하는 Tag를 추가한다
또, 이전에 데미지의 Tag와 데미지 수치를 연결한 TMap을 사용하는 방식 대신에
데미지의 Tag와 데미지 수치를 분리하여 사용하도록 수정하여 데미지의 수치에 대한 계산을 유동적으로 설정한다
- C++ 사이드
1) AuraGameplayTags 클래스

디버프와 관련된 태그를 위와 같이 추가한다
각각 다음과 같다
- Debuff_Burn : 화염 속성 디버프
- Debuff_Stun : 빛 속성 디버프
- Debuff_Arcane : 비전 속성 디버프
- Debuff_Physical : 물리 스킬 디버프
- Debuff_Chance : 디버프 확률
- Debuff_Damage : 디버프 데미지
- Debuff_Duration : 디버프 범위
- Debuff_Frequency : 디버프 적용 주기

DamageTypesToDebuffs 멤버변수를 추가하여 속성 별 데미지와 디버프를 연동한다

추가한 Tag들을 위와 같이 생성한다

속성의 데미지 Tag와 생성한 디버프들의 Tag를 연결한다
2) AuraDamageGameplayAbility 클래스

데미지의 Tag와 데미지 수치를 연결한 TMap을 제거하고 위와 같이 분리하여 사용한다
또, 디버프를 설정하는 실수형 변수들을 위와 같이 추가한다

CauseDamage 함수를 위와 같이 수정하여 TMap을 순회하는 로직을 제거하고,
어빌리티의 레벨에 맞는 Damage와 DamageType으로 GE에서 조작할 어트리뷰트의 값을 설정한다

또, GetDamageByDamageType 함수는 제거한다
3) AuraProjectileSpell 클래스

SpawnProjectile 함수에서 생성하는 투사체의 GE에서 조작할 어트리뷰트의 값을
2)의 예시처럼 어빌리티의 레벨에 맞는 Damage와 DamageType으로 설정한다
4) AuraFireBolt 클래스


바뀐 방식에 맞춰 수정하여 위와 같이 어빌리티의 레벨을 가져올 수 있도록 설정한다
따라서 이후의 Rich Text를 설정하는 로직도 수정한다
- 블루프린트 사이드
1) 데미지를 주는 GA 블루프린트



'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 전투 시스템 - 3) GE와 AttributeSet에 DamageEffectParams 구조체 적용 (0) | 2025.11.14 |
|---|---|
| 전투 시스템 - 2) DamageEffectParams 구조체의 추가 & 사용 (0) | 2025.11.14 |
| 스킬창 UI - 최종) 구조 변경 + 스킬 어빌리티 장착 (0) | 2025.11.08 |
| 스킬창 UI - 8) 스킬 타입 부여 (0) | 2025.11.08 |
| 스킬창 UI - 7) 스킬창 UI를 이용한 스킬의 정보 표현 (0) | 2025.11.07 |