Files
asciinevrdie/lib/src/shared/animation/canvas/combat_text_frames.dart
JiWoong Sul 8f351df0b6 refactor(shared): animation, l10n, theme 모듈을 core에서 shared로 이동
- core/animation → shared/animation
- core/l10n → shared/l10n
- core/constants/ascii_colors → shared/theme/ascii_colors
- import 경로 업데이트
2026-02-23 15:49:14 +09:00

78 lines
2.7 KiB
Dart

/// 전투 텍스트 이펙트 프레임 데이터
///
/// CanvasBattleComposer에서 분리된 전투 텍스트 프레임 상수.
/// 크리티컬, 회피, 미스, 디버프, DOT, 블록, 패리 텍스트 프레임.
// ============================================================================
// 몬스터 공격 이펙트 (← 방향, Phase 8) - 5줄
// ============================================================================
/// 몬스터 공격 준비 프레임 (5줄)
const monsterPrepareFrames = <List<String>>[
[r' ', r' ', r' < ', r' ', r' '],
[r' ', r' _ ', r' << ', r' - ', r' '],
];
/// 몬스터 공격 프레임 (5줄)
const monsterAttackFrames = <List<String>>[
[r' ', r' __ ', r' <-- ', r' -- ', r' '],
[r' ', r' ___ ', r' <--- ', r' --- ', r' '],
[r' ', r' ____ ', r' <----- ', r' ---- ', r' '],
];
/// 몬스터 히트 프레임 (5줄)
const monsterHitFrames = <List<String>>[
[r' *SLASH!* ', r' **** ', r' <----- ', r' **** ', r' '],
[r'*ATTACK!* ', r' **** ', r' <---- ', r' **** ', r' '],
];
// ============================================================================
// 크리티컬 텍스트 프레임 (2줄, Phase 10)
// ============================================================================
/// 크리티컬 히트 텍스트 프레임 (반짝임 애니메이션)
const critTextFrames = <List<String>>[
[r'*CRITICAL!*', r' ========='],
[r'=CRITICAL!=', r' *********'],
];
// ============================================================================
// 전투 텍스트 이펙트 프레임 (Phase 11)
// ============================================================================
/// 회피 텍스트 프레임 (플레이어 회피 성공)
const evadeTextFrames = <List<String>>[
[r'*EVADE!*', r'========'],
[r'=EVADE!=', r'********'],
];
/// 미스 텍스트 프레임 (플레이어 공격 빗나감)
const missTextFrames = <List<String>>[
[r'*MISS!*', r'======='],
[r'=MISS!=', r'*******'],
];
/// 디버프 텍스트 프레임 (적에게 디버프 적용)
const debuffTextFrames = <List<String>>[
[r'*DEBUFF!*', r'========='],
[r'=DEBUFF!=', r'*********'],
];
/// DOT 텍스트 프레임 (지속 피해)
const dotTextFrames = <List<String>>[
[r'*DOT!*', r'======'],
[r'=DOT!=', r'******'],
];
/// 블록 텍스트 프레임 (방패 방어)
const blockTextFrames = <List<String>>[
[r'*BLOCK!*', r'========'],
[r'=BLOCK!=', r'********'],
];
/// 패리 텍스트 프레임 (무기 쳐내기)
const parryTextFrames = <List<String>>[
[r'*PARRY!*', r'========'],
[r'=PARRY!=', r'********'],
];