File size: 10,774 Bytes
88d4171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
#[allow(unused_imports)]
use serde::{Deserialize, Serialize};
use serde_repr::{Deserialize_repr, Serialize_repr};

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize_repr, Deserialize_repr, Default)]
#[repr(u8)]
pub enum TriggerType {
    #[default]
    None = 0,
    OnPlay = 1,
    OnLiveStart = 2,
    OnLiveSuccess = 3,
    TurnStart = 4,
    TurnEnd = 5,
    Constant = 6,
    Activated = 7,
    OnLeaves = 8,
    OnReveal = 9,
    OnPositionChange = 10,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize_repr, Deserialize_repr, Default)]
#[repr(u8)]
pub enum TargetType {
    #[default]
    Self_ = 0,
    Player = 1,
    Opponent = 2,
    AllPlayers = 3,
    MemberSelf = 4,
    MemberOther = 5,
    CardHand = 6,
    CardDiscard = 7,
    CardDeckTop = 8,
    OpponentHand = 9,
    MemberSelect = 10,
    MemberNamed = 11,
    OpponentMember = 12,
    PlayerSelect = 13,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize_repr, Deserialize_repr, Default)]
#[repr(u8)]
pub enum EffectType {
    #[default]
    Draw = 0,
    AddBlades = 1,
    AddHearts = 2,
    ReduceCost = 3,
    LookDeck = 4,
    RecoverLive = 5,
    BoostScore = 6,
    RecoverMember = 7,
    BuffPower = 8,
    Immunity = 9,
    MoveMember = 10,
    SwapCards = 11,
    SearchDeck = 12,
    EnergyCharge = 13,
    SetBlades = 31,
    SetHearts = 32,
    FormationChange = 33,
    NegateEffect = 14,
    OrderDeck = 15,
    MetaRule = 16,
    SelectMode = 17,
    MoveToDeck = 18,
    TapOpponent = 19,
    PlaceUnder = 20,
    FlavorAction = 99,
    Restriction = 21,
    BatonTouchMod = 22,
    SetScore = 23,
    SwapZone = 24,
    TransformColor = 25,
    RevealCards = 26,
    LookAndChoose = 27,
    CheerReveal = 28,
    ActivateMember = 29,
    AddToHand = 30,
    ColorSelect = 37,
    ReplaceEffect = 34,
    TriggerRemote = 35,
    ReduceHeartReq = 36,
    ModifyScoreRule = 38,
    PlayMemberFromHand = 39,
    TapMember = 40,
    MoveToDiscard = 41,
    GrantAbility = 42,
    IncreaseHeartCost = 43,
    ReduceYellCount = 44,
    PlayMemberFromDiscard = 45,
    PayEnergy = 46,
    SelectMember = 47,
    DrawUntil = 48,
    SelectPlayer = 49,
    SelectLive = 50,
    RevealUntil = 51,
    IncreaseCost = 52,
    PreventPlayToSlot = 53,
    SwapArea = 54,
    TransformHeart = 55,
    SelectCards = 56,
    OpponentChoose = 57,
    PlayLiveFromDiscard = 58,
    ReduceLiveSetLimit = 59,
    PreventActivate = 72,
    ActivateEnergy = 81,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize_repr, Deserialize_repr, Default)]
