Compare commits

..

3 Commits

Author SHA1 Message Date
JiWoong Sul
cbf96c2c0e style(ui): 전체 화면 폰트 크기 증가
- arena: 전투/결과/랭크 화면 폰트 조정
- front: 메인 화면 폰트 조정
- game: 게임플레이 위젯 전반 폰트 조정 (스킬, 장비, 인벤토리 등)
- hall_of_fame: 명예의 전당 폰트 조정
- new_character: 캐릭터 생성 화면 폰트 조정
- settings: 설정 화면 폰트 조정
- 전반적인 가독성 향상
2026-01-15 19:07:34 +09:00
JiWoong Sul
e882093d37 style(ui): shared 컴포넌트 폰트 크기 증가
- RetroPanel 제목 폰트: 10 → 14
- RetroButton, RetroDialog 폰트 크기 조정
- PanelHeader, retro_theme_constants 스타일 개선
- 가독성 향상을 위한 전반적인 폰트 크기 상향
2026-01-15 19:07:23 +09:00
JiWoong Sul
2435bcffb7 feat(balance): 스킬 MP 코스트 밸런스 조정
- 전체 스킬 MP 코스트 약 2.5배 증가
- Tier별 조정: T1(25-40), T2(45-90), T3(65-90), T4(75-150), T5(75-200)
- 공격/힐/버프/디버프 스킬 61개 적용
2026-01-15 19:07:13 +09:00
49 changed files with 430 additions and 421 deletions

View File

