현재 체력 퍼센티지를 표시해주는 체력바 UI 추가
체력이 떨어지면 죽는 기능의 구현
발동 기간동안 들어오는 대미지를 모두 무효화하는 무적 버프의 구현
공격 명중 시 공격 반경이 넓어지는, 최대 4단계까지 중첩되는 버프의 구현
Intant 타입이 아닌 게임플레이 이펙트
Duration: 지정한 시간 동안 동작하는 게임플레이 이펙트
Infinite: 명시적으로 종료하지 않으면 계속 동작하는 게임플레이 이펙트
Intant 타입은 한 프레임에 종료되기 때문에 상태를 가질 수 없음
기간형 게임플레이 이펙트는 유효 기간동안 태그와 같은 상태를 가질 수 있음
기간형 게임플레이 이펙트는 중첩(Stack)이 가능하도록 설정이 가능함
모디파이어를 설정하지 않아도 다양하게 활용 가능함
인스턴트는 Base 값을 변경하지만, 기간형은 (상태를 가질 수 있기에) Current 값을 변경하고 원래대로 돌려놓음
기간형 게임 이펙트만 잘 활용하면,
다양한 종류의 스킬, 버프 효과를 코딩 없이 구현하는 것이 가능
UE5.5 버전에선 GE에 "Tags" 카테고리가 존재하지 않습니다.
GrantedTags를 설정하기 위해선 컴포넌트에서 "타깃 액터에 태그 부여"를 지정해주면 됩니다.
https://github.com/dnjfs/ArenaBattle_GAS/commit/1a669bd8eb76f8d4bbdefad0e7231aa56a4aac3c
HP바 구현
유저 위젯에서 오너의 ASC를 갖도록 설정
어트리뷰트 값이 변경되었을 때 발동되는 델리게이트에 함수 바인딩
체력이 변경될 때 HP바가 업데이트 되도록 처리
캐릭터와 NPC에 HP바 생성
사망 처리
어트리뷰트에서 HP가 0이 되면 델리게이트 발동
IsDead 태그도 직접 지정
무적 상태 구현
어트리뷰트에서 데미지 GE 적용 전에 Invinsible 태그 소유 검사
게임 시작 시 NPC 캐릭터는 3초 후 무적 GA 발동하여 무적 GE 적용
무적 상태일 땐 들어오는 데미지가 0이 되도록 변경
공격 범위 증가 버프 구현
공격 적중 시 AttackRadius가 증가하는 버프 GE 발동
2초간 유지되도록 Duration 세팅