#[repr(u8)]
pub enum ConditionType {
    #[default]
    None = 0,
    Turn1 = 1,
    HasMember = 2,
    HasColor = 3,
    CountStage = 4,
    CountHand = 5,
    CountDiscard = 6,
    IsCenter = 7,
    LifeLead = 8,
    CountGroup = 9,
    GroupFilter = 10,
    OpponentHas = 11,
    SelfIsGroup = 12,
    ModalAnswer = 13,
    CountEnergy = 14,
    HasLiveCard = 15,
    CostCheck = 16,
    RarityCheck = 17,
    HandHasNoLive = 18,
    CountSuccessLive = 19,
    OpponentHandDiff = 20,
    ScoreCompare = 21,
    HasChoice = 22,
    OpponentChoice = 23,
    CountHearts = 24,
    CountBlades = 25,
    OpponentEnergyDiff = 26,
    HasKeyword = 27,
    DeckRefreshed = 28,
    HasMoved = 29,
    HandIncreased = 30,
    CountLiveZone = 31,
    Baton = 32,
    TypeCheck = 33,
    IsInDiscard = 34,
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize_repr, Deserialize_repr, Default)]
#[repr(u8)]
pub enum AbilityCostType {
    #[default]
    None = 0,
    Energy = 1,
    TapSelf = 2,
    DiscardHand = 3,
    ReturnHand = 4,
    SacrificeSelf = 5,
    RevealHandAll = 6,
    SacrificeUnder = 7,
    DiscardEnergy = 8,
    RevealHand = 9,
    TapMember = 20,
    TapEnergy = 21,
    RestMember = 22,
    ReturnMemberToHand = 23,
    DiscardMember = 24,
    DiscardLive = 25,
    RemoveLive = 26,
    RemoveMember = 27,
    ReturnLiveToHand = 28,
    ReturnLiveToDeck = 29,
    ReturnMemberToDeck = 30,
    PlaceMemberFromHand = 31,
    PlaceLiveFromHand = 32,
    PlaceEnergyFromHand = 33,
    PlaceMemberFromDiscard = 34,
    PlaceLiveFromDiscard = 35,
    PlaceEnergyFromDiscard = 36,
    PlaceMemberFromDeck = 37,
    PlaceLiveFromDeck = 38,
    PlaceEnergyFromDeck = 39,
    ShuffleDeck = 41,
    DrawCard = 42,
    DiscardTopDeck = 43,
    RemoveTopDeck = 44,
    ReturnDiscardToDeck = 45,
    ReturnRemovedToDeck = 46,
    ReturnRemovedToHand = 47,
    ReturnRemovedToDiscard = 48,
    PlaceEnergyFromSuccess = 49,
    DiscardSuccessLive = 50,
    RemoveSuccessLive = 51,
    ReturnSuccessLiveToHand = 52,
    ReturnSuccessLiveToDeck = 53,
    ReturnSuccessLiveToDiscard = 54,
    PlaceMemberFromSuccess = 55,
    PlaceLiveFromSuccess = 56,
    PlaceEnergyFromRemoved = 57,
    PlaceMemberFromRemoved = 58,
    PlaceLiveFromRemoved = 59,
    ReturnEnergyToDeck = 60,
    ReturnEnergyToHand = 61,
    RemoveEnergy = 62,
    ReturnStageEnergyToDeck = 63,
    ReturnStageEnergyToHand = 64,
    DiscardStageEnergy = 65,
    RemoveStageEnergy = 66,
    PlaceEnergyFromStageEnergy = 67,
    PlaceMemberFromStageEnergy = 68,
    PlaceLiveFromStageEnergy = 69,
    PlaceEnergyFromHandToStageEnergy = 70,
    PlaceMemberFromHandToStageEnergy = 71,
    PlaceLiveFromHandToStageEnergy = 72,
    PlaceEnergyFromDiscardToStageEnergy = 73,
    PlaceMemberFromDiscardToStageEnergy = 74,
    PlaceLiveFromDiscardToStageEnergy = 75,
    PlaceEnergyFromDeckToStageEnergy = 76,
    PlaceMemberFromDeckToStageEnergy = 77,
    PlaceLiveFromDeckToStageEnergy = 78,
    PlaceEnergyFromSuccessToStageEnergy = 79,
    PlaceMemberFromSuccessToStageEnergy = 80,
    PlaceLiveFromSuccessToStageEnergy = 81,
    PlaceEnergyFromRemovedToStageEnergy = 82,
    PlaceMemberFromRemovedToStageEnergy = 83,
    PlaceLiveFromRemovedToStageEnergy = 84,
    ReturnLiveToDiscard = 85,
    ReturnLiveToRemoved = 86,
    ReturnLiveToSuccess = 87,
    ReturnMemberToDiscard = 88,
    ReturnMemberToRemoved = 89,
    ReturnMemberToSuccess = 90,
    ReturnEnergyToDiscard = 91,
    ReturnEnergyToRemoved = 92,
    ReturnEnergyToSuccess = 93,
    ReturnSuccessLiveToRemoved = 94,
    ReturnRemovedToSuccess = 95,
    ReturnStageEnergyToDiscard = 96,
    ReturnStageEnergyToRemoved = 97,
    ReturnStageEnergyToSuccess = 98,
    ReturnDiscardToHand = 99,
    ReturnDiscardToRemoved = 100,
    ReturnDiscardToSuccess = 101,
    ReturnDeckToDiscard = 102,
    ReturnDeckToHand = 103,
    ReturnDeckToRemoved = 104,
    ReturnDeckToSuccess = 105,
    ReturnEnergyDeckToDiscard = 106,
    ReturnEnergyDeckToHand = 107,
    ReturnEnergyDeckToRemoved = 108,
    ReturnEnergyDeckToSuccess = 109,
    PlaceEnergyFromDeckToDiscard = 110,
    PlaceEnergyFromDeckToHand = 111,
    PlaceEnergyFromDeckToRemoved = 112,
    PlaceEnergyFromDeckToSuccess = 113,
    PlaceEnergyFromDiscardToHand = 114,
    PlaceEnergyFromDiscardToRemoved = 115,
    PlaceEnergyFromDiscardToSuccess = 116,
    PlaceEnergyFromEnergyDeck = 117,
    PlaceEnergyFromEnergyDeckToDiscard = 118,
    PlaceEnergyFromEnergyDeckToHand = 119,
    PlaceEnergyFromEnergyDeckToRemoved = 120,
    PlaceEnergyFromEnergyDeckToStageEnergy = 121,
    PlaceEnergyFromEnergyDeckToSuccess = 122,
    PlaceEnergyFromEnergyZoneToDiscard = 123,
    PlaceEnergyFromEnergyZoneToHand = 124,
    PlaceEnergyFromEnergyZoneToRemoved = 125,
    PlaceEnergyFromEnergyZoneToSuccess = 126,
    PlaceEnergyFromHandToDiscard = 127,
    PlaceEnergyFromHandToRemoved = 128,
    PlaceEnergyFromHandToSuccess = 129,
    PlaceEnergyFromRemovedToDiscard = 130,
    PlaceEnergyFromRemovedToHand = 131,
    PlaceEnergyFromRemovedToSuccess = 132,
    PlaceEnergyFromStageEnergyToDiscard = 133,
    PlaceEnergyFromStageEnergyToHand = 134,
    PlaceEnergyFromStageEnergyToRemoved = 135,
    PlaceEnergyFromStageEnergyToSuccess = 136,
    PlaceEnergyFromSuccessToDiscard = 137,
    PlaceEnergyFromSuccessToHand = 138,
    PlaceEnergyFromSuccessToRemoved = 139,
    PlaceLiveFromDeckToDiscard = 140,
    PlaceLiveFromDeckToHand = 141,
    PlaceLiveFromDeckToRemoved = 142,
    PlaceLiveFromDeckToSuccess = 143,
    PlaceLiveFromDiscardToHand = 144,
    PlaceLiveFromDiscardToRemoved = 145,
    PlaceLiveFromDiscardToSuccess = 146,
    PlaceLiveFromEnergyDeck = 147,
    PlaceLiveFromEnergyDeckToDiscard = 148,
    PlaceLiveFromEnergyDeckToHand = 149,
    PlaceLiveFromEnergyDeckToRemoved = 150,
    PlaceLiveFromEnergyDeckToStageEnergy = 151,
    PlaceLiveFromEnergyDeckToSuccess = 152,
    PlaceLiveFromEnergyZoneToDiscard = 153,
    PlaceLiveFromEnergyZoneToHand = 154,
    PlaceLiveFromEnergyZoneToRemoved = 155,
    PlaceLiveFromEnergyZoneToSuccess = 156,
    PlaceLiveFromHandToDiscard = 157,
    PlaceLiveFromHandToRemoved = 158,
    PlaceLiveFromHandToSuccess = 159,
    PlaceLiveFromRemovedToDiscard = 160,
    PlaceLiveFromRemovedToHand = 161,
    PlaceLiveFromRemovedToSuccess = 162,
    PlaceLiveFromStageEnergyToDiscard = 163,
    PlaceLiveFromStageEnergyToHand = 164,
    PlaceLiveFromStageEnergyToRemoved = 165,
    PlaceLiveFromStageEnergyToSuccess = 166,
    PlaceLiveFromSuccessToDiscard = 167,
    PlaceLiveFromSuccessToHand = 168,
    PlaceLiveFromSuccessToRemoved = 169,
    PlaceMemberFromDeckToDiscard = 170,
    PlaceMemberFromDeckToHand = 171,
    PlaceMemberFromDeckToRemoved = 172,
    PlaceMemberFromDeckToSuccess = 173,
    PlaceMemberFromDiscardToHand = 174,
    PlaceMemberFromDiscardToRemoved = 175,
    PlaceMemberFromDiscardToSuccess = 176,
    PlaceMemberFromEnergyDeck = 177,
    PlaceMemberFromEnergyDeckToDiscard = 178,
    PlaceMemberFromEnergyDeckToHand = 179,
    PlaceMemberFromEnergyDeckToRemoved = 180,
    PlaceMemberFromEnergyDeckToStageEnergy = 181,
    PlaceMemberFromEnergyDeckToSuccess = 182,
    PlaceMemberFromEnergyZoneToDiscard = 183,
    PlaceMemberFromEnergyZoneToHand = 184,
    PlaceMemberFromEnergyZoneToRemoved = 185,
    PlaceMemberFromEnergyZoneToSuccess = 186,
    PlaceMemberFromHandToDiscard = 187,
    PlaceMemberFromHandToRemoved = 188,
    PlaceMemberFromHandToSuccess = 189,
    PlaceMemberFromRemovedToDiscard = 190,
    PlaceMemberFromRemovedToHand = 191,
    PlaceMemberFromRemovedToSuccess = 192,
    PlaceMemberFromStageEnergyToDiscard = 193,
    PlaceMemberFromStageEnergyToHand = 194,
    PlaceMemberFromStageEnergyToRemoved = 195,
    PlaceMemberFromStageEnergyToSuccess = 196,
    PlaceMemberFromSuccessToDiscard = 197,
    PlaceMemberFromSuccessToHand = 198,
    PlaceMemberFromSuccessToRemoved = 199,
}