@@ -17,7 +17,7 @@ class SkillData {
name: 'Stack Trace', name: 'Stack Trace',
type: SkillType.attack, type: SkillType.attack,
tier: 1, tier: 1,
mpCost: 10, mpCost: 25,
cooldownMs: 3000, cooldownMs: 3000,
power: 15, power: 15,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -29,7 +29,7 @@ class SkillData {
name: 'Core Dump', name: 'Core Dump',
type: SkillType.attack, type: SkillType.attack,
tier: 3, tier: 3,
mpCost: 35, mpCost: 90,
cooldownMs: 12000, cooldownMs: 12000,
power: 30, power: 30,
damageMultiplier: 3.0, damageMultiplier: 3.0,
@@ -41,7 +41,7 @@ class SkillData {
name: 'Memory Dump', name: 'Memory Dump',
type: SkillType.attack, type: SkillType.attack,
tier: 3, tier: 3,
mpCost: 25, mpCost: 65,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
element: SkillElement.memory, element: SkillElement.memory,
@@ -57,7 +57,7 @@ class SkillData {
name: 'Kernel Panic', name: 'Kernel Panic',
type: SkillType.attack, type: SkillType.attack,
tier: 5, tier: 5,
mpCost: 80, mpCost: 200,
cooldownMs: 45000, cooldownMs: 45000,
power: 60, power: 60,
damageMultiplier: 4.0, damageMultiplier: 4.0,
@@ -70,7 +70,7 @@ class SkillData {
name: 'Blue Screen', name: 'Blue Screen',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 60, mpCost: 150,
cooldownMs: 30000, cooldownMs: 30000,
power: 50, power: 50,
damageMultiplier: 3.5, damageMultiplier: 3.5,
@@ -82,7 +82,7 @@ class SkillData {
name: 'Inject Code', name: 'Inject Code',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 40, mpCost: 100,
cooldownMs: 18000, cooldownMs: 18000,
power: 35, power: 35,
damageMultiplier: 2.5, damageMultiplier: 2.5,
@@ -95,7 +95,7 @@ class SkillData {
name: 'Spawn Shell', name: 'Spawn Shell',
type: SkillType.attack, type: SkillType.attack,
tier: 3, tier: 3,
mpCost: 30, mpCost: 75,
cooldownMs: 10000, cooldownMs: 10000,
power: 12, power: 12,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -108,7 +108,7 @@ class SkillData {
name: 'Thread Pool', name: 'Thread Pool',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 45, mpCost: 115,
cooldownMs: 15000, cooldownMs: 15000,
power: 10, power: 10,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -121,7 +121,7 @@ class SkillData {
name: 'Exfiltrate Data', name: 'Exfiltrate Data',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 35, mpCost: 90,
cooldownMs: 12000, cooldownMs: 12000,
power: 25, power: 25,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -134,7 +134,7 @@ class SkillData {
name: 'Fuzzing', name: 'Fuzzing',
type: SkillType.attack, type: SkillType.attack,
tier: 2, tier: 2,
mpCost: 20, mpCost: 50,
cooldownMs: 8000, cooldownMs: 8000,
power: 20, power: 20,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -147,7 +147,7 @@ class SkillData {
name: 'Chaos Monkey', name: 'Chaos Monkey',
type: SkillType.attack, type: SkillType.attack,
tier: 5, tier: 5,
mpCost: 50, mpCost: 125,
cooldownMs: 25000, cooldownMs: 25000,
power: 40, power: 40,
damageMultiplier: 3.2, damageMultiplier: 3.2,
@@ -160,7 +160,7 @@ class SkillData {
name: 'Saga Pattern', name: 'Saga Pattern',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 55, mpCost: 140,
cooldownMs: 20000, cooldownMs: 20000,
power: 18, power: 18,
damageMultiplier: 2.2, damageMultiplier: 2.2,
@@ -173,7 +173,7 @@ class SkillData {
name: 'Event Store', name: 'Event Store',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 40, mpCost: 100,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
element: SkillElement.logic, element: SkillElement.logic,
@@ -189,7 +189,7 @@ class SkillData {
name: 'Auto Scale', name: 'Auto Scale',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 45, mpCost: 115,
cooldownMs: 20000, cooldownMs: 20000,
power: 30, power: 30,
damageMultiplier: 2.5, damageMultiplier: 2.5,
@@ -201,7 +201,7 @@ class SkillData {
name: 'Disassemble', name: 'Disassemble',
type: SkillType.attack, type: SkillType.attack,
tier: 3, tier: 3,
mpCost: 30, mpCost: 75,
cooldownMs: 12000, cooldownMs: 12000,
power: 22, power: 22,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -214,7 +214,7 @@ class SkillData {
name: 'Decompile', name: 'Decompile',
type: SkillType.attack, type: SkillType.attack,
tier: 2, tier: 2,
mpCost: 25, mpCost: 65,
cooldownMs: 10000, cooldownMs: 10000,
power: 20, power: 20,
damageMultiplier: 2.2, damageMultiplier: 2.2,
@@ -226,7 +226,7 @@ class SkillData {
name: 'Canary Release', name: 'Canary Release',
type: SkillType.attack, type: SkillType.attack,
tier: 1, tier: 1,
mpCost: 15, mpCost: 40,
cooldownMs: 6000, cooldownMs: 6000,
power: 12, power: 12,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -238,7 +238,7 @@ class SkillData {
name: 'A/B Test', name: 'A/B Test',
type: SkillType.attack, type: SkillType.attack,
tier: 2, tier: 2,
mpCost: 35, mpCost: 90,
cooldownMs: 12000, cooldownMs: 12000,
power: 15, power: 15,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -251,7 +251,7 @@ class SkillData {
name: 'Pivot Network', name: 'Pivot Network',
type: SkillType.attack, type: SkillType.attack,
tier: 3, tier: 3,
mpCost: 30, mpCost: 75,
cooldownMs: 10000, cooldownMs: 10000,
power: 25, power: 25,
damageMultiplier: 2.2, damageMultiplier: 2.2,
@@ -264,7 +264,7 @@ class SkillData {
name: 'Async Await', name: 'Async Await',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 35, mpCost: 90,
cooldownMs: 14000, cooldownMs: 14000,
power: 35, power: 35,
damageMultiplier: 3.0, damageMultiplier: 3.0,
@@ -276,7 +276,7 @@ class SkillData {
name: 'Event Source', name: 'Event Source',
type: SkillType.attack, type: SkillType.attack,
tier: 3, tier: 3,
mpCost: 30, mpCost: 75,
cooldownMs: 12000, cooldownMs: 12000,
power: 0, power: 0,
element: SkillElement.memory, element: SkillElement.memory,
@@ -292,7 +292,7 @@ class SkillData {
name: 'CQRS Split', name: 'CQRS Split',
type: SkillType.attack, type: SkillType.attack,
tier: 4, tier: 4,
mpCost: 40, mpCost: 100,
cooldownMs: 15000, cooldownMs: 15000,
power: 20, power: 20,
damageMultiplier: 2.0, damageMultiplier: 2.0,
@@ -309,7 +309,7 @@ class SkillData {
name: 'Garbage Collection', name: 'Garbage Collection',
type: SkillType.heal, type: SkillType.heal,
tier: 3, tier: 3,
mpCost: 25, mpCost: 65,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
healPercent: 0.3, healPercent: 0.3,
@@ -321,7 +321,7 @@ class SkillData {
name: 'Hot Reload', name: 'Hot Reload',
type: SkillType.heal, type: SkillType.heal,
tier: 1, tier: 1,
mpCost: 15, mpCost: 40,
cooldownMs: 8000, cooldownMs: 8000,
power: 0, power: 0,
healAmount: 30, healAmount: 30,
@@ -333,7 +333,7 @@ class SkillData {
name: 'Rollback', name: 'Rollback',
type: SkillType.heal, type: SkillType.heal,
tier: 4, tier: 4,
mpCost: 30, mpCost: 75,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
healPercent: 0.35, healPercent: 0.35,
@@ -345,7 +345,7 @@ class SkillData {
name: 'Hotfix', name: 'Hotfix',
type: SkillType.heal, type: SkillType.heal,
tier: 1, tier: 1,
mpCost: 10, mpCost: 25,
cooldownMs: 6000, cooldownMs: 6000,
power: 0, power: 0,
healAmount: 20, healAmount: 20,
@@ -357,7 +357,7 @@ class SkillData {
name: 'Snapshot Restore', name: 'Snapshot Restore',
type: SkillType.heal, type: SkillType.heal,
tier: 5, tier: 5,
mpCost: 50, mpCost: 125,
cooldownMs: 30000, cooldownMs: 30000,
power: 0, power: 0,
healPercent: 0.5, healPercent: 0.5,
@@ -369,7 +369,7 @@ class SkillData {
name: 'Patch Binary', name: 'Patch Binary',
type: SkillType.heal, type: SkillType.heal,
tier: 4, tier: 4,
mpCost: 35, mpCost: 90,
cooldownMs: 20000, cooldownMs: 20000,
power: 0, power: 0,
healPercent: 0.25, healPercent: 0.25,
@@ -387,7 +387,7 @@ class SkillData {
name: 'Git Commit', name: 'Git Commit',
type: SkillType.heal, type: SkillType.heal,
tier: 2, tier: 2,
mpCost: 20, mpCost: 50,
cooldownMs: 12000, cooldownMs: 12000,
power: 0, power: 0,
healPercent: 0.2, healPercent: 0.2,
@@ -399,7 +399,7 @@ class SkillData {
name: 'Git Push', name: 'Git Push',
type: SkillType.heal, type: SkillType.heal,
tier: 3, tier: 3,
mpCost: 25, mpCost: 65,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
healPercent: 0.25, healPercent: 0.25,
@@ -423,7 +423,7 @@ class SkillData {
name: 'Load Balance', name: 'Load Balance',
type: SkillType.heal, type: SkillType.heal,
tier: 4, tier: 4,
mpCost: 20, mpCost: 50,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
healPercent: 0.2, healPercent: 0.2,
@@ -436,7 +436,7 @@ class SkillData {
name: 'Blue Green Deploy', name: 'Blue Green Deploy',
type: SkillType.heal, type: SkillType.heal,
tier: 4, tier: 4,
mpCost: 30, mpCost: 75,
cooldownMs: 25000, cooldownMs: 25000,
power: 0, power: 0,
healPercent: 0.3, healPercent: 0.3,
@@ -448,7 +448,7 @@ class SkillData {
name: 'Cache Invalidate', name: 'Cache Invalidate',
type: SkillType.heal, type: SkillType.heal,
tier: 2, tier: 2,
mpCost: 25, mpCost: 65,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
healAmount: 15, healAmount: 15,
@@ -464,7 +464,7 @@ class SkillData {
name: 'Debug Mode', name: 'Debug Mode',
type: SkillType.buff, type: SkillType.buff,
tier: 3, tier: 3,
mpCost: 20, mpCost: 50,
cooldownMs: 20000, cooldownMs: 20000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -481,7 +481,7 @@ class SkillData {
name: 'Safe Mode', name: 'Safe Mode',
type: SkillType.buff, type: SkillType.buff,
tier: 3, tier: 3,
mpCost: 25, mpCost: 65,
cooldownMs: 25000, cooldownMs: 25000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -498,7 +498,7 @@ class SkillData {
name: 'Memory Optimization', name: 'Memory Optimization',
type: SkillType.buff, type: SkillType.buff,
tier: 3, tier: 3,
mpCost: 30, mpCost: 75,
cooldownMs: 30000, cooldownMs: 30000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -518,7 +518,7 @@ class SkillData {
name: 'Breakpoint', name: 'Breakpoint',
type: SkillType.buff, type: SkillType.buff,
tier: 2, tier: 2,
mpCost: 15, mpCost: 40,
cooldownMs: 12000, cooldownMs: 12000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -535,7 +535,7 @@ class SkillData {
name: 'Watch Variable', name: 'Watch Variable',
type: SkillType.buff, type: SkillType.buff,
tier: 2, tier: 2,
mpCost: 18, mpCost: 45,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -552,7 +552,7 @@ class SkillData {
name: 'Step Into', name: 'Step Into',
type: SkillType.buff, type: SkillType.buff,
tier: 1, tier: 1,
mpCost: 15, mpCost: 40,
cooldownMs: 12000, cooldownMs: 12000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -569,7 +569,7 @@ class SkillData {
name: 'Profile Run', name: 'Profile Run',
type: SkillType.buff, type: SkillType.buff,
tier: 3, tier: 3,
mpCost: 20, mpCost: 50,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -586,7 +586,7 @@ class SkillData {
name: 'Benchmark', name: 'Benchmark',
type: SkillType.buff, type: SkillType.buff,
tier: 4, tier: 4,
mpCost: 25, mpCost: 65,
cooldownMs: 20000, cooldownMs: 20000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -603,7 +603,7 @@ class SkillData {
name: 'Elevate Privilege', name: 'Elevate Privilege',
type: SkillType.buff, type: SkillType.buff,
tier: 5, tier: 5,
mpCost: 40, mpCost: 100,
cooldownMs: 35000, cooldownMs: 35000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -623,7 +623,7 @@ class SkillData {
name: 'Scale Up', name: 'Scale Up',
type: SkillType.buff, type: SkillType.buff,
tier: 5, tier: 5,
mpCost: 35, mpCost: 90,
cooldownMs: 30000, cooldownMs: 30000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -640,7 +640,7 @@ class SkillData {
name: 'Failover', name: 'Failover',
type: SkillType.buff, type: SkillType.buff,
tier: 5, tier: 5,
mpCost: 30, mpCost: 75,
cooldownMs: 45000, cooldownMs: 45000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -657,7 +657,7 @@ class SkillData {
name: 'Containerize', name: 'Containerize',
type: SkillType.buff, type: SkillType.buff,
tier: 3, tier: 3,
mpCost: 25, mpCost: 65,
cooldownMs: 20000, cooldownMs: 20000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -674,7 +674,7 @@ class SkillData {
name: 'Orchestrate', name: 'Orchestrate',
type: SkillType.buff, type: SkillType.buff,
tier: 4, tier: 4,
mpCost: 45, mpCost: 115,
cooldownMs: 40000, cooldownMs: 40000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -693,7 +693,7 @@ class SkillData {
name: 'Promise Resolve', name: 'Promise Resolve',
type: SkillType.buff, type: SkillType.buff,
tier: 2, tier: 2,
mpCost: 20, mpCost: 50,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -710,7 +710,7 @@ class SkillData {
name: 'Feature Toggle', name: 'Feature Toggle',
type: SkillType.buff, type: SkillType.buff,
tier: 1, tier: 1,
mpCost: 15, mpCost: 40,
cooldownMs: 10000, cooldownMs: 10000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -728,7 +728,7 @@ class SkillData {
name: 'Dark Launch', name: 'Dark Launch',
type: SkillType.buff, type: SkillType.buff,
tier: 4, tier: 4,
mpCost: 35, mpCost: 90,
cooldownMs: 30000, cooldownMs: 30000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -745,7 +745,7 @@ class SkillData {
name: 'Static Analysis', name: 'Static Analysis',
type: SkillType.buff, type: SkillType.buff,
tier: 1, tier: 1,
mpCost: 15, mpCost: 40,
cooldownMs: 12000, cooldownMs: 12000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -762,7 +762,7 @@ class SkillData {
name: 'Dynamic Analysis', name: 'Dynamic Analysis',
type: SkillType.buff, type: SkillType.buff,
tier: 4, tier: 4,
mpCost: 25, mpCost: 65,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -780,7 +780,7 @@ class SkillData {
name: 'Reverse Engineer', name: 'Reverse Engineer',
type: SkillType.buff, type: SkillType.buff,
tier: 4, tier: 4,
mpCost: 30, mpCost: 75,
cooldownMs: 25000, cooldownMs: 25000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -797,7 +797,7 @@ class SkillData {
name: 'Cover Tracks', name: 'Cover Tracks',
type: SkillType.buff, type: SkillType.buff,
tier: 2, tier: 2,
mpCost: 20, mpCost: 50,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -814,7 +814,7 @@ class SkillData {
name: 'Deploy', name: 'Deploy',
type: SkillType.buff, type: SkillType.buff,
tier: 4, tier: 4,
mpCost: 35, mpCost: 90,
cooldownMs: 30000, cooldownMs: 30000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -831,7 +831,7 @@ class SkillData {
name: 'Retry Logic', name: 'Retry Logic',
type: SkillType.buff, type: SkillType.buff,
tier: 2, tier: 2,
mpCost: 20, mpCost: 50,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -848,7 +848,7 @@ class SkillData {
name: 'State Machine', name: 'State Machine',
type: SkillType.buff, type: SkillType.buff,
tier: 2, tier: 2,
mpCost: 30, mpCost: 75,
cooldownMs: 25000, cooldownMs: 25000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -870,7 +870,7 @@ class SkillData {
name: 'Step Over', name: 'Step Over',
type: SkillType.debuff, type: SkillType.debuff,
tier: 1, tier: 1,
mpCost: 20, mpCost: 50,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -887,7 +887,7 @@ class SkillData {
name: 'Cold Boot', name: 'Cold Boot',
type: SkillType.debuff, type: SkillType.debuff,
tier: 4, tier: 4,
mpCost: 30, mpCost: 75,
cooldownMs: 25000, cooldownMs: 25000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -905,7 +905,7 @@ class SkillData {
name: 'Heap Analysis', name: 'Heap Analysis',
type: SkillType.debuff, type: SkillType.debuff,
tier: 2, tier: 2,
mpCost: 25, mpCost: 65,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -922,7 +922,7 @@ class SkillData {
name: 'Unit Test', name: 'Unit Test',
type: SkillType.debuff, type: SkillType.debuff,
tier: 1, tier: 1,
mpCost: 20, mpCost: 50,
cooldownMs: 15000, cooldownMs: 15000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(
@@ -939,7 +939,7 @@ class SkillData {
name: 'Integration Test', name: 'Integration Test',
type: SkillType.debuff, type: SkillType.debuff,
tier: 2, tier: 2,
mpCost: 25, mpCost: 65,
cooldownMs: 18000, cooldownMs: 18000,
power: 0, power: 0,
buff: BuffEffect( buff: BuffEffect(

View File

@@ -172,7 +172,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
backgroundColor: Color(0xFFF2E8DC), backgroundColor: Color(0xFFF2E8DC),
titleTextStyle: TextStyle( titleTextStyle: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFB8860B), color: Color(0xFFB8860B),
), ),
), ),
@@ -182,7 +182,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
foregroundColor: Color(0xFF1F1F28), foregroundColor: Color(0xFF1F1F28),
titleTextStyle: TextStyle( titleTextStyle: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFB8860B), color: Color(0xFFB8860B),
), ),
), ),
@@ -194,7 +194,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textStyle: const TextStyle( textStyle: const TextStyle(
inherit: false, inherit: false,
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
), ),
@@ -206,7 +206,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textStyle: const TextStyle( textStyle: const TextStyle(
inherit: false, inherit: false,
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFB8860B), color: Color(0xFFB8860B),
), ),
), ),
@@ -217,7 +217,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textStyle: const TextStyle( textStyle: const TextStyle(
inherit: false, inherit: false,
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFF4A4458), color: Color(0xFF4A4458),
), ),
), ),
@@ -226,50 +226,50 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textTheme: const TextTheme( textTheme: const TextTheme(
headlineLarge: TextStyle( headlineLarge: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 18, fontSize: 20,
color: Color(0xFFB8860B), color: Color(0xFFB8860B),
), ),
headlineMedium: TextStyle( headlineMedium: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 16,
color: Color(0xFFB8860B), color: Color(0xFFB8860B),
), ),
headlineSmall: TextStyle( headlineSmall: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFB8860B), color: Color(0xFFB8860B),
), ),
titleLarge: TextStyle( titleLarge: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
titleMedium: TextStyle( titleMedium: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
titleSmall: TextStyle( titleSmall: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
bodyLarge: TextStyle(fontSize: 14, color: Color(0xFF1F1F28)), bodyLarge: TextStyle(fontSize: 18, color: Color(0xFF1F1F28)),
bodyMedium: TextStyle(fontSize: 12, color: Color(0xFF1F1F28)), bodyMedium: TextStyle(fontSize: 17, color: Color(0xFF1F1F28)),
bodySmall: TextStyle(fontSize: 10, color: Color(0xFF1F1F28)), bodySmall: TextStyle(fontSize: 15, color: Color(0xFF1F1F28)),
labelLarge: TextStyle( labelLarge: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 11, fontSize: 14,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
labelMedium: TextStyle( labelMedium: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
labelSmall: TextStyle( labelSmall: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
), ),
@@ -278,7 +278,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
backgroundColor: Color(0xFFE8DDD0), backgroundColor: Color(0xFFE8DDD0),
labelStyle: TextStyle( labelStyle: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFF1F1F28), color: Color(0xFF1F1F28),
), ),
side: BorderSide(color: Color(0xFF8B7355)), side: BorderSide(color: Color(0xFF8B7355)),
@@ -306,7 +306,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
backgroundColor: Color(0xFF24283B), backgroundColor: Color(0xFF24283B),
titleTextStyle: TextStyle( titleTextStyle: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFE0AF68), color: Color(0xFFE0AF68),
), ),
), ),
@@ -316,7 +316,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
foregroundColor: Color(0xFFC0CAF5), foregroundColor: Color(0xFFC0CAF5),
titleTextStyle: TextStyle( titleTextStyle: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFE0AF68), color: Color(0xFFE0AF68),
), ),
), ),
@@ -328,7 +328,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textStyle: const TextStyle( textStyle: const TextStyle(
inherit: false, inherit: false,
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
), ),
@@ -340,7 +340,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textStyle: const TextStyle( textStyle: const TextStyle(
inherit: false, inherit: false,
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFE0AF68), color: Color(0xFFE0AF68),
), ),
), ),
@@ -351,7 +351,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textStyle: const TextStyle( textStyle: const TextStyle(
inherit: false, inherit: false,
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
), ),
@@ -360,50 +360,50 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
textTheme: const TextTheme( textTheme: const TextTheme(
headlineLarge: TextStyle( headlineLarge: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 18, fontSize: 20,
color: Color(0xFFE0AF68), color: Color(0xFFE0AF68),
), ),
headlineMedium: TextStyle( headlineMedium: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 16,
color: Color(0xFFE0AF68), color: Color(0xFFE0AF68),
), ),
headlineSmall: TextStyle( headlineSmall: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFE0AF68), color: Color(0xFFE0AF68),
), ),
titleLarge: TextStyle( titleLarge: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
titleMedium: TextStyle( titleMedium: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
titleSmall: TextStyle( titleSmall: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
bodyLarge: TextStyle(fontSize: 14, color: Color(0xFFC0CAF5)), bodyLarge: TextStyle(fontSize: 18, color: Color(0xFFC0CAF5)),
bodyMedium: TextStyle(fontSize: 12, color: Color(0xFFC0CAF5)), bodyMedium: TextStyle(fontSize: 17, color: Color(0xFFC0CAF5)),
bodySmall: TextStyle(fontSize: 10, color: Color(0xFFC0CAF5)), bodySmall: TextStyle(fontSize: 15, color: Color(0xFFC0CAF5)),
labelLarge: TextStyle( labelLarge: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 11, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
labelMedium: TextStyle( labelMedium: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
labelSmall: TextStyle( labelSmall: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
), ),
@@ -412,7 +412,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
backgroundColor: Color(0xFF2A2E3F), backgroundColor: Color(0xFF2A2E3F),
labelStyle: TextStyle( labelStyle: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Color(0xFFC0CAF5), color: Color(0xFFC0CAF5),
), ),
side: BorderSide(color: Color(0xFF545C7E)), side: BorderSide(color: Color(0xFF545C7E)),
@@ -637,7 +637,7 @@ class _SplashScreen extends StatelessWidget {
'ASCII', 'ASCII',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 20, fontSize: 22,
color: RetroColors.gold, color: RetroColors.gold,
shadows: [ shadows: [
Shadow( Shadow(
@@ -652,7 +652,7 @@ class _SplashScreen extends StatelessWidget {
'NEVER DIE', 'NEVER DIE',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 16,
color: RetroColors.cream, color: RetroColors.cream,
shadows: [ shadows: [
Shadow(color: RetroColors.brown, offset: Offset(1, 1)), Shadow(color: RetroColors.brown, offset: Offset(1, 1)),

View File

@@ -439,7 +439,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
appBar: AppBar( appBar: AppBar(
title: Text( title: Text(
_battleTitle, _battleTitle,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 12), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 15),
), ),
centerTitle: true, centerTitle: true,
backgroundColor: RetroColors.panelBgOf(context), backgroundColor: RetroColors.panelBgOf(context),
@@ -549,7 +549,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
'VS', 'VS',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.goldOf(context).withValues(alpha: 0.5), color: RetroColors.goldOf(context).withValues(alpha: 0.5),
), ),
), ),
@@ -578,7 +578,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
line, line,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 10, fontSize: 15,
color: textColor, color: textColor,
height: 1.2, height: 1.2,
), ),
@@ -640,7 +640,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
elapsedTime, elapsedTime,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -681,7 +681,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
'VS', 'VS',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -752,7 +752,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
name, name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textPrimaryOf(context), color: RetroColors.textPrimaryOf(context),
), ),
maxLines: 1, maxLines: 1,
@@ -777,7 +777,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
_hpLabel, _hpLabel,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 12,
color: accentColor.withValues(alpha: 0.8), color: accentColor.withValues(alpha: 0.8),
), ),
), ),
@@ -786,7 +786,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
'$hp/$hpMax', '$hp/$hpMax',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 12,
color: isLow ? RetroColors.hpRed : fillColor, color: isLow ? RetroColors.hpRed : fillColor,
), ),
), ),
@@ -809,7 +809,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
hpChange > 0 ? '+$hpChange' : '$hpChange', hpChange > 0 ? '+$hpChange' : '$hpChange',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: isDamage color: isDamage
? RetroColors.hpRed ? RetroColors.hpRed
@@ -942,7 +942,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
_currentSkillName!, _currentSkillName!,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 12,
color: color, color: color,
), ),
), ),

View File

@@ -73,7 +73,7 @@ class _ArenaScreenState extends State<ArenaScreen> {
appBar: AppBar( appBar: AppBar(
title: Text( title: Text(
_arenaTitle, _arenaTitle,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 12), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 15),
), ),
centerTitle: true, centerTitle: true,
backgroundColor: RetroColors.panelBgOf(context), backgroundColor: RetroColors.panelBgOf(context),
@@ -117,7 +117,7 @@ class _ArenaScreenState extends State<ArenaScreen> {
_arenaEmpty, _arenaEmpty,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -126,7 +126,7 @@ class _ArenaScreenState extends State<ArenaScreen> {
_arenaEmptyHint, _arenaEmptyHint,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 12,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,

View File

@@ -133,7 +133,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
appBar: AppBar( appBar: AppBar(
title: Text( title: Text(
_setupTitle, _setupTitle,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 12), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 15),
), ),
centerTitle: true, centerTitle: true,
backgroundColor: RetroColors.panelBgOf(context), backgroundColor: RetroColors.panelBgOf(context),
@@ -156,7 +156,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_selectCharacter, _selectCharacter,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -302,7 +302,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'$rank', '$rank',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Colors.blue, color: Colors.blue,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -319,7 +319,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_challenger!.characterName, _challenger!.characterName,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 11,
color: RetroColors.textPrimaryOf(context), color: RetroColors.textPrimaryOf(context),
), ),
maxLines: 1, maxLines: 1,
@@ -330,7 +330,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'Lv.${_challenger!.level}$score pt', 'Lv.${_challenger!.level}$score pt',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -374,7 +374,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_startBattleLabel, _startBattleLabel,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: _selectedSlot != null color: _selectedSlot != null
? RetroColors.backgroundOf(context) ? RetroColors.backgroundOf(context)
: RetroColors.textMutedOf(context), : RetroColors.textMutedOf(context),
@@ -417,7 +417,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'$rank', '$rank',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: Colors.red, color: Colors.red,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -434,7 +434,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_opponent!.characterName, _opponent!.characterName,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 11,
color: RetroColors.textPrimaryOf(context), color: RetroColors.textPrimaryOf(context),
), ),
maxLines: 1, maxLines: 1,
@@ -445,7 +445,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'Lv.${_opponent!.level}$score pt', 'Lv.${_opponent!.level}$score pt',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),

View File

@@ -136,7 +136,7 @@ class _ArenaLogEntryTile extends StatelessWidget {
Text( Text(
_formatTime(entry.timestamp), _formatTime(entry.timestamp),
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
color: Theme.of(context).colorScheme.outline, color: Theme.of(context).colorScheme.outline,
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
), ),
@@ -153,7 +153,7 @@ class _ArenaLogEntryTile extends StatelessWidget {
child: Text( child: Text(
entry.message, entry.message,
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
color: color ?? Theme.of(context).colorScheme.onSurface, color: color ?? Theme.of(context).colorScheme.onSurface,
), ),
), ),

View File

@@ -128,7 +128,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_myEquipmentTitle, _myEquipmentTitle,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: Colors.blue, color: Colors.blue,
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -149,7 +149,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_enemyEquipmentTitle, _enemyEquipmentTitle,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: Colors.red, color: Colors.red,
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -317,7 +317,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
hasItem ? item.name : '-', hasItem ? item.name : '-',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: textColor, color: textColor,
), ),
maxLines: 1, maxLines: 1,
@@ -329,7 +329,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
'$score', '$score',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: isLocked color: isLocked
? RetroColors.textMutedOf(context) ? RetroColors.textMutedOf(context)
: hasItem : hasItem
@@ -405,7 +405,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_weaponLockedLabel, _weaponLockedLabel,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 4, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
) )
@@ -444,7 +444,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_recommendedLabel, _recommendedLabel,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 4, fontSize: 11,
color: Colors.green, color: Colors.green,
), ),
), ),
@@ -454,7 +454,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
diffText, diffText,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: diffColor, color: diffColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -536,7 +536,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
resultText, resultText,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: resultColor, color: resultColor,
), ),
), ),
@@ -566,7 +566,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_selectedLabel, _selectedLabel,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 12,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -597,7 +597,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
hasItem ? item.name : '(Empty)', hasItem ? item.name : '(Empty)',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: hasItem ? rarityColor : RetroColors.textMutedOf(context), color: hasItem ? rarityColor : RetroColors.textMutedOf(context),
), ),
maxLines: 2, maxLines: 2,
@@ -609,7 +609,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
'Score: $score', 'Score: $score',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -654,7 +654,11 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
), ),
child: Text( child: Text(
'$label +$value', '$label +$value',
style: TextStyle(fontFamily: 'PressStart2P', fontSize: 4, color: color), style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 11,
color: color,
),
), ),
); );
} }

View File

@@ -163,7 +163,7 @@ class ArenaRankCard extends StatelessWidget {
'$score', '$score',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -172,7 +172,7 @@ class ArenaRankCard extends StatelessWidget {
'SCORE', 'SCORE',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),

View File

@@ -66,7 +66,7 @@ class ArenaResultDialog extends StatelessWidget {
style: FilledButton.styleFrom(backgroundColor: resultColor), style: FilledButton.styleFrom(backgroundColor: resultColor),
child: Text( child: Text(
l10n.buttonConfirm, l10n.buttonConfirm,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 8), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 13),
), ),
), ),
], ],
@@ -87,7 +87,7 @@ class ArenaResultDialog extends StatelessWidget {
isVictory ? _arenaVictory : _arenaDefeat, isVictory ? _arenaVictory : _arenaDefeat,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: color, color: color,
), ),
), ),
@@ -116,7 +116,7 @@ class ArenaResultDialog extends StatelessWidget {
'VS', 'VS',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 13,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -143,7 +143,7 @@ class ArenaResultDialog extends StatelessWidget {
name, name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 11,
color: isWinner color: isWinner
? RetroColors.goldOf(context) ? RetroColors.goldOf(context)
: RetroColors.textMutedOf(context), : RetroColors.textMutedOf(context),
@@ -155,7 +155,7 @@ class ArenaResultDialog extends StatelessWidget {
isWinner ? 'WINNER' : 'LOSER', isWinner ? 'WINNER' : 'LOSER',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: isWinner ? Colors.amber : Colors.grey, color: isWinner ? Colors.amber : Colors.grey,
), ),
), ),
@@ -199,7 +199,7 @@ class ArenaResultDialog extends StatelessWidget {
_arenaExchange, _arenaExchange,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 14,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -211,7 +211,7 @@ class ArenaResultDialog extends StatelessWidget {
_getSlotLabel(slot), _getSlotLabel(slot),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -274,7 +274,7 @@ class ArenaResultDialog extends StatelessWidget {
name, name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 13,
color: RetroColors.textPrimaryOf(context), color: RetroColors.textPrimaryOf(context),
), ),
), ),
@@ -308,7 +308,7 @@ class ArenaResultDialog extends StatelessWidget {
'${isGain ? '+' : ''}$scoreDiff pt', '${isGain ? '+' : ''}$scoreDiff pt',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 13,
color: isGain ? Colors.green : Colors.red, color: isGain ? Colors.green : Colors.red,
), ),
), ),
@@ -329,7 +329,7 @@ class ArenaResultDialog extends StatelessWidget {
'(empty)', '(empty)',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 12,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
); );
@@ -351,7 +351,7 @@ class ArenaResultDialog extends StatelessWidget {
item.name, item.name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 12,
color: rarityColor, color: rarityColor,
), ),
maxLines: 1, maxLines: 1,
@@ -361,7 +361,7 @@ class ArenaResultDialog extends StatelessWidget {
'$score pt', '$score pt',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 12,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),

