Move items.jsonc under items/, add starter battle/moves.jsonc

Groups item data under assets/items/ to match the cutscenes/ folder
convention, updating itemInit()'s asset path accordingly. Also adds
assets/battle/moves.jsonc as a starting point for move data - there's
no JSON loader consuming it yet (battleability_t is still just a bare
enum), so its field shape is a placeholder rather than a contract.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
2026-09-14 12:00:46 -05:00
co-authored by Claude Sonnet 5
parent 68cebce04a
commit 3ce892f846
3 changed files with 16 additions and 1 deletions
+14
View File
@@ -0,0 +1,14 @@
{
// Keyed by move id. "ability" matches a BATTLE_ABILITY_* enum name
// (see src/dusk/rpg/battle/battleability.h) - there's no JSON loader
// consuming this file yet, so field names/shape here are a starting
// point, not a contract.
"moves": {
"fire": {
"ability": "FIRE",
"power": 12,
"mpCost": 4,
"target": "SINGLE_ENEMY"
}
}
}
+2 -1
View File
@@ -34,7 +34,8 @@ errorret_t itemInit(void) {
ITEM.typeCount = ITEM_TYPE_NULL + 1; ITEM.typeCount = ITEM_TYPE_NULL + 1;
ITEM.defCount = ITEM_ID_NULL + 1; ITEM.defCount = ITEM_ID_NULL + 1;
assetentry_t *entry = assetLock("items.jsonc", ASSET_LOADER_TYPE_JSON, NULL); assetentry_t *entry =
assetLock("items/items.jsonc", ASSET_LOADER_TYPE_JSON, NULL);
errorret_t ret = assetRequireLoaded(entry); errorret_t ret = assetRequireLoaded(entry);
if(errorIsNotOk(ret)) { if(errorIsNotOk(ret)) {
assetUnlockEntry(entry); assetUnlockEntry(entry);