Hearthstone game state:
ENTITY_ID: 1
ZONE: PLAY
CARDTYPE: GAME
STATE: 2
ENTITY_ID: 2
PLAYSTATE: PLAYING
RESOURCES_USED: 1
RESOURCES: 1
HERO_ENTITY: 64
MAXHANDSIZE: 10
PLAYER_ID: 1
ZONE: PLAY
CONTROLLER: 1
CARDTYPE: PLAYER
ENTITY_ID: 3
PLAYSTATE: PLAYING
RESOURCES: 1
HERO_ENTITY: 66
MAXHANDSIZE: 10
PLAYER_ID: 2
ZONE: PLAY
CONTROLLER: 2
CARDTYPE: PLAYER
TEXT: Destroy a friendly Demon. Restore #5 Health to your hero.
ENTITY_ID: 15
ZONE: HAND
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: SPELL
ZONE_POSITION: 3
ENTITY_ID: 20
HEALTH: 1
ATK: 1
ZONE: HAND
CONTROLLER: 1
CLASS: NEUTRAL
CARDRACE: 20
CARDTYPE: MINION
ZONE_POSITION: 1
TEXT: <b>Taunt</b>
<b>Battlecry:</b> <b>Discover</b> a <b>Taunt</b>_minion.
ENTITY_ID: 21
HEALTH: 5
ATK: 1
COST: 3
ZONE: HAND
CONTROLLER: 1
TAUNT: 1
CLASS: NEUTRAL
CARDTYPE: MINION
BATTLECRY: 1
ZONE_POSITION: 5
TEXT: <b>Deathrattle:</b> Summon a 4/4 Nerubian.
ENTITY_ID: 22
HEALTH: 2
COST: 2
ZONE: HAND
CONTROLLER: 1
CLASS: NEUTRAL
CARDTYPE: MINION
DEATHRATTLE: 1
ZONE_POSITION: 2
TEXT: <b>Taunt</b>
Has +2 Attack during your opponent's turn.
ENTITY_ID: 25
HEALTH: 3
COST: 1
EXHAUSTED: 1
ZONE: PLAY
CONTROLLER: 1
TAUNT: 1
CLASS: NEUTRAL
CARDRACE: 18
CARDTYPE: MINION
ZONE_POSITION: 1
ENTITY_ID: 34
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 4
ENTITY_ID: 52
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 2
ENTITY_ID: 60
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 3
ENTITY_ID: 61
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 1
ENTITY_ID: 64
HEALTH: 30
ZONE: PLAY
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: HERO
TEXT: <b>Hero Power</b>
Draw a card and take $2_damage.
ENTITY_ID: 65
COST: 2
ZONE: PLAY
CONTROLLER: 1
CLASS: WARLOCK
CARDTYPE: HERO_POWER
ENTITY_ID: 66
HEALTH: 30
ZONE: PLAY
CONTROLLER: 2
CLASS: PALADIN
CARDTYPE: HERO
TEXT: <b>Hero Power</b>
Summon a 1/1 Silver Hand Recruit.
ENTITY_ID: 67
COST: 2
ZONE: PLAY
CONTROLLER: 2
CLASS: PALADIN
CARDTYPE: HERO_POWER
TEXT: Gain 1 Mana Crystal this turn only.
ENTITY_ID: 68
ZONE: HAND
CONTROLLER: 1
CLASS: NEUTRAL
CARDTYPE: SPELL
ZONE_POSITION: 4

Available options:
{'ID': 3, 'List': [{'Type': 'END_TURN', 'Main': {'ID': 0, 'Targets': None, 'PlayErrorInfo': {'PlayError': 'INVALID', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 68, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 20, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 22, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 15, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TO_PLAY', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 21, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 64, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 65, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 66, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 67, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 25, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}]}

Chosen action:
HasSubOption: yes
HasPosition: yes
Id: 3
Index: 2
Target: 0
SubOption: -1
Position: 1

Outcome:
ENTITY_ID: 15
ZONE_POSITION: 3=>2
ENTITY_ID: 20
EXHAUSTED: 0=>1
ZONE: HAND=>PLAY
ENTITY_ID: 21
ZONE_POSITION: 5=>4
ENTITY_ID: 22
ZONE_POSITION: 2=>1
ENTITY_ID: 25
ZONE_POSITION: 1=>2
ENTITY_ID: 68
ZONE_POSITION: 4=>3