@my-swu/simulator-client 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/schemas.js +267 -671
- package/dist/generated/types/admin-match-debug-bundle.d.ts +1 -1
- package/dist/generated/types/admin-match-replay-response.d.ts +1 -1
- package/dist/generated/types/client-message.d.ts +1 -1
- package/dist/generated/types/common.d.ts +79 -260
- package/dist/generated/types/format-event-response.d.ts +1 -1
- package/dist/generated/types/game-command.d.ts +1 -1
- package/dist/generated/types/game-event.d.ts +1 -1
- package/dist/generated/types/game-state.d.ts +1 -1
- package/dist/generated/types/get-match-response.d.ts +1 -1
- package/dist/generated/types/list-active-ai-matches-response.d.ts +1 -1
- package/dist/generated/types/lobby-access-response.d.ts +1 -1
- package/dist/generated/types/lobby-server-message.d.ts +1 -1
- package/dist/generated/types/match-access-recovery-response.d.ts +1 -1
- package/dist/generated/types/match-access-response.d.ts +1 -1
- package/dist/generated/types/match-history-replay-response.d.ts +1 -1
- package/dist/generated/types/match-recovery-response.d.ts +1 -1
- package/dist/generated/types/match-spectator-access-response.d.ts +1 -1
- package/dist/generated/types/rematch-match-response.d.ts +1 -1
- package/dist/generated/types/restore-history-response.d.ts +1 -1
- package/dist/generated/types/restore-match-save-response.d.ts +1 -1
- package/dist/generated/types/server-message.d.ts +1 -1
- package/dist/generated/types/shared-match-history-replay-response.d.ts +1 -1
- package/dist/generated/types/submit-match-deck-response.d.ts +1 -1
- package/dist/generated/types/tournament-room-access-response.d.ts +1 -1
- package/dist/generated/types/tournament-room-server-message.d.ts +1 -1
- package/dist/generated/types/undo-match-response.d.ts +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
- package/schema/common.schema.json +259 -671
- package/schema/game-state.schema.json +8 -0
- package/schema/manifest.json +1 -1
- package/schema/match-save-payload.schema.json +1 -1
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
]
|
|
117
117
|
},
|
|
118
118
|
"AbilityWindow": {
|
|
119
|
-
"description": "Trigger window for a parsed ability. Identifies WHEN the ability\nfires; the WHAT is carried by `TriggeredEffect
|
|
119
|
+
"description": "Trigger window for a parsed ability. Identifies WHEN the ability\nfires; the WHAT is carried by `TriggeredEffect`.\n\nThis type is on the public SDK schema — it reaches `GameState` through\n`PendingAbilityView.window` and `GameEvent` — but only ever server to\nclient: no `GameCommand` carries one, so a consumer reads it and never\nconstructs it. The two variants that carry a [`crate::effect::UnitFilter`]\nare therefore exported opaquely, the way `MatchSavePayload::state` is: the\nvariant discriminant stays on the wire so a UI can still switch on the\nwindow, while the engine filter behind it does not pin ~60 internal fields\nand their whole reference closure into the SDK type surface.",
|
|
120
120
|
"oneOf": [
|
|
121
121
|
{
|
|
122
122
|
"type": "string",
|
|
@@ -183,12 +183,10 @@
|
|
|
183
183
|
"const": "WhenFriendlyUnitDealtDamageAndSurvives"
|
|
184
184
|
},
|
|
185
185
|
{
|
|
186
|
-
"description": "Fires when a friendly Unit matching the typed filter takes combat damage\nand remains in play.",
|
|
186
|
+
"description": "Fires when a friendly Unit matching the typed filter takes combat damage\nand remains in play.\n\nOpaque to the public schema — see the type doc.",
|
|
187
187
|
"type": "object",
|
|
188
188
|
"properties": {
|
|
189
|
-
"WhenFriendlyUnitDealtCombatDamageAndSurvives":
|
|
190
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UnitFilter"
|
|
191
|
-
}
|
|
189
|
+
"WhenFriendlyUnitDealtCombatDamageAndSurvives": true
|
|
192
190
|
},
|
|
193
191
|
"additionalProperties": false,
|
|
194
192
|
"required": [
|
|
@@ -263,12 +261,10 @@
|
|
|
263
261
|
"const": "WhenThisUnitWouldBeCaptured"
|
|
264
262
|
},
|
|
265
263
|
{
|
|
266
|
-
"description": "Fires when a Unit matching the typed filter is defeated.",
|
|
264
|
+
"description": "Fires when a Unit matching the typed filter is defeated.\n\nOpaque to the public schema — see the type doc.",
|
|
267
265
|
"type": "object",
|
|
268
266
|
"properties": {
|
|
269
|
-
"WhenUnitDefeated":
|
|
270
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UnitFilter"
|
|
271
|
-
}
|
|
267
|
+
"WhenUnitDefeated": true
|
|
272
268
|
},
|
|
273
269
|
"additionalProperties": false,
|
|
274
270
|
"required": [
|
|
@@ -2997,32 +2993,6 @@
|
|
|
2997
2993
|
"setCode"
|
|
2998
2994
|
]
|
|
2999
2995
|
},
|
|
3000
|
-
"DynamicPowerLimit": {
|
|
3001
|
-
"description": "Typed game-state source for a dynamic Unit power ceiling.",
|
|
3002
|
-
"oneOf": [
|
|
3003
|
-
{
|
|
3004
|
-
"description": "Number of upgrades attached across units with this controller relation.",
|
|
3005
|
-
"type": "object",
|
|
3006
|
-
"properties": {
|
|
3007
|
-
"UpgradesOnUnits": {
|
|
3008
|
-
"type": "object",
|
|
3009
|
-
"properties": {
|
|
3010
|
-
"relation": {
|
|
3011
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/RelationFilter"
|
|
3012
|
-
}
|
|
3013
|
-
},
|
|
3014
|
-
"required": [
|
|
3015
|
-
"relation"
|
|
3016
|
-
]
|
|
3017
|
-
}
|
|
3018
|
-
},
|
|
3019
|
-
"additionalProperties": false,
|
|
3020
|
-
"required": [
|
|
3021
|
-
"UpgradesOnUnits"
|
|
3022
|
-
]
|
|
3023
|
-
}
|
|
3024
|
-
]
|
|
3025
|
-
},
|
|
3026
2996
|
"EffectCardScopeView": {
|
|
3027
2997
|
"description": "Public card subset affected by a play or cost modifier.",
|
|
3028
2998
|
"oneOf": [
|
|
@@ -7238,6 +7208,14 @@
|
|
|
7238
7208
|
"type": "boolean",
|
|
7239
7209
|
"default": false
|
|
7240
7210
|
},
|
|
7211
|
+
"playgroundActionAbilities": {
|
|
7212
|
+
"description": "Host-only Playground ability projection. Empty for normal matches and\nwhile a resolution owns the command boundary.",
|
|
7213
|
+
"type": "array",
|
|
7214
|
+
"default": [],
|
|
7215
|
+
"items": {
|
|
7216
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PlaygroundActionAbilityView"
|
|
7217
|
+
}
|
|
7218
|
+
},
|
|
7241
7219
|
"playgroundDeckCardIds": {
|
|
7242
7220
|
"description": "Printed cards supplied by every configured Playground deck.",
|
|
7243
7221
|
"type": "array",
|
|
@@ -9981,7 +9959,7 @@
|
|
|
9981
9959
|
"description": "The serialized engine state. Catalog `Arc`s are skip-default here\nand grafted on by the restore path before the state goes live.\n\nOpaque to the public schema — SDK consumers should treat this as an\nimplementation-defined object that round-trips byte-for-byte. Pinning\nevery engine sub-struct into the schema would couple the SDK type\nsurface to the entire engine, which we explicitly do not want."
|
|
9982
9960
|
},
|
|
9983
9961
|
"version": {
|
|
9984
|
-
"description": "Wire-format version. Always [`MATCH_SAVE_VERSION`] for newly minted\npayloads; restore
|
|
9962
|
+
"description": "Wire-format version. Always [`MATCH_SAVE_VERSION`] for newly minted\npayloads; restore accepts every [`SUPPORTED_SAVE_VERSIONS`] entry and\nrejects anything else.",
|
|
9985
9963
|
"type": "integer",
|
|
9986
9964
|
"format": "uint8",
|
|
9987
9965
|
"maximum": 255,
|
|
@@ -11388,60 +11366,150 @@
|
|
|
11388
11366
|
"left"
|
|
11389
11367
|
]
|
|
11390
11368
|
},
|
|
11391
|
-
"
|
|
11392
|
-
"
|
|
11393
|
-
|
|
11394
|
-
|
|
11395
|
-
|
|
11396
|
-
|
|
11397
|
-
"EachPlayer",
|
|
11398
|
-
"OpponentPlayer",
|
|
11399
|
-
"ChosenOpponent",
|
|
11400
|
-
"ChosenPlayer",
|
|
11401
|
-
"DefendingPlayer",
|
|
11402
|
-
"RememberedPlayer",
|
|
11403
|
-
"RememberedUnitController",
|
|
11404
|
-
"OtherThanRememberedPlayer"
|
|
11405
|
-
]
|
|
11406
|
-
},
|
|
11407
|
-
{
|
|
11408
|
-
"description": "Every opponent independently. Unlike `OpponentPlayer`, this never\ncollapses a multiplayer instruction into one opponent.",
|
|
11409
|
-
"type": "string",
|
|
11410
|
-
"const": "EachOpponent"
|
|
11369
|
+
"PlaygroundActionAbilityView": {
|
|
11370
|
+
"description": "Playground-only action ability that may be executed without normal action\ntiming, usage, condition, or cost gates.",
|
|
11371
|
+
"type": "object",
|
|
11372
|
+
"properties": {
|
|
11373
|
+
"label": {
|
|
11374
|
+
"type": "string"
|
|
11411
11375
|
},
|
|
11412
|
-
{
|
|
11413
|
-
"
|
|
11414
|
-
"type": "string",
|
|
11415
|
-
"const": "EachOpponentWhoseBaseDamagedBySourceThisPhase"
|
|
11376
|
+
"seat": {
|
|
11377
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
|
|
11416
11378
|
},
|
|
11417
|
-
{
|
|
11418
|
-
"
|
|
11419
|
-
"type": "string",
|
|
11420
|
-
"const": "RememberedTargetController"
|
|
11379
|
+
"source": {
|
|
11380
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/ActionAbilitySource"
|
|
11421
11381
|
},
|
|
11382
|
+
"targetGroups": {
|
|
11383
|
+
"type": "array",
|
|
11384
|
+
"items": {
|
|
11385
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/TargetSelectionGroup"
|
|
11386
|
+
}
|
|
11387
|
+
}
|
|
11388
|
+
},
|
|
11389
|
+
"required": [
|
|
11390
|
+
"seat",
|
|
11391
|
+
"source",
|
|
11392
|
+
"label",
|
|
11393
|
+
"targetGroups"
|
|
11394
|
+
]
|
|
11395
|
+
},
|
|
11396
|
+
"PlaygroundCardStateChange": {
|
|
11397
|
+
"description": "One in-play card whose Playground-editable state may be set exactly.\n\nEvery field is a target value rather than a delta, so a client that shows\ncurrent counts can submit what the board should look like instead of\nreconstructing the sequence of adjustments that gets there. Anything the\nengine derives — keywords, clone identity, controller, arena, card text —\nstays out of this patch and remains read-only.",
|
|
11398
|
+
"oneOf": [
|
|
11422
11399
|
{
|
|
11423
|
-
"description": "
|
|
11400
|
+
"description": "Forces unit state directly, bypassing normal gameplay restrictions.\n\nAbsent fields are left untouched; at least one must be present.",
|
|
11424
11401
|
"type": "object",
|
|
11425
11402
|
"properties": {
|
|
11426
|
-
"
|
|
11427
|
-
"
|
|
11403
|
+
"advantageTokens": {
|
|
11404
|
+
"type": [
|
|
11405
|
+
"integer",
|
|
11406
|
+
"null"
|
|
11407
|
+
],
|
|
11408
|
+
"format": "uint8",
|
|
11409
|
+
"maximum": 255,
|
|
11410
|
+
"minimum": 0
|
|
11411
|
+
},
|
|
11412
|
+
"damage": {
|
|
11413
|
+
"type": [
|
|
11414
|
+
"integer",
|
|
11415
|
+
"null"
|
|
11416
|
+
],
|
|
11417
|
+
"format": "int16",
|
|
11418
|
+
"maximum": 32767,
|
|
11419
|
+
"minimum": -32768
|
|
11420
|
+
},
|
|
11421
|
+
"experienceTokens": {
|
|
11422
|
+
"type": [
|
|
11423
|
+
"integer",
|
|
11424
|
+
"null"
|
|
11425
|
+
],
|
|
11426
|
+
"format": "uint8",
|
|
11427
|
+
"maximum": 255,
|
|
11428
|
+
"minimum": 0
|
|
11429
|
+
},
|
|
11430
|
+
"ready": {
|
|
11431
|
+
"description": "`true` readies the unit even while an effect forbids readying.",
|
|
11432
|
+
"type": [
|
|
11433
|
+
"boolean",
|
|
11434
|
+
"null"
|
|
11435
|
+
]
|
|
11436
|
+
},
|
|
11437
|
+
"shieldTokens": {
|
|
11438
|
+
"type": [
|
|
11439
|
+
"integer",
|
|
11440
|
+
"null"
|
|
11441
|
+
],
|
|
11442
|
+
"format": "uint8",
|
|
11443
|
+
"maximum": 255,
|
|
11444
|
+
"minimum": 0
|
|
11445
|
+
},
|
|
11446
|
+
"type": {
|
|
11447
|
+
"type": "string",
|
|
11448
|
+
"const": "unit"
|
|
11449
|
+
},
|
|
11450
|
+
"unitId": {
|
|
11451
|
+
"type": "integer",
|
|
11452
|
+
"format": "uint64",
|
|
11453
|
+
"minimum": 0
|
|
11428
11454
|
}
|
|
11429
11455
|
},
|
|
11430
|
-
"additionalProperties": false,
|
|
11431
11456
|
"required": [
|
|
11432
|
-
"
|
|
11457
|
+
"type",
|
|
11458
|
+
"unitId"
|
|
11433
11459
|
]
|
|
11434
11460
|
},
|
|
11435
11461
|
{
|
|
11436
|
-
"description": "
|
|
11437
|
-
"type": "
|
|
11438
|
-
"
|
|
11462
|
+
"description": "Sets exact base damage; a base carries no other editable state.",
|
|
11463
|
+
"type": "object",
|
|
11464
|
+
"properties": {
|
|
11465
|
+
"damage": {
|
|
11466
|
+
"type": "integer",
|
|
11467
|
+
"format": "int16",
|
|
11468
|
+
"maximum": 32767,
|
|
11469
|
+
"minimum": -32768
|
|
11470
|
+
},
|
|
11471
|
+
"seat": {
|
|
11472
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
|
|
11473
|
+
},
|
|
11474
|
+
"type": {
|
|
11475
|
+
"type": "string",
|
|
11476
|
+
"const": "base"
|
|
11477
|
+
}
|
|
11478
|
+
},
|
|
11479
|
+
"required": [
|
|
11480
|
+
"type",
|
|
11481
|
+
"seat",
|
|
11482
|
+
"damage"
|
|
11483
|
+
]
|
|
11439
11484
|
}
|
|
11440
11485
|
]
|
|
11441
11486
|
},
|
|
11442
11487
|
"PlaygroundCommand": {
|
|
11443
11488
|
"description": "Host-authorized raw scenario mutation for a Playground match.",
|
|
11444
11489
|
"oneOf": [
|
|
11490
|
+
{
|
|
11491
|
+
"description": "Adds a fresh, ready physical card to a player's resource row.",
|
|
11492
|
+
"type": "object",
|
|
11493
|
+
"properties": {
|
|
11494
|
+
"cardId": {
|
|
11495
|
+
"type": "integer",
|
|
11496
|
+
"format": "uint32",
|
|
11497
|
+
"minimum": 0
|
|
11498
|
+
},
|
|
11499
|
+
"seat": {
|
|
11500
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
|
|
11501
|
+
},
|
|
11502
|
+
"type": {
|
|
11503
|
+
"type": "string",
|
|
11504
|
+
"const": "addResource"
|
|
11505
|
+
}
|
|
11506
|
+
},
|
|
11507
|
+
"required": [
|
|
11508
|
+
"type",
|
|
11509
|
+
"seat",
|
|
11510
|
+
"cardId"
|
|
11511
|
+
]
|
|
11512
|
+
},
|
|
11445
11513
|
{
|
|
11446
11514
|
"type": "object",
|
|
11447
11515
|
"properties": {
|
|
@@ -11528,6 +11596,53 @@
|
|
|
11528
11596
|
"cardId"
|
|
11529
11597
|
]
|
|
11530
11598
|
},
|
|
11599
|
+
{
|
|
11600
|
+
"description": "Resolves an action ability without its normal activation gates or costs.",
|
|
11601
|
+
"type": "object",
|
|
11602
|
+
"properties": {
|
|
11603
|
+
"modeIndices": {
|
|
11604
|
+
"type": "array",
|
|
11605
|
+
"items": {
|
|
11606
|
+
"type": "integer",
|
|
11607
|
+
"format": "uint",
|
|
11608
|
+
"minimum": 0
|
|
11609
|
+
}
|
|
11610
|
+
},
|
|
11611
|
+
"seat": {
|
|
11612
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
|
|
11613
|
+
},
|
|
11614
|
+
"source": {
|
|
11615
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/ActionAbilitySource"
|
|
11616
|
+
},
|
|
11617
|
+
"target": {
|
|
11618
|
+
"anyOf": [
|
|
11619
|
+
{
|
|
11620
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/AbilityTarget"
|
|
11621
|
+
},
|
|
11622
|
+
{
|
|
11623
|
+
"type": "null"
|
|
11624
|
+
}
|
|
11625
|
+
]
|
|
11626
|
+
},
|
|
11627
|
+
"targets": {
|
|
11628
|
+
"type": "array",
|
|
11629
|
+
"items": {
|
|
11630
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/AbilityTarget"
|
|
11631
|
+
}
|
|
11632
|
+
},
|
|
11633
|
+
"type": {
|
|
11634
|
+
"type": "string",
|
|
11635
|
+
"const": "executeActionAbility"
|
|
11636
|
+
}
|
|
11637
|
+
},
|
|
11638
|
+
"required": [
|
|
11639
|
+
"type",
|
|
11640
|
+
"seat",
|
|
11641
|
+
"source",
|
|
11642
|
+
"targets",
|
|
11643
|
+
"modeIndices"
|
|
11644
|
+
]
|
|
11645
|
+
},
|
|
11531
11646
|
{
|
|
11532
11647
|
"type": "object",
|
|
11533
11648
|
"properties": {
|
|
@@ -11551,6 +11666,23 @@
|
|
|
11551
11666
|
"amount"
|
|
11552
11667
|
]
|
|
11553
11668
|
},
|
|
11669
|
+
{
|
|
11670
|
+
"description": "Sets several editable fields of one in-play card in a single atomic edit.",
|
|
11671
|
+
"type": "object",
|
|
11672
|
+
"properties": {
|
|
11673
|
+
"change": {
|
|
11674
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PlaygroundCardStateChange"
|
|
11675
|
+
},
|
|
11676
|
+
"type": {
|
|
11677
|
+
"type": "string",
|
|
11678
|
+
"const": "changeCardState"
|
|
11679
|
+
}
|
|
11680
|
+
},
|
|
11681
|
+
"required": [
|
|
11682
|
+
"type",
|
|
11683
|
+
"change"
|
|
11684
|
+
]
|
|
11685
|
+
},
|
|
11554
11686
|
{
|
|
11555
11687
|
"type": "object",
|
|
11556
11688
|
"properties": {
|
|
@@ -11594,6 +11726,56 @@
|
|
|
11594
11726
|
"cardId",
|
|
11595
11727
|
"captorUnitId"
|
|
11596
11728
|
]
|
|
11729
|
+
},
|
|
11730
|
+
{
|
|
11731
|
+
"type": "object",
|
|
11732
|
+
"properties": {
|
|
11733
|
+
"cardId": {
|
|
11734
|
+
"type": "integer",
|
|
11735
|
+
"format": "uint32",
|
|
11736
|
+
"minimum": 0
|
|
11737
|
+
},
|
|
11738
|
+
"leaderIndex": {
|
|
11739
|
+
"type": "integer",
|
|
11740
|
+
"format": "uint",
|
|
11741
|
+
"minimum": 0
|
|
11742
|
+
},
|
|
11743
|
+
"seat": {
|
|
11744
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
|
|
11745
|
+
},
|
|
11746
|
+
"type": {
|
|
11747
|
+
"type": "string",
|
|
11748
|
+
"const": "swapLeader"
|
|
11749
|
+
}
|
|
11750
|
+
},
|
|
11751
|
+
"required": [
|
|
11752
|
+
"type",
|
|
11753
|
+
"seat",
|
|
11754
|
+
"leaderIndex",
|
|
11755
|
+
"cardId"
|
|
11756
|
+
]
|
|
11757
|
+
},
|
|
11758
|
+
{
|
|
11759
|
+
"type": "object",
|
|
11760
|
+
"properties": {
|
|
11761
|
+
"cardId": {
|
|
11762
|
+
"type": "integer",
|
|
11763
|
+
"format": "uint32",
|
|
11764
|
+
"minimum": 0
|
|
11765
|
+
},
|
|
11766
|
+
"seat": {
|
|
11767
|
+
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/Seat"
|
|
11768
|
+
},
|
|
11769
|
+
"type": {
|
|
11770
|
+
"type": "string",
|
|
11771
|
+
"const": "swapBase"
|
|
11772
|
+
}
|
|
11773
|
+
},
|
|
11774
|
+
"required": [
|
|
11775
|
+
"type",
|
|
11776
|
+
"seat",
|
|
11777
|
+
"cardId"
|
|
11778
|
+
]
|
|
11597
11779
|
}
|
|
11598
11780
|
]
|
|
11599
11781
|
},
|
|
@@ -11677,14 +11859,6 @@
|
|
|
11677
11859
|
}
|
|
11678
11860
|
]
|
|
11679
11861
|
},
|
|
11680
|
-
"PresenceFilter": {
|
|
11681
|
-
"type": "string",
|
|
11682
|
-
"enum": [
|
|
11683
|
-
"Any",
|
|
11684
|
-
"Required",
|
|
11685
|
-
"Forbidden"
|
|
11686
|
-
]
|
|
11687
|
-
},
|
|
11688
11862
|
"PromptProvenanceView": {
|
|
11689
11863
|
"description": "Stable parent/stage identity shared by every prompt opened during an effect.",
|
|
11690
11864
|
"type": "object",
|
|
@@ -12539,6 +12713,7 @@
|
|
|
12539
12713
|
]
|
|
12540
12714
|
},
|
|
12541
12715
|
"RelationFilter": {
|
|
12716
|
+
"description": "Restricts a target by controller relation to the effect source.",
|
|
12542
12717
|
"type": "string",
|
|
12543
12718
|
"enum": [
|
|
12544
12719
|
"Any",
|
|
@@ -12649,14 +12824,6 @@
|
|
|
12649
12824
|
"four"
|
|
12650
12825
|
]
|
|
12651
12826
|
},
|
|
12652
|
-
"SeatDirection": {
|
|
12653
|
-
"description": "Relative multiplayer seat direction.",
|
|
12654
|
-
"type": "string",
|
|
12655
|
-
"enum": [
|
|
12656
|
-
"Left",
|
|
12657
|
-
"Right"
|
|
12658
|
-
]
|
|
12659
|
-
},
|
|
12660
12827
|
"SeatOfferIntent": {
|
|
12661
12828
|
"description": "Per-seat stance on a two-sided post-game offer.\n\nBoth post-game offers (extending a finished single game into a series, and\nstarting a rematch) need the same three-state answer from every seat, and a\nseat that answers twice must overwrite its previous answer rather than\nstack a second one — hence one shared enum instead of a pair of booleans.",
|
|
12662
12829
|
"oneOf": [
|
|
@@ -12911,28 +13078,13 @@
|
|
|
12911
13078
|
"mulliganTaken"
|
|
12912
13079
|
]
|
|
12913
13080
|
},
|
|
12914
|
-
"
|
|
12915
|
-
"description": "
|
|
13081
|
+
"SeriesEndReason": {
|
|
13082
|
+
"description": "Public reason a match series ended.",
|
|
12916
13083
|
"oneOf": [
|
|
12917
13084
|
{
|
|
12918
|
-
"description": "
|
|
13085
|
+
"description": "A one-game match completed.",
|
|
12919
13086
|
"type": "string",
|
|
12920
|
-
"const": "
|
|
12921
|
-
},
|
|
12922
|
-
{
|
|
12923
|
-
"description": "Only the selections recorded by the clause currently resolving.\n\nA later clause of the same effect starts a new clause id, so its choices\nmay legally repeat a target an earlier clause used.",
|
|
12924
|
-
"type": "string",
|
|
12925
|
-
"const": "ThisClause"
|
|
12926
|
-
}
|
|
12927
|
-
]
|
|
12928
|
-
},
|
|
12929
|
-
"SeriesEndReason": {
|
|
12930
|
-
"description": "Public reason a match series ended.",
|
|
12931
|
-
"oneOf": [
|
|
12932
|
-
{
|
|
12933
|
-
"description": "A one-game match completed.",
|
|
12934
|
-
"type": "string",
|
|
12935
|
-
"const": "singleGame"
|
|
13087
|
+
"const": "singleGame"
|
|
12936
13088
|
},
|
|
12937
13089
|
{
|
|
12938
13090
|
"description": "A player reached the wins required by the configured best-of size.",
|
|
@@ -14369,14 +14521,6 @@
|
|
|
14369
14521
|
}
|
|
14370
14522
|
]
|
|
14371
14523
|
},
|
|
14372
|
-
"UniquenessFilter": {
|
|
14373
|
-
"type": "string",
|
|
14374
|
-
"enum": [
|
|
14375
|
-
"Any",
|
|
14376
|
-
"Unique",
|
|
14377
|
-
"NonUnique"
|
|
14378
|
-
]
|
|
14379
|
-
},
|
|
14380
14524
|
"UnitAbilitySuppressionView": {
|
|
14381
14525
|
"type": "string",
|
|
14382
14526
|
"enum": [
|
|
@@ -14414,562 +14558,6 @@
|
|
|
14414
14558
|
"damage"
|
|
14415
14559
|
]
|
|
14416
14560
|
},
|
|
14417
|
-
"UnitExtremum": {
|
|
14418
|
-
"oneOf": [
|
|
14419
|
-
{
|
|
14420
|
-
"type": "string",
|
|
14421
|
-
"enum": [
|
|
14422
|
-
"LeastRemainingHp"
|
|
14423
|
-
]
|
|
14424
|
-
},
|
|
14425
|
-
{
|
|
14426
|
-
"description": "Selects the unit(s) with the highest effective power.",
|
|
14427
|
-
"type": "string",
|
|
14428
|
-
"const": "MostPower"
|
|
14429
|
-
},
|
|
14430
|
-
{
|
|
14431
|
-
"description": "Selects every unit tied for highest printed cost in filtered set.",
|
|
14432
|
-
"type": "string",
|
|
14433
|
-
"const": "HighestPrintedCost"
|
|
14434
|
-
}
|
|
14435
|
-
]
|
|
14436
|
-
},
|
|
14437
|
-
"UnitFilter": {
|
|
14438
|
-
"type": "object",
|
|
14439
|
-
"properties": {
|
|
14440
|
-
"alternatives": {
|
|
14441
|
-
"description": "Matches when any complete alternative filter matches.\n\nThis keeps `one_of((unit_selector_a, unit_selector_b))` orthogonal\nwithout flattening distinct restrictions into one lossy filter.",
|
|
14442
|
-
"type": "array",
|
|
14443
|
-
"default": [],
|
|
14444
|
-
"items": {
|
|
14445
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UnitFilter"
|
|
14446
|
-
}
|
|
14447
|
-
},
|
|
14448
|
-
"arena": {
|
|
14449
|
-
"anyOf": [
|
|
14450
|
-
{
|
|
14451
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/CardArena"
|
|
14452
|
-
},
|
|
14453
|
-
{
|
|
14454
|
-
"type": "null"
|
|
14455
|
-
}
|
|
14456
|
-
]
|
|
14457
|
-
},
|
|
14458
|
-
"attacked_base_this_phase": {
|
|
14459
|
-
"type": "boolean"
|
|
14460
|
-
},
|
|
14461
|
-
"controller": {
|
|
14462
|
-
"description": "Requires current control by one typed player independently from the\nbroad source-relative relation.",
|
|
14463
|
-
"anyOf": [
|
|
14464
|
-
{
|
|
14465
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PlayerTargetPattern"
|
|
14466
|
-
},
|
|
14467
|
-
{
|
|
14468
|
-
"type": "null"
|
|
14469
|
-
}
|
|
14470
|
-
],
|
|
14471
|
-
"default": null
|
|
14472
|
-
},
|
|
14473
|
-
"controller_is_another_player": {
|
|
14474
|
-
"description": "Marks a count whose Units must all be controlled by one other player.\n\nThis is consumed by `Condition::AnotherPlayerControlsUnitsAtLeast`\nbefore the filter reaches ordinary target matching.",
|
|
14475
|
-
"type": "boolean",
|
|
14476
|
-
"default": false
|
|
14477
|
-
},
|
|
14478
|
-
"controller_is_remembered_player": {
|
|
14479
|
-
"type": "boolean"
|
|
14480
|
-
},
|
|
14481
|
-
"dealt_base_damage_this_phase": {
|
|
14482
|
-
"type": "boolean"
|
|
14483
|
-
},
|
|
14484
|
-
"different_arena_from_source": {
|
|
14485
|
-
"description": "Matches a Unit in the arena opposite the resolving source Unit.",
|
|
14486
|
-
"type": "boolean",
|
|
14487
|
-
"default": false
|
|
14488
|
-
},
|
|
14489
|
-
"different_aspect_from_remembered_card": {
|
|
14490
|
-
"type": "boolean"
|
|
14491
|
-
},
|
|
14492
|
-
"eligible_for_remembered_upgrade": {
|
|
14493
|
-
"description": "Requires legal attachment for Upgrade retained by preceding choice.",
|
|
14494
|
-
"type": "boolean",
|
|
14495
|
-
"default": false
|
|
14496
|
-
},
|
|
14497
|
-
"exact_cost": {
|
|
14498
|
-
"type": [
|
|
14499
|
-
"integer",
|
|
14500
|
-
"null"
|
|
14501
|
-
],
|
|
14502
|
-
"format": "uint8",
|
|
14503
|
-
"maximum": 255,
|
|
14504
|
-
"minimum": 0
|
|
14505
|
-
},
|
|
14506
|
-
"exact_cost_same_as_remembered_cost": {
|
|
14507
|
-
"description": "Only matches units whose cost equals context.remembered_unit_cost.",
|
|
14508
|
-
"type": "boolean",
|
|
14509
|
-
"default": false
|
|
14510
|
-
},
|
|
14511
|
-
"exact_power_equal_ready_resources": {
|
|
14512
|
-
"type": "boolean"
|
|
14513
|
-
},
|
|
14514
|
-
"exact_remaining_hp_equal_ready_resources": {
|
|
14515
|
-
"type": "boolean"
|
|
14516
|
-
},
|
|
14517
|
-
"exact_title": {
|
|
14518
|
-
"type": [
|
|
14519
|
-
"string",
|
|
14520
|
-
"null"
|
|
14521
|
-
]
|
|
14522
|
-
},
|
|
14523
|
-
"exact_titles_any": {
|
|
14524
|
-
"description": "Matches any unit whose title is in this list. When combined with\nrequired_traits_any, either a matching title or trait satisfies the\nname/trait requirement.",
|
|
14525
|
-
"type": "array",
|
|
14526
|
-
"items": {
|
|
14527
|
-
"type": "string"
|
|
14528
|
-
}
|
|
14529
|
-
},
|
|
14530
|
-
"exclude_attached_unit": {
|
|
14531
|
-
"description": "Excludes Unit hosting resolving source Upgrade.",
|
|
14532
|
-
"type": "boolean",
|
|
14533
|
-
"default": false
|
|
14534
|
-
},
|
|
14535
|
-
"exclude_previous_damage_dealer": {
|
|
14536
|
-
"description": "Excludes only the Unit that dealt the immediately preceding damage.",
|
|
14537
|
-
"type": "boolean",
|
|
14538
|
-
"default": false
|
|
14539
|
-
},
|
|
14540
|
-
"exclude_previously_selected": {
|
|
14541
|
-
"description": "Excludes every Unit already selected earlier in the resolving effect.\n\nDistinct from `require_other`, which only knows the source Unit and the\nsingle most recent selection: a third sequential choice (\"Give a third\nfriendly unit +1/+1\") has to exclude both earlier picks.",
|
|
14542
|
-
"anyOf": [
|
|
14543
|
-
{
|
|
14544
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/SelectionScope"
|
|
14545
|
-
},
|
|
14546
|
-
{
|
|
14547
|
-
"type": "null"
|
|
14548
|
-
}
|
|
14549
|
-
],
|
|
14550
|
-
"default": null
|
|
14551
|
-
},
|
|
14552
|
-
"exclude_remembered_units": {
|
|
14553
|
-
"description": "Excludes units retained by a preceding multi-target choice.",
|
|
14554
|
-
"type": "boolean",
|
|
14555
|
-
"default": false
|
|
14556
|
-
},
|
|
14557
|
-
"excluded_aspects": {
|
|
14558
|
-
"type": "array",
|
|
14559
|
-
"items": {
|
|
14560
|
-
"type": "string"
|
|
14561
|
-
}
|
|
14562
|
-
},
|
|
14563
|
-
"excluded_controller": {
|
|
14564
|
-
"description": "Excludes units currently controlled by one typed player.",
|
|
14565
|
-
"anyOf": [
|
|
14566
|
-
{
|
|
14567
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PlayerTargetPattern"
|
|
14568
|
-
},
|
|
14569
|
-
{
|
|
14570
|
-
"type": "null"
|
|
14571
|
-
}
|
|
14572
|
-
],
|
|
14573
|
-
"default": null
|
|
14574
|
-
},
|
|
14575
|
-
"excluded_titles": {
|
|
14576
|
-
"description": "Excludes units with any listed canonical title.",
|
|
14577
|
-
"type": "array",
|
|
14578
|
-
"default": [],
|
|
14579
|
-
"items": {
|
|
14580
|
-
"type": "string"
|
|
14581
|
-
}
|
|
14582
|
-
},
|
|
14583
|
-
"excluded_traits": {
|
|
14584
|
-
"type": "array",
|
|
14585
|
-
"items": {
|
|
14586
|
-
"type": "string"
|
|
14587
|
-
}
|
|
14588
|
-
},
|
|
14589
|
-
"exploited_to_play_source": {
|
|
14590
|
-
"description": "Restricts iteration to Units exploited while playing resolving source card.",
|
|
14591
|
-
"type": "boolean",
|
|
14592
|
-
"default": false
|
|
14593
|
-
},
|
|
14594
|
-
"extremum": {
|
|
14595
|
-
"anyOf": [
|
|
14596
|
-
{
|
|
14597
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UnitExtremum"
|
|
14598
|
-
},
|
|
14599
|
-
{
|
|
14600
|
-
"type": "null"
|
|
14601
|
-
}
|
|
14602
|
-
]
|
|
14603
|
-
},
|
|
14604
|
-
"max_cost": {
|
|
14605
|
-
"type": [
|
|
14606
|
-
"integer",
|
|
14607
|
-
"null"
|
|
14608
|
-
],
|
|
14609
|
-
"format": "uint8",
|
|
14610
|
-
"maximum": 255,
|
|
14611
|
-
"minimum": 0
|
|
14612
|
-
},
|
|
14613
|
-
"max_cost_less_than_combat_damage_to_base": {
|
|
14614
|
-
"description": "Only matches units whose printed cost is strictly less than the amount of\ncombat damage dealt to a base this attack\n(`context.combat_damage_dealt_to_base`). Shin Hati ASH 51762.",
|
|
14615
|
-
"type": "boolean",
|
|
14616
|
-
"default": false
|
|
14617
|
-
},
|
|
14618
|
-
"max_cost_same_or_less_than_remembered_cost": {
|
|
14619
|
-
"description": "Filters out units whose cost exceeds the cost stored in context.remembered_unit_cost.",
|
|
14620
|
-
"type": "boolean"
|
|
14621
|
-
},
|
|
14622
|
-
"max_cost_same_or_less_than_resources_paid_to_play": {
|
|
14623
|
-
"description": "Filters out units whose printed cost exceeds resources paid to play the\nsource card for current trigger.",
|
|
14624
|
-
"type": "boolean",
|
|
14625
|
-
"default": false
|
|
14626
|
-
},
|
|
14627
|
-
"max_cost_same_or_less_than_source": {
|
|
14628
|
-
"type": "boolean"
|
|
14629
|
-
},
|
|
14630
|
-
"max_power": {
|
|
14631
|
-
"type": [
|
|
14632
|
-
"integer",
|
|
14633
|
-
"null"
|
|
14634
|
-
],
|
|
14635
|
-
"format": "int16",
|
|
14636
|
-
"maximum": 32767,
|
|
14637
|
-
"minimum": -32768
|
|
14638
|
-
},
|
|
14639
|
-
"max_power_dynamic": {
|
|
14640
|
-
"description": "Dynamic alternative to a fixed `max_power`.",
|
|
14641
|
-
"anyOf": [
|
|
14642
|
-
{
|
|
14643
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/DynamicPowerLimit"
|
|
14644
|
-
},
|
|
14645
|
-
{
|
|
14646
|
-
"type": "null"
|
|
14647
|
-
}
|
|
14648
|
-
],
|
|
14649
|
-
"default": null
|
|
14650
|
-
},
|
|
14651
|
-
"max_power_less_than_any_friendly": {
|
|
14652
|
-
"description": "Only matches a unit whose power is strictly less than at least one\nfriendly unit's power (Ahsoka Tano 51727 action target restriction).",
|
|
14653
|
-
"type": "boolean",
|
|
14654
|
-
"default": false
|
|
14655
|
-
},
|
|
14656
|
-
"max_power_less_than_remembered_power": {
|
|
14657
|
-
"description": "Only matches Units with strictly less power than remembered Unit.",
|
|
14658
|
-
"type": "boolean",
|
|
14659
|
-
"default": false
|
|
14660
|
-
},
|
|
14661
|
-
"max_power_less_than_source": {
|
|
14662
|
-
"type": "boolean"
|
|
14663
|
-
},
|
|
14664
|
-
"max_power_same_or_less_than_remembered_power": {
|
|
14665
|
-
"description": "Filters out units whose power exceeds the power stored in context.remembered_unit_power.",
|
|
14666
|
-
"type": "boolean"
|
|
14667
|
-
},
|
|
14668
|
-
"max_remaining_hp": {
|
|
14669
|
-
"type": [
|
|
14670
|
-
"integer",
|
|
14671
|
-
"null"
|
|
14672
|
-
],
|
|
14673
|
-
"format": "int16",
|
|
14674
|
-
"maximum": 32767,
|
|
14675
|
-
"minimum": -32768
|
|
14676
|
-
},
|
|
14677
|
-
"max_remaining_hp_less_than_source": {
|
|
14678
|
-
"type": "boolean"
|
|
14679
|
-
},
|
|
14680
|
-
"min_cost": {
|
|
14681
|
-
"type": [
|
|
14682
|
-
"integer",
|
|
14683
|
-
"null"
|
|
14684
|
-
],
|
|
14685
|
-
"format": "uint8",
|
|
14686
|
-
"maximum": 255,
|
|
14687
|
-
"minimum": 0
|
|
14688
|
-
},
|
|
14689
|
-
"min_cost_greater_than_remembered_cost": {
|
|
14690
|
-
"description": "Only matches units whose cost is strictly greater than the cost stored in\ncontext.remembered_unit_cost (e.g. Reckless Sacrifice's \"a unit that costs\nmore than the discarded card\").",
|
|
14691
|
-
"type": "boolean",
|
|
14692
|
-
"default": false
|
|
14693
|
-
},
|
|
14694
|
-
"min_hp": {
|
|
14695
|
-
"type": [
|
|
14696
|
-
"integer",
|
|
14697
|
-
"null"
|
|
14698
|
-
],
|
|
14699
|
-
"format": "int16",
|
|
14700
|
-
"maximum": 32767,
|
|
14701
|
-
"minimum": -32768
|
|
14702
|
-
},
|
|
14703
|
-
"min_power": {
|
|
14704
|
-
"type": [
|
|
14705
|
-
"integer",
|
|
14706
|
-
"null"
|
|
14707
|
-
],
|
|
14708
|
-
"format": "int16",
|
|
14709
|
-
"maximum": 32767,
|
|
14710
|
-
"minimum": -32768
|
|
14711
|
-
},
|
|
14712
|
-
"min_remaining_hp": {
|
|
14713
|
-
"type": [
|
|
14714
|
-
"integer",
|
|
14715
|
-
"null"
|
|
14716
|
-
],
|
|
14717
|
-
"format": "int16",
|
|
14718
|
-
"default": null,
|
|
14719
|
-
"maximum": 32767,
|
|
14720
|
-
"minimum": -32768
|
|
14721
|
-
},
|
|
14722
|
-
"minimum_distinct_keywords": {
|
|
14723
|
-
"description": "Only matches Units with at least this many distinct active keywords.",
|
|
14724
|
-
"type": [
|
|
14725
|
-
"integer",
|
|
14726
|
-
"null"
|
|
14727
|
-
],
|
|
14728
|
-
"format": "uint8",
|
|
14729
|
-
"default": null,
|
|
14730
|
-
"maximum": 255,
|
|
14731
|
-
"minimum": 0
|
|
14732
|
-
},
|
|
14733
|
-
"non_leader": {
|
|
14734
|
-
"type": "boolean"
|
|
14735
|
-
},
|
|
14736
|
-
"owner": {
|
|
14737
|
-
"description": "Requires canonical ownership by one typed player independently from\ncurrent controller relation.",
|
|
14738
|
-
"anyOf": [
|
|
14739
|
-
{
|
|
14740
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PlayerTargetPattern"
|
|
14741
|
-
},
|
|
14742
|
-
{
|
|
14743
|
-
"type": "null"
|
|
14744
|
-
}
|
|
14745
|
-
],
|
|
14746
|
-
"default": null
|
|
14747
|
-
},
|
|
14748
|
-
"relation": {
|
|
14749
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/RelationFilter"
|
|
14750
|
-
},
|
|
14751
|
-
"require_attacked_this_phase": {
|
|
14752
|
-
"description": "Only matches units that attacked during the current phase.",
|
|
14753
|
-
"type": "boolean",
|
|
14754
|
-
"default": false
|
|
14755
|
-
},
|
|
14756
|
-
"require_damaged": {
|
|
14757
|
-
"type": "boolean"
|
|
14758
|
-
},
|
|
14759
|
-
"require_entered_this_phase": {
|
|
14760
|
-
"description": "Only matches units that entered play this phase (UnitState::entered_this_phase).",
|
|
14761
|
-
"type": "boolean"
|
|
14762
|
-
},
|
|
14763
|
-
"require_exhausted": {
|
|
14764
|
-
"type": "boolean"
|
|
14765
|
-
},
|
|
14766
|
-
"require_has_keyword": {
|
|
14767
|
-
"description": "Only matches units that have at least one keyword (printed or granted).",
|
|
14768
|
-
"type": "boolean",
|
|
14769
|
-
"default": false
|
|
14770
|
-
},
|
|
14771
|
-
"require_healed_this_phase": {
|
|
14772
|
-
"description": "Only matches Units healed at least once during current phase.",
|
|
14773
|
-
"type": "boolean",
|
|
14774
|
-
"default": false
|
|
14775
|
-
},
|
|
14776
|
-
"require_leader": {
|
|
14777
|
-
"description": "Restrict to leader units (deployed leaders). Set by \"a friendly leader\"\ntargets, e.g. Mando's N-1 Starfighter (ASH 52696).",
|
|
14778
|
-
"type": "boolean",
|
|
14779
|
-
"default": false
|
|
14780
|
-
},
|
|
14781
|
-
"require_no_experience": {
|
|
14782
|
-
"description": "Filters out units that have an Experience token attached.",
|
|
14783
|
-
"type": "boolean"
|
|
14784
|
-
},
|
|
14785
|
-
"require_no_pilot": {
|
|
14786
|
-
"type": "boolean"
|
|
14787
|
-
},
|
|
14788
|
-
"require_not_attacked_this_phase": {
|
|
14789
|
-
"description": "Filters out units that attacked earlier this phase.",
|
|
14790
|
-
"type": "boolean"
|
|
14791
|
-
},
|
|
14792
|
-
"require_not_entered_this_phase": {
|
|
14793
|
-
"description": "Only matches Units that did not enter play during current phase.",
|
|
14794
|
-
"type": "boolean",
|
|
14795
|
-
"default": false
|
|
14796
|
-
},
|
|
14797
|
-
"require_not_entered_this_round": {
|
|
14798
|
-
"description": "Only matches Units that did not enter play during current round.",
|
|
14799
|
-
"type": "boolean",
|
|
14800
|
-
"default": false
|
|
14801
|
-
},
|
|
14802
|
-
"require_other": {
|
|
14803
|
-
"type": "boolean"
|
|
14804
|
-
},
|
|
14805
|
-
"require_ready": {
|
|
14806
|
-
"type": "boolean"
|
|
14807
|
-
},
|
|
14808
|
-
"require_shield_token": {
|
|
14809
|
-
"description": "Only matches units that have at least one Shield token attached.",
|
|
14810
|
-
"type": "boolean",
|
|
14811
|
-
"default": false
|
|
14812
|
-
},
|
|
14813
|
-
"require_undamaged": {
|
|
14814
|
-
"type": "boolean"
|
|
14815
|
-
},
|
|
14816
|
-
"required_aspects": {
|
|
14817
|
-
"type": "array",
|
|
14818
|
-
"items": {
|
|
14819
|
-
"type": "string"
|
|
14820
|
-
}
|
|
14821
|
-
},
|
|
14822
|
-
"required_aspects_any": {
|
|
14823
|
-
"type": "array",
|
|
14824
|
-
"items": {
|
|
14825
|
-
"type": "string"
|
|
14826
|
-
}
|
|
14827
|
-
},
|
|
14828
|
-
"required_card_or_upgrade_traits_any": {
|
|
14829
|
-
"type": "array",
|
|
14830
|
-
"items": {
|
|
14831
|
-
"type": "string"
|
|
14832
|
-
}
|
|
14833
|
-
},
|
|
14834
|
-
"required_keywords_any": {
|
|
14835
|
-
"type": "array",
|
|
14836
|
-
"items": {
|
|
14837
|
-
"type": "string"
|
|
14838
|
-
}
|
|
14839
|
-
},
|
|
14840
|
-
"required_traits": {
|
|
14841
|
-
"type": "array",
|
|
14842
|
-
"items": {
|
|
14843
|
-
"type": "string"
|
|
14844
|
-
}
|
|
14845
|
-
},
|
|
14846
|
-
"required_traits_any": {
|
|
14847
|
-
"type": "array",
|
|
14848
|
-
"items": {
|
|
14849
|
-
"type": "string"
|
|
14850
|
-
}
|
|
14851
|
-
},
|
|
14852
|
-
"requires_chosen_aspect": {
|
|
14853
|
-
"type": "boolean"
|
|
14854
|
-
},
|
|
14855
|
-
"same_arena_as_remembered_unit": {
|
|
14856
|
-
"description": "Matches the arena occupied by Unit selected earlier in this ability.",
|
|
14857
|
-
"type": "boolean",
|
|
14858
|
-
"default": false
|
|
14859
|
-
},
|
|
14860
|
-
"same_arena_as_source": {
|
|
14861
|
-
"type": "boolean"
|
|
14862
|
-
},
|
|
14863
|
-
"same_name_as_remembered_card": {
|
|
14864
|
-
"type": "boolean"
|
|
14865
|
-
},
|
|
14866
|
-
"same_name_as_remembered_unit": {
|
|
14867
|
-
"description": "Matches Units with same name as Unit stored by preceding target choice.",
|
|
14868
|
-
"type": "boolean",
|
|
14869
|
-
"default": false
|
|
14870
|
-
},
|
|
14871
|
-
"selected_max_combined_cost": {
|
|
14872
|
-
"description": "Requires the selected units' printed costs to be at most this value.",
|
|
14873
|
-
"type": [
|
|
14874
|
-
"integer",
|
|
14875
|
-
"null"
|
|
14876
|
-
],
|
|
14877
|
-
"format": "uint8",
|
|
14878
|
-
"default": null,
|
|
14879
|
-
"maximum": 255,
|
|
14880
|
-
"minimum": 0
|
|
14881
|
-
},
|
|
14882
|
-
"selected_max_combined_power": {
|
|
14883
|
-
"description": "Requires selected Units' current combined power to be at most this value.",
|
|
14884
|
-
"type": [
|
|
14885
|
-
"integer",
|
|
14886
|
-
"null"
|
|
14887
|
-
],
|
|
14888
|
-
"format": "int16",
|
|
14889
|
-
"default": null,
|
|
14890
|
-
"maximum": 32767,
|
|
14891
|
-
"minimum": -32768
|
|
14892
|
-
},
|
|
14893
|
-
"selected_max_combined_remaining_hp": {
|
|
14894
|
-
"description": "Requires the selected units' combined remaining HP to be at most this\nvalue (Pre Vizsla ASH 51947: \"with a total of N or less remaining HP\").",
|
|
14895
|
-
"type": [
|
|
14896
|
-
"integer",
|
|
14897
|
-
"null"
|
|
14898
|
-
],
|
|
14899
|
-
"format": "int16",
|
|
14900
|
-
"default": null,
|
|
14901
|
-
"maximum": 32767,
|
|
14902
|
-
"minimum": -32768
|
|
14903
|
-
},
|
|
14904
|
-
"selected_same_arena": {
|
|
14905
|
-
"description": "Requires every selected unit in a multi-unit selection to share an arena.",
|
|
14906
|
-
"type": "boolean",
|
|
14907
|
-
"default": false
|
|
14908
|
-
},
|
|
14909
|
-
"selected_share_trait": {
|
|
14910
|
-
"description": "Requires every selected Unit to share at least one Trait.",
|
|
14911
|
-
"type": "boolean",
|
|
14912
|
-
"default": false
|
|
14913
|
-
},
|
|
14914
|
-
"shares_aspect_with_context_unit": {
|
|
14915
|
-
"type": "boolean"
|
|
14916
|
-
},
|
|
14917
|
-
"shares_trait_with_friendly_leader": {
|
|
14918
|
-
"description": "Requires the target to share a trait with a leader card controlled by the source player.",
|
|
14919
|
-
"type": "boolean"
|
|
14920
|
-
},
|
|
14921
|
-
"token_filter": {
|
|
14922
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PresenceFilter"
|
|
14923
|
-
},
|
|
14924
|
-
"uniqueness_filter": {
|
|
14925
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/UniquenessFilter"
|
|
14926
|
-
},
|
|
14927
|
-
"upgrade_filter": {
|
|
14928
|
-
"$ref": "https://simulator-sdk.my-swu.com/schema/common.json#/$defs/PresenceFilter"
|
|
14929
|
-
}
|
|
14930
|
-
},
|
|
14931
|
-
"required": [
|
|
14932
|
-
"relation",
|
|
14933
|
-
"controller_is_remembered_player",
|
|
14934
|
-
"require_other",
|
|
14935
|
-
"require_damaged",
|
|
14936
|
-
"require_undamaged",
|
|
14937
|
-
"require_exhausted",
|
|
14938
|
-
"require_ready",
|
|
14939
|
-
"require_no_pilot",
|
|
14940
|
-
"non_leader",
|
|
14941
|
-
"uniqueness_filter",
|
|
14942
|
-
"token_filter",
|
|
14943
|
-
"upgrade_filter",
|
|
14944
|
-
"exact_power_equal_ready_resources",
|
|
14945
|
-
"exact_remaining_hp_equal_ready_resources",
|
|
14946
|
-
"max_cost_same_or_less_than_source",
|
|
14947
|
-
"max_power_less_than_source",
|
|
14948
|
-
"max_remaining_hp_less_than_source",
|
|
14949
|
-
"attacked_base_this_phase",
|
|
14950
|
-
"dealt_base_damage_this_phase",
|
|
14951
|
-
"required_traits",
|
|
14952
|
-
"required_traits_any",
|
|
14953
|
-
"shares_trait_with_friendly_leader",
|
|
14954
|
-
"required_card_or_upgrade_traits_any",
|
|
14955
|
-
"excluded_traits",
|
|
14956
|
-
"required_aspects",
|
|
14957
|
-
"required_aspects_any",
|
|
14958
|
-
"excluded_aspects",
|
|
14959
|
-
"required_keywords_any",
|
|
14960
|
-
"requires_chosen_aspect",
|
|
14961
|
-
"same_name_as_remembered_card",
|
|
14962
|
-
"different_aspect_from_remembered_card",
|
|
14963
|
-
"same_arena_as_source",
|
|
14964
|
-
"shares_aspect_with_context_unit",
|
|
14965
|
-
"exact_titles_any",
|
|
14966
|
-
"require_no_experience",
|
|
14967
|
-
"max_cost_same_or_less_than_remembered_cost",
|
|
14968
|
-
"max_power_same_or_less_than_remembered_power",
|
|
14969
|
-
"require_entered_this_phase",
|
|
14970
|
-
"require_not_attacked_this_phase"
|
|
14971
|
-
]
|
|
14972
|
-
},
|
|
14973
14561
|
"UnitStateView": {
|
|
14974
14562
|
"type": "object",
|
|
14975
14563
|
"properties": {
|