View File

@@ -133,7 +133,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
SnackBar( SnackBar(
content: Text( content: Text(
'${l10n.uiSaved}: $fileName', '${l10n.uiSaved}: $fileName',
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
), ),
backgroundColor: RetroColors.mpOf(context), backgroundColor: RetroColors.mpOf(context),
duration: const Duration(seconds: 3), duration: const Duration(seconds: 3),
@@ -146,7 +146,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
SnackBar( SnackBar(
content: Text( content: Text(
'${l10n.uiError}: $e', '${l10n.uiError}: $e',
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
), ),
backgroundColor: RetroColors.hpOf(context), backgroundColor: RetroColors.hpOf(context),
duration: const Duration(seconds: 3), duration: const Duration(seconds: 3),
@@ -366,7 +366,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
isVictory ? _victory : _defeat, isVictory ? _victory : _defeat,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: color, color: color,
), ),
), ),
@@ -396,7 +396,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
winner, winner,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 11,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -404,7 +404,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
' defeated ', ' defeated ',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -413,7 +413,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
loser, loser,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 12,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -421,7 +421,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
' in ', ' in ',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -436,7 +436,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'${widget.turnCount} $_turns', '${widget.turnCount} $_turns',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 12,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -502,7 +502,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
_exchange, _exchange,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 12,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -514,7 +514,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
_getSlotLabel(slot), _getSlotLabel(slot),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 12,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -559,7 +559,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'${scoreDiff >= 0 ? '+' : ''}$scoreDiff', '${scoreDiff >= 0 ? '+' : ''}$scoreDiff',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: scoreDiff >= 0 ? Colors.green : Colors.red, color: scoreDiff >= 0 ? Colors.green : Colors.red,
), ),
), ),
@@ -586,7 +586,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'(empty)', '(empty)',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -609,7 +609,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
item.name, item.name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 12,
color: rarityColor, color: rarityColor,
), ),
maxLines: 1, maxLines: 1,
@@ -619,7 +619,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'$score pt', '$score pt',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 12,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -642,7 +642,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
l10n.buttonConfirm, l10n.buttonConfirm,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: Colors.black, color: Colors.black,
), ),
), ),
@@ -659,7 +659,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
icon: const Icon(Icons.save_alt, size: 14), icon: const Icon(Icons.save_alt, size: 14),
label: Text( label: Text(
l10n.uiSaveBattleLog, l10n.uiSaveBattleLog,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
), ),
style: OutlinedButton.styleFrom( style: OutlinedButton.styleFrom(
foregroundColor: RetroColors.mpOf(context), foregroundColor: RetroColors.mpOf(context),

View File

@@ -186,7 +186,7 @@ class _RetroHeader extends StatelessWidget {
l10n.appTitle, l10n.appTitle,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 13,
color: RetroColors.gold, color: RetroColors.gold,
shadows: [ shadows: [
Shadow(color: RetroColors.goldDark, offset: Offset(2, 2)), Shadow(color: RetroColors.goldDark, offset: Offset(2, 2)),
@@ -335,7 +335,7 @@ class _SavedGameInfo extends StatelessWidget {
'${preview.characterName} Lv.${preview.level} ${preview.actName}', '${preview.characterName} Lv.${preview.level} ${preview.actName}',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 11,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -358,7 +358,7 @@ class _CopyrightFooter extends StatelessWidget {
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 7,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -390,7 +390,7 @@ class _RetroTag extends StatelessWidget {
label, label,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 11,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
), ),

View File

@@ -145,7 +145,7 @@ class _HeroVsBossAnimationState extends State<HeroVsBossAnimation> {
text: char, text: char,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 10, fontSize: 15,
height: 1.1, height: 1.1,
color: color, color: color,
letterSpacing: 0, letterSpacing: 0,
@@ -199,7 +199,7 @@ class _HeroVsBossAnimationState extends State<HeroVsBossAnimation> {
'$raceName', '$raceName',
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 9, fontSize: 15,
color: Colors.cyan.withValues(alpha: 0.7), color: Colors.cyan.withValues(alpha: 0.7),
), ),
), ),

View File

@@ -12,9 +12,7 @@ import 'package:asciineverdie/src/features/game/widgets/combat_log.dart';
/// - 전투 이벤트 → 로그 메시지 변환 /// - 전투 이벤트 → 로그 메시지 변환
/// - 태스크 변경 시 로그 추가 /// - 태스크 변경 시 로그 추가
class CombatLogController extends ChangeNotifier { class CombatLogController extends ChangeNotifier {
CombatLogController({ CombatLogController({this.onCombatEvent});
this.onCombatEvent,
});
/// 전투 이벤트 발생 시 호출되는 콜백 (SFX 재생 등에 사용) /// 전투 이벤트 발생 시 호출되는 콜백 (SFX 재생 등에 사용)
final void Function(CombatEvent event)? onCombatEvent; final void Function(CombatEvent event)? onCombatEvent;
@@ -82,10 +80,7 @@ class CombatLogController extends ChangeNotifier {
/// 레벨업 로그 추가 /// 레벨업 로그 추가
void addLevelUpLog(int level) { void addLevelUpLog(int level) {
addLog( addLog('${game_l10n.uiLevelUp} Lv.$level', CombatLogType.levelUp);
'${game_l10n.uiLevelUp} Lv.$level',
CombatLogType.levelUp,
);
} }
/// 퀘스트 완료 로그 추가 /// 퀘스트 완료 로그 추가

View File

@@ -13,10 +13,7 @@ import 'package:asciineverdie/src/core/model/monster_grade.dart';
/// - 전투 이벤트 SFX 재생 /// - 전투 이벤트 SFX 재생
/// - 볼륨 관리 /// - 볼륨 관리
class GameAudioController extends ChangeNotifier { class GameAudioController extends ChangeNotifier {
GameAudioController({ GameAudioController({required this.audioService, this.getSpeedMultiplier});
required this.audioService,
this.getSpeedMultiplier,
});
final AudioService? audioService; final AudioService? audioService;

View File

@@ -660,7 +660,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
L10n.of(context).progressQuestTitle(state.traits.name), L10n.of(context).progressQuestTitle(state.traits.name),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: RetroColors.gold, color: RetroColors.gold,
), ),
), ),
@@ -950,7 +950,10 @@ class _GamePlayScreenState extends State<GamePlayScreen>
// Phase 8: 전투 로그 (Combat Log) // Phase 8: 전투 로그 (Combat Log)
_buildPanelHeader(l10n.combatLog), _buildPanelHeader(l10n.combatLog),
Expanded(flex: 2, child: CombatLog(entries: _combatLogController.entries)), Expanded(
flex: 2,
child: CombatLog(entries: _combatLogController.entries),
),
], ],
), ),
); );
@@ -1018,7 +1021,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
title.toUpperCase(), title.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: RetroColors.gold, color: RetroColors.gold,
), ),
@@ -1033,7 +1036,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
title.toUpperCase(), title.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -1113,7 +1116,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
t.$1.toUpperCase(), t.$1.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -1123,7 +1126,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
t.$2, t.$2,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -1147,7 +1150,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
L10n.of(context).noSpellsYet, L10n.of(context).noSpellsYet,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -1188,7 +1191,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.goldAmount(state.inventory.gold), l10n.goldAmount(state.inventory.gold),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: RetroColors.gold, color: RetroColors.gold,
), ),
), ),
@@ -1215,7 +1218,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.gold.toUpperCase(), l10n.gold.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.gold, color: RetroColors.gold,
), ),
), ),
@@ -1224,7 +1227,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
'${state.inventory.gold}', '${state.inventory.gold}',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: RetroColors.gold, color: RetroColors.gold,
), ),
), ),
@@ -1247,7 +1250,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
translatedName, translatedName,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -1257,7 +1260,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
'${item.count}', '${item.count}',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.cream, color: RetroColors.cream,
), ),
), ),
@@ -1278,7 +1281,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.prologue.toUpperCase(), l10n.prologue.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -1312,7 +1315,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
index == 0 ? l10n.prologue : l10n.actNumber(_toRoman(index)), index == 0 ? l10n.prologue : l10n.actNumber(_toRoman(index)),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: isCompleted color: isCompleted
? RetroColors.textDisabled ? RetroColors.textDisabled
: (isCurrent : (isCurrent
@@ -1341,7 +1344,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.noActiveQuests.toUpperCase(), l10n.noActiveQuests.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -1381,7 +1384,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
quest.caption, quest.caption,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: isCurrentQuest color: isCurrentQuest
? RetroColors.gold ? RetroColors.gold
: (quest.isComplete : (quest.isComplete
@@ -1461,7 +1464,7 @@ class _SkillRow extends StatelessWidget {
child: Text( child: Text(
skillName, skillName,
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
color: isOnCooldown ? Colors.grey : null, color: isOnCooldown ? Colors.grey : null,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -1474,7 +1477,7 @@ class _SkillRow extends StatelessWidget {
// 랭크 // 랭크
Text( Text(
rank, rank,
style: const TextStyle(fontSize: 11, fontWeight: FontWeight.bold), style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
), ),
], ],
), ),

View File

@@ -433,7 +433,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
'OPTIONS', 'OPTIONS',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: gold, color: gold,
), ),
), ),
@@ -581,7 +581,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
subtitle: Text( subtitle: Text(
l10n.menuDeleteSave, l10n.menuDeleteSave,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 17,
color: Theme.of(context).colorScheme.outline, color: Theme.of(context).colorScheme.outline,
), ),
), ),
@@ -613,7 +613,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
'DEBUG CHEATS', 'DEBUG CHEATS',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: Colors.red.shade300, color: Colors.red.shade300,
), ),
), ),
@@ -659,7 +659,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
'DEBUG TOOLS', 'DEBUG TOOLS',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: Colors.orange.shade300, color: Colors.orange.shade300,
), ),
), ),
@@ -698,7 +698,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
L10n.of(context).progressQuestTitle(state.traits.name), L10n.of(context).progressQuestTitle(state.traits.name),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: gold, color: gold,
), ),
), ),

