Spaces:
Running
Running
| from enum import IntEnum | |
| class Opcode(IntEnum): | |
| # Core Flow | |
| NOP = 0 | |
| RETURN = 1 | |
| JUMP = 2 | |
| JUMP_IF_FALSE = 3 | |
| # State Modification (10-99) | |
| DRAW = 10 | |
| ADD_BLADES = 11 | |
| ADD_HEARTS = 12 | |
| REDUCE_COST = 13 | |
| LOOK_DECK = 14 | |
| RECOVER_LIVE = 15 | |
| BOOST_SCORE = 16 | |
| RECOVER_MEMBER = 17 | |
| BUFF_POWER = 18 | |
| IMMUNITY = 19 | |
| MOVE_MEMBER = 20 | |
| SWAP_CARDS = 21 | |
| SEARCH_DECK = 22 | |
| ENERGY_CHARGE = 23 | |
| SET_BLADES = 24 | |
| SET_HEARTS = 25 | |
| FORMATION_CHANGE = 26 | |
| NEGATE_EFFECT = 27 | |
| ORDER_DECK = 28 # Reorder cards in deck. Attr: 0=Discard, 1=DeckTop, 2=DeckBottom | |
| META_RULE = 29 | |
| SELECT_MODE = 30 | |
| MOVE_TO_DECK = 31 | |
| TAP_OPPONENT = 32 | |
| PLACE_UNDER = 33 | |
| FLAVOR_ACTION = 34 | |
| RESTRICTION = 35 | |
| BATON_TOUCH_MOD = 36 | |
| SET_SCORE = 37 | |
| SWAP_ZONE = 38 | |
| TRANSFORM_COLOR = 39 | |
| REVEAL_CARDS = 40 | |
| LOOK_AND_CHOOSE = 41 | |
| CHEER_REVEAL = 42 | |
| ACTIVATE_MEMBER = 43 | |
| ADD_TO_HAND = 44 | |
| COLOR_SELECT = 45 | |
| REPLACE_EFFECT = 46 | |
| TRIGGER_REMOTE = 47 | |
| REDUCE_HEART_REQ = 48 | |
| MODIFY_SCORE_RULE = 49 | |
| ADD_STAGE_ENERGY = 50 # Internal | |
| SET_TAPPED = 51 # Internal | |
| ADD_CONTINUOUS = 52 # Internal | |
| TAP_MEMBER = 53 | |
| PLAY_MEMBER_FROM_HAND = 57 | |
| MOVE_TO_DISCARD = 58 | |
| # --- Added to fix systemic parsing issues --- | |
| GRANT_ABILITY = 60 | |
| INCREASE_HEART_COST = 61 | |
| REDUCE_YELL_COUNT = 62 | |
| PLAY_MEMBER_FROM_DISCARD = 63 | |
| PAY_ENERGY = 64 | |
| SELECT_MEMBER = 65 | |
| DRAW_UNTIL = 66 | |
| SELECT_PLAYER = 67 | |
| SELECT_LIVE = 68 | |
| REVEAL_UNTIL = 69 | |
| INCREASE_COST = 70 | |
| PREVENT_PLAY_TO_SLOT = 71 | |
| SWAP_AREA = 72 | |
| TRANSFORM_HEART = 73 | |
| SELECT_CARDS = 74 | |
| OPPONENT_CHOOSE = 75 | |
| PLAY_LIVE_FROM_DISCARD = 76 | |
| REDUCE_LIVE_SET_LIMIT = 77 | |
| PREVENT_ACTIVATE = 82 | |
| ACTIVATE_ENERGY = 81 | |
| # Target Specification (100-199) | |
| SET_TARGET_SELF = 100 | |
| SET_TARGET_PLAYER = 101 | |
| SET_TARGET_OPPONENT = 102 | |
| SET_TARGET_ALL_PLAYERS = 103 | |
| SET_TARGET_MEMBER_SELF = 104 | |
| SET_TARGET_MEMBER_OTHER = 105 | |
| SET_TARGET_CARD_HAND = 106 | |
| SET_TARGET_CARD_DISCARD = 107 | |
| SET_TARGET_CARD_DECK_TOP = 108 | |
| SET_TARGET_OPPONENT_HAND = 109 | |
| SET_TARGET_MEMBER_SELECT = 110 | |
| SET_TARGET_MEMBER_NAMED = 111 | |
| # Condition Checks (200-299) | |
| CHECK_TURN_1 = 200 | |
| CHECK_HAS_MEMBER = 201 | |
| CHECK_HAS_COLOR = 202 | |
| CHECK_COUNT_STAGE = 203 | |
| CHECK_COUNT_HAND = 204 | |
| CHECK_COUNT_DISCARD = 205 | |
| CHECK_IS_CENTER = 206 | |
| CHECK_LIFE_LEAD = 207 | |
| CHECK_COUNT_GROUP = 208 | |
| CHECK_GROUP_FILTER = 209 | |
| CHECK_OPPONENT_HAS = 210 | |
| CHECK_SELF_IS_GROUP = 211 | |
| CHECK_MODAL_ANSWER = 212 | |
| CHECK_COUNT_ENERGY = 213 | |
| CHECK_HAS_LIVE_CARD = 214 | |
| CHECK_COST_CHECK = 215 | |
| CHECK_RARITY_CHECK = 216 | |
| CHECK_HAND_HAS_NO_LIVE = 217 | |
| CHECK_COUNT_SUCCESS_LIVE = 218 | |
| CHECK_OPPONENT_HAND_DIFF = 219 | |
| CHECK_SCORE_COMPARE = 220 | |
| CHECK_HAS_CHOICE = 221 | |
| CHECK_OPPONENT_CHOICE = 222 | |
| CHECK_COUNT_HEARTS = 223 | |
| CHECK_COUNT_BLADES = 224 | |
| CHECK_OPPONENT_ENERGY_DIFF = 225 | |
| CHECK_HAS_KEYWORD = 226 | |
| CHECK_DECK_REFRESHED = 227 | |
| CHECK_HAS_MOVED = 228 | |
| CHECK_HAND_INCREASED = 229 | |
| CHECK_COUNT_LIVE_ZONE = 230 | |
| CHECK_BATON = 231 | |
| CHECK_TYPE_CHECK = 232 | |
| CHECK_IS_IN_DISCARD = 233 | |