feat(core): 장비 시스템 및 게임 상태 모델 확장

- Equipment 클래스를 11개 슬롯으로 확장 (원본 Main.dfm 충실)
- TaskInfo에 몬스터 정보(baseName, part) 추가
- Stats에 현재 HP/MP 필드 추가
- 히스토리 기능 구현 (plotHistory, questHistory)
- pq_logic winEquip/winStatIndex 원본 로직 개선
- 퀘스트 몬스터 처리 로직 구현
- SaveData 직렬화 확장
This commit is contained in:
JiWoong Sul
2025-12-09 22:30:37 +09:00
parent b512fde1fb
commit b450bf2600
12 changed files with 571 additions and 208 deletions

View File

@@ -301,7 +301,9 @@ class _GamePlayScreenState extends State<GamePlayScreen>
child: Text(
'${speed}x',
style: TextStyle(
fontWeight: speed > 1 ? FontWeight.bold : FontWeight.normal,
fontWeight: speed > 1
? FontWeight.bold
: FontWeight.normal,
color: speed > 1
? Theme.of(context).colorScheme.primary
: null,
@@ -468,11 +470,19 @@ class _GamePlayScreenState extends State<GamePlayScreen>
}
Widget _buildEquipmentList(GameState state) {
// 원본에는 11개 슬롯이 있지만, 현재 모델은 3개만 구현
// 원본 Main.dfm Equips ListView - 11개 슬롯
final equipment = [
('Weapon', state.equipment.weapon),
('Shield', state.equipment.shield),
('Armor', state.equipment.armor),
('Helm', state.equipment.helm),
('Hauberk', state.equipment.hauberk),
('Brassairts', state.equipment.brassairts),
('Vambraces', state.equipment.vambraces),
('Gauntlets', state.equipment.gauntlets),
('Gambeson', state.equipment.gambeson),
('Cuisses', state.equipment.cuisses),
('Greaves', state.equipment.greaves),
('Sollerets', state.equipment.sollerets),
];
return ListView.builder(