View File

@@ -52,7 +52,7 @@ class CharacterSheetPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer, color: Theme.of(context).colorScheme.onPrimaryContainer,
), ),
), ),
@@ -83,14 +83,14 @@ class CharacterSheetPage extends StatelessWidget {
width: 60, width: 60,
child: Text( child: Text(
t.$1, t.$1,
style: TextStyle(fontSize: 12, color: Colors.grey.shade600), style: TextStyle(fontSize: 17, color: Colors.grey.shade600),
), ),
), ),
Expanded( Expanded(
child: Text( child: Text(
t.$2, t.$2,
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 18,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -122,7 +122,7 @@ class CharacterSheetPage extends StatelessWidget {
const SizedBox(height: 4), const SizedBox(height: 4),
Text( Text(
'${exp.position} / ${exp.max}', '${exp.position} / ${exp.max}',
style: TextStyle(fontSize: 10, color: Colors.grey.shade600), style: TextStyle(fontSize: 15, color: Colors.grey.shade600),
), ),
], ],
), ),

View File

@@ -35,7 +35,7 @@ class CombatLogPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer, color: Theme.of(context).colorScheme.onPrimaryContainer,
), ),
), ),

View File

@@ -53,7 +53,7 @@ class EquipmentPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: gold, color: gold,
), ),
), ),

View File

@@ -60,7 +60,7 @@ class InventoryPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer, color: Theme.of(context).colorScheme.onPrimaryContainer,
), ),
), ),
@@ -89,13 +89,13 @@ class InventoryPage extends StatelessWidget {
Expanded( Expanded(
child: Text( child: Text(
localizations.gold, localizations.gold,
style: const TextStyle(fontSize: 13), style: const TextStyle(fontSize: 18),
), ),
), ),
Text( Text(
'${inventory.gold}', '${inventory.gold}',
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 18,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.amber, color: Colors.amber,
), ),
@@ -120,14 +120,14 @@ class InventoryPage extends StatelessWidget {
Expanded( Expanded(
child: Text( child: Text(
translatedName, translatedName,
style: const TextStyle(fontSize: 13), style: const TextStyle(fontSize: 18),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
), ),
Text( Text(
'${item.count}', '${item.count}',
style: const TextStyle( style: const TextStyle(
fontSize: 12, fontSize: 17,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
@@ -157,7 +157,7 @@ class InventoryPage extends StatelessWidget {
const SizedBox(height: 4), const SizedBox(height: 4),
Text( Text(
'$percentage%', '$percentage%',
style: TextStyle(fontSize: 10, color: Colors.grey.shade600), style: TextStyle(fontSize: 15, color: Colors.grey.shade600),
), ),
], ],
), ),

View File

@@ -39,7 +39,7 @@ class QuestPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer, color: Theme.of(context).colorScheme.onPrimaryContainer,
), ),
), ),
@@ -53,7 +53,7 @@ class QuestPage extends StatelessWidget {
return Center( return Center(
child: Text( child: Text(
localizations.noActiveQuests, localizations.noActiveQuests,
style: const TextStyle(fontSize: 13, color: Colors.grey), style: const TextStyle(fontSize: 18, color: Colors.grey),
), ),
); );
} }
@@ -85,7 +85,7 @@ class QuestPage extends StatelessWidget {
child: Text( child: Text(
entry.caption, entry.caption,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 18,
decoration: entry.isComplete decoration: entry.isComplete
? TextDecoration.lineThrough ? TextDecoration.lineThrough
: null, : null,
@@ -126,7 +126,7 @@ class QuestPage extends StatelessWidget {
const SizedBox(height: 4), const SizedBox(height: 4),
Text( Text(
localizations.percentComplete(percentage), localizations.percentComplete(percentage),
style: TextStyle(fontSize: 10, color: Colors.grey.shade600), style: TextStyle(fontSize: 15, color: Colors.grey.shade600),
), ),
], ],
), ),

