Spaces:
Running
Running
File size: 3,407 Bytes
bb3fbf9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
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
|