File size: 1,223 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
from enum import IntEnum


class ContextIndex(IntEnum):
    """

    Indices for the fixed-size NumPy context array (int32).

    Size should be enough to hold all standard context variables.

    Standard Size: 64 integers.

    """

    # Header / Meta
    TYPE = 0  # Context Type (Trigger, Effect, etc)
    PLAYER_ID = 1  # Owner/Active Player
    OPPONENT_ID = 2
    PHASE = 3
    TURN = 4

    # Source Info
    SOURCE_CARD_ID = 5
    SOURCE_ZONE = 6  # Zone Enum
    SOURCE_ZONE_IDX = 7
    SOURCE_TYPE = 8  # Member/Live

    # Target Info
    TARGET_CARD_ID = 10
    TARGET_ZONE = 11
    TARGET_ZONE_IDX = 12
    TARGET_PLAYER_ID = 13
    TARGET_COUNT = 14  # How many targets

    # Payload / Parameters
    VALUE = 20  # Generic Value (Amount, Score, etc)
    COST_PAID = 21  # Boolean/Chek
    ATTRIBUTE = 22  # Color/Attribute
    GROUP = 23  # Group Enum
    SUB_TYPE = 24  # Trigger Subtype / Effect Subtype

    # Mapped Params (Generic registers)
    PARAM_1 = 30
    PARAM_2 = 31
    PARAM_3 = 32
    PARAM_4 = 33

    # Flags (Bitmask)
    FLAGS = 50  # Optional, Negated, etc.

    # Execution State
    STEP_INDEX = 60
    TOTAL_STEPS = 61

    SIZE = 64