View File

@@ -53,7 +53,7 @@ class SkillsPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer, color: Theme.of(context).colorScheme.onPrimaryContainer,
), ),
), ),
@@ -65,7 +65,7 @@ class SkillsPage extends StatelessWidget {
return Center( return Center(
child: Text( child: Text(
L10n.of(context).noSpellsYet, L10n.of(context).noSpellsYet,
style: const TextStyle(fontSize: 12, color: Colors.grey), style: const TextStyle(fontSize: 17, color: Colors.grey),
), ),
); );
} }
@@ -125,7 +125,7 @@ class _SkillRow extends StatelessWidget {
child: Text( child: Text(
skillName, skillName,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 18,
color: isOnCooldown ? Colors.grey : null, color: isOnCooldown ? Colors.grey : null,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -138,7 +138,7 @@ class _SkillRow extends StatelessWidget {
// 랭크 // 랭크
Text( Text(
rank, rank,
style: const TextStyle(fontSize: 12, fontWeight: FontWeight.bold), style: const TextStyle(fontSize: 17, fontWeight: FontWeight.bold),
), ),
], ],
), ),

View File

@@ -43,7 +43,7 @@ class StoryPage extends StatelessWidget {
title, title,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer, color: Theme.of(context).colorScheme.onPrimaryContainer,
), ),
), ),
@@ -57,7 +57,7 @@ class StoryPage extends StatelessWidget {
return Center( return Center(
child: Text( child: Text(
localizations.prologue, localizations.prologue,
style: const TextStyle(fontSize: 13, color: Colors.grey), style: const TextStyle(fontSize: 18, color: Colors.grey),
), ),
); );
} }
@@ -85,7 +85,7 @@ class StoryPage extends StatelessWidget {
child: Text( child: Text(
label, label,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 18,
decoration: isCompleted ? TextDecoration.lineThrough : null, decoration: isCompleted ? TextDecoration.lineThrough : null,
color: isCompleted ? Colors.grey : null, color: isCompleted ? Colors.grey : null,
), ),

View File

@@ -23,7 +23,7 @@ class ActiveBuffPanel extends StatelessWidget {
child: Text( child: Text(
l10n.uiNoActiveBuffs, l10n.uiNoActiveBuffs,
style: const TextStyle( style: const TextStyle(
fontSize: 11, fontSize: 16,
color: Colors.grey, color: Colors.grey,
fontStyle: FontStyle.italic, fontStyle: FontStyle.italic,
), ),
@@ -72,7 +72,7 @@ class _BuffRow extends StatelessWidget {
child: Text( child: Text(
buff.effect.name, buff.effect.name,
style: const TextStyle( style: const TextStyle(
fontSize: 11, fontSize: 16,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
color: Colors.lightBlue, color: Colors.lightBlue,
), ),
@@ -84,7 +84,7 @@ class _BuffRow extends StatelessWidget {
Text( Text(
'${remainingSec}s', '${remainingSec}s',
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
color: remainingMs < 3000 ? Colors.orange : Colors.grey, color: remainingMs < 3000 ? Colors.orange : Colors.grey,
fontWeight: remainingMs < 3000 fontWeight: remainingMs < 3000
? FontWeight.bold ? FontWeight.bold
@@ -195,7 +195,7 @@ class _ModifierChip extends StatelessWidget {
child: Text( child: Text(
'$label: $sign$percent%', '$label: $sign$percent%',
style: TextStyle( style: TextStyle(
fontSize: 8, fontSize: 14,
color: color, color: color,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),

View File

@@ -628,7 +628,8 @@ class _AsciiAnimationCardState extends State<AsciiAnimationCard> {
final monsterCategory = getMonsterCategory(monsterName); final monsterCategory = getMonsterCategory(monsterName);
// 캐시된 사이즈 사용 (사망 시점에 widget.monsterSize가 null일 수 있음) // 캐시된 사이즈 사용 (사망 시점에 widget.monsterSize가 null일 수 있음)
final monsterSize = _lastMonsterSize ?? final monsterSize =
_lastMonsterSize ??
widget.monsterSize ?? widget.monsterSize ??
getMonsterSize(_lastMonsterLevel ?? widget.monsterLevel); getMonsterSize(_lastMonsterLevel ?? widget.monsterLevel);

View File

@@ -105,7 +105,7 @@ class _NavButton extends StatelessWidget {
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, fontWeight: isSelected ? FontWeight.bold : FontWeight.normal,
color: color, color: color,
), ),

View File

@@ -133,7 +133,7 @@ class _CinematicViewState extends State<CinematicView>
l10n.translateCinematic(step.text), l10n.translateCinematic(step.text),
style: const TextStyle( style: const TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 18, fontSize: 22,
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
height: 1.5, height: 1.5,
), ),
@@ -167,7 +167,7 @@ class _CinematicViewState extends State<CinematicView>
l10n.uiSkip, l10n.uiSkip,
style: const TextStyle( style: const TextStyle(
color: Colors.white54, color: Colors.white54,
fontSize: 14, fontSize: 18,
), ),
), ),
), ),
@@ -182,7 +182,7 @@ class _CinematicViewState extends State<CinematicView>
l10n.uiTapToContinue, l10n.uiTapToContinue,
style: TextStyle( style: TextStyle(
color: Colors.white.withValues(alpha: 0.3), color: Colors.white.withValues(alpha: 0.3),
fontSize: 12, fontSize: 17,
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
@@ -213,7 +213,7 @@ class _AsciiArtDisplay extends StatelessWidget {
asciiArt, asciiArt,
style: const TextStyle( style: const TextStyle(
color: Colors.cyan, color: Colors.cyan,
fontSize: 14, fontSize: 18,
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
height: 1.2, height: 1.2,
), ),

View File

@@ -122,7 +122,7 @@ class _LogEntryTile extends StatelessWidget {
Text( Text(
_formatTime(entry.timestamp), _formatTime(entry.timestamp),
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
color: Theme.of(context).colorScheme.outline, color: Theme.of(context).colorScheme.outline,
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
), ),
@@ -139,7 +139,7 @@ class _LogEntryTile extends StatelessWidget {
child: Text( child: Text(
entry.message, entry.message,
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
color: color ?? Theme.of(context).colorScheme.onSurface, color: color ?? Theme.of(context).colorScheme.onSurface,
), ),
), ),

View File

@@ -81,19 +81,19 @@ class DeathOverlay extends StatelessWidget {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text('', style: TextStyle(fontSize: 16, color: hpColor)), Text('', style: TextStyle(fontSize: 20, color: hpColor)),
const SizedBox(width: 8), const SizedBox(width: 8),
Text( Text(
'GAME OVER', 'GAME OVER',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: hpColor, color: hpColor,
letterSpacing: 2, letterSpacing: 2,
), ),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
Text('', style: TextStyle(fontSize: 16, color: hpColor)), Text('', style: TextStyle(fontSize: 20, color: hpColor)),
], ],
), ),
), ),
@@ -185,7 +185,7 @@ class DeathOverlay extends StatelessWidget {
' ||||| ', ' ||||| ',
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: hpColor, color: hpColor,
height: 1.0, height: 1.0,
), ),
@@ -196,7 +196,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathYouDied.toUpperCase(), l10n.deathYouDied.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 16,
color: hpColor, color: hpColor,
letterSpacing: 2, letterSpacing: 2,
shadows: [ shadows: [
@@ -227,7 +227,7 @@ class DeathOverlay extends StatelessWidget {
traits.name, traits.name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 11, fontSize: 14,
color: gold, color: gold,
), ),
), ),
@@ -236,7 +236,7 @@ class DeathOverlay extends StatelessWidget {
'Lv.${deathInfo.levelAtDeath} ${GameDataL10n.getKlassName(context, traits.klass)}', 'Lv.${deathInfo.levelAtDeath} ${GameDataL10n.getKlassName(context, traits.klass)}',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: textPrimary, color: textPrimary,
), ),
), ),
@@ -259,14 +259,14 @@ class DeathOverlay extends StatelessWidget {
child: Row( child: Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Text('', style: TextStyle(fontSize: 14, color: hpColor)), Text('', style: TextStyle(fontSize: 18, color: hpColor)),
const SizedBox(width: 8), const SizedBox(width: 8),
Flexible( Flexible(
child: Text( child: Text(
causeText, causeText,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: hpColor, color: hpColor,
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -305,7 +305,7 @@ class DeathOverlay extends StatelessWidget {
), ),
child: Row( child: Row(
children: [ children: [
const Text('🔥', style: TextStyle(fontSize: 16)), const Text('🔥', style: TextStyle(fontSize: 20)),
const SizedBox(width: 8), const SizedBox(width: 8),
Expanded( Expanded(
child: Column( child: Column(
@@ -315,7 +315,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathSacrificedToResurrect.toUpperCase(), l10n.deathSacrificedToResurrect.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: muted, color: muted,
), ),
), ),
@@ -324,7 +324,7 @@ class DeathOverlay extends StatelessWidget {
deathInfo.lostItemName!, deathInfo.lostItemName!,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: hpColor, color: hpColor,
), ),
), ),
@@ -370,13 +370,13 @@ class DeathOverlay extends StatelessWidget {
children: [ children: [
Row( Row(
children: [ children: [
Text(asciiIcon, style: TextStyle(fontSize: 14, color: valueColor)), Text(asciiIcon, style: TextStyle(fontSize: 18, color: valueColor)),
const SizedBox(width: 8), const SizedBox(width: 8),
Text( Text(
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: muted, color: muted,
), ),
), ),
@@ -386,7 +386,7 @@ class DeathOverlay extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: valueColor, color: valueColor,
), ),
), ),
@@ -427,7 +427,7 @@ class DeathOverlay extends StatelessWidget {
Text( Text(
'', '',
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 20,
color: expColor, color: expColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -437,7 +437,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathResurrect.toUpperCase(), l10n.deathResurrect.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: expColor, color: expColor,
letterSpacing: 1, letterSpacing: 1,
), ),
@@ -486,7 +486,7 @@ class DeathOverlay extends StatelessWidget {
Text( Text(
isAutoResurrectEnabled ? '' : '', isAutoResurrectEnabled ? '' : '',
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 18,
color: buttonColor, color: buttonColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -496,7 +496,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathAutoResurrect.toUpperCase(), l10n.deathAutoResurrect.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: buttonColor, color: buttonColor,
letterSpacing: 1, letterSpacing: 1,
), ),
@@ -507,7 +507,7 @@ class DeathOverlay extends StatelessWidget {
'ON', 'ON',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: mpColor, color: mpColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -531,13 +531,13 @@ class DeathOverlay extends StatelessWidget {
children: [ children: [
Row( Row(
children: [ children: [
const Text('📜', style: TextStyle(fontSize: 12)), const Text('📜', style: TextStyle(fontSize: 17)),
const SizedBox(width: 6), const SizedBox(width: 6),
Text( Text(
l10n.deathCombatLog.toUpperCase(), l10n.deathCombatLog.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: gold, color: gold,
), ),
), ),
@@ -572,14 +572,14 @@ class DeathOverlay extends StatelessWidget {
padding: const EdgeInsets.symmetric(vertical: 1), padding: const EdgeInsets.symmetric(vertical: 1),
child: Row( child: Row(
children: [ children: [
Text(asciiIcon, style: TextStyle(fontSize: 10, color: color)), Text(asciiIcon, style: TextStyle(fontSize: 15, color: color)),
const SizedBox(width: 4), const SizedBox(width: 4),
Expanded( Expanded(
child: Text( child: Text(
message, message,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 8, fontSize: 14,
color: color, color: color,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,

View File

@@ -298,7 +298,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
children: [ children: [
// HP 바 // HP 바
Container( Container(
height: 14, height: 20,
decoration: BoxDecoration( decoration: BoxDecoration(
color: isLow color: isLow
? Colors.red.withValues(alpha: 0.2) ? Colors.red.withValues(alpha: 0.2)
@@ -309,12 +309,12 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
children: [ children: [
// 라벨 // 라벨
Container( Container(
width: 28, width: 32,
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
l10n.statHp, l10n.statHp,
style: const TextStyle( style: const TextStyle(
fontSize: 9, fontSize: 11,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.white70, color: Colors.white70,
), ),
@@ -332,17 +332,17 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
valueColor: AlwaysStoppedAnimation( valueColor: AlwaysStoppedAnimation(
isLow ? Colors.red : Colors.red.shade600, isLow ? Colors.red : Colors.red.shade600,
), ),
minHeight: 14, minHeight: 20,
), ),
), ),
), ),
// 수치 // 수치
Container( Container(
width: 48, width: 56,
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
'$_currentHp/$_currentHpMax', '$_currentHp/$_currentHpMax',
style: const TextStyle(fontSize: 8, color: Colors.white), style: const TextStyle(fontSize: 11, color: Colors.white),
), ),
), ),
], ],
@@ -361,7 +361,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text( child: Text(
_hpChange > 0 ? '+$_hpChange' : '$_hpChange', _hpChange > 0 ? '+$_hpChange' : '$_hpChange',
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: _hpChange < 0 ? Colors.red : Colors.green, color: _hpChange < 0 ? Colors.red : Colors.green,
shadows: const [ shadows: const [
@@ -389,7 +389,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
clipBehavior: Clip.none, clipBehavior: Clip.none,
children: [ children: [
Container( Container(
height: 14, height: 20,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.grey.shade800, color: Colors.grey.shade800,
borderRadius: BorderRadius.circular(3), borderRadius: BorderRadius.circular(3),
@@ -397,12 +397,12 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Row( child: Row(
children: [ children: [
Container( Container(
width: 28, width: 32,
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
l10n.statMp, l10n.statMp,
style: const TextStyle( style: const TextStyle(
fontSize: 9, fontSize: 11,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.white70, color: Colors.white70,
), ),
@@ -419,16 +419,16 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
valueColor: AlwaysStoppedAnimation( valueColor: AlwaysStoppedAnimation(
Colors.blue.shade600, Colors.blue.shade600,
), ),
minHeight: 14, minHeight: 20,
), ),
), ),
), ),
Container( Container(
width: 48, width: 56,
alignment: Alignment.center, alignment: Alignment.center,
child: Text( child: Text(
'$_currentMp/$_currentMpMax', '$_currentMp/$_currentMpMax',
style: const TextStyle(fontSize: 8, color: Colors.white), style: const TextStyle(fontSize: 11, color: Colors.white),
), ),
), ),
], ],
@@ -446,7 +446,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text( child: Text(
_mpChange > 0 ? '+$_mpChange' : '$_mpChange', _mpChange > 0 ? '+$_mpChange' : '$_mpChange',
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: _mpChange < 0 ? Colors.orange : Colors.cyan, color: _mpChange < 0 ? Colors.orange : Colors.cyan,
shadows: const [ shadows: const [
@@ -534,7 +534,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
clipBehavior: Clip.none, clipBehavior: Clip.none,
children: [ children: [
Container( Container(
height: 36, height: 52,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.orange.withValues(alpha: 0.1), color: Colors.orange.withValues(alpha: 0.1),
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
@@ -560,14 +560,14 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
valueColor: const AlwaysStoppedAnimation( valueColor: const AlwaysStoppedAnimation(
Colors.orange, Colors.orange,
), ),
minHeight: 12, minHeight: 16,
), ),
), ),
// HP% 중앙 오버레이 // HP% 중앙 오버레이
Text( Text(
'${(ratio * 100).toInt()}%', '${(ratio * 100).toInt()}%',
style: TextStyle( style: TextStyle(
fontSize: 9, fontSize: 12,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.white, color: Colors.white,
shadows: [ shadows: [
@@ -589,7 +589,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text( child: Text(
'Lv.$monsterLevel $monsterName', 'Lv.$monsterLevel $monsterName',
style: const TextStyle( style: const TextStyle(
fontSize: 9, fontSize: 12,
color: Colors.orange, color: Colors.orange,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -615,7 +615,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
? '+$_monsterHpChange' ? '+$_monsterHpChange'
: '$_monsterHpChange', : '$_monsterHpChange',
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 17,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: _monsterHpChange < 0 color: _monsterHpChange < 0
? Colors.yellow ? Colors.yellow
@@ -637,14 +637,14 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
/// 컨트롤 버튼 (비전투 시) /// 컨트롤 버튼 (비전투 시)
Widget _buildControlButtons() { Widget _buildControlButtons() {
return SizedBox( return SizedBox(
height: 32, height: 40,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
// 일시정지 버튼 // 일시정지 버튼
SizedBox( SizedBox(
width: 36, width: 40,
height: 28, height: 36,
child: OutlinedButton( child: OutlinedButton(
onPressed: widget.onPauseToggle, onPressed: widget.onPauseToggle,
style: OutlinedButton.styleFrom( style: OutlinedButton.styleFrom(
@@ -660,7 +660,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
), ),
child: Icon( child: Icon(
widget.isPaused ? Icons.play_arrow : Icons.pause, widget.isPaused ? Icons.play_arrow : Icons.pause,
size: 14, size: 18,
color: widget.isPaused ? Colors.orange : null, color: widget.isPaused ? Colors.orange : null,
), ),
), ),
@@ -668,8 +668,8 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
const SizedBox(width: 4), const SizedBox(width: 4),
// 속도 버튼 // 속도 버튼
SizedBox( SizedBox(
width: 36, width: 44,
height: 28, height: 36,
child: OutlinedButton( child: OutlinedButton(
onPressed: widget.onSpeedCycle, onPressed: widget.onSpeedCycle,
style: OutlinedButton.styleFrom( style: OutlinedButton.styleFrom(
@@ -679,7 +679,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text( child: Text(
'${widget.speedMultiplier}x', '${widget.speedMultiplier}x',
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 12,
fontWeight: widget.speedMultiplier > 1 fontWeight: widget.speedMultiplier > 1
? FontWeight.bold ? FontWeight.bold
: FontWeight.normal, : FontWeight.normal,

View File

@@ -102,7 +102,7 @@ class _EquipmentSlotTile extends StatelessWidget {
child: Text( child: Text(
translatedName, translatedName,
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
color: rarityColor, color: rarityColor,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
@@ -148,7 +148,7 @@ class _EmptySlotTile extends StatelessWidget {
title: Text( title: Text(
'[${_getSlotName(slot)}] ${l10n.uiEmpty}', '[${_getSlotName(slot)}] ${l10n.uiEmpty}',
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
color: textMuted, color: textMuted,
fontStyle: FontStyle.italic, fontStyle: FontStyle.italic,
), ),
@@ -209,7 +209,7 @@ class _ScoreBadge extends StatelessWidget {
child: Text( child: Text(
'$score', '$score',
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: gold, color: gold,
), ),
@@ -264,12 +264,12 @@ class _TotalScoreHeader extends StatelessWidget {
children: [ children: [
Text( Text(
l10n.uiEquipmentScore, l10n.uiEquipmentScore,
style: TextStyle(fontSize: 10, color: textSecondary), style: TextStyle(fontSize: 15, color: textSecondary),
), ),
Text( Text(
'$totalScore', '$totalScore',
style: TextStyle( style: TextStyle(
fontSize: 18, fontSize: 22,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: gold, color: gold,
), ),
@@ -288,7 +288,7 @@ class _TotalScoreHeader extends StatelessWidget {
child: Text( child: Text(
'$equippedCount / $totalSlots', '$equippedCount / $totalSlots',
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
color: textPrimary, color: textPrimary,
), ),
@@ -391,7 +391,7 @@ class _StatsGrid extends StatelessWidget {
if (entries.isEmpty) { if (entries.isEmpty) {
return Text( return Text(
l10n.uiNoBonusStats, l10n.uiNoBonusStats,
style: TextStyle(fontSize: 10, color: RetroColors.textMutedOf(context)), style: TextStyle(fontSize: 15, color: RetroColors.textMutedOf(context)),
); );
} }
@@ -435,12 +435,12 @@ class _StatChip extends StatelessWidget {
children: [ children: [
Text( Text(
'${entry.label}: ', '${entry.label}: ',
style: TextStyle(fontSize: 9, color: textMuted), style: TextStyle(fontSize: 15, color: textMuted),
), ),
Text( Text(
entry.value, entry.value,
style: TextStyle( style: TextStyle(
fontSize: 9, fontSize: 15,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: textPrimary, color: textPrimary,
), ),
@@ -466,13 +466,13 @@ class _ItemMetaRow extends StatelessWidget {
children: [ children: [
Text( Text(
l10n.uiLevel(item.level), l10n.uiLevel(item.level),
style: TextStyle(fontSize: 9, color: textMuted), style: TextStyle(fontSize: 15, color: textMuted),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
Text( Text(
rarityName, rarityName,
style: TextStyle( style: TextStyle(
fontSize: 9, fontSize: 15,
color: _getRarityColor(item.rarity), color: _getRarityColor(item.rarity),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -480,7 +480,7 @@ class _ItemMetaRow extends StatelessWidget {
const SizedBox(width: 8), const SizedBox(width: 8),
Text( Text(
l10n.uiWeight(item.weight), l10n.uiWeight(item.weight),
style: TextStyle(fontSize: 9, color: textMuted), style: TextStyle(fontSize: 15, color: textMuted),
), ),
], ],
); );

View File

@@ -267,7 +267,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
change > 0 ? '+$change' : '$change', change > 0 ? '+$change' : '$change',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: isDamage color: isDamage
? RetroColors.hpRed ? RetroColors.hpRed
@@ -310,7 +310,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: RetroColors.gold.withValues(alpha: blinkOpacity), color: RetroColors.gold.withValues(alpha: blinkOpacity),
), ),
@@ -358,7 +358,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
'$current/$max', '$current/$max',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
textAlign: TextAlign.right, textAlign: TextAlign.right,
@@ -452,7 +452,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
'${(ratio * 100).toInt()}%', '${(ratio * 100).toInt()}%',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.textLight, color: RetroColors.textLight,
shadows: [ shadows: [
Shadow( Shadow(
@@ -471,7 +471,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
'$levelPrefix$monsterName', '$levelPrefix$monsterName',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 12,
color: RetroColors.gold, color: RetroColors.gold,
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -495,7 +495,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
: '$_monsterHpChange', : '$_monsterHpChange',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: _monsterHpChange < 0 color: _monsterHpChange < 0
? RetroColors.gold ? RetroColors.gold

View File

@@ -163,7 +163,7 @@ class _NotificationCard extends StatelessWidget {
asciiIcon, asciiIcon,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: accentColor, color: accentColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@@ -175,7 +175,7 @@ class _NotificationCard extends StatelessWidget {
_getTypeLabel(notification.type), _getTypeLabel(notification.type),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: accentColor, color: accentColor,
letterSpacing: 1, letterSpacing: 1,
), ),
@@ -188,7 +188,7 @@ class _NotificationCard extends StatelessWidget {
'[X]', '[X]',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: textMuted, color: textMuted,
), ),
), ),
@@ -222,7 +222,7 @@ class _NotificationCard extends StatelessWidget {
notification.title, notification.title,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: textPrimary, color: textPrimary,
), ),
), ),
@@ -232,7 +232,7 @@ class _NotificationCard extends StatelessWidget {
notification.subtitle!, notification.subtitle!,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: textMuted, color: textMuted,
), ),
), ),

View File

@@ -27,7 +27,7 @@ class PotionInventoryPanel extends StatelessWidget {
child: Text( child: Text(
l10n.uiNoPotions, l10n.uiNoPotions,
style: const TextStyle( style: const TextStyle(
fontSize: 11, fontSize: 16,
color: Colors.grey, color: Colors.grey,
fontStyle: FontStyle.italic, fontStyle: FontStyle.italic,
), ),
@@ -115,7 +115,7 @@ class _PotionRow extends StatelessWidget {
child: Text( child: Text(
l10n.translateSpell(potion.name), l10n.translateSpell(potion.name),
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 16,
color: color, color: color,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
@@ -137,7 +137,7 @@ class _PotionRow extends StatelessWidget {
child: Text( child: Text(
'x$quantity', 'x$quantity',
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: color, color: color,
), ),
@@ -210,7 +210,7 @@ class _HealBadge extends StatelessWidget {
), ),
child: Text( child: Text(
healText, healText,
style: TextStyle(fontSize: 9, color: Colors.grey.shade700), style: TextStyle(fontSize: 15, color: Colors.grey.shade700),
), ),
); );
} }

View File

@@ -92,7 +92,7 @@ class _SkillPanelState extends State<SkillPanel>
if (skillStates.isEmpty) { if (skillStates.isEmpty) {
return Center( return Center(
child: Text(l10n.uiNoSkills, style: const TextStyle(fontSize: 11)), child: Text(l10n.uiNoSkills, style: const TextStyle(fontSize: 16)),
); );
} }
@@ -176,7 +176,7 @@ class _SkillRow extends StatelessWidget {
child: Text( child: Text(
skill.name, skill.name,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
color: isReady color: isReady
? (skill.element != null ? elementColor : Colors.white) ? (skill.element != null ? elementColor : Colors.white)
: Colors.grey, : Colors.grey,
@@ -195,7 +195,7 @@ class _SkillRow extends StatelessWidget {
), ),
child: Text( child: Text(
l10n.uiDot, l10n.uiDot,
style: const TextStyle(fontSize: 9, color: Colors.white70), style: const TextStyle(fontSize: 15, color: Colors.white70),
), ),
), ),
const SizedBox(width: 4), const SizedBox(width: 4),
@@ -204,7 +204,7 @@ class _SkillRow extends StatelessWidget {
// 랭크 // 랭크
Text( Text(
l10n.uiLevel(rank), l10n.uiLevel(rank),
style: const TextStyle(fontSize: 9, color: Colors.grey), style: const TextStyle(fontSize: 15, color: Colors.grey),
), ),
const SizedBox(width: 4), const SizedBox(width: 4),
// 쿨타임 상태 // 쿨타임 상태
@@ -213,7 +213,7 @@ class _SkillRow extends StatelessWidget {
child: Text( child: Text(
cooldownText, cooldownText,
style: TextStyle( style: TextStyle(
fontSize: 9, fontSize: 15,
color: isReady ? Colors.green : Colors.orange, color: isReady ? Colors.green : Colors.orange,
fontWeight: isReady ? FontWeight.bold : FontWeight.normal, fontWeight: isReady ? FontWeight.bold : FontWeight.normal,
), ),

View File

@@ -159,14 +159,14 @@ class _StatRow extends StatelessWidget {
Expanded( Expanded(
child: Text( child: Text(
label, label,
style: const TextStyle(fontSize: 11), style: const TextStyle(fontSize: 16),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
), ),
// 값 // 값
Text( Text(
'$value', '$value',
style: const TextStyle(fontSize: 11, fontWeight: FontWeight.bold), style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
), ),
// 변화량 표시 // 변화량 표시
if (change != null) ...[ if (change != null) ...[
@@ -206,7 +206,7 @@ class _ChangeIndicator extends StatelessWidget {
Text( Text(
text, text,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 15,
color: color, color: color,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),

View File

@@ -182,7 +182,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHoldToSpeedUp, l10n.endingHoldToSpeedUp,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: Colors.white.withValues(alpha: 0.3), color: Colors.white.withValues(alpha: 0.3),
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -208,7 +208,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'▶▶ x5', '▶▶ x5',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: gold, color: gold,
), ),
), ),
@@ -279,7 +279,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingCongratulations, l10n.endingCongratulations,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 16,
color: gold, color: gold,
letterSpacing: 2, letterSpacing: 2,
), ),
@@ -289,7 +289,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingGameComplete, l10n.endingGameComplete,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 14, fontSize: 18,
color: textPrimary, color: textPrimary,
), ),
), ),
@@ -374,7 +374,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
asciiArt, asciiArt,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 8, fontSize: 14,
color: gold, color: gold,
height: 1.0, height: 1.0,
), ),
@@ -389,7 +389,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'═══════════════════', '═══════════════════',
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: gold.withValues(alpha: 0.5), color: gold.withValues(alpha: 0.5),
), ),
), ),
@@ -398,7 +398,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
title, title,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: gold, color: gold,
letterSpacing: 2, letterSpacing: 2,
), ),
@@ -408,7 +408,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'═══════════════════', '═══════════════════',
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: gold.withValues(alpha: 0.5), color: gold.withValues(alpha: 0.5),
), ),
), ),
@@ -429,7 +429,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
widget.traits.name, widget.traits.name,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 16, fontSize: 18,
color: gold, color: gold,
), ),
), ),
@@ -439,7 +439,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingLevelFormat(widget.traits.level), l10n.endingLevelFormat(widget.traits.level),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: textPrimary, color: textPrimary,
), ),
), ),
@@ -449,7 +449,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'${GameDataL10n.getKlassName(context, widget.traits.klass)}', '${GameDataL10n.getKlassName(context, widget.traits.klass)}',
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: textMuted, color: textMuted,
), ),
), ),
@@ -511,7 +511,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'$label: ', '$label: ',
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: labelColor.withValues(alpha: 0.7), color: labelColor.withValues(alpha: 0.7),
), ),
), ),
@@ -519,7 +519,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: valueColor, color: valueColor,
), ),
), ),
@@ -565,7 +565,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 10, fontSize: 15,
color: color.withValues(alpha: 0.5), color: color.withValues(alpha: 0.5),
), ),
), ),
@@ -574,7 +574,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: color, color: color,
), ),
), ),
@@ -599,7 +599,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
trophy, trophy,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: gold, color: gold,
height: 1.0, height: 1.0,
), ),
@@ -619,7 +619,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.appTitle, l10n.appTitle,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: gold, color: gold,
), ),
), ),
@@ -628,7 +628,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingThankYou, l10n.endingThankYou,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: textPrimary, color: textPrimary,
), ),
), ),
@@ -637,7 +637,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingLegendLivesOn, l10n.endingLegendLivesOn,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 10, fontSize: 15,
color: textMuted, color: textMuted,
fontStyle: FontStyle.italic, fontStyle: FontStyle.italic,
), ),
@@ -661,7 +661,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
theEnd, theEnd,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 8, fontSize: 14,
color: gold, color: gold,
height: 1.0, height: 1.0,
), ),
@@ -682,7 +682,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHallOfFameLine1, l10n.endingHallOfFameLine1,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: gold.withValues(alpha: 0.7), color: gold.withValues(alpha: 0.7),
), ),
), ),
@@ -691,7 +691,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHallOfFameLine2, l10n.endingHallOfFameLine2,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 12, fontSize: 17,
color: gold.withValues(alpha: 0.7), color: gold.withValues(alpha: 0.7),
), ),
), ),
@@ -720,7 +720,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHallOfFameButton, l10n.endingHallOfFameButton,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
), ),
), ),
], ],

View File

@@ -81,7 +81,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofVictory.toUpperCase(), l10n.hofVictory.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 11,
color: goldColor, color: goldColor,
), ),
), ),
@@ -99,7 +99,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofDefeatedGlitchGod, l10n.hofDefeatedGlitchGod,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 11,
color: RetroColors.textPrimaryOf(context), color: RetroColors.textPrimaryOf(context),
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -112,7 +112,7 @@ class GameClearDialog extends StatelessWidget {
entry.characterName, entry.characterName,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 11,
color: goldColor, color: goldColor,
), ),
), ),
@@ -122,7 +122,7 @@ class GameClearDialog extends StatelessWidget {
'${GameDataL10n.getKlassName(context, entry.klass)}', '${GameDataL10n.getKlassName(context, entry.klass)}',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -156,7 +156,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofLegendEnshrined, l10n.hofLegendEnshrined,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
fontStyle: FontStyle.italic, fontStyle: FontStyle.italic,
color: goldColor, color: goldColor,
), ),
@@ -184,7 +184,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofViewHallOfFame.toUpperCase(), l10n.hofViewHallOfFame.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -205,7 +205,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofNewGame.toUpperCase(), l10n.hofNewGame.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.backgroundOf(context), color: RetroColors.backgroundOf(context),
), ),
), ),
@@ -235,7 +235,7 @@ class GameClearDialog extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 11,
color: goldColor, color: goldColor,
), ),
), ),
@@ -244,7 +244,7 @@ class GameClearDialog extends StatelessWidget {
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),

