feat(arena): 아레나 서비스 및 모델 개선

- ArenaService 로직 확장
- ArenaMatch 모델 필드 추가
This commit is contained in:
JiWoong Sul
2026-01-06 18:29:01 +09:00
parent cfa60f11d1
commit 2efd50a09d
2 changed files with 337 additions and 30 deletions

View File

@@ -62,12 +62,20 @@ class ArenaCombatTurn {
required this.opponentHp,
required this.challengerHpMax,
required this.opponentHpMax,
this.challengerMp,
this.opponentMp,
this.challengerMpMax,
this.opponentMpMax,
this.isChallengerCritical = false,
this.isOpponentCritical = false,
this.isChallengerEvaded = false,
this.isOpponentEvaded = false,
this.isChallengerBlocked = false,
this.isOpponentBlocked = false,
this.challengerSkillUsed,
this.opponentSkillUsed,
this.challengerHealAmount,
this.opponentHealAmount,
}) : timestamp = DateTime.now().microsecondsSinceEpoch;
/// 턴 식별용 타임스탬프
@@ -91,6 +99,18 @@ class ArenaCombatTurn {
/// 상대 최대 HP
final int opponentHpMax;
/// 도전자 현재 MP
final int? challengerMp;
/// 상대 현재 MP
final int? opponentMp;
/// 도전자 최대 MP
final int? challengerMpMax;
/// 상대 최대 MP
final int? opponentMpMax;
/// 도전자 크리티컬 여부
final bool isChallengerCritical;
@@ -108,4 +128,16 @@ class ArenaCombatTurn {
/// 상대 블록 여부
final bool isOpponentBlocked;
/// 도전자 사용 스킬명 (null이면 기본 공격)
final String? challengerSkillUsed;
/// 상대 사용 스킬명 (null이면 기본 공격)
final String? opponentSkillUsed;
/// 도전자 회복량
final int? challengerHealAmount;
/// 상대 회복량
final int? opponentHealAmount;
}