Add reference game-state captures

Hand-captured state snapshots (menu through hand_select) used to
build the facts layer and decision handlers. Live run dumps are
gitignored, these stay for reference.
This commit is contained in:
0xrsydn 2026-09-21 17:09:43 +07:00
commit 9966580d41
16 changed files with 3077 additions and 0 deletions

306
capture/0.json Normal file
View file

@ -0,0 +1,306 @@
{
"state_type": "hand_select",
"hand_select": {
"mode": "simple_select",
"prompt": "Choose any number of cards to replace.",
"cards": [],
"selected_cards": [
{
"index": 0,
"name": "Defend"
},
{
"index": 1,
"name": "Defend"
},
{
"index": 2,
"name": "Strike"
},
{
"index": 3,
"name": "Defend"
},
{
"index": 4,
"name": "Strike"
}
],
"can_confirm": true
},
"battle": {
"round": 1,
"turn": "player",
"is_play_phase": false,
"enemies": [
{
"entity_id": "BYRDONIS_0",
"combat_id": 1,
"name": "Byrdonis",
"hp": 80,
"max_hp": 83,
"block": 0,
"status": [
{
"id": "TERRITORIAL_POWER",
"name": "Territorial",
"amount": 1,
"type": "Buff",
"description": "At the end of Byrdonis's turn, it gains 1 Strength.",
"keywords": [
{
"name": "Strength",
"description": "Strength adds additional damage to Attacks."
}
]
}
],
"intents": [
{
"type": "Attack",
"label": "17",
"title": "Aggressive",
"description": "This enemy intends to Attack for 17 damage."
}
]
}
]
},
"run": {
"act": 1,
"floor": 13,
"ascension": 0
},
"player": {
"character": "The Ironclad",
"hp": 49,
"max_hp": 85,
"block": 0,
"energy": 3,
"max_energy": 3,
"hand": [
{
"id": "DEFEND_IRONCLAD",
"name": "Defend",
"type": "Skill",
"cost": "1",
"star_cost": null,
"description": "Gain 5 Block.",
"rarity": "Basic",
"is_upgraded": false,
"keywords": [
{
"name": "Block",
"description": "Until next turn, prevents damage."
}
],
"index": 0,
"target_type": "Self",
"can_play": true,
"unplayable_reason": null
},
{
"id": "DEFEND_IRONCLAD",
"name": "Defend",
"type": "Skill",
"cost": "1",
"star_cost": null,
"description": "Gain 5 Block.",
"rarity": "Basic",
"is_upgraded": false,
"keywords": [
{
"name": "Block",
"description": "Until next turn, prevents damage."
}
],
"index": 1,
"target_type": "Self",
"can_play": true,
"unplayable_reason": null
},
{
"id": "STRIKE_IRONCLAD",
"name": "Strike",
"type": "Attack",
"cost": "1",
"star_cost": null,
"description": "Deal 6 damage.",
"rarity": "Basic",
"is_upgraded": false,
"keywords": [],
"index": 2,
"target_type": "AnyEnemy",
"can_play": true,
"unplayable_reason": null
},
{
"id": "DEFEND_IRONCLAD",
"name": "Defend",
"type": "Skill",
"cost": "1",
"star_cost": null,
"description": "Gain 5 Block.",
"rarity": "Basic",
"is_upgraded": false,
"keywords": [
{
"name": "Block",
"description": "Until next turn, prevents damage."
}
],
"index": 3,
"target_type": "Self",
"can_play": true,
"unplayable_reason": null
},
{
"id": "STRIKE_IRONCLAD",
"name": "Strike",
"type": "Attack",
"cost": "1",
"star_cost": null,
"description": "Deal 6 damage.",
"rarity": "Basic",
"is_upgraded": false,
"keywords": [],
"index": 4,
"target_type": "AnyEnemy",
"can_play": true,
"unplayable_reason": null
}
],
"draw_pile_count": 8,
"discard_pile_count": 0,
"exhaust_pile_count": 0,
"draw_pile": [
{
"name": "Bash",
"cost": "2",
"star_cost": null,
"description": "Deal 8 damage. Apply 2 Vulnerable."
},
{
"name": "Defend",
"cost": "1",
"star_cost": null,
"description": "Gain 5 Block."
},
{
"name": "Strike+",
"cost": "1",
"star_cost": null,
"description": "Deal 9 damage."
},
{
"name": "Strike+",
"cost": "1",
"star_cost": null,
"description": "Deal 9 damage."
},
{
"name": "Strike",
"cost": "1",
"star_cost": null,
"description": "Deal 6 damage."
},
{
"name": "Pommel Strike",
"cost": "1",
"star_cost": null,
"description": "Deal 9 damage. Draw 1 card."
},
{
"name": "Uppercut",
"cost": "2",
"star_cost": null,
"description": "Deal 13 damage. Apply 1 Weak. Apply 1 Vulnerable."
},
{
"name": "Thrash",
"cost": "1",
"star_cost": null,
"description": "Deal 4 damage twice. Exhaust a random Attack in your Hand and add its damage to this card."
}
],
"discard_pile": [],
"exhaust_pile": [],
"gold": 459,
"status": [
{
"id": "THORNS_POWER",
"name": "Thorns",
"amount": 3,
"type": "Buff",
"description": "When hit by an attack, deal 3 damage back.",
"keywords": []
}
],
"relics": [
{
"id": "BURNING_BLOOD",
"name": "Burning Blood",
"description": "At the end of combat, heal 6 HP.",
"counter": null,
"keywords": []
},
{
"id": "GOLDEN_PEARL",
"name": "Golden Pearl",
"description": "Upon pickup, gain 150 Gold.",
"counter": null,
"keywords": []
},
{
"id": "MERCURY_HOURGLASS",
"name": "Mercury Hourglass",
"description": "At the start of your turn, deal 3 damage to ALL enemies.",
"counter": null,
"keywords": []
},
{
"id": "ORICHALCUM",
"name": "Orichalcum",
"description": "If you end your turn without Block, gain 6 Block.",
"counter": null,
"keywords": [
{
"name": "Block",
"description": "Until next turn, prevents damage."
}
]
},
{
"id": "GAMBLING_CHIP",
"name": "Gambling Chip",
"description": "At the start of each combat, discard any number of cards then draw that many.",
"counter": null,
"keywords": []
},
{
"id": "BRONZE_SCALES",
"name": "Bronze Scales",
"description": "Start each combat with 3 Thorns.",
"counter": null,
"keywords": [
{
"name": "Thorns",
"description": "When hit by an attack, deal damage back."
}
]
}
],
"potions": [
{
"id": "FIRE_POTION",
"name": "Fire Potion",
"description": "Deal 20 damage.",
"slot": 0,
"can_use_in_combat": true,
"target_type": "AnyEnemy",
"keywords": []
}
],
"max_potion_slots": 3
}
}