View File

@@ -63,7 +63,7 @@ class HallOfFameEntryCard extends StatelessWidget {
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
color: rankColor, color: rankColor,
fontSize: 10, fontSize: 13,
), ),
), ),
), ),
@@ -82,7 +82,7 @@ class HallOfFameEntryCard extends StatelessWidget {
entry.characterName, entry.characterName,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -108,7 +108,7 @@ class HallOfFameEntryCard extends StatelessWidget {
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
color: RetroColors.mpOf(context), color: RetroColors.mpOf(context),
fontSize: 6, fontSize: 11,
), ),
), ),
), ),
@@ -121,7 +121,7 @@ class HallOfFameEntryCard extends StatelessWidget {
'${GameDataL10n.getKlassName(context, entry.klass)}', '${GameDataL10n.getKlassName(context, entry.klass)}',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 11,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -168,7 +168,7 @@ class HallOfFameEntryCard extends StatelessWidget {
entry.formattedClearedDate, entry.formattedClearedDate,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -227,7 +227,7 @@ class HallOfFameEntryCard extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 11,
color: color, color: color,
), ),
), ),

View File

@@ -51,7 +51,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
l10n.uiHallOfFame.toUpperCase(), l10n.uiHallOfFame.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.goldOf(context), color: RetroColors.goldOf(context),
), ),
), ),
@@ -96,7 +96,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
l10n.hofNoHeroes.toUpperCase(), l10n.hofNoHeroes.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -105,7 +105,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
l10n.hofDefeatGlitchGod, l10n.hofDefeatGlitchGod,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 12,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
@@ -149,7 +149,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
color: goldColor, color: goldColor,
fontSize: 10, fontSize: 14,
letterSpacing: 1, letterSpacing: 1,
), ),
), ),
@@ -192,7 +192,10 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
Text( Text(
'${entry.characterName} (Lv.${entry.level})\n' '${entry.characterName} (Lv.${entry.level})\n'
'${l10n.uiConfirmDelete}', '${l10n.uiConfirmDelete}',
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 7), style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
@@ -238,7 +241,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
SnackBar( SnackBar(
content: Text( content: Text(
l10n.uiDeleted, l10n.uiDeleted,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
), ),
backgroundColor: RetroColors.mpOf(context), backgroundColor: RetroColors.mpOf(context),
duration: const Duration(seconds: 2), duration: const Duration(seconds: 2),
@@ -252,7 +255,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
SnackBar( SnackBar(
content: Text( content: Text(
l10n.uiError, l10n.uiError,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6), style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
), ),
backgroundColor: RetroColors.hpOf(context), backgroundColor: RetroColors.hpOf(context),
duration: const Duration(seconds: 2), duration: const Duration(seconds: 2),

View File

@@ -35,7 +35,7 @@ class HeroDetailDialog extends StatelessWidget {
'Lv.${entry.level}', 'Lv.${entry.level}',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 10,
color: RetroColors.textSecondaryOf(context), color: RetroColors.textSecondaryOf(context),
), ),
), ),
@@ -119,7 +119,7 @@ class HeroDetailDialog extends StatelessWidget {
title.toUpperCase(), title.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 7, fontSize: 10,
color: goldColor, color: goldColor,
), ),
), ),
@@ -333,7 +333,7 @@ class HeroDetailDialog extends StatelessWidget {
'$label ', '$label ',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 10,
color: color, color: color,
), ),
), ),
@@ -341,7 +341,7 @@ class HeroDetailDialog extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 10,
color: color, color: color,
), ),
), ),
@@ -376,7 +376,7 @@ class HeroDetailDialog extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 10,
color: goldColor, color: goldColor,
), ),
), ),
@@ -384,7 +384,7 @@ class HeroDetailDialog extends StatelessWidget {
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 4, fontSize: 10,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -441,7 +441,7 @@ class HeroDetailDialog extends StatelessWidget {
slotLabel, slotLabel,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 10,
color: mutedColor, color: mutedColor,
), ),
), ),
@@ -462,7 +462,7 @@ class HeroDetailDialog extends StatelessWidget {
_getRarityLabel(item.rarity), _getRarityLabel(item.rarity),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 4, fontSize: 10,
color: rarityColor, color: rarityColor,
), ),
), ),
@@ -475,7 +475,7 @@ class HeroDetailDialog extends StatelessWidget {
translatedName, translatedName,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 10,
color: rarityColor, color: rarityColor,
), ),
), ),
@@ -561,7 +561,7 @@ class HeroDetailDialog extends StatelessWidget {
'$label $value', '$label $value',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 10,
color: color, color: color,
), ),
), ),
@@ -651,7 +651,7 @@ class HeroDetailDialog extends StatelessWidget {
l10n.hofNoSkills.toUpperCase(), l10n.hofNoSkills.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 6, fontSize: 10,
color: RetroColors.textMutedOf(context), color: RetroColors.textMutedOf(context),
), ),
), ),
@@ -679,7 +679,7 @@ class HeroDetailDialog extends StatelessWidget {
'$translatedName $rank', '$translatedName $rank',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 5, fontSize: 10,
color: skillColor.shade400, color: skillColor.shade400,
), ),
), ),

