적 액터 행동 FSM
적의 fsm 값은 같은 외형 액터가 서로 다른 이동·공격 패턴을 사용하도록 구분하는 행동 타입이다. 현재 액터와 타입 목록은 몹 액터 데이터와 행동 타입을 원본으로 사용하고, 이 문서는 각 타입이 실행하는 상태 전이를 정의한다.
fsm 번호의 의미는 전 액터 공통이 아니다. 예를 들어 fsm 2는 황소에게는 돌진, 티키와 예티에게는 투척, 바이킹 전사에게는 광폭 공격이다. 반드시 AssetId + fsm 조합으로 행동을 선택한다.
이 문서는 생성·탐지·피격·방어·사망처럼 여러 패턴에 공통인 상태만 관리한다. 번호별 이동·공격 순서, 거리·체력 전환과 적용 가능 캐릭터의 원본은 적 전투 패턴이다. 두 문서의 행동 설명이 충돌하면 해당 번호의 패턴 문서를 따른다.
공통 생명 주기
섹션 제목: “공통 생명 주기”생성 → 00_idle → 탐지 → 이동 → 사거리 진입 → 공격 ↘ HP 0 → 50_die → 퇴장| 단계 | 규칙 |
|---|---|
| 생성 | 스테이지 데이터의 regenPosition, regenTime을 읽는다. regenTime은 초 단위이며 ±1초 랜덤 변동한다(4초면 실제 3~5초). regenPosition은 다음 몹이 생성될 지점이며, 지점이 너무 멀면 기존 생성 지점을 기준으로 리젠한다(b_stageb 메모). 생성 후 5초 동안 반투명으로 표시하며, 상태는 즉시 00_idle로 전이한다. |
| 탐지 | 근접·이동형은 regenPosition의 90% 지점을 기본 인지 기준으로 사용한다. 투척·사격·마법형은 50% 지점을 사용한다. |
| 이동 | 선택된 FSM이 01_walk 또는 05_run을 사용한다. 기본 선택 규칙에서는 둘 다 있으면 01_walk, 01_walk이 없을 때만 05_run을 사용한다. |
| 공격 | 공격 사거리에 들어오면 배정된 적 전투 패턴의 공격 모션과 전환 순서를 실행한다. 실제 피해 판정과 공격 전·후 시간은 공격 행동과 스킬 판정을 따른다. |
| 사망 | HP가 0이면 현재 행동을 중단하고 50_die로 전이한다. 사망 후 5초 동안 반투명으로 사라진 뒤 필드에서 제거한다. |
regenPosition은 생성 지점(위치)으로 확정한다. 투척·사격·마법형이 탐지 후 제자리에서 공격하는지, 사거리까지 추가 이동하는지는 공통 FSM만으로 결정하지 않고 배정된 번호 패턴을 따른다.
공격·피격 연출
섹션 제목: “공격·피격 연출”- 공격 지연 구간에는
DelayBeforeAtk,DelayAfterAtk에 맞춰 공격 연출을 유지한다. - 공격 중 피격되어도 피격 연출을 표시할 수 있다. 단, 피격 연출이 시작되기 전에 HP가 0이 되면 피격 연출을 생략하고 사망으로 전이한다.
41_hurt가 없는 액터는 피격 모션 없이 이펙트만 표시한다.- 돌진형은 이동 중 첫 충돌에서만 피해와 충돌 이펙트를 발생시킨다.
- 스턴형 공격이 명중하면 대상은
42_confused로 전이하고 2초 동안 행동하지 못한다. 현재 확정된 전투 스턴 수치와의 연결은 속성 피해와 전투 상태 효과를 따른다.
적의 방어·회피 반응
섹션 제목: “적의 방어·회피 반응”FSM 자료에는 다음과 같은 적 전용 반응이 정의되어 있다.
| 플레이어 공격 | 적 반응 |
|---|---|
20_stab |
20% 확률로 09_jump를 실행하고 공격을 회피한다. |
20_stab을 제외한 스킬 공격 |
방어 모션이 있는 적은 20% 확률로 40_defend 또는 43_defend_sheild를 실행한다. |
| 회피 성공 | 피해를 적용하지 않고 회피 메시지를 표시한다. |
| 방어·회피 실패 | 41_hurt가 있으면 피격 모션, 없으면 피격 이펙트만 표시한다. |
이 20%는 적 FSM에 기록된 고정 반응값이다. 몹의 회피·방어는 이 FSM 고정값만 사용하고, PC의 회피·막기는 능력치(BlockRate·MissRate) 판정만 사용한다 — 판정 주체가 달라 합산·대체 관계가 없다(확정, 몹 데이터에 해당 컬럼 없음). UI 라벨은 몹 회피도 Miss로 통일한다.
번호별 패턴
섹션 제목: “번호별 패턴”보류 사항
섹션 제목: “보류 사항”- 옛 FSM 자료에는
5032의fsm 2가 있으나 현재10_Actor_list.xlsx에는5032가fsm 0·1,5033이fsm 0으로 분리되어 있다. 현재 테이블을 우선하며 기계 보스의 세 번째 타입은 사용하지 않는다. 31_casting_strat,43_defend_sheild,delayAfterAttak처럼 원본에 오탈자가 있다. 현재 애니메이션 테이블의31_casting_start,43_defend_sheild, 전투 데이터의DelayAfterAtk를 표준 이름으로 사용한다.