01 · 데이터 항목
효과 한 건을 작성할 때 사용하는 대표 항목.
대표 항목과 입력 목적
| 항목 | 컬럼명 | 형식 | 용도 |
|---|---|---|---|
| 발동 단계 | trigger_timing | enum | 전투 시작, 턴 시작, 행동 전후, 피격, 사망 등 효과를 확인할 시점. |
| 실행 기능 | effect_type | enum | 공격, 회복, 상태 부여, 수치 보정, 게이지 변경 등 적용할 결과. |
| 대상 규칙 | target_type | enum | 자신, 아군, 적, 직전 적중 대상 등 후보를 고르는 기준. |
| 시전자 조건 | caster_condition | enum | 효과를 가진 유닛의 체력, 상태, 사용 스킬, 공격 결과 조건. |
| 대상 조건 | target_condition | enum | 선택 대상의 체력, 상태, 속성, 역할 조건. |
| 재사용 제한 | cooldown_check | boolean | 스킬 재사용 대기시간과 함께 검사할지 개별 효과마다 지정. |
| 발동 판정 | trigger_rate | float | 확정, 고정 확률, 명중·회피 수치를 반영한 확률을 구분. |
| 기능 인수 | effect_params | number[] | 지속 턴, 적용 횟수, 계수처럼 실행 기능마다 필요한 값. |
02 · 입력 예시
서로 다른 기능을 같은 항목으로 기록.
서로 다른 효과를 같은 형식으로 기록
| 발동 단계 | 실행 기능 | 대상 | 조건 | 재사용 제한 | 기능 인수 |
|---|---|---|---|---|---|
| 턴 시작 처리 후 | 체력 회복 | 체력이 가장 낮은 아군 | 대상 체력 N% 이하 | 적용 | 대상 최대 체력 기준 회복 계수 |
| 공격 계산 중 | 피해량 보정 | 직전 피격 대상 | 특정 상태 보유 | 예외 | 상태 중첩당 보정 계수 |
| 피격 처리 후 | 지속 회복 부여 | 자신 | 피격 후 체력 N% 이하 | 적용 | 지속 턴과 회복 계수 |
03 · 호출 순서
기본 전투 처리가 끝난 뒤 해당 시점의 효과를 확인.
전투 상태와 효과 호출의 관계
- 기본 처리턴 시작 피해, 행동 결과 등 먼저 처리할 전투 상태를 반영.
- 발동 주체공격자, 피격자, 턴 소유자 중 해당 시점의 주체를 판정.
- 조건 확인시전자 조건과 대상 조건을 확인.
- 대상 선택단일 대상과 대상 목록을 시점에 맞춰 구분.
- 발동 판정설정된 확률 방식을 적용.
- 기능 실행계산 전용 또는 연출 포함 처리로 결과 반영.
처리 기준: 각 전투 상태의 기본 처리가 끝난 뒤 효과를 호출한다.
04 · 조합 제한
발동 단계와 기능을 임의로 결합할 수 없는 사례.
대표 제한과 오입력 위험
| 구분 | 작성 규칙 | 확인할 오류 |
|---|---|---|
| 계산 전용 효과 | 별도 연출 없이 계산에만 사용하며 자신을 대상으로 설정. | 연출 중복, 적용 대상 오해. |
| 직전 적용 대상 | 행동·공격 단계는 단일 대상, 그 밖의 단계는 대상 목록을 구분. | 다중 공격에서 잘못된 대상 참조. |
| 협동 공격 | 지정된 발동 단계에서만 실행. | 재귀 호출, 행동 순서 충돌. |
| 후속 스킬 | 행동 종료 뒤 별도 단계에서 실행. | 턴 소유권과 전투 종료 판정 충돌. |
| 지속 피해 면역 | 상시 적용 단계에서 사용. | 일시 효과로 잘못 등록. |
| 효과 복사 | 시전자 정보가 필요한 상태는 복사·이동 대상에서 제외. | 보호·도발 관계의 주체 손실. |
05 · 확인할 항목
입력값과 실행 결과를 함께 확인하는 항목.
테스트 케이스(QA)
- 실행 기능마다 기능 인수의 의미와 자료형이 달라 입력 검사가 필요하다.
- 문자열 안에 추가 값을 넣는 형식은 빈 값, 구분자, 잘못된 열거값 처리가 필요하다.
- 명칭 변경 기록과 본문 명칭이 실제 열거값과 일치하는지 대조한다.
- 협동 공격, 추가 행동, 후속 스킬에는 중복 발동과 재귀 호출 제한이 필요하다.