Log
The agent's sanitised log, as published in the bundle. Images, reasoning, host context, machine paths and identifiers were removed by the tooling before publication.
Start
Recording started (obs)
Game ready, seed 23M
Run started · claude-sonnet-5 on claude-code
Prompt
You are playing Slay the Spire as the IRONCLAD at ascension 0; the run has been started. Read sts_documentation, then play until you defeat the Act 1 boss. Do not look up information about the game online.
Model
I'll start by loading the game tools and reading the documentation.
ToolSearch
- query
- select:mcp__slay_the_spire__slay_the_spire_documentation,mcp__slay_the_spire__slay_the_spire_exec,mcp__slay_the_spire__slay_the_spire_screenshot
- max_results
- 5
1
- type
- tool_reference
- tool_name
- mcp__slay_the_spire__slay_the_spire_documentation
2
- type
- tool_reference
- tool_name
- mcp__slay_the_spire__slay_the_spire_exec
3
- type
- tool_reference
- tool_name
- mcp__slay_the_spire__slay_the_spire_screenshot
slay_the_spire_documentation
no arguments
# Slay the Spire API 3 122 characters
# Slay the Spire API
`sts` is in scope in `sts_exec`. Slay the Spire is turn-based and waits for you: nothing happens between your commands. Every call returns the full game state after the game settled.
## State
`await sts.state()` (alias `sts.observe()`) returns `{ available_commands, ready_for_command, in_game, game_state }`. `game_state` has `screen_type`, one of `EVENT`, `CHEST`, `SHOP_ROOM`, `REST`, `CARD_REWARD`, `COMBAT_REWARD`, `MAP`, `BOSS_REWARD`, `SHOP_SCREEN`, `GRID`, `HAND_SELECT`, `GAME_OVER`, `COMPLETE`, `NONE` (`NONE` during a fight: the combat itself is in `combat_state`), `screen_state` (the choices and details of that screen), `room_phase` (`COMBAT`, `EVENT`, `COMPLETE`, `INCOMPLETE`), `floor`, `act`, `act_boss`, `current_hp`, `max_hp`, `gold`, `deck`, `relics`, `potions`, `map`, `choice_list` and, in combat, `combat_state` with `hand`, `draw_pile`, `discard_pile`, `exhaust_pile`, `player` (`energy`, `block`, `powers`), `monsters` (`current_hp`, `block`, `intent`, `move_adjusted_damage`, `move_hits`, `powers`) and `turn`. `available_commands` lists what you may do right now.
## Commands
- `await sts.play(cardIndex, targetIndex?)`: play the card at `cardIndex` (1-based, as in the hand) on monster `targetIndex` (0-based) when the card needs a target.
- `await sts.end()`: end the turn.
- `await sts.potion("use" | "discard", slot, targetIndex?)`.
- `await sts.choose(indexOrName)`: pick from `choice_list` (0-based index or the choice's name) on map, reward, event, shop, rest and card screens.
- `await sts.proceed()` / `await sts.confirm()`: the right-hand button (continue, confirm).
- `await sts.cancel()` / `await sts.skip()` / `await sts.leave()` / `await sts.back()`: the left-hand button.
- `await sts.key("Confirm" | "Cancel" | "Map" | "Deck" | "Draw_Pile" | "Discard_Pile" | "Exhaust_Pile" | "End_Turn" | "Up" | "Down" | "Left" | "Right" | "Drop_Card" | "Card_1".."Card_10")`: presses that key.
- `await sts.click(x, y, "left" | "right")`: a mouse click at (x, y) in the game's own 1920x1080 space ((0,0) is the top left corner, (1920,1080) the bottom right, whatever the window resolution). It also moves the cursor. Everything on a screen is reachable with `choose`, `proceed` and `cancel`; a click is for what those do not offer.
- `await sts.wait(frames)`: let the game run for that number of frames, or until the game state changes, whichever comes first.
- `await sts.command("PLAY 1 0")`: any raw Communication Mod command.
- `await sts.screenshot()`: the game window as an image (the state is the ground truth; the picture is for orientation).
- `await sts.restart()`: only after a death (`screen_type` `GAME_OVER` without victory): a new run with the same seed (same map, encounters and rewards). Every other command is refused until you restart.
`sts.choose()` refuses to enter the Secret Portal event (act 3): only "leave" is accepted there.
Commands that are not in `available_commands` are rejected with an error; read the state first. The run has already been started for you (character, ascension and seed are fixed); do not start a new one yourself.
Model
Now let me check the current game state.
slay_the_spire_exec
return await sts.state();
What came back 15 986 characters
- available_commands
- choosekeyclickwaitstate
- ready_for_command
- yes
- in_game
- yes
- game_state
- choice_list
- talk
- screen_type
- EVENT
- screen_state
4 fields
- event_id
- Neow Event
- body_text
- empty
- options
1 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [Talk]
- label
- Talk
- event_name
- Neow
- seed
- 2 577
- deck
10 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1010 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
- relics
1 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 99
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- NONE
- room_phase
- EVENT
- is_screen_up
- no
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 80
- floor
- 0
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- NeowRoom
Floor 0
Model
We're at the Neow event (start of run). Let me talk to Neow to see the options.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
return await sts.choose(0);
Inputs played
Played CHOOSE 0
Played CHOOSE 0 00:00:00.0 in-game
What came back 16 906 characters
- available_commands
- choosekeyclickwaitstate
- ready_for_command
- yes
- in_game
- yes
- game_state
- choice_list
- obtain a random rare cardenemies in your next three combats have 1 hptake 24 damage choose a rare colorless card to obtainlose your starting relic obtain a random boss relic
- screen_type
- EVENT
- screen_state
4 fields
- event_id
- Neow Event
- body_text
- empty
- options
4 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [ Obtain a random rare Card ]
- label
- Obtain a random rare Card
24 fields
- choice_index
- 1
- disabled
- no
- text
- [ Enemies in your next three combats have 1 HP ]
- label
- Enemies in your next three combats have 1 HP
34 fields
- choice_index
- 2
- disabled
- no
- text
- [ Take 24 damage Choose a rare colorless Card to obtain ]
- label
- Take 24 damage Choose a rare colorless Card to obtain
44 fields
- choice_index
- 3
- disabled
- no
- text
- [ Lose your starting Relic Obtain a random boss Relic ]
- label
- Lose your starting Relic Obtain a random boss Relic
- event_name
- Neow
- seed
- 2 577
- deck
10 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1010 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
- relics
1 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 99
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- NONE
- room_phase
- EVENT
- is_screen_up
- no
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 80
- floor
- 0
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- NeowRoom
Model
I'll pick the option that trivializes the next three combats — a strong, safe start with no downside.
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
const s = await sts.choose(1); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, map_hint: 'ok' };
Inputs played
Played CHOOSE 1
Played CHOOSE 1 00:00:00.6 in-game
- screen_type
- EVENT
- room_phase
- EVENT
- map_hint
- ok
slay_the_spire_exec
const s = await sts.state(); return s.game_state.screen_state;
- event_id
- Neow Event
- body_text
- empty
- options
1 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [Leave]
- label
- Leave
- event_name
- Neow
slay_the_spire_exec2 inputs played · 00:00:00.1 in-game
const s = await sts.choose(0); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type };
Inputs played
Played CHOOSE 0
Played CHOOSE 0 00:00:00.1 in-game
- screen_type
- MAP
- room_phase
- COMPLETE
- room_type
- NeowRoom
slay_the_spire_exec
const s = await sts.state(); return { choice_list: s.game_state.choice_list, floor: s.game_state.floor };
- choice_list
- x=0x=1x=5
- floor
- 0
slay_the_spire_exec2 inputs played · 00:00:02.0 in-game
const s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:02.0 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoom
- floor
- 1
Floor 1
Model
Combat started. Let's check the combat state.
slay_the_spire_exec
const s = await sts.state(); return s.game_state.combat_state;
What came back 3 693 characters
- draw_pile
5 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
- discard_pile
- none
- exhaust_pile
- none
- cards_discarded_this_turn
- 0
- times_damaged
- 0
- monsters
2 items
113 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 5
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 14
- intent
- DEBUG
- move_id
- 1
- name
- Spike Slime (S)
- current_hp
- 1
- block
- 0
- id
- SpikeSlime_S
- powers
- none
213 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 10
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 29
- intent
- DEBUG
- move_id
- 2
- name
- Acid Slime (M)
- current_hp
- 1
- block
- 0
- id
- AcidSlime_M
- powers
- none
- turn
- 1
- limbo
- none
- hand
5 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
- player
- orbs
- none
- current_hp
- 80
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
Model
Both enemies have 1 HP thanks to Neow's buff. I'll strike each to kill them.
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(2, 0); // Strike on Spike Slime return s.game_state.combat_state.monsters.map(m=>({name:m.name, hp:m.current_hp}));
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.3 in-game
1
- name
- Spike Slime (S)
- hp
- 0
2
- name
- Acid Slime (M)
- hp
- 1
slay_the_spire_exec
let s = await sts.state(); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, hand: s.game_state.combat_state ? s.game_state.combat_state.hand.map(c=>c.name) : null, monsters: s.game_state.combat_state ? s.game_state.combat_state.monsters : null };
What came back 812 characters
- screen_type
- NONE
- room_phase
- COMBAT
- hand
- DefendStrikeStrikeDefend
- monsters
2 items
113 fields
- is_gone
- yes
- move_hits
- 1
- move_base_damage
- 5
- half_dead
- no
- move_adjusted_damage
- 5
- max_hp
- 14
- intent
- ATTACK
- move_id
- 1
- name
- Spike Slime (S)
- current_hp
- 0
- block
- 0
- id
- SpikeSlime_S
- powers
- none
213 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 10
- half_dead
- no
- move_adjusted_damage
- 10
- max_hp
- 29
- intent
- ATTACK
- move_id
- 2
- name
- Acid Slime (M)
- current_hp
- 1
- block
- 0
- id
- AcidSlime_M
- powers
- none
Model
Now finish off the Acid Slime.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.play(2, 0); // Strike on Acid Slime (index 1 in monsters, but target index 0 since slime slot 0 is gone) return s;
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.0 in-game
Error: Slay the Spire refused "PLAY 2 0": Selected card cannot be played with the selected target.
slay_the_spire_exec2 inputs played · 00:00:01.4 in-game
let s = await sts.play(2, 1); return s.game_state.combat_state ? s.game_state.combat_state.monsters : s.game_state;
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:01.4 in-game
What came back 14 295 characters
- choice_list
- goldcard
- screen_type
- COMBAT_REWARD
- screen_state
- rewards
2 items
12 fields
- gold
- 15
- reward_type
- GOLD
21 fields
- reward_type
- CARD
- seed
- 2 577
- deck
10 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- 2
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 99
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- COMBAT_REWARD
- room_phase
- COMPLETE
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 80
- floor
- 1
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoom
Model
First fight won without damage. Let's collect the rewards — gold first, then card.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, gold: s.game_state.gold };
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
- screen_type
- COMBAT_REWARD
- choice_list
- card
- gold
- 114
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 909 characters
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 0
- name
- Clash
- id
- Clash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Thunderclap
- id
- Thunderclap
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- bowl_available
- no
- skip_available
- yes
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Shrug It Off"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase };
Inputs played
Played CHOOSE Shrug It Off
Played CHOOSE Shrug It Off 00:00:00.0 in-game
- screen_type
- COMBAT_REWARD
- room_phase
- COMPLETE
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, choice_list: s.game_state.choice_list };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- room_phase
- COMPLETE
- choice_list
- x=0
slay_the_spire_exec2 inputs played · 00:00:02.1 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:02.1 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoom
- floor
- 2
Floor 2
Model
This is our second buffed combat. Let's check the enemies.
slay_the_spire_exec
const s = await sts.state(); return { hand: s.game_state.combat_state.hand.map(c=>c.name), monsters: s.game_state.combat_state.monsters.map(m=>({name:m.name, hp:m.current_hp, intent:m.intent})) };
- hand
- DefendDefendStrikeDefendStrike
- monsters
2 items
13 fields
- name
- Louse
- hp
- 1
- intent
- DEBUG
23 fields
- name
- Louse
- hp
- 1
- intent
- DEBUG
Model
Both lice at 1 HP. Strike each once.
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(3, 0); return s.game_state.combat_state ? s.game_state.combat_state.monsters.map(m=>({name:m.name, hp:m.current_hp, gone:m.is_gone})) : s.game_state;
Inputs played
Played PLAY 3 0
Played PLAY 3 0 00:00:00.3 in-game
1
- name
- Louse
- hp
- 0
- gone
- yes
2
- name
- Louse
- hp
- 1
- gone
- no
slay_the_spire_exec
let s = await sts.state(); return s.game_state.combat_state.hand.map(c=>c.name);
DefendDefendDefendStrike
slay_the_spire_exec2 inputs played · 00:00:01.5 in-game
let s = await sts.play(4, 1); return s.game_state;
Inputs played
Played PLAY 4 1
Played PLAY 4 1 00:00:01.5 in-game
What came back 14 838 characters
- choice_list
- goldpotioncard
- screen_type
- COMBAT_REWARD
- screen_state
- rewards
3 items
12 fields
- gold
- 14
- reward_type
- GOLD
22 fields
- potion
5 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
- reward_type
- POTION
31 fields
- reward_type
- CARD
- seed
- 2 577
- deck
11 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
1111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- 1
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 114
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- COMBAT_REWARD
- room_phase
- COMPLETE
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 80
- floor
- 2
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoom
Model
Let's collect gold, potion, and pick a card.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("potion"); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, potions: s.game_state.potions };
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE potion
Played CHOOSE potion 00:00:00.0 in-game
What came back 551 characters
- screen_type
- COMBAT_REWARD
- choice_list
- card
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 933 characters
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Body Slam
- id
- Body Slam
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Sword Boomerang
- id
- Sword Boomerang
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- bowl_available
- no
- skip_available
- yes
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Perfected Strike"); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played CHOOSE Perfected Strike
Played CHOOSE Perfected Strike 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0x=1
- floor
- 2
slay_the_spire_exec2 inputs played · 00:00:01.8 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:01.8 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoom
- floor
- 3
Floor 3
slay_the_spire_exec
const s = await sts.state(); return { hand: s.game_state.combat_state.hand.map(c=>c.name), monsters: s.game_state.combat_state.monsters.map(m=>({name:m.name, hp:m.current_hp, intent:m.intent})) };
- hand
- Shrug It OffStrikeBashStrikeDefend
- monsters
1 items
13 fields
- name
- Cultist
- hp
- 1
- intent
- DEBUG
Model
Single Cultist at 1 HP (last buffed fight). Kill it with a Strike.
slay_the_spire_exec2 inputs played · 00:00:01.4 in-game
let s = await sts.play(2, 0); return s.game_state;
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:01.4 in-game
What came back 14 878 characters
- choice_list
- goldcard
- screen_type
- COMBAT_REWARD
- screen_state
- rewards
2 items
12 fields
- gold
- 13
- reward_type
- GOLD
21 fields
- reward_type
- CARD
- seed
- 2 577
- deck
12 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
1111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1211 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 128
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- COMBAT_REWARD
- room_phase
- COMPLETE
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 80
- floor
- 3
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoom
Model
All three buffed combats used with zero damage taken. Let's collect rewards.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 898 characters
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Evolve
- id
- Evolve
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Dual Wield
- id
- Dual Wield
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Havoc
- id
- Havoc
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- bowl_available
- no
- skip_available
- yes
Model
None of these strongly fit yet — I'll skip to keep the deck lean.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.skip(); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase };
Inputs played
Played SKIP
Played SKIP 00:00:00.0 in-game
- screen_type
- COMBAT_REWARD
- room_phase
- COMPLETE
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0x=1
- floor
- 3
slay_the_spire_exec2 inputs played · 00:00:00.4 in-game
let s = await sts.choose("x=1"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=1
Played CHOOSE x=1 00:00:00.4 in-game
- screen_type
- SHOP_ROOM
- room_phase
- COMPLETE
- room_type
- ShopRoom
- floor
- 4
Floor 4
slay_the_spire_exec
const s = await sts.state(); return s.game_state.screen_state;
none
slay_the_spire_exec
const s = await sts.state(); return s;
What came back 16 452 characters
- available_commands
- choosepotionproceedkeyclickwaitstate
- ready_for_command
- yes
- in_game
- yes
- game_state
- choice_list
- shop
- screen_type
- SHOP_ROOM
- screen_state
- none
- seed
- 2 577
- deck
12 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1010 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
1110 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1210 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 141
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- NONE
- room_phase
- COMPLETE
- is_screen_up
- no
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 80
- floor
- 4
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- ShopRoom
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("shop"); return s.game_state.screen_state;
Inputs played
Played CHOOSE shop
Played CHOOSE shop 00:00:00.0 in-game
What came back 2 853 characters
- cards
7 items
111 fields
- exhausts
- no
- cost
- 1
- price
- 52
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
211 fields
- exhausts
- no
- cost
- 1
- price
- 82
- name
- Dropkick
- id
- Dropkick
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
311 fields
- exhausts
- no
- cost
- 1
- price
- 40
- name
- Dual Wield
- id
- Dual Wield
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
411 fields
- exhausts
- no
- cost
- 1
- price
- 75
- name
- Ghostly Armor
- id
- Ghostly Armor
- type
- SKILL
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
511 fields
- exhausts
- no
- cost
- 1
- price
- 68
- name
- Fire Breathing
- id
- Fire Breathing
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
611 fields
- exhausts
- yes
- cost
- 0
- price
- 85
- name
- Bandage Up
- id
- Bandage Up
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
711 fields
- exhausts
- no
- cost
- 0
- price
- 189
- name
- Panache
- id
- Panache
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- no
- purge_cost
- 75
- potions
3 items
16 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 76
- name
- Essence of Steel
- id
- EssenceOfSteel
26 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 71
- name
- Liquid Memories
- id
- LiquidMemories
36 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 49
- name
- Swift Potion
- id
- Swift Potion
- relics
3 items
14 fields
- price
- 157
- name
- Pen Nib
- id
- Pen Nib
- counter
- 0
24 fields
- price
- 311
- name
- Girya
- id
- Girya
- counter
- 0
34 fields
- price
- 157
- name
- Strange Spoon
- id
- Strange Spoon
- counter
- -1
- purge_available
- yes
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Pommel Strike"); return { gold: s.game_state.gold, deck: s.game_state.deck.map(c=>c.name) };
Inputs played
Played CHOOSE Pommel Strike
Played CHOOSE Pommel Strike 00:00:00.0 in-game
- gold
- 89
- deck
- StrikeStrikeStrikeStrikeStrikeDefendDefendDefendDefendBashShrug It OffPerfected StrikePommel Strike
slay_the_spire_exec
const s = await sts.state(); return s.available_commands;
choosepotionleavekeyclickwaitstate
slay_the_spire_exec
const s = await sts.state(); return { choice_list: s.game_state.choice_list, screen_state: s.game_state.screen_state };
What came back 3 054 characters
- choice_list
- purgedropkickdual wieldghostly armorfire breathingbandage upessence of steelliquid memoriesswift potion
- screen_state
- cards
6 items
111 fields
- exhausts
- no
- cost
- 1
- price
- 82
- name
- Dropkick
- id
- Dropkick
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
211 fields
- exhausts
- no
- cost
- 1
- price
- 40
- name
- Dual Wield
- id
- Dual Wield
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
311 fields
- exhausts
- no
- cost
- 1
- price
- 75
- name
- Ghostly Armor
- id
- Ghostly Armor
- type
- SKILL
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
411 fields
- exhausts
- no
- cost
- 1
- price
- 68
- name
- Fire Breathing
- id
- Fire Breathing
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
511 fields
- exhausts
- yes
- cost
- 0
- price
- 85
- name
- Bandage Up
- id
- Bandage Up
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
611 fields
- exhausts
- no
- cost
- 0
- price
- 189
- name
- Panache
- id
- Panache
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- no
- purge_cost
- 75
- potions
3 items
16 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 76
- name
- Essence of Steel
- id
- EssenceOfSteel
26 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 71
- name
- Liquid Memories
- id
- LiquidMemories
36 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 49
- name
- Swift Potion
- id
- Swift Potion
- relics
3 items
14 fields
- price
- 157
- name
- Pen Nib
- id
- Pen Nib
- counter
- 0
24 fields
- price
- 311
- name
- Girya
- id
- Girya
- counter
- 0
34 fields
- price
- 157
- name
- Strange Spoon
- id
- Strange Spoon
- counter
- -1
- purge_available
- yes
Model
I have 89 gold, purge costs 75. I'll purge a Strike to thin the deck.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("purge"); return s.game_state.screen_state ? s.game_state.screen_state : s.game_state.choice_list;
Inputs played
Played CHOOSE purge
Played CHOOSE purge 00:00:00.0 in-game
What came back 3 400 characters
- cards
13 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1010 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
1110 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1210 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1310 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- selected_cards
- none
- for_transform
- no
- confirm_up
- no
- any_number
- no
- for_upgrade
- no
- num_cards
- 1
- for_purge
- yes
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Defend"); return s.game_state.deck.map(c=>c.name);
Inputs played
Played CHOOSE Defend
Played CHOOSE Defend 00:00:00.0 in-game
StrikeStrikeStrikeStrikeStrikeDefendDefendDefendDefendBashShrug It OffPerfected StrikePommel Strike
slay_the_spire_exec
const s = await sts.state(); return { gold: s.game_state.gold, deckCount: s.game_state.deck.length, deck: s.game_state.deck.map(c=>c.name) };
- gold
- 89
- deckCount
- 13
- deck
- StrikeStrikeStrikeStrikeStrikeDefendDefendDefendDefendBashShrug It OffPerfected StrikePommel Strike
slay_the_spire_exec
const s = await sts.state(); return { available_commands: s.available_commands, screen_type: s.game_state.screen_type, screen_state: s.game_state.screen_state, choice_list: s.game_state.choice_list };
What came back 3 900 characters
- available_commands
- potionconfirmcancelkeyclickwaitstate
- screen_type
- GRID
- screen_state
- cards
13 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1010 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
1110 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1210 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1310 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- selected_cards
- none
- for_transform
- no
- confirm_up
- yes
- any_number
- no
- for_upgrade
- no
- num_cards
- 1
- for_purge
- yes
Model
I need to select then confirm. Let me select a Defend card and confirm.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Defend"); return { available_commands: s.available_commands, selected: s.game_state.screen_state ? s.game_state.screen_state.selected_cards : null };
Inputs played
Played CHOOSE Defend
Played CHOOSE Defend 00:00:00.0 in-game
Error: Slay the Spire refused "CHOOSE Defend": Invalid command: choose. Possible commands: [potion, confirm, cancel, key, click, wait, state]
slay_the_spire_exec2 inputs played · 00:00:01.6 in-game
let s = await sts.key("Card_6"); return { selected: s.game_state.screen_state ? s.game_state.screen_state.selected_cards : null, available_commands: s.available_commands };
Inputs played
Played KEY Card_6
Played KEY Card_6 00:00:01.6 in-game
- selected
- none
- available_commands
- potionconfirmcancelkeyclickwaitstate
slay_the_spire_screenshot
no arguments
Model
The screenshot shows a Defend card highlighted/selected (index 6, top row). It appears already selected — let me click Confirm.
slay_the_spire_exec2 inputs played · 00:00:00.1 in-game
let s = await sts.confirm(); return { gold: s.game_state.gold, deckCount: s.game_state.deck.length, deck: s.game_state.deck.map(c=>c.name) };
Inputs played
Played CONFIRM
Played CONFIRM 00:00:00.1 in-game
- gold
- 14
- deckCount
- 12
- deck
- StrikeStrikeStrikeStrikeStrikeDefendDefendDefendBashShrug It OffPerfected StrikePommel Strike
Model
Purge successful — deck thinned to 12 cards, 14 gold left. Let's leave the shop and continue.
slay_the_spire_exec2 inputs played · 00:00:00.2 in-game
let s = await sts.leave(); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, choice_list: s.game_state.choice_list };
Inputs played
Played LEAVE
Played LEAVE 00:00:00.2 in-game
- screen_type
- SHOP_ROOM
- room_phase
- COMPLETE
- choice_list
- shop
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- room_phase
- COMPLETE
- choice_list
- x=0x=2
- floor
- 4
slay_the_spire_exec2 inputs played · 00:00:00.9 in-game
let s = await sts.choose("x=2"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=2
Played CHOOSE x=2 00:00:00.9 in-game
- screen_type
- EVENT
- room_phase
- EVENT
- room_type
- EventRoom
- floor
- 5
Floor 5
slay_the_spire_exec
const s = await sts.state(); return s.game_state.screen_state;
What came back 489 characters
- event_id
- Shining Light
- body_text
- You find a shimmering mass of light encompassing the center of the room. Its warm glow and enchanting patterns invite you in.
- options
2 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [Enter] Upgrade 2 random cards. Lose 16 HP.
- label
- Enter
24 fields
- choice_index
- 1
- disabled
- no
- text
- [Leave]
- label
- Leave
- event_name
- Shining Light
Model
I'll take the upgrade — full HP gives good buffer for the cost.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose(0); return { hp: s.game_state.current_hp, deck: s.game_state.deck.map(c=>({name:c.name, upgrades:c.upgrades})) };
Inputs played
Played CHOOSE 0
Played CHOOSE 0 00:00:00.0 in-game
What came back 737 characters
- hp
- 64
- deck
12 items
12 fields
- name
- Strike
- upgrades
- 0
22 fields
- name
- Strike+
- upgrades
- 1
32 fields
- name
- Strike
- upgrades
- 0
42 fields
- name
- Strike+
- upgrades
- 1
52 fields
- name
- Strike
- upgrades
- 0
62 fields
- name
- Defend
- upgrades
- 0
72 fields
- name
- Defend
- upgrades
- 0
82 fields
- name
- Defend
- upgrades
- 0
92 fields
- name
- Bash
- upgrades
- 0
102 fields
- name
- Shrug It Off
- upgrades
- 0
112 fields
- name
- Perfected Strike
- upgrades
- 0
122 fields
- name
- Pommel Strike
- upgrades
- 0
Model
Two Strikes upgraded. HP at 64/80. Let's continue to the map.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
Error: Slay the Spire refused "PROCEED": Invalid command: proceed. Possible commands: [choose, potion, key, click, wait, state]
slay_the_spire_exec
const s = await sts.state(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list };
Error: Cannot read properties of undefined (reading 'screen_type')
slay_the_spire_exec
const s = await sts.state(); return s;
- ready_for_command
- yes
- error
- Invalid command: proceed. Possible commands: [choose, potion, key, click, wait, state]
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
await sts.wait(1); const s = await sts.state(); return s;
Inputs played
Played WAIT 1
Played WAIT 1 00:00:00.0 in-game
What came back 16 910 characters
- available_commands
- choosepotionkeyclickwaitstate
- ready_for_command
- yes
- in_game
- yes
- game_state
- choice_list
- leave
- screen_type
- EVENT
- screen_state
4 fields
- event_id
- Shining Light
- body_text
- As you walk through the light, you notice that the light is absorbed into you. It's scorching hot ! However, the pain quickly recedes. You feel invigorated, as though you received a well deserved slap.
- options
1 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [Leave]
- label
- Leave
- event_name
- Shining Light
- seed
- 2 577
- deck
12 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
1010 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1110 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1210 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 14
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- NONE
- room_phase
- EVENT
- is_screen_up
- no
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 64
- floor
- 5
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- EventRoom
Model
Just needed to leave. Let's do that and continue mapping.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose(0); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played CHOOSE 0
Played CHOOSE 0 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=1
- floor
- 5
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.choose("x=1"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=1
Played CHOOSE x=1 00:00:00.7 in-game
- screen_type
- REST
- room_phase
- INCOMPLETE
- room_type
- RestRoom
- floor
- 6
Floor 6
slay_the_spire_exec
const s = await sts.state(); return { choice_list: s.game_state.choice_list, current_hp: s.game_state.current_hp, max_hp: s.game_state.max_hp };
- choice_list
- restsmith
- current_hp
- 64
- max_hp
- 80
Model
I'm at 64/80 HP with more rest sites ahead — I'll smith a card now rather than rest.
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.choose("smith"); return s.game_state.screen_state;
Inputs played
Played CHOOSE smith
Played CHOOSE smith 00:00:00.5 in-game
What came back 2 665 characters
- cards
10 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
510 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 2
- name
- Bash
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
810 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
910 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1010 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- selected_cards
- none
- for_transform
- no
- confirm_up
- no
- any_number
- no
- for_upgrade
- yes
- num_cards
- 1
- for_purge
- no
slay_the_spire_exec2 inputs played · 00:00:01.6 in-game
let s = await sts.key("Card_7"); return s.game_state.screen_state.selected_cards;
Inputs played
Played KEY Card_7
Played KEY Card_7 00:00:01.6 in-game
none
slay_the_spire_exec
const s = await sts.state(); return s.available_commands;
choosepotioncancelkeyclickwaitstate
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Bash"); return s.game_state.deck.map(c=>({name:c.name, upgrades:c.upgrades}));
Inputs played
Played CHOOSE Bash
Played CHOOSE Bash 00:00:00.0 in-game
What came back 613 characters
12 items
1
- name
- Strike
- upgrades
- 0
2
- name
- Strike+
- upgrades
- 1
3
- name
- Strike
- upgrades
- 0
4
- name
- Strike+
- upgrades
- 1
5
- name
- Strike
- upgrades
- 0
6
- name
- Defend
- upgrades
- 0
7
- name
- Defend
- upgrades
- 0
8
- name
- Defend
- upgrades
- 0
9
- name
- Bash
- upgrades
- 0
10
- name
- Shrug It Off
- upgrades
- 0
11
- name
- Perfected Strike
- upgrades
- 0
12
- name
- Pommel Strike
- upgrades
- 0
slay_the_spire_exec
const s = await sts.state(); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, available_commands: s.available_commands, choice_list: s.game_state.choice_list };
- screen_type
- GRID
- room_phase
- INCOMPLETE
- available_commands
- potionconfirmcancelkeyclickwaitstate
Model
Need to confirm the selection.
slay_the_spire_exec2 inputs played · 00:00:01.0 in-game
let s = await sts.confirm(); return s.game_state.deck.map(c=>({name:c.name, upgrades:c.upgrades}));
Inputs played
Played CONFIRM
Played CONFIRM 00:00:01.0 in-game
What came back 614 characters
12 items
1
- name
- Strike
- upgrades
- 0
2
- name
- Strike+
- upgrades
- 1
3
- name
- Strike
- upgrades
- 0
4
- name
- Strike+
- upgrades
- 1
5
- name
- Strike
- upgrades
- 0
6
- name
- Defend
- upgrades
- 0
7
- name
- Defend
- upgrades
- 0
8
- name
- Defend
- upgrades
- 0
9
- name
- Bash+
- upgrades
- 1
10
- name
- Shrug It Off
- upgrades
- 0
11
- name
- Perfected Strike
- upgrades
- 0
12
- name
- Pommel Strike
- upgrades
- 0
Model
Bash+ acquired. Now let's proceed to the map.
slay_the_spire_exec
const s = await sts.state(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, room_phase: s.game_state.room_phase };
- screen_type
- REST
- room_phase
- COMPLETE
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=1
- floor
- 6
slay_the_spire_exec2 inputs played · 00:00:02.0 in-game
let s = await sts.choose("x=1"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=1
Played CHOOSE x=1 00:00:02.0 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoomElite
- floor
- 7
Floor 7
Model
Elite fight — let's check the encounter details carefully.
slay_the_spire_exec
const s = await sts.state(); return s.game_state.combat_state;
What came back 4 898 characters
- draw_pile
7 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- discard_pile
- none
- exhaust_pile
- none
- cards_discarded_this_turn
- 0
- times_damaged
- 0
- monsters
3 items
113 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 41
- intent
- DEBUG
- move_id
- 3
- name
- Sentry
- current_hp
- 41
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
213 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 38
- intent
- DEBUG
- move_id
- 4
- name
- Sentry
- current_hp
- 38
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
313 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 40
- intent
- DEBUG
- move_id
- 3
- name
- Sentry
- current_hp
- 40
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- turn
- 1
- limbo
- none
- hand
5 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
- player
- orbs
- none
- current_hp
- 64
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2, 1); // Pommel Strike on Sentry index1 return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:00.5 in-game
412940
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DefendStrike+Strike+DefendPerfected Strike
slay_the_spire_exec4 inputs played · 00:00:00.7 in-game
let s = await sts.play(2, 1); // Strike+ on Sentry index1 s = await sts.play(2, 1); // second Strike+ return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:00.3 in-game
Played PLAY 2 1
Played PLAY 2 1 00:00:00.3 in-game
411140
Model
Energy spent, 11 HP left on the attacking Sentry. End turn.
slay_the_spire_exec2 inputs played · 00:00:05.0 in-game
let s = await sts.end(); return s.game_state;
Inputs played
Played END
Played END 00:00:05.0 in-game
What came back 21 352 characters
- screen_type
- NONE
- screen_state
- none
- seed
- 2 577
- combat_state
- draw_pile
1 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
- discard_pile
10 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
611 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- -2
- name
- Dazed
- id
- Dazed
- type
- STATUS
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- -2
- name
- Dazed
- id
- Dazed
- type
- STATUS
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- -2
- name
- Dazed
- id
- Dazed
- type
- STATUS
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- -2
- name
- Dazed
- id
- Dazed
- type
- STATUS
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- exhaust_pile
- none
- cards_discarded_this_turn
- 0
- times_damaged
- 1
- monsters
3 items
114 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 41
- intent
- ATTACK
- move_id
- 4
- name
- Sentry
- current_hp
- 41
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
214 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 4
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 38
- intent
- DEBUFF
- move_id
- 3
- name
- Sentry
- current_hp
- 11
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
314 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 40
- intent
- ATTACK
- move_id
- 4
- name
- Sentry
- current_hp
- 40
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- turn
- 2
- limbo
- none
- hand
5 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- player
6 fields
- orbs
- none
- current_hp
- 55
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- deck
12 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1011 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 14
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- NONE
- room_phase
- COMBAT
- is_screen_up
- no
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 55
- floor
- 7
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoomElite
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(3, 1); // Strike on Sentry index1 return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 3 1
Played PLAY 3 1 00:00:00.3 in-game
41540
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DefendBash+StrikeShrug It Off
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(3, 1); // Strike on Sentry index1, should kill it return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 3 1
Played PLAY 3 1 00:00:00.3 in-game
1
- hp
- 41
- gone
- no
2
- hp
- 0
- gone
- yes
3
- hp
- 40
- gone
- no
Model
Middle Sentry killed. Now use remaining energy to block.
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- DefendBash+Shrug It Off
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(3); // Shrug It Off return s.game_state.combat_state.player;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:00.6 in-game
- orbs
- none
- current_hp
- 55
- block
- 8
- max_hp
- 80
- powers
- none
- energy
- 0
slay_the_spire_exec2 inputs played · 00:00:04.4 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:04.4 in-game
- player
- orbs
- none
- current_hp
- 45
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 41
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 40
- intent
- DEBUFF
- dmg
- -1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeDefendDazedBash+Defend
slay_the_spire_exec4 inputs played · 00:00:01.2 in-game
let s = await sts.play(4, 0); // Bash+ on index0 s = await sts.play(1, 0); // Strike on index0 return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, powers:m.powers}));
Inputs played
Played PLAY 4 0
Played PLAY 4 0 00:00:00.9 in-game
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
1
- hp
- 25
- powers
- none
2
- hp
- 0
- powers
- none
3
- hp
- 40
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
Model
Artifact consumed on index0, and it's now vulnerable at 25 HP. End turn.
slay_the_spire_exec2 inputs played · 00:00:04.6 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:04.6 in-game
- player
- orbs
- none
- current_hp
- 45
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 25
- intent
- ATTACK
- dmg
- 9
23 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 40
- intent
- ATTACK
- dmg
- 9
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeShrug It OffDazedDazedDazed
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 0); // Strike on vulnerable index0 return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
19040
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Shrug It OffDazedDazedDazed
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(1); // Shrug It Off return s.game_state.combat_state.player;
Inputs played
Played PLAY 1
Played PLAY 1 00:00:00.6 in-game
- orbs
- none
- current_hp
- 45
- block
- 8
- max_hp
- 80
- powers
- none
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:04.4 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:04.4 in-game
- player
- orbs
- none
- current_hp
- 35
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 19
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 40
- intent
- DEBUFF
- dmg
- -1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikePerfected StrikeDefendPommel StrikeStrike+
slay_the_spire_exec4 inputs played · 00:00:00.6 in-game
let s = await sts.play(1, 0); // Strike s = await sts.play(4, 0); // Pommel Strike (index shifts after each play, need recheck) return s.game_state.combat_state.hand.map(c=>c.name);
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
Played PLAY 4 0
Played PLAY 4 0 00:00:00.3 in-game
Perfected StrikeDefendPommel Strike
slay_the_spire_exec
const st = await sts.state(); return { monsters: st.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,gone:m.is_gone})), energy: st.game_state.combat_state.player.energy };
- monsters
3 items
12 fields
- hp
- 4
- gone
- no
22 fields
- hp
- 0
- gone
- yes
32 fields
- hp
- 40
- gone
- no
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:01.3 in-game
let s = await sts.play(3, 0); // Pommel Strike on index0 to finish it return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,gone:m.is_gone}));
Inputs played
Played PLAY 3 0
Played PLAY 3 0 00:00:01.3 in-game
1
- hp
- 0
- gone
- yes
2
- hp
- 0
- gone
- yes
3
- hp
- 40
- gone
- no
Model
Two Sentries down. One remains at 40 HP. Let's check remaining energy/hand and finish the turn.
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- Perfected StrikeDefendShrug It Off
- energy
- 0
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:02.8 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:02.8 in-game
- player
- orbs
- none
- current_hp
- 35
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 40
- intent
- ATTACK
- dmg
- 9
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeStrikeDazedBash+Dazed
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.monsters[2].powers;
1
- amount
- 1
- name
- Artifact
- id
- Artifact
Model
Still has Artifact. Play Bash+ to consume it and apply vulnerable, then Strike.
slay_the_spire_exec2 inputs played · 00:00:00.9 in-game
let s = await sts.play(4, 2); // Bash+ on remaining sentry (index2) return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,powers:m.powers}));
Inputs played
Played PLAY 4 2
Played PLAY 4 2 00:00:00.9 in-game
1
- hp
- 0
- powers
- none
2
- hp
- 0
- powers
- none
3
- hp
- 30
- powers
- none
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeStrikeDazedDazed
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 2); // Strike return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 2
Played PLAY 1 2 00:00:00.3 in-game
0024
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- StrikeDazedDazed
- energy
- 0
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.1 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:03.1 in-game
- player
- orbs
- none
- current_hp
- 26
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 24
- intent
- DEBUFF
- dmg
- -1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeDazedDefendDefendDazed
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 2); // Strike on last sentry return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 2
Played PLAY 1 2 00:00:00.3 in-game
0018
slay_the_spire_exec2 inputs played · 00:00:04.2 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:04.2 in-game
- player
- orbs
- none
- current_hp
- 26
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 0
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 18
- intent
- ATTACK
- dmg
- 9
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+Strike+Pommel StrikeBash+Defend
slay_the_spire_exec4 inputs played · 00:00:01.7 in-game
let s = await sts.play(1, 2); // Strike+ s = await sts.play(1, 2); // Strike+ again (index shifts) return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 1 2
Played PLAY 1 2 00:00:00.3 in-game
Played PLAY 1 2
Played PLAY 1 2 00:00:01.4 in-game
Error: Cannot read properties of undefined (reading 'monsters')
slay_the_spire_exec
const st = await sts.state(); return st.game_state;
What came back 15 336 characters
- choice_list
- goldrelicpotioncard
- screen_type
- COMBAT_REWARD
- screen_state
- rewards
4 items
12 fields
- gold
- 32
- reward_type
- GOLD
22 fields
- reward_type
- RELIC
- relic
3 fields
- name
- Captain's Wheel
- id
- CaptainsWheel
- counter
- -1
32 fields
- potion
5 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
- reward_type
- POTION
41 fields
- reward_type
- CARD
- seed
- 2 577
- deck
12 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1111 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
- max_hp
- 80
- act_boss
- The Guardian
- gold
- 14
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- COMBAT_REWARD
- room_phase
- COMPLETE
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 32
- floor
- 7
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoomElite
Model
Elite fight won! HP 32/80. Let's collect all rewards.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("relic"); return { gold: s.game_state.gold, relics: s.game_state.relics.map(r=>r.name), choice_list: s.game_state.choice_list };
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE relic
Played CHOOSE relic 00:00:00.0 in-game
- gold
- 46
- relics
- Burning BloodNeow's LamentCaptain's Wheel
- choice_list
- potioncard
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("potion"); return { potions: s.game_state.potions, choice_list: s.game_state.choice_list };
Inputs played
Played CHOOSE potion
Played CHOOSE potion 00:00:00.0 in-game
What came back 517 characters
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- choice_list
- card
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 910 characters
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- True Grit
- id
- True Grit
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Combust
- id
- Combust
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
- bowl_available
- no
- skip_available
- yes
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Metallicize"); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor, hp: s.game_state.current_hp };
Inputs played
Played CHOOSE Metallicize
Played CHOOSE Metallicize 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0
- floor
- 7
- hp
- 32
slay_the_spire_exec2 inputs played · 00:00:01.6 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:01.6 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoom
- floor
- 8
Floor 8
slay_the_spire_exec
const s = await sts.state(); return { hand: s.game_state.combat_state.hand.map(c=>c.name), monsters: s.game_state.combat_state.monsters.map(m=>({name:m.name, hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})), player: s.game_state.combat_state.player };
What came back 443 characters
- hand
- Pommel StrikeStrikeMetallicizeDefendStrike+
- monsters
2 items
14 fields
- name
- Acid Slime (M)
- hp
- 30
- intent
- DEBUG
- dmg
- -1
24 fields
- name
- Cultist
- hp
- 54
- intent
- DEBUG
- dmg
- -1
- player
- orbs
- none
- current_hp
- 32
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(3); // Metallicize return s.game_state.combat_state.player;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:00.5 in-game
- orbs
- none
- current_hp
- 32
- block
- 0
- max_hp
- 80
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 2
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Pommel StrikeStrikeDefendStrike+
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(1, 1); // Pommel Strike on Cultist (index1) return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 1
Played PLAY 1 1 00:00:00.5 in-game
3045
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- StrikeDefendStrike+Strike
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(3, 1); // Strike+ on Cultist return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 3 1
Played PLAY 3 1 00:00:00.3 in-game
3036
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.5 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage, powers:m.powers})) } : s.game_state;
Inputs played
Played END
Played END 00:00:03.5 in-game
What came back 571 characters
- player
- orbs
- none
- current_hp
- 25
- block
- 0
- max_hp
- 80
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
2 items
14 fields
- hp
- 30
- intent
- ATTACK_DEBUFF
- dmg
- 7
- powers
- none
24 fields
- hp
- 36
- intent
- ATTACK
- dmg
- 6
- powers
1 items
14 fields
- amount
- 3
- just_applied
- no
- name
- Ritual
- id
- Ritual
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Bash+Perfected StrikeShrug It OffDefendDefend
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(2, 1); // Perfected Strike on Cultist return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:00.3 in-game
3016
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- Bash+Shrug It OffDefendDefend
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(2); // Shrug It Off for block + draw return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.6 in-game
- orbs
- none
- current_hp
- 25
- block
- 8
- max_hp
- 80
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:05.6 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage, powers:m.powers})) } : s.game_state;
Inputs played
Played END
Played END 00:00:05.6 in-game
What came back 667 characters
- player
- orbs
- none
- current_hp
- 23
- block
- 18
- max_hp
- 80
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
2 items
14 fields
- hp
- 30
- intent
- ATTACK
- dmg
- 10
- powers
- none
24 fields
- hp
- 16
- intent
- ATTACK
- dmg
- 9
- powers
2 items
14 fields
- amount
- 3
- just_applied
- no
- name
- Ritual
- id
- Ritual
23 fields
- amount
- 3
- name
- Strength
- id
- Strength
slay_the_spire_exec
const st = await sts.state(); return { hp: st.game_state.current_hp, block: st.game_state.combat_state.player.block, turn: st.game_state.combat_state.turn, hand: st.game_state.combat_state.hand.map(c=>c.name) };
- hp
- 23
- block
- 18
- turn
- 3
- hand
- Strike+Perfected StrikeStrikeDefendPommel Strike
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 1); // Strike+ on Cultist return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 1
Played PLAY 1 1 00:00:00.3 in-game
307
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Perfected StrikeStrikeDefendPommel Strike
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(2, 1); // Strike on Cultist to finish it (7hp) return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:00.3 in-game
1
- hp
- 30
- gone
- no
2
- hp
- 1
- gone
- no
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- Perfected StrikeDefendPommel Strike
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(3, 1); // Pommel Strike to finish Cultist return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 3 1
Played PLAY 3 1 00:00:00.5 in-game
1
- hp
- 30
- gone
- no
2
- hp
- 0
- gone
- yes
Model
Cultist down. Only Acid Slime remains (30 HP). End turn.
slay_the_spire_exec2 inputs played · 00:00:02.9 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:02.9 in-game
- player
- orbs
- none
- current_hp
- 23
- block
- 0
- max_hp
- 80
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
2 items
13 fields
- hp
- 30
- intent
- ATTACK_DEBUFF
- dmg
- 7
23 fields
- hp
- 0
- intent
- ATTACK
- dmg
- 6
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+Bash+StrikeStrikeDefend
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2, 0); // Bash+ on Acid Slime return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.5 in-game
200
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+StrikeStrikeDefend
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 0); // Strike+ on Acid Slime, vulnerable applies 1.5x return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
70
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- StrikeStrikeDefend
- energy
- 0
Model
No energy left. End turn — Acid Slime at 7 HP should die soon.
slay_the_spire_exec2 inputs played · 00:00:04.1 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:04.1 in-game
- player
- orbs
- none
- current_hp
- 19
- block
- 0
- max_hp
- 80
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
2 items
13 fields
- hp
- 7
- intent
- ATTACK_DEBUFF
- dmg
- 7
23 fields
- hp
- 0
- intent
- ATTACK
- dmg
- 6
Game saved (interval)
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DefendSlimedDefendSlimedPommel Strike
slay_the_spire_exec2 inputs played · 00:00:01.4 in-game
let s = await sts.play(5, 0); // Pommel Strike to finish Acid Slime return s.game_state.combat_state.monsters ? s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,gone:m.is_gone})) : s.game_state;
Inputs played
Played PLAY 5 0
Played PLAY 5 0 00:00:01.4 in-game
Error: Cannot read properties of undefined (reading 'monsters')
Model
Combat ended — likely victory. Let's check state.
slay_the_spire_exec
const st = await sts.state(); return { screen_type: st.game_state.screen_type, choice_list: st.game_state.choice_list, hp: st.game_state.current_hp };
- screen_type
- COMBAT_REWARD
- choice_list
- goldcard
- hp
- 25
Model
Fight won, HP settled at 25/80. Let's collect rewards.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 893 characters
- cards
3 items
111 fields
- exhausts
- yes
- is_playable
- no
- cost
- 1
- name
- Feed
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- True Grit
- id
- True Grit
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Armaments
- id
- Armaments
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- bowl_available
- no
- skip_available
- yes
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Feed"); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor, hp: s.game_state.current_hp };
Inputs played
Played CHOOSE Feed
Played CHOOSE Feed 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0x=1
- floor
- 8
- hp
- 25
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:00.3 in-game
- screen_type
- CHEST
- room_phase
- COMPLETE
- room_type
- TreasureRoom
- floor
- 9
Floor 9
slay_the_spire_exec
const s = await sts.state(); return { choice_list: s.game_state.choice_list, screen_state: s.game_state.screen_state };
- choice_list
- open
- screen_state
- chest_open
- no
- chest_type
- LargeChest
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("open"); return s.game_state.screen_state;
Inputs played
Played CHOOSE open
Played CHOOSE open 00:00:00.0 in-game
- rewards
2 items
12 fields
- gold
- 81
- reward_type
- GOLD
22 fields
- reward_type
- RELIC
- relic
3 fields
- name
- Ink Bottle
- id
- InkBottle
- counter
- 0
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("relic"); return { gold: s.game_state.gold, relics: s.game_state.relics.map(r=>r.name) };
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE relic
Played CHOOSE relic 00:00:00.0 in-game
- gold
- 139
- relics
- Burning BloodNeow's LamentCaptain's WheelInk Bottle
Model
139 gold now. Let's proceed to the map.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0x=1
- floor
- 9
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.choose("x=1"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=1
Played CHOOSE x=1 00:00:00.3 in-game
- screen_type
- SHOP_ROOM
- room_phase
- COMPLETE
- room_type
- ShopRoom
- floor
- 10
Floor 10
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("shop"); return s.game_state.screen_state;
Inputs played
Played CHOOSE shop
Played CHOOSE shop 00:00:00.0 in-game
What came back 2 862 characters
- cards
7 items
111 fields
- exhausts
- no
- cost
- 2
- price
- 73
- name
- Carnage
- id
- Carnage
- type
- ATTACK
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
211 fields
- exhausts
- no
- cost
- 2
- price
- 69
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
311 fields
- exhausts
- no
- cost
- 0
- price
- 71
- name
- Bloodletting
- id
- Bloodletting
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
411 fields
- exhausts
- no
- cost
- 1
- price
- 81
- name
- Ghostly Armor
- id
- Ghostly Armor
- type
- SKILL
- ethereal
- yes
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
511 fields
- exhausts
- no
- cost
- 1
- price
- 39
- name
- Evolve
- id
- Evolve
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
611 fields
- exhausts
- yes
- cost
- 0
- price
- 93
- name
- Panic Button
- id
- PanicButton
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
711 fields
- exhausts
- yes
- cost
- 0
- price
- 184
- name
- Master of Strategy
- id
- Master of Strategy
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- no
- purge_cost
- 100
- potions
3 items
16 fields
- requires_target
- yes
- can_use
- no
- can_discard
- yes
- price
- 50
- name
- Fire Potion
- id
- Fire Potion
26 fields
- requires_target
- yes
- can_use
- no
- can_discard
- yes
- price
- 52
- name
- Explosive Potion
- id
- Explosive Potion
36 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- price
- 52
- name
- Power Potion
- id
- PowerPotion
- relics
3 items
14 fields
- price
- 152
- name
- Dream Catcher
- id
- Dream Catcher
- counter
- -1
24 fields
- price
- 256
- name
- Paper Phrog
- id
- Paper Frog
- counter
- -1
34 fields
- price
- 149
- name
- Cauldron
- id
- Cauldron
- counter
- -1
- purge_available
- yes
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Uppercut"); return { gold: s.game_state.gold, deck: s.game_state.deck.map(c=>c.name) };
Inputs played
Played CHOOSE Uppercut
Played CHOOSE Uppercut 00:00:00.0 in-game
- gold
- 70
- deck
- StrikeStrike+StrikeStrike+StrikeDefendDefendDefendBash+Shrug It OffPerfected StrikePommel StrikeMetallicizeFeedUppercut
Model
Let's leave the shop and find a rest site — HP is low at 25/80.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.leave(); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played LEAVE
Played LEAVE 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0
- floor
- 10
slay_the_spire_exec2 inputs played · 00:00:02.0 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:02.0 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoom
- floor
- 11
Floor 11
Model
Another combat at 25 HP — let's assess carefully.
slay_the_spire_exec
const s = await sts.state(); return { hand: s.game_state.combat_state.hand.map(c=>c.name), monsters: s.game_state.combat_state.monsters.map(m=>({name:m.name, hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})), player: s.game_state.combat_state.player };
What came back 519 characters
- hand
- Strike+StrikePerfected StrikeStrikeBash+
- monsters
3 items
14 fields
- name
- Louse
- hp
- 12
- intent
- DEBUG
- dmg
- 6
24 fields
- name
- Louse
- hp
- 11
- intent
- DEBUG
- dmg
- 7
34 fields
- name
- Louse
- hp
- 16
- intent
- DEBUG
- dmg
- 7
- player
- orbs
- none
- current_hp
- 25
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(3, 2); // Perfected Strike on Louse index2 return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 3 2
Played PLAY 3 2 00:00:00.3 in-game
1
- hp
- 12
- gone
- no
2
- hp
- 11
- gone
- no
3
- hp
- 0
- gone
- yes
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+StrikeStrikeBash+
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.play(2, 1); // Strike on Louse index1 (11hp) return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:00.7 in-game
1
- hp
- 12
- gone
- no
2
- hp
- 5
- gone
- no
3
- hp
- 0
- gone
- yes
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.8 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:03.8 in-game
- player
- orbs
- none
- current_hp
- 12
- block
- 0
- max_hp
- 80
- powers
- none
- energy
- 3
- monsters
3 items
13 fields
- hp
- 12
- intent
- BUFF
- dmg
- -1
23 fields
- hp
- 5
- intent
- ATTACK
- dmg
- 7
33 fields
- hp
- 0
- intent
- ATTACK
- dmg
- 7
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 569 characters
- hand
- MetallicizeStrikeFeedDefendDefend
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.play(3, 1); // Feed on Louse index1 (5hp) - lethal, grants max HP return { monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone})), player: s.game_state.combat_state.player };
Inputs played
Played PLAY 3 1
Played PLAY 3 1 00:00:00.7 in-game
- monsters
3 items
12 fields
- hp
- 12
- gone
- no
22 fields
- hp
- 0
- gone
- yes
32 fields
- hp
- 0
- gone
- yes
- player
- orbs
- none
- current_hp
- 15
- block
- 0
- max_hp
- 83
- powers
- none
- energy
- 2
Model
Excellent — Feed granted +3 max HP and healed. Now let's finish off the last Louse and set up defense.
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
MetallicizeStrikeDefendDefend
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(1); // Metallicize return s.game_state.combat_state.player;
Inputs played
Played PLAY 1
Played PLAY 1 00:00:00.5 in-game
- orbs
- none
- current_hp
- 15
- block
- 0
- max_hp
- 83
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeDefendDefend
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
- orbs
- none
- current_hp
- 15
- block
- 5
- max_hp
- 83
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
slay_the_spire_exec2 inputs played · 00:00:03.0 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, intent:m.intent, dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:03.0 in-game
What came back 457 characters
- player
- orbs
- none
- current_hp
- 15
- block
- 18
- max_hp
- 83
- powers
1 items
13 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
3 items
13 fields
- hp
- 12
- intent
- ATTACK
- dmg
- 9
23 fields
- hp
- 0
- intent
- ATTACK
- dmg
- 7
33 fields
- hp
- 0
- intent
- ATTACK
- dmg
- 7
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Shrug It OffPommel StrikeDefendUppercutStrike+
slay_the_spire_exec2 inputs played · 00:00:01.5 in-game
let s = await sts.play(2, 0); // Pommel Strike on Louse index0 (12hp) return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:01.5 in-game
1
- hp
- 3
- gone
- no
2
- hp
- 0
- gone
- yes
3
- hp
- 0
- gone
- yes
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Shrug It OffDefendUppercutStrike+Strike
slay_the_spire_exec2 inputs played · 00:00:01.4 in-game
let s = await sts.play(5, 0); // Strike to finish Louse index0 return s.game_state.combat_state ? s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,gone:m.is_gone})) : s.game_state;
Inputs played
Played PLAY 5 0
Played PLAY 5 0 00:00:01.4 in-game
What came back 16 155 characters
- choice_list
- goldpotioncard
- screen_type
- COMBAT_REWARD
- screen_state
- rewards
3 items
12 fields
- gold
- 19
- reward_type
- GOLD
22 fields
- potion
5 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Block Potion
- id
- Block Potion
- reward_type
- POTION
31 fields
- reward_type
- CARD
- seed
- 2 577
- deck
15 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1111 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1411 fields
- exhausts
- yes
- is_playable
- no
- cost
- 1
- name
- Feed
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- yes
1511 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
- relics
4 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
33 fields
- name
- Captain's Wheel
- id
- CaptainsWheel
- counter
- -1
43 fields
- name
- Ink Bottle
- id
- InkBottle
- counter
- 7
- max_hp
- 83
- act_boss
- The Guardian
- gold
- 70
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- COMBAT_REWARD
- room_phase
- COMPLETE
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 21
- floor
- 11
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoom
Model
Fight won, HP 21/83. Let's collect rewards — including a Block Potion, which will help.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("potion"); return { gold: s.game_state.gold, potions: s.game_state.potions, choice_list: s.game_state.choice_list };
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE potion
Played CHOOSE potion 00:00:00.0 in-game
What came back 532 characters
- gold
- 89
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Block Potion
- id
- Block Potion
- choice_list
- card
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 891 characters
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Inflame
- id
- Inflame
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
211 fields
- exhausts
- yes
- is_playable
- no
- cost
- 1
- name
- Pummel
- id
- Pummel
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 0
- name
- Clash
- id
- Clash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
- bowl_available
- no
- skip_available
- yes
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Inflame"); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor, hp: s.game_state.current_hp };
Inputs played
Played CHOOSE Inflame
Played CHOOSE Inflame 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=1
- floor
- 11
- hp
- 21
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.choose("x=1"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=1
Played CHOOSE x=1 00:00:00.3 in-game
- screen_type
- EVENT
- room_phase
- EVENT
- room_type
- EventRoom
- floor
- 12
Floor 12
slay_the_spire_exec
const s = await sts.state(); return s.game_state.screen_state;
What came back 815 characters
- event_id
- Living Wall
- body_text
- As you come to a dead-end and begin to turn around, walls slam down from the ceiling, trapping you! Three faces materialize from the walls and speak. "Forget what you know, and I'll let you go." "I require change to see a new space." "If you want to pass me, then you must grow."
- options
3 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [Forget] Remove a card from your deck.
- label
- Forget
24 fields
- choice_index
- 1
- disabled
- no
- text
- [Change] Transform a card in your deck.
- label
- Change
34 fields
- choice_index
- 2
- disabled
- no
- text
- [Grow] Upgrade a card in your deck.
- label
- Grow
- event_name
- Living Wall
Model
Free deck improvement, no HP cost — I'll upgrade a card.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose(2); return s.game_state.screen_state ? s.game_state.screen_state : s.game_state;
Inputs played
Played CHOOSE 2
Played CHOOSE 2 00:00:00.0 in-game
What came back 3 417 characters
- cards
13 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
510 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
810 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
910 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1010 fields
- exhausts
- no
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1110 fields
- exhausts
- yes
- cost
- 1
- name
- Feed
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- yes
1210 fields
- exhausts
- no
- cost
- 2
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
1310 fields
- exhausts
- no
- cost
- 1
- name
- Inflame
- id
- Inflame
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
- selected_cards
- none
- for_transform
- no
- confirm_up
- no
- any_number
- no
- for_upgrade
- yes
- num_cards
- 1
- for_purge
- no
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Feed"); return s.game_state;
Inputs played
Played CHOOSE Feed
Played CHOOSE Feed 00:00:00.0 in-game
What came back 19 267 characters
- screen_type
- GRID
- screen_state
- cards
13 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
510 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
810 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
910 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1010 fields
- exhausts
- no
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1110 fields
- exhausts
- yes
- cost
- 1
- name
- Feed
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- yes
1210 fields
- exhausts
- no
- cost
- 2
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
1310 fields
- exhausts
- no
- cost
- 1
- name
- Inflame
- id
- Inflame
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
- selected_cards
- none
- for_transform
- no
- confirm_up
- yes
- any_number
- no
- for_upgrade
- yes
- num_cards
- 1
- for_purge
- no
- seed
- 2 577
- deck
16 items
110 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
210 fields
- exhausts
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
310 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
410 fields
- exhausts
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
510 fields
- exhausts
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
610 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
710 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
810 fields
- exhausts
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
910 fields
- exhausts
- no
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1010 fields
- exhausts
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1110 fields
- exhausts
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1210 fields
- exhausts
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1310 fields
- exhausts
- no
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1410 fields
- exhausts
- yes
- cost
- 1
- name
- Feed
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- yes
1510 fields
- exhausts
- no
- cost
- 2
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
1610 fields
- exhausts
- no
- cost
- 1
- name
- Inflame
- id
- Inflame
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
- relics
4 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
33 fields
- name
- Captain's Wheel
- id
- CaptainsWheel
- counter
- -1
43 fields
- name
- Ink Bottle
- id
- InkBottle
- counter
- 7
- max_hp
- 83
- act_boss
- The Guardian
- gold
- 89
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- GRID
- room_phase
- EVENT
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- yes
- name
- Block Potion
- id
- Block Potion
- current_hp
- 21
- floor
- 12
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- EventRoom
Model
Need to confirm.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.confirm(); return s.game_state.deck.map(c=>({name:c.name, upgrades:c.upgrades}));
Inputs played
Played CONFIRM
Played CONFIRM 00:00:00.0 in-game
What came back 817 characters
16 items
1
- name
- Strike
- upgrades
- 0
2
- name
- Strike+
- upgrades
- 1
3
- name
- Strike
- upgrades
- 0
4
- name
- Strike+
- upgrades
- 1
5
- name
- Strike
- upgrades
- 0
6
- name
- Defend
- upgrades
- 0
7
- name
- Defend
- upgrades
- 0
8
- name
- Defend
- upgrades
- 0
9
- name
- Bash+
- upgrades
- 1
10
- name
- Shrug It Off
- upgrades
- 0
11
- name
- Perfected Strike
- upgrades
- 0
12
- name
- Pommel Strike
- upgrades
- 0
13
- name
- Metallicize
- upgrades
- 0
14
- name
- Feed+
- upgrades
- 1
15
- name
- Uppercut
- upgrades
- 0
16
- name
- Inflame
- upgrades
- 0
Model
Feed+ acquired. Let's continue on the map — need a rest site badly, HP still 21/83.
slay_the_spire_exec
const st = await sts.state(); return { screen_type: st.game_state.screen_type, choice_list: st.game_state.choice_list };
- screen_type
- EVENT
- choice_list
- leave
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose(0); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played CHOOSE 0
Played CHOOSE 0 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0x=2
- floor
- 12
slay_the_spire_exec2 inputs played · 00:00:00.4 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:00.4 in-game
- screen_type
- EVENT
- room_phase
- EVENT
- room_type
- EventRoom
- floor
- 13
Floor 13
slay_the_spire_exec
const s = await sts.state(); return s.game_state.screen_state;
What came back 589 characters
- event_id
- Mushrooms
- body_text
- You enter a corridor full of hypnotizing colored mushrooms. Due to your lack of specialization in mycology you are unable to identify the specimens. You want to escape, but feel oddly compelled to eat a mushroom...
- options
2 items
14 fields
- choice_index
- 0
- disabled
- no
- text
- [Stomp] Anger the Mushrooms.
- label
- Stomp
24 fields
- choice_index
- 1
- disabled
- no
- text
- [Eat] Heal 20 HP. Become Cursed - Parasite.
- label
- Eat
- event_name
- Mushrooms
Model
Healing is critical right now — I'll eat the mushroom for 20 HP despite the curse.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose(1); return { hp: s.game_state.current_hp, deck: s.game_state.deck.map(c=>c.name) };
Inputs played
Played CHOOSE 1
Played CHOOSE 1 00:00:00.0 in-game
- hp
- 41
- deck
- StrikeStrike+StrikeStrike+StrikeDefendDefendDefendBash+Shrug It OffPerfected StrikePommel StrikeMetallicizeFeed+UppercutInflame
Model
HP now 41/83 — much healthier. Let's continue.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
Error: Slay the Spire refused "PROCEED": Invalid command: proceed. Possible commands: [choose, potion, key, click, wait, state]
slay_the_spire_exec
const s = await sts.state(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list };
Error: Cannot read properties of undefined (reading 'screen_type')
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
await sts.wait(1); const s = await sts.state(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list };
Inputs played
Played WAIT 1
Played WAIT 1 00:00:00.0 in-game
- screen_type
- EVENT
- choice_list
- leave
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose(0); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played CHOOSE 0
Played CHOOSE 0 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=1
- floor
- 13
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.choose("x=1"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=1
Played CHOOSE x=1 00:00:00.3 in-game
- screen_type
- CHEST
- room_phase
- COMPLETE
- room_type
- TreasureRoom
- floor
- 14
Floor 14
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("open"); return s.game_state.screen_state;
Inputs played
Played CHOOSE open
Played CHOOSE open 00:00:00.0 in-game
- rewards
1 items
12 fields
- reward_type
- RELIC
- relic
3 fields
- name
- Toxic Egg
- id
- Toxic Egg 2
- counter
- -1
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("relic"); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor, relics: s.game_state.relics.map(r=>r.name) };
Inputs played
Played CHOOSE relic
Played CHOOSE relic 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- x=0
- floor
- 14
- relics
- Burning BloodNeow's LamentCaptain's WheelInk BottleToxic Egg
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.choose("x=0"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE x=0
Played CHOOSE x=0 00:00:00.3 in-game
- screen_type
- REST
- room_phase
- INCOMPLETE
- room_type
- RestRoom
- floor
- 15
Floor 15
slay_the_spire_exec
const s = await sts.state(); return { choice_list: s.game_state.choice_list, hp: s.game_state.current_hp, max_hp: s.game_state.max_hp, floor: s.game_state.floor };
- choice_list
- restsmith
- hp
- 41
- max_hp
- 83
- floor
- 15
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.choose("rest"); return { hp: s.game_state.current_hp, max_hp: s.game_state.max_hp };
Inputs played
Played CHOOSE rest
Played CHOOSE rest 00:00:00.7 in-game
- hp
- 65
- max_hp
- 83
Model
HP restored to 65/83. Let's proceed toward the boss.
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- MAP
- choice_list
- boss
- floor
- 15
slay_the_spire_exec
const s = await sts.state(); return { deck: s.game_state.deck.map(c=>c.name), relics: s.game_state.relics.map(r=>r.name), potions: s.game_state.potions.map(p=>p.name), hp: s.game_state.current_hp, max_hp: s.game_state.max_hp, gold: s.game_state.gold };
What came back 530 characters
- deck
- StrikeStrike+StrikeStrike+StrikeDefendDefendDefendBash+Shrug It OffPerfected StrikePommel StrikeMetallicizeFeed+UppercutInflameParasite
- relics
- Burning BloodNeow's LamentCaptain's WheelInk BottleToxic Egg
- potions
- Ancient PotionSkill PotionBlock Potion
- hp
- 65
- max_hp
- 83
- gold
- 89
Model
Good state: 65/83 HP, decent deck, 3 potions. Let's proceed to the boss fight.
slay_the_spire_exec2 inputs played · 00:00:01.6 in-game
let s = await sts.choose("boss"); return { screen_type: s.game_state.screen_type, room_phase: s.game_state.room_phase, room_type: s.game_state.room_type, floor: s.game_state.floor };
Inputs played
Played CHOOSE boss
Played CHOOSE boss 00:00:01.6 in-game
- screen_type
- NONE
- room_phase
- COMBAT
- room_type
- MonsterRoomBoss
- floor
- 16
Floor 16
Model
The Guardian boss fight has begun. Let's check the combat state.
slay_the_spire_exec
const s = await sts.state(); return s.game_state.combat_state;
What came back 5 438 characters
- draw_pile
12 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1011 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
- discard_pile
- none
- exhaust_pile
- none
- cards_discarded_this_turn
- 0
- times_damaged
- 0
- monsters
1 items
113 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- DEBUG
- move_id
- 6
- name
- The Guardian
- current_hp
- 240
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 30
- name
- Mode Shift
- id
- Mode Shift
- turn
- 1
- limbo
- none
- hand
5 items
111 fields
- exhausts
- yes
- is_playable
- yes
- cost
- 1
- name
- Feed+
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- RARE
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Inflame
- id
- Inflame
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
411 fields
- exhausts
- no
- is_playable
- no
- cost
- -2
- name
- Parasite
- id
- Parasite
- type
- CURSE
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- CURSE
- has_target
- no
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
- player
- orbs
- none
- current_hp
- 65
- block
- 0
- max_hp
- 83
- powers
- none
- energy
- 3
slay_the_spire_exec2 inputs played · 00:00:01.5 in-game
let s = await sts.play(2); // Inflame - gain strength return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:01.5 in-game
- orbs
- none
- current_hp
- 65
- block
- 0
- max_hp
- 83
- powers
1 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
- energy
- 2
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Feed+DefendParasiteStrike
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(4, 0); // Strike on Guardian return s.game_state.combat_state.monsters[0].current_hp;
Inputs played
Played PLAY 4 0
Played PLAY 4 0 00:00:00.3 in-game
232
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Feed+DefendParasite
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.play(2); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.7 in-game
- orbs
- none
- current_hp
- 65
- block
- 5
- max_hp
- 83
- powers
1 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
- energy
- 0
Model
Total 8 damage dealt this turn, staying under the Mode Shift threshold. End turn.
slay_the_spire_exec2 inputs played · 00:00:02.9 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:02.9 in-game
What came back 714 characters
- player
- orbs
- none
- current_hp
- 65
- block
- 0
- max_hp
- 83
- powers
1 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
- energy
- 3
- monsters
1 items
114 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 32
- last_move_id
- 6
- half_dead
- no
- move_adjusted_damage
- 32
- max_hp
- 240
- intent
- ATTACK
- move_id
- 2
- name
- The Guardian
- current_hp
- 232
- block
- 9
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 22
- name
- Mode Shift
- id
- Mode Shift
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Pommel StrikeMetallicizeBash+DefendShrug It Off
slay_the_spire_exec4 inputs played · 00:00:00.5 in-game
let s = await sts.play(2); // Metallicize s = await sts.play(1); // wait hand shifted, recheck return s.game_state;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
Played PLAY 1
Played PLAY 1 00:00:00.0 in-game
Error: Slay the Spire refused "PLAY 1": Selected card requires an enemy target.
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Error: Cannot read properties of undefined (reading 'combat_state')
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
await sts.wait(1); const st = await sts.state(); return st.game_state.combat_state ? { hand: st.game_state.combat_state.hand.map(c=>c.name), player: st.game_state.combat_state.player } : st.game_state;
Inputs played
Played WAIT 1
Played WAIT 1 00:00:00.0 in-game
What came back 403 characters
- hand
- Pommel StrikeBash+DefendShrug It Off
- player
- orbs
- none
- current_hp
- 65
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 2
Model
Metallicize played. Now use remaining 2 energy for block.
slay_the_spire_exec4 inputs played · 00:00:01.1 in-game
let s = await sts.play(3); // Defend s = await sts.play(3); // Shrug It Off (index shifts) return s.game_state.combat_state ? { hand: s.game_state.combat_state.hand.map(c=>c.name), player: s.game_state.combat_state.player } : s.game_state;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:00.5 in-game
Played PLAY 3
Played PLAY 3 00:00:00.6 in-game
- hand
- Pommel StrikeBash+Defend
- player
- orbs
- none
- current_hp
- 65
- block
- 13
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
slay_the_spire_exec2 inputs played · 00:00:03.2 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.2 in-game
What came back 851 characters
- player
- orbs
- none
- current_hp
- 49
- block
- 18
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 2
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- STRONG_DEBUFF
- second_last_move_id
- 6
- move_id
- 7
- name
- The Guardian
- current_hp
- 232
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 22
- name
- Mode Shift
- id
- Mode Shift
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+Perfected StrikeStrike+UppercutStrike
slay_the_spire_exec2 inputs played · 00:00:00.8 in-game
let s = await sts.play(2, 0); // Perfected Strike return s.game_state.combat_state.monsters[0];
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.8 in-game
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 7
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- BUFF
- second_last_move_id
- 2
- move_id
- 1
- name
- The Guardian
- current_hp
- 210
- block
- 20
- id
- TheGuardian
- powers
- none
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- Strike+Strike+UppercutStrike
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 0); // Strike+ on Guardian to chip block return s.game_state.combat_state.monsters[0];
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 7
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- BUFF
- second_last_move_id
- 2
- move_id
- 1
- name
- The Guardian
- current_hp
- 210
- block
- 9
- id
- TheGuardian
- powers
- none
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.6 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.6 in-game
What came back 840 characters
- player
- orbs
- none
- current_hp
- 49
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 7
- move_id
- 3
- name
- The Guardian
- current_hp
- 210
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Perfected StrikeBash+Strike+Strike+Parasite
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(1, 0); // Perfected Strike return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.5 in-game
What came back 785 characters
- monster
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 7
- move_id
- 3
- name
- The Guardian
- current_hp
- 188
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
- player
- orbs
- none
- current_hp
- 46
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Bash+Strike+Strike+Parasite
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2, 0); // Strike+ on Guardian return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.5 in-game
What came back 785 characters
- monster
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 7
- move_id
- 3
- name
- The Guardian
- current_hp
- 177
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
- player
- orbs
- none
- current_hp
- 43
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:02.8 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:02.8 in-game
What came back 845 characters
- player
- orbs
- none
- current_hp
- 37
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 177
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeUppercutDefendPommel StrikeDefend
slay_the_spire_exec4 inputs played · 00:00:00.5 in-game
let s = await sts.play(3); // Defend s = await sts.play(3); // Defend (index shifts) return s.game_state.combat_state.player;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:00.5 in-game
Played PLAY 3
Played PLAY 3 00:00:00.0 in-game
Error: Slay the Spire refused "PLAY 3": Selected card requires an enemy target.
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Error: Cannot read properties of undefined (reading 'combat_state')
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
await sts.wait(1); const st = await sts.state(); return st.game_state.combat_state ? { hand: st.game_state.combat_state.hand.map(c=>c.name), player: st.game_state.combat_state.player } : st.game_state;
Inputs played
Played WAIT 1
Played WAIT 1 00:00:00.0 in-game
- hand
- StrikeUppercutPommel StrikeDefend
- player
- orbs
- none
- current_hp
- 37
- block
- 5
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 2
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(4); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 4
Played PLAY 4 00:00:00.5 in-game
- orbs
- none
- current_hp
- 37
- block
- 10
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeUppercutPommel Strike
slay_the_spire_exec2 inputs played · 00:00:00.8 in-game
let s = await sts.play(3, 0); // Pommel Strike on Guardian return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 3 0
Played PLAY 3 0 00:00:00.8 in-game
What came back 790 characters
- monster
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 166
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
- player
- orbs
- none
- current_hp
- 37
- block
- 7
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
slay_the_spire_exec2 inputs played · 00:00:03.9 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.9 in-game
What came back 841 characters
- player
- orbs
- none
- current_hp
- 31
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 4
- move_base_damage
- 5
- last_move_id
- 4
- half_dead
- no
- move_adjusted_damage
- 5
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 3
- move_id
- 5
- name
- The Guardian
- current_hp
- 166
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 40
- name
- Mode Shift
- id
- Mode Shift
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 566 characters
- hand
- StrikeDefendFeed+StrikeStrike+
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Block Potion
- id
- Block Potion
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.potion("use", 2); // Block Potion, slot index 2 (0-based? let's check) return s.game_state.combat_state ? s.game_state.combat_state.player : s.game_state;
Inputs played
Played POTION use 2
Played POTION use 2 00:00:00.3 in-game
- orbs
- none
- current_hp
- 31
- block
- 12
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
- orbs
- none
- current_hp
- 31
- block
- 17
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 2
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeFeed+StrikeStrike+
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(4, 0); // Strike+ on Guardian return s.game_state.combat_state.monsters[0].current_hp;
Inputs played
Played PLAY 4 0
Played PLAY 4 0 00:00:00.3 in-game
155
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeFeed+Strike
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 0); // Strike on Guardian return s.game_state.combat_state.monsters[0].current_hp;
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
147
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.9 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.9 in-game
What came back 843 characters
- player
- orbs
- none
- current_hp
- 31
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 5
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- DEFEND
- second_last_move_id
- 4
- move_id
- 6
- name
- The Guardian
- current_hp
- 147
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 21
- name
- Mode Shift
- id
- Mode Shift
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Shrug It OffUppercutPommel StrikePerfected StrikeDefend
slay_the_spire_exec2 inputs played · 00:00:00.8 in-game
let s = await sts.play(4, 0); // Perfected Strike return s.game_state.combat_state.monsters[0].current_hp;
Inputs played
Played PLAY 4 0
Played PLAY 4 0 00:00:00.8 in-game
125
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Shrug It OffUppercutPommel StrikeDefend
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(3, 0); // Pommel Strike return s.game_state.combat_state.monsters[0].current_hp;
Inputs played
Played PLAY 3 0
Played PLAY 3 0 00:00:00.5 in-game
125
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.monsters[0];
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 6
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- BUFF
- second_last_move_id
- 5
- move_id
- 1
- name
- The Guardian
- current_hp
- 125
- block
- 9
- id
- TheGuardian
- powers
- none
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- Shrug It OffUppercutDefendStrike+
- energy
- 0
slay_the_spire_exec2 inputs played · 00:00:03.6 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.6 in-game
What came back 840 characters
- player
- orbs
- none
- current_hp
- 31
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 6
- move_id
- 3
- name
- The Guardian
- current_hp
- 125
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
ParasiteStrikeBash+DefendDefend
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(3, 0); // Bash+ on Guardian return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 3 0
Played PLAY 3 0 00:00:00.6 in-game
What came back 911 characters
- monster
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 6
- move_id
- 3
- name
- The Guardian
- current_hp
- 113
- block
- 0
- id
- TheGuardian
- powers
2 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
24 fields
- amount
- 3
- just_applied
- no
- name
- Vulnerable
- id
- Vulnerable
- player
- orbs
- none
- current_hp
- 28
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
ParasiteStrikeDefendDefend
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(3); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:00.5 in-game
- orbs
- none
- current_hp
- 28
- block
- 5
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.0 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.0 in-game
What came back 983 characters
- player
- orbs
- none
- current_hp
- 27
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 113
- block
- 0
- id
- TheGuardian
- powers
2 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
24 fields
- amount
- 2
- just_applied
- no
- name
- Vulnerable
- id
- Vulnerable
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 572 characters
- hand
- Strike+DefendFeed+StrikeShrug It Off
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
- orbs
- none
- current_hp
- 27
- block
- 5
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 2
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+Feed+StrikeShrug It Off
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(4); // Shrug It Off return s.game_state.combat_state.player;
Inputs played
Played PLAY 4
Played PLAY 4 00:00:00.6 in-game
- orbs
- none
- current_hp
- 27
- block
- 13
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Strike+Feed+StrikeStrike+
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.play(1, 0); // Strike+ on Guardian (vulnerable) return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.7 in-game
What came back 916 characters
- monster
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 97
- block
- 0
- id
- TheGuardian
- powers
2 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
24 fields
- amount
- 2
- just_applied
- no
- name
- Vulnerable
- id
- Vulnerable
- player
- orbs
- none
- current_hp
- 27
- block
- 10
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
Model
16 damage dealt (16.5 rounded), Guardian at 97 HP. No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:04.0 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:04.0 in-game
What came back 978 characters
- player
- orbs
- none
- current_hp
- 24
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 4
- move_base_damage
- 5
- last_move_id
- 4
- half_dead
- no
- move_adjusted_damage
- 5
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 3
- move_id
- 5
- name
- The Guardian
- current_hp
- 97
- block
- 0
- id
- TheGuardian
- powers
2 items
14 fields
- amount
- 1
- just_applied
- no
- name
- Vulnerable
- id
- Vulnerable
23 fields
- amount
- 50
- name
- Mode Shift
- id
- Mode Shift
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 585 characters
- hand
- Perfected StrikeUppercutStrikeStrike+Shrug It Off
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(5); // Shrug It Off return { hand: s.game_state.combat_state.hand.map(c=>c.name), player: s.game_state.combat_state.player };
Inputs played
Played PLAY 5
Played PLAY 5 00:00:00.6 in-game
What came back 417 characters
- hand
- Perfected StrikeUppercutStrikeStrike+Feed+
- player
- orbs
- none
- current_hp
- 24
- block
- 8
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 2
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 0); // Perfected Strike on Guardian return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.3 in-game
What came back 911 characters
- monster
- is_gone
- no
- move_hits
- 4
- move_base_damage
- 5
- last_move_id
- 4
- half_dead
- no
- move_adjusted_damage
- 5
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 3
- move_id
- 5
- name
- The Guardian
- current_hp
- 64
- block
- 0
- id
- TheGuardian
- powers
2 items
14 fields
- amount
- 1
- just_applied
- no
- name
- Vulnerable
- id
- Vulnerable
23 fields
- amount
- 17
- name
- Mode Shift
- id
- Mode Shift
- player
- orbs
- none
- current_hp
- 24
- block
- 8
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
Model
33 damage — Guardian down to 64 HP! End turn.
slay_the_spire_exec2 inputs played · 00:00:04.4 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:04.4 in-game
What came back 842 characters
- player
- orbs
- none
- current_hp
- 15
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 5
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- DEFEND
- second_last_move_id
- 4
- move_id
- 6
- name
- The Guardian
- current_hp
- 64
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 17
- name
- Mode Shift
- id
- Mode Shift
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 573 characters
- hand
- Strike+Bash+StrikePommel StrikeDefend
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec2 inputs played · 00:00:00.4 in-game
let s = await sts.play(4, 0); // Pommel Strike on Guardian return { monster: s.game_state.combat_state.monsters[0], hand: s.game_state.combat_state.hand.map(c=>c.name) };
Inputs played
Played PLAY 4 0
Played PLAY 4 0 00:00:00.4 in-game
What came back 557 characters
- monster
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 5
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- DEFEND
- second_last_move_id
- 4
- move_id
- 6
- name
- The Guardian
- current_hp
- 53
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 6
- name
- Mode Shift
- id
- Mode Shift
- hand
- Strike+Bash+StrikeDefendParasite
slay_the_spire_exec2 inputs played · 00:00:00.8 in-game
let s = await sts.play(1, 0); // Strike+ on Guardian return s.game_state.combat_state.monsters[0];
Inputs played
Played PLAY 1 0
Played PLAY 1 0 00:00:00.8 in-game
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 6
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- BUFF
- second_last_move_id
- 5
- move_id
- 1
- name
- The Guardian
- current_hp
- 42
- block
- 20
- id
- TheGuardian
- powers
- none
Game saved (interval)
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Bash+StrikeDefendParasite
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(2, 0); // Strike on Guardian to chip block return s.game_state.combat_state.monsters[0];
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.3 in-game
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- last_move_id
- 6
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 240
- intent
- BUFF
- second_last_move_id
- 5
- move_id
- 1
- name
- The Guardian
- current_hp
- 42
- block
- 12
- id
- TheGuardian
- powers
- none
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:03.5 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.5 in-game
What came back 839 characters
- player
- orbs
- none
- current_hp
- 15
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 6
- move_id
- 3
- name
- The Guardian
- current_hp
- 42
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 567 characters
- hand
- StrikeDefendDefendStrike+Strike
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec4 inputs played · 00:00:01.0 in-game
let s = await sts.play(2); // Defend s = await sts.play(2); // Defend (index shifts) return s.game_state.combat_state ? { hand: s.game_state.combat_state.hand.map(c=>c.name), player: s.game_state.combat_state.player } : s.game_state;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
- hand
- StrikeStrike+Strike
- player
- orbs
- none
- current_hp
- 15
- block
- 10
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
Model
Block 10 + Metallicize 3 = 13, covers the 9 incoming. Now use last energy for damage.
slay_the_spire_exec2 inputs played · 00:00:00.4 in-game
let s = await sts.play(2, 0); // Strike+ on Guardian return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.4 in-game
What came back 784 characters
- monster
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- last_move_id
- 1
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 6
- move_id
- 3
- name
- The Guardian
- current_hp
- 31
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
- player
- orbs
- none
- current_hp
- 15
- block
- 7
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 0
slay_the_spire_exec2 inputs played · 00:00:02.7 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:02.7 in-game
What came back 844 characters
- player
- orbs
- none
- current_hp
- 15
- block
- 0
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 31
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), potions: st.game_state.potions };
What came back 573 characters
- hand
- Strike+Pommel StrikeDefendBash+Strike
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Skill Potion
- id
- SkillPotion
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(2, 0); // Pommel Strike on Guardian return { monster: s.game_state.combat_state.monsters[0], hand: s.game_state.combat_state.hand.map(c=>c.name), energy: s.game_state.combat_state.player.energy };
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:00.6 in-game
What came back 575 characters
- monster
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 20
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
- hand
- Strike+DefendBash+StrikeParasite
- energy
- 2
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.play(2); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.7 in-game
- orbs
- none
- current_hp
- 12
- block
- 5
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), player: st.game_state.combat_state.player, monster: st.game_state.combat_state.monsters[0] };
What came back 879 characters
- hand
- Strike+Bash+StrikeParasiteUppercut
- player
- orbs
- none
- current_hp
- 12
- block
- 5
- max_hp
- 83
- powers
2 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
- energy
- 1
- monster
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 20
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec2 inputs played · 00:00:00.1 in-game
let s = await sts.potion("use", 0); // Ancient Potion return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monster: s.game_state.combat_state.monsters[0] } : s.game_state;
Inputs played
Played POTION use 0
Played POTION use 0 00:00:00.1 in-game
What came back 880 characters
- player
- orbs
- none
- current_hp
- 12
- block
- 5
- max_hp
- 83
- powers
3 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
33 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- energy
- 1
- monster
- is_gone
- no
- move_hits
- 2
- move_base_damage
- 8
- last_move_id
- 3
- half_dead
- no
- move_adjusted_damage
- 8
- max_hp
- 240
- intent
- ATTACK_BUFF
- second_last_move_id
- 1
- move_id
- 4
- name
- The Guardian
- current_hp
- 20
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 3
- name
- Sharp Hide
- id
- Sharp Hide
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.potion("use", 1); // Skill Potion return s.game_state.combat_state ? { player: s.game_state.combat_state.player, hand: s.game_state.combat_state.hand.map(c=>c.name) } : s.game_state;
Inputs played
Played POTION use 1
Played POTION use 1 00:00:00.0 in-game
What came back 500 characters
- player
- orbs
- none
- current_hp
- 12
- block
- 5
- max_hp
- 83
- powers
3 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
33 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- energy
- 1
- hand
- Strike+Bash+StrikeParasiteUppercut
slay_the_spire_exec
const st = await sts.state(); return { screen_type: st.game_state.screen_type, screen_state: st.game_state.screen_state, available_commands: st.available_commands };
What came back 1 140 characters
- screen_type
- CARD_REWARD
- screen_state
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Double Tap
- id
- Double Tap
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 0
- name
- Flex
- id
- Flex
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- True Grit
- id
- True Grit
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- bowl_available
- no
- skip_available
- yes
- available_commands
- chooseskipkeyclickwaitstate
slay_the_spire_exec2 inputs played · 00:00:00.2 in-game
let s = await sts.choose("True Grit"); return s.game_state.combat_state ? { hand: s.game_state.combat_state.hand.map(c=>c.name), player: s.game_state.combat_state.player } : s.game_state;
Inputs played
Played CHOOSE True Grit
Played CHOOSE True Grit 00:00:00.2 in-game
What came back 517 characters
- hand
- Strike+Bash+StrikeParasiteUppercutTrue Grit
- player
- orbs
- none
- current_hp
- 12
- block
- 5
- max_hp
- 83
- powers
3 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
33 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- energy
- 1
Model
True Grit is in hand now with 1 energy left. Let's play it for extra block.
slay_the_spire_exec2 inputs played · 00:00:00.7 in-game
let s = await sts.play(6); // True Grit return s.game_state.combat_state.player;
Inputs played
Played PLAY 6
Played PLAY 6 00:00:00.7 in-game
- orbs
- none
- current_hp
- 12
- block
- 12
- max_hp
- 83
- powers
3 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
33 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- energy
- 1
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- Strike+Bash+StrikeUppercut
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:03.9 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters } : s.game_state;
Inputs played
Played END
Played END 00:00:03.9 in-game
What came back 931 characters
- player
- orbs
- none
- current_hp
- 11
- block
- 0
- max_hp
- 83
- powers
3 items
13 fields
- amount
- 2
- name
- Strength
- id
- Strength
23 fields
- amount
- 3
- name
- Metallicize
- id
- Metallicize
33 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- energy
- 3
- monsters
1 items
115 fields
- is_gone
- no
- move_hits
- 4
- move_base_damage
- 5
- last_move_id
- 4
- half_dead
- no
- move_adjusted_damage
- 5
- max_hp
- 240
- intent
- ATTACK
- second_last_move_id
- 3
- move_id
- 5
- name
- The Guardian
- current_hp
- 20
- block
- 0
- id
- TheGuardian
- powers
1 items
13 fields
- amount
- 60
- name
- Mode Shift
- id
- Mode Shift
Model
This is lethal — Bash+ (12) + Strike (8) = exactly 20 damage needed to kill the Guardian before it can attack.
slay_the_spire_exec2 inputs played · 00:00:02.0 in-game
let s = await sts.play(2, 0); // Bash+ on Guardian return { monster: s.game_state.combat_state.monsters[0], player: s.game_state.combat_state.player };
Inputs played
Played PLAY 2 0
Played PLAY 2 0 00:00:02.0 in-game
Error: Cannot read properties of undefined (reading 'monsters')
slay_the_spire_exec
const st = await sts.state(); return st.game_state;
What came back 16 541 characters
- choice_list
- goldcard
- screen_type
- COMBAT_REWARD
- screen_state
- rewards
2 items
12 fields
- gold
- 103
- reward_type
- GOLD
21 fields
- reward_type
- CARD
- seed
- 2 577
- deck
17 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike+
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1011 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1111 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Perfected Strike
- id
- Perfected Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1211 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Pommel Strike
- id
- Pommel Strike
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- yes
1311 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Metallicize
- id
- Metallicize
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1411 fields
- exhausts
- yes
- is_playable
- no
- cost
- 1
- name
- Feed+
- id
- Feed
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- RARE
- has_target
- yes
1511 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Uppercut
- id
- Uppercut
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- yes
1611 fields
- exhausts
- no
- is_playable
- no
- cost
- 1
- name
- Inflame
- id
- Inflame
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
1711 fields
- exhausts
- no
- is_playable
- no
- cost
- -2
- name
- Parasite
- id
- Parasite
- type
- CURSE
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- CURSE
- has_target
- no
- relics
5 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
33 fields
- name
- Captain's Wheel
- id
- CaptainsWheel
- counter
- -1
43 fields
- name
- Ink Bottle
- id
- InkBottle
- counter
- 2
53 fields
- name
- Toxic Egg
- id
- Toxic Egg 2
- counter
- -1
- max_hp
- 83
- act_boss
- The Guardian
- gold
- 89
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- COMBAT_REWARD
- room_phase
- COMPLETE
- is_screen_up
- yes
- potions
3 items
15 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 17
- floor
- 16
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoomBoss
Model
The Guardian is defeated! Act 1 boss down. Let's collect rewards.
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("gold"); s = await sts.choose("card"); return s.game_state.screen_state;
Inputs played
Played CHOOSE gold
Played CHOOSE gold 00:00:00.0 in-game
Played CHOOSE card
Played CHOOSE card 00:00:00.0 in-game
What came back 891 characters
- cards
3 items
111 fields
- exhausts
- no
- is_playable
- no
- cost
- 3
- name
- Bludgeon
- id
- Bludgeon
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- yes
211 fields
- exhausts
- yes
- is_playable
- no
- cost
- 2
- name
- Reaper
- id
- Reaper
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- no
- cost
- 2
- name
- Immolate
- id
- Immolate
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- RARE
- has_target
- no
- bowl_available
- no
- skip_available
- yes
slay_the_spire_exec4 inputs played · 00:00:00.0 in-game
let s = await sts.choose("Reaper"); s = await sts.proceed(); return { screen_type: s.game_state.screen_type, floor: s.game_state.floor, act: s.game_state.act, hp: s.game_state.current_hp, choice_list: s.game_state.choice_list };
Inputs played
Played CHOOSE Reaper
Played CHOOSE Reaper 00:00:00.0 in-game
Played PROCEED
Played PROCEED 00:00:00.0 in-game
- screen_type
- CHEST
- floor
- 17
- act
- 1
- hp
- 17
- choice_list
- open
Floor 17
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
let s = await sts.choose("open"); return s.game_state.screen_state;
Inputs played
Played CHOOSE open
Played CHOOSE open 00:00:00.0 in-game
- relics
3 items
13 fields
- name
- Snecko Eye
- id
- Snecko Eye
- counter
- -1
23 fields
- name
- Calling Bell
- id
- Calling Bell
- counter
- -1
33 fields
- name
- Sacred Bark
- id
- SacredBark
- counter
- -1
slay_the_spire_exec2 inputs played · 00:00:01.1 in-game
let s = await sts.choose("Sacred Bark"); return { relics: s.game_state.relics.map(r=>r.name) };
Inputs played
Played CHOOSE Sacred Bark
Played CHOOSE Sacred Bark 00:00:01.1 in-game
- relics
- Burning BloodNeow's LamentCaptain's WheelInk BottleToxic EggSacred Bark
Model
Act 1 complete — the Guardian is defeated and I've picked up Sacred Bark as the boss relic. Let's continue.
slay_the_spire_exec2 inputs played · 00:00:00.4 in-game
let s = await sts.proceed(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor, act: s.game_state.act, hp: s.game_state.current_hp, max_hp: s.game_state.max_hp };
Inputs played
Played PROCEED
Played PROCEED 00:00:00.4 in-game
- screen_type
- MAP
- choice_list
- x=0x=1x=5
- floor
- 17
- act
- 2
- hp
- 83
- max_hp
- 83
Act 1 boss
Act 1 boss chapter
Victory
Victory · Victory (act1) (act 2, floor 17)
Prompt
[Request interrupted by user]
Game saved (milestone Act 1 boss)
Game saved (milestone end of session)
Run ended: completed · claude -p exited with 0; 488 assistant turns; cost $9.98; error_during_execution; game over: Victory (act1); game over: Victory (act1)
Recording stopped after 00:22:48
Recording started (obs)
Game ready, seed 23M
Human: resumed after completed
Human intervention: resumed after completed
Human: goal extended from act1 to act3
Human intervention: goal extended from act1 to act3
Goal changed from act1 to act3
Run resumed, segment 2 · claude-sonnet-5 on claude-code
Model
No response requested.
Prompt
The harness has resumed this run with a larger goal: Act 3 boss. The game was restored to your last save state, in the same paused condition. Continue from there.
Model
Resuming the run — checking current game state before continuing toward Act 3.
slay_the_spire_exec
const s = await sts.state(); return { screen_type: s.game_state.screen_type, choice_list: s.game_state.choice_list, floor: s.game_state.floor, act: s.game_state.act, hp: s.game_state.current_hp, max_hp: s.game_state.max_hp, gold: s.game_state.gold };
- screen_type
- NONE
- floor
- 7
- act
- 1
- hp
- 85
- max_hp
- 85
- gold
- 127
Floor 7
slay_the_spire_exec
const s = await sts.state(); return s.game_state;
What came back 20 013 characters
- screen_type
- NONE
- screen_state
- none
- seed
- 2 577
- combat_state
- draw_pile
7 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
611 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
- discard_pile
- none
- exhaust_pile
- none
- cards_discarded_this_turn
- 0
- times_damaged
- 0
- monsters
3 items
113 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 41
- intent
- DEBUG
- move_id
- 3
- name
- Sentry
- current_hp
- 41
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
213 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- 9
- half_dead
- no
- move_adjusted_damage
- 9
- max_hp
- 38
- intent
- DEBUG
- move_id
- 4
- name
- Sentry
- current_hp
- 38
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
313 fields
- is_gone
- no
- move_hits
- 1
- move_base_damage
- -1
- half_dead
- no
- move_adjusted_damage
- -1
- max_hp
- 40
- intent
- DEBUG
- move_id
- 3
- name
- Sentry
- current_hp
- 40
- block
- 0
- id
- Sentry
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
- turn
- 1
- limbo
- none
- hand
5 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Evolve
- id
- Evolve
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
- player
6 fields
- orbs
- none
- current_hp
- 85
- block
- 0
- max_hp
- 85
- powers
- none
- energy
- 3
- deck
12 items
111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
311 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
411 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
511 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Strike
- id
- Strike_R
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- yes
611 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
711 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
811 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
911 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Defend
- id
- Defend_R
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- BASIC
- has_target
- no
1011 fields
- exhausts
- no
- is_playable
- yes
- cost
- 2
- name
- Bash+
- id
- Bash
- type
- ATTACK
- ethereal
- no
- uuid
- [ID]
- upgrades
- 1
- rarity
- BASIC
- has_target
- yes
1111 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Shrug It Off
- id
- Shrug It Off
- type
- SKILL
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- COMMON
- has_target
- no
1211 fields
- exhausts
- no
- is_playable
- yes
- cost
- 1
- name
- Evolve
- id
- Evolve
- type
- POWER
- ethereal
- no
- uuid
- [ID]
- upgrades
- 0
- rarity
- UNCOMMON
- has_target
- no
- relics
2 items
13 fields
- name
- Burning Blood
- id
- Burning Blood
- counter
- -1
23 fields
- name
- Neow's Lament
- id
- NeowsBlessing
- counter
- -2
- max_hp
- 85
- act_boss
- The Guardian
- gold
- 127
- action_phase
- WAITING_ON_USER
- act
- 1
- screen_name
- NONE
- room_phase
- COMBAT
- is_screen_up
- no
- potions
3 items
15 fields
- requires_target
- no
- can_use
- yes
- can_discard
- yes
- name
- Ancient Potion
- id
- Ancient Potion
25 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
35 fields
- requires_target
- no
- can_use
- no
- can_discard
- no
- name
- Potion Slot
- id
- Potion Slot
- current_hp
- 85
- floor
- 7
- ascension_level
- 0
- class
- IRONCLAD
- map
58 items
15 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 1
- x
- 0
- y
- 0
- parents
- none
25 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 1
- x
- 1
- y
- 0
- parents
- none
35 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 1
- x
- 5
- y
- 0
- parents
- none
45 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 2
22 fields
- x
- 1
- y
- 2
- x
- 0
- y
- 1
- parents
- none
55 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 2
- x
- 1
- y
- 1
- parents
- none
65 fields
- symbol
- $
- children
1 items
12 fields
- x
- 5
- y
- 2
- x
- 6
- y
- 1
- parents
- none
75 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 3
22 fields
- x
- 1
- y
- 3
- x
- 0
- y
- 2
- parents
- none
85 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 1
- y
- 3
22 fields
- x
- 2
- y
- 3
- x
- 1
- y
- 2
- parents
- none
95 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 3
- x
- 5
- y
- 2
- parents
- none
105 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 4
- x
- 0
- y
- 3
- parents
- none
115 fields
- symbol
- $
- children
2 items
12 fields
- x
- 0
- y
- 4
22 fields
- x
- 2
- y
- 4
- x
- 1
- y
- 3
- parents
- none
125 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 4
- x
- 2
- y
- 3
- parents
- none
135 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 4
- x
- 6
- y
- 3
- parents
- none
145 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 5
- x
- 0
- y
- 4
- parents
- none
155 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 5
- x
- 2
- y
- 4
- parents
- none
165 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 5
- x
- 3
- y
- 4
- parents
- none
175 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 5
- x
- 6
- y
- 4
- parents
- none
185 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 6
- x
- 0
- y
- 5
- parents
- none
195 fields
- symbol
- R
- children
1 items
12 fields
- x
- 1
- y
- 6
- x
- 1
- y
- 5
- parents
- none
205 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 6
- x
- 4
- y
- 5
- parents
- none
215 fields
- symbol
- R
- children
1 items
12 fields
- x
- 6
- y
- 6
- x
- 6
- y
- 5
- parents
- none
225 fields
- symbol
- R
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 0
- y
- 6
- parents
- none
235 fields
- symbol
- E
- children
1 items
12 fields
- x
- 0
- y
- 7
- x
- 1
- y
- 6
- parents
- none
245 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 7
- x
- 4
- y
- 6
- parents
- none
255 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 7
- x
- 6
- y
- 6
- parents
- none
265 fields
- symbol
- M
- children
2 items
12 fields
- x
- 0
- y
- 8
22 fields
- x
- 1
- y
- 8
- x
- 0
- y
- 7
- parents
- none
275 fields
- symbol
- M
- children
1 items
12 fields
- x
- 5
- y
- 8
- x
- 4
- y
- 7
- parents
- none
285 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 6
- y
- 8
- x
- 5
- y
- 7
- parents
- none
295 fields
- symbol
- T
- children
2 items
12 fields
- x
- 0
- y
- 9
22 fields
- x
- 1
- y
- 9
- x
- 0
- y
- 8
- parents
- none
305 fields
- symbol
- T
- children
1 items
12 fields
- x
- 2
- y
- 9
- x
- 1
- y
- 8
- parents
- none
315 fields
- symbol
- T
- children
1 items
12 fields
- x
- 4
- y
- 9
- x
- 5
- y
- 8
- parents
- none
325 fields
- symbol
- T
- children
1 items
12 fields
- x
- 5
- y
- 9
- x
- 6
- y
- 8
- parents
- none
335 fields
- symbol
- M
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 0
- y
- 9
- parents
- none
345 fields
- symbol
- $
- children
1 items
12 fields
- x
- 0
- y
- 10
- x
- 1
- y
- 9
- parents
- none
355 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 10
- x
- 2
- y
- 9
- parents
- none
365 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 4
- y
- 9
- parents
- none
375 fields
- symbol
- R
- children
1 items
12 fields
- x
- 4
- y
- 10
- x
- 5
- y
- 9
- parents
- none
385 fields
- symbol
- M
- children
1 items
12 fields
- x
- 1
- y
- 11
- x
- 0
- y
- 10
- parents
- none
395 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 2
- y
- 11
22 fields
- x
- 3
- y
- 11
- x
- 2
- y
- 10
- parents
- none
405 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 11
22 fields
- x
- 4
- y
- 11
- x
- 4
- y
- 10
- parents
- none
415 fields
- symbol
- ?
- children
2 items
12 fields
- x
- 0
- y
- 12
22 fields
- x
- 2
- y
- 12
- x
- 1
- y
- 11
- parents
- none
425 fields
- symbol
- E
- children
1 items
12 fields
- x
- 2
- y
- 12
- x
- 2
- y
- 11
- parents
- none
435 fields
- symbol
- M
- children
2 items
12 fields
- x
- 3
- y
- 12
22 fields
- x
- 4
- y
- 12
- x
- 3
- y
- 11
- parents
- none
445 fields
- symbol
- E
- children
1 items
12 fields
- x
- 5
- y
- 12
- x
- 4
- y
- 11
- parents
- none
455 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 1
- y
- 13
- x
- 0
- y
- 12
- parents
- none
465 fields
- symbol
- M
- children
2 items
12 fields
- x
- 2
- y
- 13
22 fields
- x
- 3
- y
- 13
- x
- 2
- y
- 12
- parents
- none
475 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 3
- y
- 13
- x
- 3
- y
- 12
- parents
- none
485 fields
- symbol
- M
- children
1 items
12 fields
- x
- 4
- y
- 13
- x
- 4
- y
- 12
- parents
- none
495 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 5
- y
- 13
- x
- 5
- y
- 12
- parents
- none
505 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 0
- y
- 14
- x
- 1
- y
- 13
- parents
- none
515 fields
- symbol
- ?
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 2
- y
- 13
- parents
- none
525 fields
- symbol
- M
- children
1 items
12 fields
- x
- 2
- y
- 14
- x
- 3
- y
- 13
- parents
- none
535 fields
- symbol
- M
- children
1 items
12 fields
- x
- 3
- y
- 14
- x
- 4
- y
- 13
- parents
- none
545 fields
- symbol
- M
- children
1 items
12 fields
- x
- 6
- y
- 14
- x
- 5
- y
- 13
- parents
- none
555 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 0
- y
- 14
- parents
- none
565 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 2
- y
- 14
- parents
- none
575 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 3
- y
- 14
- parents
- none
585 fields
- symbol
- R
- children
1 items
12 fields
- x
- 3
- y
- 16
- x
- 6
- y
- 14
- parents
- none
- room_type
- MonsterRoomElite
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(2); // Evolve return s.game_state.combat_state.player;
Inputs played
Played PLAY 2
Played PLAY 2 00:00:00.5 in-game
- orbs
- none
- current_hp
- 85
- block
- 0
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 2
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DefendStrikeStrikeDefend
slay_the_spire_exec4 inputs played · 00:00:00.7 in-game
let s = await sts.play(2, 1); // Strike on Sentry index1 (attacker) s = await sts.play(2, 1); // second Strike return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 2 1
Played PLAY 2 1 00:00:00.3 in-game
Played PLAY 2 1
Played PLAY 2 1 00:00:00.3 in-game
412640
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:04.7 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,intent:m.intent,dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:04.7 in-game
What came back 449 characters
- player
- orbs
- none
- current_hp
- 76
- block
- 0
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 3
- monsters
3 items
13 fields
- hp
- 41
- intent
- ATTACK
- dmg
- 9
23 fields
- hp
- 26
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 40
- intent
- ATTACK
- dmg
- 9
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
Shrug It OffDefendDefendStrikeStrike
slay_the_spire_exec2 inputs played · 00:00:00.6 in-game
let s = await sts.play(1); // Shrug It Off return s.game_state.combat_state.player;
Inputs played
Played PLAY 1
Played PLAY 1 00:00:00.6 in-game
- orbs
- none
- current_hp
- 76
- block
- 8
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 2
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DefendDefendStrikeStrikeBash+
slay_the_spire_exec4 inputs played · 00:00:01.0 in-game
let s = await sts.play(1); // Defend s = await sts.play(1); // Defend again return s.game_state.combat_state.player;
Inputs played
Played PLAY 1
Played PLAY 1 00:00:00.4 in-game
Played PLAY 1
Played PLAY 1 00:00:00.5 in-game
- orbs
- none
- current_hp
- 76
- block
- 18
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 0
Model
Block 18 matches the incoming 18. End turn.
slay_the_spire_exec2 inputs played · 00:00:06.4 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,intent:m.intent,dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:06.4 in-game
What came back 450 characters
- player
- orbs
- none
- current_hp
- 76
- block
- 0
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 3
- monsters
3 items
13 fields
- hp
- 41
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 26
- intent
- ATTACK
- dmg
- 9
33 fields
- hp
- 40
- intent
- DEBUFF
- dmg
- -1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeDefendDazedShrug It OffDazedDazedBash+Strike
slay_the_spire_exec2 inputs played · 00:00:00.9 in-game
let s = await sts.play(7, 1); // Bash+ on Sentry index1 return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,powers:m.powers}));
Inputs played
Played PLAY 7 1
Played PLAY 7 1 00:00:00.9 in-game
1
- hp
- 41
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
2
- hp
- 16
- powers
- none
3
- hp
- 40
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeDefendDazedShrug It OffDazedDazedStrike
slay_the_spire_exec2 inputs played · 00:00:00.4 in-game
let s = await sts.play(1, 1); // Strike on index1 return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 1 1
Played PLAY 1 1 00:00:00.4 in-game
411040
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:06.5 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,intent:m.intent,dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:06.5 in-game
What came back 449 characters
- player
- orbs
- none
- current_hp
- 67
- block
- 0
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 3
- monsters
3 items
13 fields
- hp
- 41
- intent
- ATTACK
- dmg
- 9
23 fields
- hp
- 10
- intent
- DEBUFF
- dmg
- -1
33 fields
- hp
- 40
- intent
- ATTACK
- dmg
- 9
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DazedDazedDefendDefendStrikeDefendDazedStrike
slay_the_spire_exec6 inputs played · 00:00:01.0 in-game
let s = await sts.play(3); // Defend s = await sts.play(3); // Defend s = await sts.play(3); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:00.5 in-game
Played PLAY 3
Played PLAY 3 00:00:00.4 in-game
Played PLAY 3
Played PLAY 3 00:00:00.0 in-game
Error: Slay the Spire refused "PLAY 3": Selected card requires an enemy target.
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), player: st.game_state.combat_state.player };
Error: Cannot read properties of undefined (reading 'combat_state')
slay_the_spire_exec2 inputs played · 00:00:00.0 in-game
await sts.wait(1); const st = await sts.state(); return st.game_state.combat_state ? { hand: st.game_state.combat_state.hand.map(c=>c.name), player: st.game_state.combat_state.player } : st.game_state;
Inputs played
Played WAIT 1
Played WAIT 1 00:00:00.0 in-game
- hand
- DazedDazedStrikeDefendDazedStrike
- player
- orbs
- none
- current_hp
- 67
- block
- 10
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 1
Model
Block 10, one Defend left in hand.
slay_the_spire_exec2 inputs played · 00:00:00.5 in-game
let s = await sts.play(4); // Defend return s.game_state.combat_state.player;
Inputs played
Played PLAY 4
Played PLAY 4 00:00:00.5 in-game
- orbs
- none
- current_hp
- 67
- block
- 15
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 0
Model
Block 15, no energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:07.1 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,intent:m.intent,dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:07.1 in-game
What came back 450 characters
- player
- orbs
- none
- current_hp
- 64
- block
- 0
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 3
- monsters
3 items
13 fields
- hp
- 41
- intent
- DEBUFF
- dmg
- -1
23 fields
- hp
- 10
- intent
- ATTACK
- dmg
- 9
33 fields
- hp
- 40
- intent
- DEBUFF
- dmg
- -1
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
StrikeDefendDefendStrikeShrug It Off
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(1, 1); // Strike on index1 (10hp) return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 1 1
Played PLAY 1 1 00:00:00.3 in-game
1
- hp
- 41
- gone
- no
2
- hp
- 4
- gone
- no
3
- hp
- 40
- gone
- no
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DefendDefendStrikeShrug It Off
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(3, 1); // Strike to finish index1 return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp, gone:m.is_gone}));
Inputs played
Played PLAY 3 1
Played PLAY 3 1 00:00:00.3 in-game
1
- hp
- 41
- gone
- no
2
- hp
- 0
- gone
- yes
3
- hp
- 40
- gone
- no
Model
Middle Sentry killed. Let's use remaining energy for block.
slay_the_spire_exec
const st = await sts.state(); return { hand: st.game_state.combat_state.hand.map(c=>c.name), energy: st.game_state.combat_state.player.energy };
- hand
- DefendDefendShrug It Off
- energy
- 1
slay_the_spire_exec2 inputs played · 00:00:01.0 in-game
let s = await sts.play(3); // Shrug It Off return s.game_state.combat_state.player;
Inputs played
Played PLAY 3
Played PLAY 3 00:00:01.0 in-game
- orbs
- none
- current_hp
- 64
- block
- 8
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 0
Model
No energy left. End turn.
slay_the_spire_exec2 inputs played · 00:00:05.9 in-game
let s = await sts.end(); return s.game_state.combat_state ? { player: s.game_state.combat_state.player, monsters: s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,intent:m.intent,dmg:m.move_adjusted_damage})) } : s.game_state;
Inputs played
Played END
Played END 00:00:05.9 in-game
What came back 447 characters
- player
- orbs
- none
- current_hp
- 64
- block
- 0
- max_hp
- 85
- powers
1 items
13 fields
- amount
- 1
- name
- Evolve
- id
- Evolve
- energy
- 3
- monsters
3 items
13 fields
- hp
- 41
- intent
- ATTACK
- dmg
- 9
23 fields
- hp
- 0
- intent
- ATTACK
- dmg
- 9
33 fields
- hp
- 40
- intent
- ATTACK
- dmg
- 9
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DazedDazedDazedDazedDefendStrikeDazedBash+StrikeStrike
slay_the_spire_exec2 inputs played · 00:00:00.9 in-game
let s = await sts.play(8, 0); // Bash+ on index0 return s.game_state.combat_state.monsters.map(m=>({hp:m.current_hp,powers:m.powers}));
Inputs played
Played PLAY 8 0
Played PLAY 8 0 00:00:00.9 in-game
1
- hp
- 31
- powers
- none
2
- hp
- 0
- powers
- none
3
- hp
- 40
- powers
1 items
13 fields
- amount
- 1
- name
- Artifact
- id
- Artifact
slay_the_spire_exec
const st = await sts.state(); return st.game_state.combat_state.hand.map(c=>c.name);
DazedDazedDazedDazedDefendStrikeDazedStrikeStrike
slay_the_spire_exec2 inputs played · 00:00:00.3 in-game
let s = await sts.play(6, 0); // Strike on index0 return s.game_state.combat_state.monsters.map(m=>m.current_hp);
Inputs played
Played PLAY 6 0
Played PLAY 6 0 00:00:00.3 in-game
25040
Model
No energy left. End turn.
Prompt
[Request interrupted by user]
Game saved (milestone end of session)
Run ended: stopped · claude -p exited with 0; 56 assistant turns; cost $2.72; error_during_execution; time budget of 3 min reached; weekly budget 70% reached