game/prompt/65_dynamic_intent_ui_update.md

27 lines
2.3 KiB
Markdown

# 65. 동적 인텐트 UI 갱신 및 로직 보강
## 목적
적에게 '무장 해제(Disarmed)'와 같은 상태 이상이 적용되거나 해제될 때, UI에 표시되는 적의 행동 예고(인텐트) 값이 실시간으로 변경되도록 시스템을 개선합니다. 이를 통해 플레이어는 더 정확한 정보를 바탕으로 전략적인 결정을 내릴 수 있습니다.
## 주요 변경 사항
### 1. 동적 인텐트 재계산 로직 추가 (`BattleProvider`)
- `updateEnemyIntent()` 메서드를 추가하여, 현재 적의 능력치(`totalAtk`, `totalDefense`)를 기준으로 인텐트의 공격 값이나 방어 값을 다시 계산하는 기능을 구현했습니다.
- 이 메서드는 기존 인텐트의 `risk``type`은 유지하면서, 변경된 스탯에 따른 결과 값만 갱신하여 UI에 즉시 반영합니다.
### 2. 인텐트 UI 갱신 트리거 추가
- **플레이어 공격 시:** 플레이어의 공격으로 적에게 상태 이상이 적용되는 시점(`_processAttackImpact` 내부)에 `updateEnemyIntent()`를 호출하여, UI의 인텐트 값이 즉시 변경되도록 했습니다. (예: '무장 해제' 적용 시 데미지 수치 감소)
- **턴 시작 시:** 플레이어 턴이 시작될 때(`_startPlayerTurn` 내부)에도 `updateEnemyIntent()`를 호출하여, 만료된 상태 이상 효과가 인텐트 값에 반영되도록 했습니다.
### 3. 상태 이상 처리 로직 보강
- 적의 턴이 끝나는 시점(`_endEnemyTurn` 내부)에 `enemy.updateStatusEffects()`를 호출하도록 추가했습니다.
- 이를 통해 적의 상태 이상 지속시간이 매 턴 정확하게 감소하며, 다음 턴의 인텐트가 가장 최신 상태를 기준으로 생성되도록 보장합니다.
### 4. `CombatCalculator` 리팩토링
- `getEfficiency` 헬퍼 메서드를 추가하여, 행동 타입과 위험도에 따른 효율 계수를 가져오는 로직을 중앙화하고 코드 중복을 제거했습니다.
## 기대 효과
- 플레이어는 적의 상태 변화(버프/디버프)가 적의 다음 행동에 미치는 영향을 UI를 통해 직관적으로 확인할 수 있습니다.
- 전투 정보의 투명성이 향상되어 게임의 전략적 깊이가 더해집니다.
- 상태 이상 시스템과 전투 로직의 일관성 및 안정성이 강화됩니다.