View File

@@ -279,7 +279,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
L10n.of(context).newCharacterTitle.toUpperCase(), L10n.of(context).newCharacterTitle.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 15,
color: RetroColors.gold, color: RetroColors.gold,
), ),
), ),
@@ -367,7 +367,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
'DEBUG: TURBO MODE (20x)', 'DEBUG: TURBO MODE (20x)',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: _cheatsEnabled color: _cheatsEnabled
? RetroColors.hpRed ? RetroColors.hpRed
: RetroColors.textDisabled, : RetroColors.textDisabled,
@@ -396,7 +396,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
controller: _nameController, controller: _nameController,
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
// 영문 알파벳만 허용 (공백 불가) // 영문 알파벳만 허용 (공백 불가)
@@ -407,7 +407,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
labelText: l10n.name, labelText: l10n.name,
labelStyle: const TextStyle( labelStyle: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.gold, color: RetroColors.gold,
), ),
border: const OutlineInputBorder( border: const OutlineInputBorder(
@@ -470,7 +470,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
l10n.total.toUpperCase(), l10n.total.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
@@ -479,7 +479,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
'$_total', '$_total',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 14, fontSize: 16,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: _getTotalColor(), color: _getTotalColor(),
), ),
@@ -515,7 +515,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
game_l10n.uiRollHistory(_rollHistory.length), game_l10n.uiRollHistory(_rollHistory.length),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.textDisabled, color: RetroColors.textDisabled,
), ),
), ),
@@ -540,7 +540,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
label.toUpperCase(), label.toUpperCase(),
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: RetroColors.gold, color: RetroColors.gold,
), ),
), ),
@@ -549,7 +549,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
'$value', '$value',
style: const TextStyle( style: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 12, fontSize: 17,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: RetroColors.textLight, color: RetroColors.textLight,
), ),
@@ -598,7 +598,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
GameDataL10n.getRaceName(context, race.name), GameDataL10n.getRaceName(context, race.name),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 14,
color: isSelected color: isSelected
? RetroColors.gold ? RetroColors.gold
: RetroColors.textLight, : RetroColors.textLight,
@@ -638,12 +638,15 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
if (statMods.isNotEmpty) if (statMods.isNotEmpty)
Text( Text(
statMods.join(', '), statMods.join(', '),
style: const TextStyle(fontSize: 9, color: RetroColors.textLight), style: const TextStyle(
fontSize: 15,
color: RetroColors.textLight,
),
), ),
if (passiveDesc.isNotEmpty) if (passiveDesc.isNotEmpty)
Text( Text(
passiveDesc, passiveDesc,
style: const TextStyle(fontSize: 9, color: RetroColors.expGreen), style: const TextStyle(fontSize: 15, color: RetroColors.expGreen),
), ),
], ],
), ),
@@ -714,7 +717,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
GameDataL10n.getKlassName(context, klass.name), GameDataL10n.getKlassName(context, klass.name),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 14,
color: isSelected color: isSelected
? RetroColors.gold ? RetroColors.gold
: RetroColors.textLight, : RetroColors.textLight,
@@ -754,12 +757,15 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
if (statMods.isNotEmpty) if (statMods.isNotEmpty)
Text( Text(
statMods.join(', '), statMods.join(', '),
style: const TextStyle(fontSize: 9, color: RetroColors.textLight), style: const TextStyle(
fontSize: 15,
color: RetroColors.textLight,
),
), ),
if (passiveDesc.isNotEmpty) if (passiveDesc.isNotEmpty)
Text( Text(
passiveDesc, passiveDesc,
style: const TextStyle(fontSize: 9, color: RetroColors.expGreen), style: const TextStyle(fontSize: 15, color: RetroColors.expGreen),
), ),
], ],
), ),

