feat(D): 카드/적 데이터 외부화 (data/*.json)
Cards·시작덱·적 정의를 data/cards.json·data/enemies.json으로 분리, gen-slaydeck가 로드·검증·주입. - data/cards.json: 카드 정의(name/cost/kind/damage|block/desc) + starterDeck - data/enemies.json: 적 정의(name/maxHp/intents) + activeEnemy - 생성기: JSON 로드 + fail-fast 검증(미존재 카드/적 id) + Lua 직렬화 헬퍼 - StartCombat·EnemyMaxHp·카드 미리보기·CombatHud 초기텍스트를 데이터에서 생성 - codeblock 출력은 기존과 동일(순수 리팩터), ui 미리보기는 카드 종류 순환 표시 - 검증: 데이터 1장 수치 변경→재생성 반영 확인, 결정성, fail-fast(exit1), 메이커 Play 정상 - 수치는 임시 placeholder, 추후 메이플 IP대로 카드/적 확장 예정 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2059,9 +2059,9 @@
|
||||
"PreserveSprite": 0,
|
||||
"StartFrameIndex": 0,
|
||||
"Color": {
|
||||
"r": 0.86,
|
||||
"g": 0.42,
|
||||
"b": 0.38,
|
||||
"r": 0.42,
|
||||
"g": 0.55,
|
||||
"b": 0.85,
|
||||
"a": 1
|
||||
},
|
||||
"DropShadow": false,
|
||||
@@ -2514,7 +2514,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "타격",
|
||||
"Text": "방어",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -2702,7 +2702,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "피해 6",
|
||||
"Text": "방어도 5",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -2811,9 +2811,9 @@
|
||||
"PreserveSprite": 0,
|
||||
"StartFrameIndex": 0,
|
||||
"Color": {
|
||||
"r": 0.42,
|
||||
"g": 0.55,
|
||||
"b": 0.85,
|
||||
"r": 0.86,
|
||||
"g": 0.42,
|
||||
"b": 0.38,
|
||||
"a": 1
|
||||
},
|
||||
"DropShadow": false,
|
||||
@@ -3078,7 +3078,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "1",
|
||||
"Text": "2",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -3266,7 +3266,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "방어",
|
||||
"Text": "강타",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -3454,7 +3454,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "방어도 5",
|
||||
"Text": "피해 10",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -3563,9 +3563,9 @@
|
||||
"PreserveSprite": 0,
|
||||
"StartFrameIndex": 0,
|
||||
"Color": {
|
||||
"r": 0.42,
|
||||
"g": 0.55,
|
||||
"b": 0.85,
|
||||
"r": 0.86,
|
||||
"g": 0.42,
|
||||
"b": 0.38,
|
||||
"a": 1
|
||||
},
|
||||
"DropShadow": false,
|
||||
@@ -4018,7 +4018,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "방어",
|
||||
"Text": "타격",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -4206,7 +4206,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "방어도 5",
|
||||
"Text": "피해 6",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -4315,9 +4315,9 @@
|
||||
"PreserveSprite": 0,
|
||||
"StartFrameIndex": 0,
|
||||
"Color": {
|
||||
"r": 0.86,
|
||||
"g": 0.42,
|
||||
"b": 0.38,
|
||||
"r": 0.42,
|
||||
"g": 0.55,
|
||||
"b": 0.85,
|
||||
"a": 1
|
||||
},
|
||||
"DropShadow": false,
|
||||
@@ -4582,7 +4582,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "2",
|
||||
"Text": "1",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -4770,7 +4770,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "강타",
|
||||
"Text": "방어",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
@@ -4958,7 +4958,7 @@
|
||||
"bottom": 0
|
||||
},
|
||||
"SizeFit": false,
|
||||
"Text": "피해 10",
|
||||
"Text": "방어도 5",
|
||||
"UseOutLine": true,
|
||||
"Enable": true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user