LovecaSim / engine /models /opcodes.py
trioskosmos's picture
Upload folder using huggingface_hub
bb3fbf9 verified
raw
history blame
3.41 kB
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