View File

@@ -110,7 +110,7 @@ class _RacePreviewState extends State<RacePreview> {
text: char, text: char,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 18, fontSize: 22,
height: 1.2, height: 1.2,
color: _getCharColor(char), color: _getCharColor(char),
), ),

View File

@@ -361,7 +361,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
Text( Text(
label, label,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 17,
fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, fontWeight: isSelected ? FontWeight.bold : FontWeight.normal,
color: isSelected color: isSelected
? theme.colorScheme.onPrimaryContainer ? theme.colorScheme.onPrimaryContainer

View File

@@ -138,10 +138,8 @@ abstract class RetroTheme {
); );
/// 뮤트 텍스트 스타일 /// 뮤트 텍스트 스타일
static TextStyle bodyTextMuted(BuildContext context) => TextStyle( static TextStyle bodyTextMuted(BuildContext context) =>
fontSize: fontSizeSm, TextStyle(fontSize: fontSizeSm, color: RetroColors.textMutedOf(context));
color: RetroColors.textMutedOf(context),
);
/// 라벨 텍스트 스타일 /// 라벨 텍스트 스타일
static TextStyle labelText(BuildContext context) => TextStyle( static TextStyle labelText(BuildContext context) => TextStyle(

View File

@@ -59,8 +59,10 @@ class PanelHeader extends StatelessWidget {
return switch (variant) { return switch (variant) {
PanelHeaderVariant.primary => _buildPrimaryHeader(context, displayTitle), PanelHeaderVariant.primary => _buildPrimaryHeader(context, displayTitle),
PanelHeaderVariant.section => _buildSectionHeader(context, displayTitle), PanelHeaderVariant.section => _buildSectionHeader(context, displayTitle),
PanelHeaderVariant.equipment => PanelHeaderVariant.equipment => _buildEquipmentHeader(
_buildEquipmentHeader(context, displayTitle), context,
displayTitle,
),
}; };
} }
@@ -79,7 +81,7 @@ class PanelHeader extends StatelessWidget {
displayTitle, displayTitle,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: RetroTheme.fontSizeXs, fontSize: 7,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: gold, color: gold,
), ),
@@ -98,7 +100,7 @@ class PanelHeader extends StatelessWidget {
displayTitle, displayTitle,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: colorScheme.onPrimaryContainer, color: colorScheme.onPrimaryContainer,
), ),
), ),
@@ -132,7 +134,7 @@ class PanelHeader extends StatelessWidget {
displayTitle, displayTitle,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 13, fontSize: 18,
color: gold, color: gold,
), ),
), ),
@@ -162,7 +164,7 @@ class MutedSectionHeader extends StatelessWidget {
title.toUpperCase(), title.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: RetroTheme.fontSizeXs, fontSize: 7,
color: textMuted, color: textMuted,
), ),
), ),

View File

@@ -108,7 +108,7 @@ class _RetroButtonState extends State<RetroButton> {
child: DefaultTextStyle( child: DefaultTextStyle(
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: _isEnabled color: _isEnabled
? (_isHovered ? RetroColors.gold : RetroColors.textLight) ? (_isHovered ? RetroColors.gold : RetroColors.textLight)
: RetroColors.textDisabled, : RetroColors.textDisabled,

View File

@@ -76,7 +76,7 @@ class RetroDialog extends StatelessWidget {
child: Row( child: Row(
children: [ children: [
if (titleIcon != null) ...[ if (titleIcon != null) ...[
Text(titleIcon!, style: TextStyle(fontSize: 14, color: accent)), Text(titleIcon!, style: TextStyle(fontSize: 18, color: accent)),
const SizedBox(width: 8), const SizedBox(width: 8),
], ],
Expanded( Expanded(
@@ -84,7 +84,7 @@ class RetroDialog extends StatelessWidget {
title.toUpperCase(), title.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: accent, color: accent,
letterSpacing: 1, letterSpacing: 1,
), ),
@@ -101,7 +101,7 @@ class RetroDialog extends StatelessWidget {
'X', 'X',
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: mutedColor, color: mutedColor,
), ),
), ),
@@ -146,10 +146,10 @@ class RetroTabBar extends StatelessWidget {
), ),
labelColor: accent, labelColor: accent,
unselectedLabelColor: mutedColor, unselectedLabelColor: mutedColor,
labelStyle: const TextStyle(fontFamily: 'PressStart2P', fontSize: 9), labelStyle: const TextStyle(fontFamily: 'PressStart2P', fontSize: 14),
unselectedLabelStyle: const TextStyle( unselectedLabelStyle: const TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
), ),
dividerColor: Colors.transparent, dividerColor: Colors.transparent,
tabs: tabs.map((t) => Tab(text: t.toUpperCase())).toList(), tabs: tabs.map((t) => Tab(text: t.toUpperCase())).toList(),
@@ -181,14 +181,14 @@ class RetroSectionHeader extends StatelessWidget {
child: Row( child: Row(
children: [ children: [
if (icon != null) ...[ if (icon != null) ...[
Text(icon!, style: TextStyle(fontSize: 12, color: accent)), Text(icon!, style: TextStyle(fontSize: 17, color: accent)),
const SizedBox(width: 6), const SizedBox(width: 6),
], ],
Text( Text(
title.toUpperCase(), title.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: accent, color: accent,
), ),
), ),
@@ -238,7 +238,7 @@ class RetroInfoBox extends StatelessWidget {
content, content,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 9, fontSize: 14,
color: textColor, color: textColor,
height: 1.8, height: 1.8,
), ),
@@ -278,7 +278,7 @@ class RetroStatRow extends StatelessWidget {
label, label,
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 8, fontSize: 13,
color: mutedColor, color: mutedColor,
), ),
), ),
@@ -296,7 +296,7 @@ class RetroStatRow extends StatelessWidget {
value, value,
style: TextStyle( style: TextStyle(
fontFamily: 'JetBrainsMono', fontFamily: 'JetBrainsMono',
fontSize: 9, fontSize: 15,
color: highlight ? accent : textColor, color: highlight ? accent : textColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),

View File

@@ -94,7 +94,7 @@ class _PanelTitle extends StatelessWidget {
title.toUpperCase(), title.toUpperCase(),
style: TextStyle( style: TextStyle(
fontFamily: 'PressStart2P', fontFamily: 'PressStart2P',
fontSize: 10, fontSize: 14,
color: useGoldBorder ? RetroColors.gold : RetroColors.textLight, color: useGoldBorder ? RetroColors.gold : RetroColors.textLight,
letterSpacing: 1, letterSpacing: 1,
), ),