From 9966580d417220df1fe6bc6935fcde4bb3de9255 Mon Sep 17 00:00:00 2001 From: 0xrsydn Date: Mon, 21 Sep 2026 17:09:43 +0700 Subject: [PATCH] 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. --- capture/0.json | 306 ++++++++++ capture/01_menu.json | 11 + capture/02_after_singleplayer.json | 193 +++++++ capture/03_character_selected.json | 193 +++++++ capture/04_run_started.json | 15 + capture/05_after_tutorial_prompt.json | 198 +++++++ capture/06_map.json | 783 ++++++++++++++++++++++++++ capture/07_combat.json | 28 + capture/08_combat_resumed.json | 9 + capture/09_now.json | 187 ++++++ capture/10_card_reward.json | 87 +++ capture/11_rewards.json | 31 + capture/12_map_stuck.json | 194 +++++++ capture/13_stuck.json | 268 +++++++++ capture/14_after_confirm.json | 268 +++++++++ capture/15_hand_select.json | 306 ++++++++++ 16 files changed, 3077 insertions(+) create mode 100644 capture/0.json create mode 100644 capture/01_menu.json create mode 100644 capture/02_after_singleplayer.json create mode 100644 capture/03_character_selected.json create mode 100644 capture/04_run_started.json create mode 100644 capture/05_after_tutorial_prompt.json create mode 100644 capture/06_map.json create mode 100644 capture/07_combat.json create mode 100644 capture/08_combat_resumed.json create mode 100644 capture/09_now.json create mode 100644 capture/10_card_reward.json create mode 100644 capture/11_rewards.json create mode 100644 capture/12_map_stuck.json create mode 100644 capture/13_stuck.json create mode 100644 capture/14_after_confirm.json create mode 100644 capture/15_hand_select.json diff --git a/capture/0.json b/capture/0.json new file mode 100644 index 0000000..ce3ea4d --- /dev/null +++ b/capture/0.json @@ -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 + } +} \ No newline at end of file diff --git a/capture/01_menu.json b/capture/01_menu.json new file mode 100644 index 0000000..4042206 --- /dev/null +++ b/capture/01_menu.json @@ -0,0 +1,11 @@ +{ + "state_type": "menu", + "menu_screen": "main", + "message": "Main menu.", + "options": [ + "singleplayer", + "multiplayer", + "settings", + "quit" + ] +} \ No newline at end of file diff --git a/capture/02_after_singleplayer.json b/capture/02_after_singleplayer.json new file mode 100644 index 0000000..adbf913 --- /dev/null +++ b/capture/02_after_singleplayer.json @@ -0,0 +1,193 @@ +{ + "state_type": "menu", + "menu_screen": "character_select", + "message": "Select a character.", + "characters": [ + { + "name": "The Ironclad", + "id": "IRONCLAD", + "locked": false, + "hp": 80, + "gold": 99, + "energy": 3, + "description": "Ironclad cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Bash" + ], + "total_cards": 87, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Silent", + "id": "SILENT", + "locked": true, + "hp": 70, + "gold": 99, + "energy": 3, + "description": "Silent cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Ring of the Snake", + "description": "At the start of each combat, draw 2 additional cards." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Defend", + "Neutralize", + "Survivor" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Regent", + "id": "REGENT", + "locked": true, + "hp": 75, + "gold": 99, + "energy": 3, + "description": "Regent cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Divine Right", + "description": "At the start of each combat, gain [star_icon.png][star_icon.png][star_icon.png]." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Falling Star", + "Venerate" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Necrobinder", + "id": "NECROBINDER", + "locked": true, + "hp": 66, + "gold": 99, + "energy": 3, + "description": "Necrobinder cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Bound Phylactery", + "description": "At the start of your turn, Summon 1." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Bodyguard", + "Unleash" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Defect", + "id": "DEFECT", + "locked": true, + "hp": 75, + "gold": 99, + "energy": 3, + "description": "Defect cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Cracked Core", + "description": "At the start of each combat, Channel 1 Lightning." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Zap", + "Dualcast" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + } + ], + "options": [ + { + "name": "IRONCLAD", + "enabled": true + }, + { + "name": "SILENT", + "enabled": false + }, + { + "name": "REGENT", + "enabled": false + }, + { + "name": "NECROBINDER", + "enabled": false + }, + { + "name": "DEFECT", + "enabled": false + }, + { + "name": "confirm", + "enabled": true + }, + { + "name": "embark", + "enabled": true + }, + { + "name": "back", + "enabled": true + } + ] +} \ No newline at end of file diff --git a/capture/03_character_selected.json b/capture/03_character_selected.json new file mode 100644 index 0000000..adbf913 --- /dev/null +++ b/capture/03_character_selected.json @@ -0,0 +1,193 @@ +{ + "state_type": "menu", + "menu_screen": "character_select", + "message": "Select a character.", + "characters": [ + { + "name": "The Ironclad", + "id": "IRONCLAD", + "locked": false, + "hp": 80, + "gold": 99, + "energy": 3, + "description": "Ironclad cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Bash" + ], + "total_cards": 87, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Silent", + "id": "SILENT", + "locked": true, + "hp": 70, + "gold": 99, + "energy": 3, + "description": "Silent cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Ring of the Snake", + "description": "At the start of each combat, draw 2 additional cards." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Defend", + "Neutralize", + "Survivor" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Regent", + "id": "REGENT", + "locked": true, + "hp": 75, + "gold": 99, + "energy": 3, + "description": "Regent cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Divine Right", + "description": "At the start of each combat, gain [star_icon.png][star_icon.png][star_icon.png]." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Falling Star", + "Venerate" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Necrobinder", + "id": "NECROBINDER", + "locked": true, + "hp": 66, + "gold": 99, + "energy": 3, + "description": "Necrobinder cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Bound Phylactery", + "description": "At the start of your turn, Summon 1." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Bodyguard", + "Unleash" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Defect", + "id": "DEFECT", + "locked": true, + "hp": 75, + "gold": 99, + "energy": 3, + "description": "Defect cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Cracked Core", + "description": "At the start of each combat, Channel 1 Lightning." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Zap", + "Dualcast" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + } + ], + "options": [ + { + "name": "IRONCLAD", + "enabled": true + }, + { + "name": "SILENT", + "enabled": false + }, + { + "name": "REGENT", + "enabled": false + }, + { + "name": "NECROBINDER", + "enabled": false + }, + { + "name": "DEFECT", + "enabled": false + }, + { + "name": "confirm", + "enabled": true + }, + { + "name": "embark", + "enabled": true + }, + { + "name": "back", + "enabled": true + } + ] +} \ No newline at end of file diff --git a/capture/04_run_started.json b/capture/04_run_started.json new file mode 100644 index 0000000..a15a927 --- /dev/null +++ b/capture/04_run_started.json @@ -0,0 +1,15 @@ +{ + "state_type": "menu", + "menu_screen": "tutorial_prompt", + "message": "Enable Tutorials? Choose yes or no.", + "options": [ + { + "name": "no", + "enabled": true + }, + { + "name": "yes", + "enabled": true + } + ] +} \ No newline at end of file diff --git a/capture/05_after_tutorial_prompt.json b/capture/05_after_tutorial_prompt.json new file mode 100644 index 0000000..152ed6d --- /dev/null +++ b/capture/05_after_tutorial_prompt.json @@ -0,0 +1,198 @@ +{ + "state_type": "menu", + "menu_screen": "character_select", + "message": "Select a character.", + "characters": [ + { + "name": "The Ironclad", + "id": "IRONCLAD", + "locked": false, + "hp": 80, + "gold": 99, + "energy": 3, + "description": "Ironclad cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Bash" + ], + "total_cards": 87, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Silent", + "id": "SILENT", + "locked": true, + "hp": 70, + "gold": 99, + "energy": 3, + "description": "Silent cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Ring of the Snake", + "description": "At the start of each combat, draw 2 additional cards." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Defend", + "Neutralize", + "Survivor" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Regent", + "id": "REGENT", + "locked": true, + "hp": 75, + "gold": 99, + "energy": 3, + "description": "Regent cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Divine Right", + "description": "At the start of each combat, gain [star_icon.png][star_icon.png][star_icon.png]." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Falling Star", + "Venerate" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Necrobinder", + "id": "NECROBINDER", + "locked": true, + "hp": 66, + "gold": 99, + "energy": 3, + "description": "Necrobinder cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Bound Phylactery", + "description": "At the start of your turn, Summon 1." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Bodyguard", + "Unleash" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + }, + { + "name": "The Defect", + "id": "DEFECT", + "locked": true, + "hp": 75, + "gold": 99, + "energy": 3, + "description": "Defect cards will now appear in rewards and shops.", + "starting_relics": [ + { + "name": "Cracked Core", + "description": "At the start of each combat, Channel 1 Lightning." + } + ], + "starting_deck": [ + "Strike", + "Strike", + "Strike", + "Strike", + "Defend", + "Defend", + "Defend", + "Defend", + "Zap", + "Dualcast" + ], + "total_cards": 88, + "total_relics": 8, + "total_potions": 3 + } + ], + "options": [ + { + "name": "IRONCLAD", + "enabled": true + }, + { + "name": "SILENT", + "enabled": false + }, + { + "name": "REGENT", + "enabled": false + }, + { + "name": "NECROBINDER", + "enabled": false + }, + { + "name": "DEFECT", + "enabled": false + }, + { + "name": "confirm", + "enabled": false + }, + { + "name": "embark", + "enabled": false + }, + { + "name": "back", + "enabled": false + } + ], + "run": { + "act": 1, + "floor": 0, + "ascension": 0 + } +} \ No newline at end of file diff --git a/capture/06_map.json b/capture/06_map.json new file mode 100644 index 0000000..8e94fcc --- /dev/null +++ b/capture/06_map.json @@ -0,0 +1,783 @@ +{ + "state_type": "map", + "map": { + "visited": [], + "next_options": [ + { + "index": 0, + "col": 3, + "row": 0, + "type": "Monster", + "leads_to": [ + { + "col": 0, + "row": 1, + "type": "Monster" + }, + { + "col": 3, + "row": 1, + "type": "Monster" + }, + { + "col": 6, + "row": 1, + "type": "Monster" + } + ] + } + ], + "nodes": [ + { + "col": 3, + "row": 0, + "type": "Monster", + "children": [ + [ + 0, + 1 + ], + [ + 3, + 1 + ], + [ + 6, + 1 + ] + ] + }, + { + "col": 0, + "row": 1, + "type": "Monster", + "children": [ + [ + 0, + 2 + ] + ] + }, + { + "col": 0, + "row": 2, + "type": "Monster", + "children": [ + [ + 0, + 3 + ] + ] + }, + { + "col": 0, + "row": 3, + "type": "Unknown", + "children": [ + [ + 0, + 4 + ] + ] + }, + { + "col": 0, + "row": 4, + "type": "Unknown", + "children": [ + [ + 1, + 5 + ] + ] + }, + { + "col": 0, + "row": 7, + "type": "Elite", + "children": [ + [ + 0, + 8 + ] + ] + }, + { + "col": 0, + "row": 8, + "type": "Monster", + "children": [ + [ + 0, + 9 + ] + ] + }, + { + "col": 0, + "row": 9, + "type": "Treasure", + "children": [ + [ + 0, + 10 + ], + [ + 1, + 10 + ] + ] + }, + { + "col": 0, + "row": 10, + "type": "Monster", + "children": [ + [ + 0, + 11 + ] + ] + }, + { + "col": 0, + "row": 11, + "type": "Monster", + "children": [ + [ + 0, + 12 + ] + ] + }, + { + "col": 0, + "row": 12, + "type": "Monster", + "children": [ + [ + 0, + 13 + ] + ] + }, + { + "col": 0, + "row": 13, + "type": "Monster", + "children": [ + [ + 0, + 14 + ] + ] + }, + { + "col": 0, + "row": 14, + "type": "Elite", + "children": [ + [ + 1, + 15 + ] + ] + }, + { + "col": 1, + "row": 5, + "type": "Monster", + "children": [ + [ + 1, + 6 + ], + [ + 2, + 6 + ] + ] + }, + { + "col": 1, + "row": 6, + "type": "Monster", + "children": [ + [ + 0, + 7 + ], + [ + 2, + 7 + ] + ] + }, + { + "col": 1, + "row": 8, + "type": "Unknown", + "children": [ + [ + 0, + 9 + ] + ] + }, + { + "col": 1, + "row": 10, + "type": "RestSite", + "children": [ + [ + 1, + 11 + ] + ] + }, + { + "col": 1, + "row": 11, + "type": "Shop", + "children": [ + [ + 0, + 12 + ] + ] + }, + { + "col": 1, + "row": 15, + "type": "RestSite", + "children": [ + [ + 3, + 16 + ] + ] + }, + { + "col": 2, + "row": 4, + "type": "Monster", + "children": [ + [ + 1, + 5 + ] + ] + }, + { + "col": 2, + "row": 6, + "type": "Unknown", + "children": [ + [ + 2, + 7 + ] + ] + }, + { + "col": 2, + "row": 7, + "type": "Shop", + "children": [ + [ + 1, + 8 + ], + [ + 2, + 8 + ] + ] + }, + { + "col": 2, + "row": 8, + "type": "RestSite", + "children": [ + [ + 2, + 9 + ] + ] + }, + { + "col": 2, + "row": 9, + "type": "Treasure", + "children": [ + [ + 3, + 10 + ] + ] + }, + { + "col": 3, + "row": 1, + "type": "Monster", + "children": [ + [ + 3, + 2 + ] + ] + }, + { + "col": 3, + "row": 2, + "type": "Shop", + "children": [ + [ + 3, + 3 + ] + ] + }, + { + "col": 3, + "row": 3, + "type": "Monster", + "children": [ + [ + 2, + 4 + ], + [ + 3, + 4 + ] + ] + }, + { + "col": 3, + "row": 4, + "type": "Monster", + "children": [ + [ + 3, + 5 + ] + ] + }, + { + "col": 3, + "row": 5, + "type": "Monster", + "children": [ + [ + 4, + 6 + ] + ] + }, + { + "col": 3, + "row": 10, + "type": "Elite", + "children": [ + [ + 3, + 11 + ] + ] + }, + { + "col": 3, + "row": 11, + "type": "Monster", + "children": [ + [ + 3, + 12 + ] + ] + }, + { + "col": 3, + "row": 12, + "type": "RestSite", + "children": [ + [ + 4, + 13 + ] + ] + }, + { + "col": 3, + "row": 14, + "type": "Monster", + "children": [ + [ + 3, + 15 + ] + ] + }, + { + "col": 3, + "row": 15, + "type": "RestSite", + "children": [ + [ + 3, + 16 + ] + ] + }, + { + "col": 4, + "row": 6, + "type": "Unknown", + "children": [ + [ + 4, + 7 + ] + ] + }, + { + "col": 4, + "row": 7, + "type": "RestSite", + "children": [ + [ + 4, + 8 + ] + ] + }, + { + "col": 4, + "row": 8, + "type": "Monster", + "children": [ + [ + 5, + 9 + ] + ] + }, + { + "col": 4, + "row": 13, + "type": "Monster", + "children": [ + [ + 3, + 14 + ], + [ + 4, + 14 + ] + ] + }, + { + "col": 4, + "row": 14, + "type": "Unknown", + "children": [ + [ + 4, + 15 + ] + ] + }, + { + "col": 4, + "row": 15, + "type": "RestSite", + "children": [ + [ + 3, + 16 + ] + ] + }, + { + "col": 5, + "row": 4, + "type": "Unknown", + "children": [ + [ + 6, + 5 + ] + ] + }, + { + "col": 5, + "row": 9, + "type": "Treasure", + "children": [ + [ + 5, + 10 + ], + [ + 6, + 10 + ] + ] + }, + { + "col": 5, + "row": 10, + "type": "Monster", + "children": [ + [ + 5, + 11 + ] + ] + }, + { + "col": 5, + "row": 11, + "type": "RestSite", + "children": [ + [ + 5, + 12 + ] + ] + }, + { + "col": 5, + "row": 12, + "type": "Elite", + "children": [ + [ + 4, + 13 + ], + [ + 5, + 13 + ] + ] + }, + { + "col": 5, + "row": 13, + "type": "Unknown", + "children": [ + [ + 4, + 14 + ], + [ + 6, + 14 + ] + ] + }, + { + "col": 6, + "row": 1, + "type": "Monster", + "children": [ + [ + 6, + 2 + ] + ] + }, + { + "col": 6, + "row": 2, + "type": "Monster", + "children": [ + [ + 6, + 3 + ] + ] + }, + { + "col": 6, + "row": 3, + "type": "Unknown", + "children": [ + [ + 5, + 4 + ], + [ + 6, + 4 + ] + ] + }, + { + "col": 6, + "row": 4, + "type": "Monster", + "children": [ + [ + 6, + 5 + ] + ] + }, + { + "col": 6, + "row": 5, + "type": "Unknown", + "children": [ + [ + 6, + 6 + ] + ] + }, + { + "col": 6, + "row": 6, + "type": "Elite", + "children": [ + [ + 6, + 7 + ] + ] + }, + { + "col": 6, + "row": 7, + "type": "Unknown", + "children": [ + [ + 6, + 8 + ] + ] + }, + { + "col": 6, + "row": 8, + "type": "Monster", + "children": [ + [ + 5, + 9 + ] + ] + }, + { + "col": 6, + "row": 10, + "type": "Unknown", + "children": [ + [ + 6, + 11 + ] + ] + }, + { + "col": 6, + "row": 11, + "type": "Monster", + "children": [ + [ + 5, + 12 + ], + [ + 6, + 12 + ] + ] + }, + { + "col": 6, + "row": 12, + "type": "RestSite", + "children": [ + [ + 5, + 13 + ], + [ + 6, + 13 + ] + ] + }, + { + "col": 6, + "row": 13, + "type": "Monster", + "children": [ + [ + 6, + 14 + ] + ] + }, + { + "col": 6, + "row": 14, + "type": "Monster", + "children": [ + [ + 6, + 15 + ] + ] + }, + { + "col": 6, + "row": 15, + "type": "RestSite", + "children": [ + [ + 3, + 16 + ] + ] + }, + { + "col": 3, + "row": 16, + "type": "Boss", + "children": [] + } + ], + "boss": { + "col": 3, + "row": 16 + } + }, + "run": { + "act": 1, + "floor": 0, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 80, + "max_hp": 80, + "block": 0, + "gold": 99, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "potions": [], + "max_potion_slots": 3 + } +} \ No newline at end of file diff --git a/capture/07_combat.json b/capture/07_combat.json new file mode 100644 index 0000000..ab03f0e --- /dev/null +++ b/capture/07_combat.json @@ -0,0 +1,28 @@ +{ + "state_type": "unknown", + "room_type": null, + "run": { + "act": 1, + "floor": 0, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 80, + "max_hp": 80, + "block": 0, + "gold": 99, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "potions": [], + "max_potion_slots": 3 + } +} \ No newline at end of file diff --git a/capture/08_combat_resumed.json b/capture/08_combat_resumed.json new file mode 100644 index 0000000..a355555 --- /dev/null +++ b/capture/08_combat_resumed.json @@ -0,0 +1,9 @@ +{ + "state_type": "unknown", + "room_type": null, + "run": { + "act": 1, + "floor": 0, + "ascension": 0 + } +} \ No newline at end of file diff --git a/capture/09_now.json b/capture/09_now.json new file mode 100644 index 0000000..2b8a138 --- /dev/null +++ b/capture/09_now.json @@ -0,0 +1,187 @@ +{ + "state_type": "monster", + "battle": { + "round": 1, + "turn": "player", + "is_play_phase": true, + "enemies": [ + { + "entity_id": "NIBBIT_0", + "combat_id": 1, + "name": "Nibbit", + "hp": 44, + "max_hp": 44, + "block": 0, + "status": [], + "intents": [ + { + "type": "Attack", + "label": "12", + "title": "Aggressive", + "description": "This enemy intends to Attack for 12 damage." + } + ] + } + ] + }, + "run": { + "act": 1, + "floor": 1, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 80, + "max_hp": 80, + "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": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 1, + "target_type": "AnyEnemy", + "can_play": true, + "unplayable_reason": null + }, + { + "id": "BASH", + "name": "Bash", + "type": "Attack", + "cost": "2", + "star_cost": null, + "description": "Deal 8 damage. Apply 2 Vulnerable.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [ + { + "name": "Vulnerable", + "description": "Vulnerable creatures take 50% more damage from Attacks." + } + ], + "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": "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": 4, + "target_type": "Self", + "can_play": true, + "unplayable_reason": null + } + ], + "draw_pile_count": 5, + "discard_pile_count": 0, + "exhaust_pile_count": 0, + "draw_pile": [ + { + "name": "Defend", + "cost": "1", + "star_cost": null, + "description": "Gain 5 Block." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + } + ], + "discard_pile": [], + "exhaust_pile": [], + "gold": 99, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "potions": [], + "max_potion_slots": 3 + } +} \ No newline at end of file diff --git a/capture/10_card_reward.json b/capture/10_card_reward.json new file mode 100644 index 0000000..bfff397 --- /dev/null +++ b/capture/10_card_reward.json @@ -0,0 +1,87 @@ +{ + "state_type": "card_reward", + "card_reward": { + "cards": [ + { + "id": "SETUP_STRIKE", + "name": "Setup Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 7 damage. Gain 2 Strength this turn.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Strength", + "description": "Strength adds additional damage to Attacks." + } + ], + "index": 0 + }, + { + "id": "TREMBLE", + "name": "Tremble", + "type": "Skill", + "cost": "1", + "star_cost": null, + "description": "Apply 3 Vulnerable. Exhaust.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Vulnerable", + "description": "Vulnerable creatures take 50% more damage from Attacks." + }, + { + "name": "Exhaust", + "description": "Removed until the end of combat." + } + ], + "index": 1 + }, + { + "id": "BLOOD_WALL", + "name": "Blood Wall", + "type": "Skill", + "cost": "2", + "star_cost": null, + "description": "Lose 2 HP. Gain 16 Block.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Block", + "description": "Until next turn, prevents damage." + } + ], + "index": 2 + } + ], + "can_skip": true + }, + "run": { + "act": 1, + "floor": 1, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 74, + "max_hp": 80, + "block": 0, + "gold": 109, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "potions": [], + "max_potion_slots": 3 + } +} \ No newline at end of file diff --git a/capture/11_rewards.json b/capture/11_rewards.json new file mode 100644 index 0000000..c356b0d --- /dev/null +++ b/capture/11_rewards.json @@ -0,0 +1,31 @@ +{ + "state_type": "rewards", + "rewards": { + "items": [], + "can_proceed": true + }, + "run": { + "act": 1, + "floor": 1, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 74, + "max_hp": 80, + "block": 0, + "gold": 109, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "potions": [], + "max_potion_slots": 3 + } +} \ No newline at end of file diff --git a/capture/12_map_stuck.json b/capture/12_map_stuck.json new file mode 100644 index 0000000..7c2f9fd --- /dev/null +++ b/capture/12_map_stuck.json @@ -0,0 +1,194 @@ +{ + "state_type": "monster", + "battle": { + "round": 1, + "turn": "player", + "is_play_phase": true, + "enemies": [ + { + "entity_id": "SHRINKER_BEETLE_0", + "combat_id": 1, + "name": "Shrinker Beetle", + "hp": 40, + "max_hp": 40, + "block": 0, + "status": [], + "intents": [ + { + "type": "DebuffStrong", + "label": "", + "title": "Strategic", + "description": "This enemy intends to apply a Debuff to you." + } + ] + } + ] + }, + "run": { + "act": 1, + "floor": 3, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 69, + "max_hp": 80, + "block": 0, + "energy": 3, + "max_energy": 3, + "hand": [ + { + "id": "BASH", + "name": "Bash", + "type": "Attack", + "cost": "2", + "star_cost": null, + "description": "Deal 8 damage. Apply 2 Vulnerable.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [ + { + "name": "Vulnerable", + "description": "Vulnerable creatures take 50% more damage from Attacks." + } + ], + "index": 0, + "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": 1, + "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": 2, + "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": 3, + "target_type": "AnyEnemy", + "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": 7, + "discard_pile_count": 0, + "exhaust_pile_count": 0, + "draw_pile": [ + { + "name": "Defend", + "cost": "1", + "star_cost": null, + "description": "Gain 5 Block." + }, + { + "name": "Defend", + "cost": "1", + "star_cost": null, + "description": "Gain 5 Block." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + }, + { + "name": "Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage." + }, + { + "name": "Setup Strike", + "cost": "1", + "star_cost": null, + "description": "Deal 7 damage. Gain 2 Strength this turn." + }, + { + "name": "Inflame", + "cost": "1", + "star_cost": null, + "description": "Gain 2 Strength." + } + ], + "discard_pile": [], + "exhaust_pile": [], + "gold": 126, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "potions": [], + "max_potion_slots": 3 + } +} \ No newline at end of file diff --git a/capture/13_stuck.json b/capture/13_stuck.json new file mode 100644 index 0000000..0237ee4 --- /dev/null +++ b/capture/13_stuck.json @@ -0,0 +1,268 @@ +{ + "state_type": "card_select", + "card_select": { + "screen_type": "upgrade", + "prompt": "Choose a card to Upgrade.", + "cards": [ + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 0 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 1 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 2 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 3 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 4 + }, + { + "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": 5 + }, + { + "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": 6 + }, + { + "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": 7 + }, + { + "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": 8 + }, + { + "id": "BASH", + "name": "Bash", + "type": "Attack", + "cost": "2", + "star_cost": null, + "description": "Deal 8 damage. Apply 2 Vulnerable.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [ + { + "name": "Vulnerable", + "description": "Vulnerable creatures take 50% more damage from Attacks." + } + ], + "index": 9 + }, + { + "id": "SETUP_STRIKE", + "name": "Setup Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 7 damage. Gain 2 Strength this turn.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Strength", + "description": "Strength adds additional damage to Attacks." + } + ], + "index": 10 + }, + { + "id": "INFLAME", + "name": "Inflame", + "type": "Power", + "cost": "1", + "star_cost": null, + "description": "Gain 2 Strength.", + "rarity": "Uncommon", + "is_upgraded": false, + "keywords": [ + { + "name": "Strength", + "description": "Strength adds additional damage to Attacks." + } + ], + "index": 11 + }, + { + "id": "IRON_WAVE", + "name": "Iron Wave", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Gain 5 Block. Deal 5 damage.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Block", + "description": "Until next turn, prevents damage." + } + ], + "index": 12 + } + ], + "preview_showing": true, + "preview_cards": [ + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 0 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike+", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 9 damage.", + "rarity": "Basic", + "is_upgraded": true, + "keywords": [], + "index": 1 + } + ], + "can_cancel": true, + "can_confirm": true + }, + "run": { + "act": 1, + "floor": 5, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 87, + "max_hp": 87, + "block": 0, + "gold": 146, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "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 + } +} \ No newline at end of file diff --git a/capture/14_after_confirm.json b/capture/14_after_confirm.json new file mode 100644 index 0000000..0237ee4 --- /dev/null +++ b/capture/14_after_confirm.json @@ -0,0 +1,268 @@ +{ + "state_type": "card_select", + "card_select": { + "screen_type": "upgrade", + "prompt": "Choose a card to Upgrade.", + "cards": [ + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 0 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 1 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 2 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 3 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 4 + }, + { + "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": 5 + }, + { + "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": 6 + }, + { + "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": 7 + }, + { + "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": 8 + }, + { + "id": "BASH", + "name": "Bash", + "type": "Attack", + "cost": "2", + "star_cost": null, + "description": "Deal 8 damage. Apply 2 Vulnerable.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [ + { + "name": "Vulnerable", + "description": "Vulnerable creatures take 50% more damage from Attacks." + } + ], + "index": 9 + }, + { + "id": "SETUP_STRIKE", + "name": "Setup Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 7 damage. Gain 2 Strength this turn.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Strength", + "description": "Strength adds additional damage to Attacks." + } + ], + "index": 10 + }, + { + "id": "INFLAME", + "name": "Inflame", + "type": "Power", + "cost": "1", + "star_cost": null, + "description": "Gain 2 Strength.", + "rarity": "Uncommon", + "is_upgraded": false, + "keywords": [ + { + "name": "Strength", + "description": "Strength adds additional damage to Attacks." + } + ], + "index": 11 + }, + { + "id": "IRON_WAVE", + "name": "Iron Wave", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Gain 5 Block. Deal 5 damage.", + "rarity": "Common", + "is_upgraded": false, + "keywords": [ + { + "name": "Block", + "description": "Until next turn, prevents damage." + } + ], + "index": 12 + } + ], + "preview_showing": true, + "preview_cards": [ + { + "id": "STRIKE_IRONCLAD", + "name": "Strike", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 6 damage.", + "rarity": "Basic", + "is_upgraded": false, + "keywords": [], + "index": 0 + }, + { + "id": "STRIKE_IRONCLAD", + "name": "Strike+", + "type": "Attack", + "cost": "1", + "star_cost": null, + "description": "Deal 9 damage.", + "rarity": "Basic", + "is_upgraded": true, + "keywords": [], + "index": 1 + } + ], + "can_cancel": true, + "can_confirm": true + }, + "run": { + "act": 1, + "floor": 5, + "ascension": 0 + }, + "player": { + "character": "The Ironclad", + "hp": 87, + "max_hp": 87, + "block": 0, + "gold": 146, + "status": [], + "relics": [ + { + "id": "BURNING_BLOOD", + "name": "Burning Blood", + "description": "At the end of combat, heal 6 HP.", + "counter": null, + "keywords": [] + } + ], + "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 + } +} \ No newline at end of file diff --git a/capture/15_hand_select.json b/capture/15_hand_select.json new file mode 100644 index 0000000..ce3ea4d --- /dev/null +++ b/capture/15_hand_select.json @@ -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 + } +} \ No newline at end of file