diff --git a/library/games/CONTEST/0.json b/library/games/CONTEST/0.json index 1f7ec86133..9dee72e181 100644 --- a/library/games/CONTEST/0.json +++ b/library/games/CONTEST/0.json @@ -1,29 +1,29 @@ { "_meta": { - "version": 16, + "version": 17, "info": { "name": "CONTEST", + "lastUpdate": 1736738752893, "image": "/assets/-1336405461_70212", - "rules": "https://boardgamegeek.com/filepage/288097/english-rules", - "bgg": "https://boardgamegeek.com/boardgame/425056/conic", - "year": "2024", - "mode": "vs", - "time": "20", - "attribution": "Game layout and design originally by Shobu. Additional modifications and scripting done by Dexdouglas and released to the Public Domain by CC0.

Board design and library image by Dexdouglas using Microsoft paint and are released to the Public Domain by CC0.
", - "lastUpdate": 1735489170120, "showName": true, - "skill": "low", + "time": "20", + "mode": "vs", + "skill": "Low", "description": "In Contest, you are simultaneously playing discs and comparing your numbers to your opponents. The higher number (usually) wins a spot on the board.", + "variantImage": "", + "variant": "CONTEST", + "language": "en-GB", + "players": "2-4", "similarImage": "", "similarName": "CONIC", + "year": "2024", "similarDesigner": "Reiner Knizia", "similarAwards": "", - "ruleText": "
SUMMARY
In CONTEST, 2-4 players will compete for control over columns on the board, and score points for controlling the majority of the spaces in those columns. They will also score additional points for their largest contiguous grouping. 

OVERVIEW
Each player gets 12 discs, numbered 0-10 with a single X. There are 16 spaces on the board and all 16 will have a disc on them at the end of the game. A round of the game consists of everyone selecting one of their discs and placing it in their holder. Everyone will reveal simultaneously and you will assess what happens next. 

RESOLUTION
If anyone played a 0, they return this disc to their hand. If everyone played a 0, then return the 0s to everyone's hand, and place a black disc on the space with the pawn.
If everyone played numbers, you assess who played the highest number and that person replaces the pawn on the board with their numbered disc. They will select where the pawn will go next. **Note** If someone played a 10, and someone else played a 1, the 1 becomes the highest number and wins the round.
If an X is played, this player (or players) discards the X and replaces it with a numbered chip from their hand. 
In case of a tie with the highest numbered disc, everyone else discards their discs and the tied players then play another disc simultaneously from their hand. This process is repeated until either one player is victorious, or a black disc needs to be played due to 0s being played. 

SCORING
Assess each of the columns to see who scores points. Black discs do NOT affect scoring and should be ignored. 
First, determine if someone has more discs in the column than any other player. If so, they win the points for that column (1,2,3,4). If no player has more discs than any other player, then tally the value of the discs in that column among the tied players. Whoever has the higher value, scores the points for the column. If players are tied in value, then nobody scores the column. 
Players then score once for their largest group of adjacent discs. The discs need to be touching to be considered adjacent. As an example, no discs in the 4 column are touching each other, but they could be connected if they were each next to the same space in the 3 column.

**NOTE** in an earlier iteration of this game (CATENA), the adjacency points were not considered as part of final scoring. Feel free to try this variant if you prefer. 
", - "helpText": "Have all players take a seat. Your 12 discs will go to your hand. Place the pawn on either end of the center 4 column. Drag a disc from your hand to your holder. Once everyone has a disc in their holder, click on it to reveal it. The winner places their disc on the board, everyone else either discards their number or X, or returns the 0 disc to their hand.", - "variantImage": "", - "variant": "CONTEST", - "language": "en-GB", - "players": "2-4" + "bgg": "https://boardgamegeek.com/boardgame/425056/conic", + "rules": "https://boardgamegeek.com/filepage/288097/english-rules", + "ruleText": "
SUMMARY
In CONTEST, 2-4 players will compete for control over columns on the board, and score points for controlling the majority of the spaces in those columns. They will also score additional points for their largest contiguous grouping. 

OVERVIEW
Each player gets 12 discs, numbered 0-10 with a single X. There are 16 spaces on the board and it is likely, but not required, that all 16 will have a disc on them at the end of the game. A round of the game consists of everyone selecting one of their discs and placing it in their holder. Everyone will click on their disc to reveal it simultaneously and then assess what happens next. 

RESOLUTION
If anyone played a 0, they return this disc to their hand. If everyone played a 0, then return the 0s to everyone's hand, and place a black \"Neutral\" disc on the space with the pawn.
If everyone played numbers, you assess who played the highest number and that person replaces the pawn on the board with their numbered disc. They will select where the pawn will go next. **Note** If someone played a 10, and someone else played a 1, the 1 becomes the highest number and wins the round.
If an X is played, this player (or players) discards the X and replaces it with a numbered chip from their hand. 
In case of a tie with the highest numbered disc, everyone else discards their discs and the tied players then play another disc simultaneously from their hand. This process is repeated until either one player is victorious, or a black disc needs to be played due to 0s being played. 

SCORING
Assess each of the columns to see who scores points. Black discs do NOT affect scoring and should be ignored. 
First, determine if someone has more discs in the column than any other player. If so, they win the points for that column (1,2,3,4). If no player has more discs than any other player, then tally the value of the discs in that column among the tied players. Whoever has the higher value, scores the points for the column. If players are tied in value, then nobody scores the column. 
Players then score once for their largest group of adjacent discs. The discs need to be touching to be considered adjacent. As an example, no discs in the 4 column are touching each other, but they could be connected if they were each next to the same space in the 3 column.

**NOTE** in an earlier iteration of this game (CATENA), the adjacency points were not considered as part of final scoring. Feel free to try this variant if you prefer. 
", + "helpText": "Have all players take a seat. Your 12 discs will go to your hand. Place the pawn on either end of the center 4 column. Drag a disc from your hand to your holder. Once everyone has a disc in their holder, click on it to reveal it. The winner places their disc on the board, everyone else either discards their number or X, or returns the 0 disc to their hand. Pressing the Discard button while a 0 is in the holder, will return the 0 to your hand. 

The Discard pile is visible on the table but is hidden information. In the event that someone has discarded something accidentally, you may retrieve it from this holder. 
", + "attribution": "Game layout and design originally by Shobu. Additional modifications and scripting done by Dexdouglas and released to the Public Domain by CC0.

Board design and library image by Dexdouglas using Microsoft paint and are released to the Public Domain by CC0.
" } }, "8zjq": { @@ -144,22 +144,9 @@ } ] }, - "8byg": { - "type": "label", - "text": 0, - "id": "8byg", - "x": 130, - "y": 128, - "width": 65, - "height": 40, - "css": "font-size: 30px;", - "editable": true, - "hideWhenUnused": true, - "linkedToSeat": "seat1" - }, "8bygD": { "id": "8bygD", - "parent": "8byg", + "parent": "seat1Score", "fixedParent": true, "x": -38, "y": 1, @@ -182,7 +169,7 @@ }, "8bygU": { "id": "8bygU", - "parent": "8byg", + "parent": "seat1Score", "fixedParent": true, "x": 68, "y": 1, @@ -204,21 +191,9 @@ "hideWhenUnused": true, "linkedToSeat": "seat1" }, - "9byg": { - "type": "label", - "text": 0, - "id": "9byg", - "x": 1392, - "y": 131, - "width": 65, - "height": 40, - "css": "font-size: 30px;", - "editable": true, - "linkedToSeat": "seat2" - }, "9bygD": { "id": "9bygD", - "parent": "9byg", + "parent": "seat2Score", "fixedParent": true, "x": -38, "y": 1, @@ -240,7 +215,7 @@ }, "9bygU": { "id": "9bygU", - "parent": "9byg", + "parent": "seat2Score", "fixedParent": true, "x": 68, "y": 1, @@ -261,10 +236,10 @@ ] }, "6o7j": { - "x": 881, - "y": 708, - "width": 50.4, - "height": 90, + "x": 783, + "y": 124, + "width": 40.4, + "height": 75, "color": "#1f5ca6", "css": "border-radius: 40% 40% 50% 50%/ 80% 80% 10% 10%; ", "image": "i/game-pieces/3D/Pawn-3D.svg", @@ -275,8 +250,12 @@ }, "borderColor": "black", "borderWidth": 1, - "z": 4160, - "id": "6o7j" + "z": 4161, + "id": "6o7j", + "newReset": { + "x": 783, + "y": 124 + } }, "2wdt": { "type": "deck", @@ -975,168 +954,85 @@ "x": 12, "parent": "holder4" }, - "wjlu": { - "type": "deck", - "id": "wjlu", - "cardTypes": { - " of plain-circle": { - "suit": "/i/game-icons.net/delapouite/plain-circle.svg", - "suitColor": "#000000", - "rank": "", - "rankImage": "/i/cards-default/D-face.svg" - } - }, - "cardDefaults": { - "width": 100, - "height": 100 - }, - "faceTemplates": [ - { - "border": 1, - "radius": 56, - "objects": [ - { - "type": "image", - "width": 100, - "height": 100, - "color": "#000000", - "svgReplaces": { - "currentColor": "logoColor" - } - } - ] - }, - { - "radius": 16, - "objects": [ - { - "type": "image", - "width": 100, - "height": 100, - "color": "transparent", - "svgReplaces": { - "#000": "suitColor" - }, - "dynamicProperties": { - "value": "suit" - } - }, - { - "type": "text", - "y": 18, - "fontSize": 40, - "textAlign": "center", - "color": "white", - "width": 100, - "dynamicProperties": { - "value": "rank" - } - } - ] - } - ], - "x": 759, - "y": 714 - }, "wjlu of plain-circle": { "type": "card", "id": "wjlu of plain-circle", - "deck": "wjlu", + "deck": "neutralDeck", "cardType": " of plain-circle", - "z": 3030, - "activeFace": 1, - "parent": "jkrv" + "z": 7256, + "parent": "30ty" }, "oo0j": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "oo0j", - "parent": "jkrv", - "z": 9, - "activeFace": 1 + "parent": "30ty", + "z": 7257 }, "idf3": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "idf3", - "z": 8, - "parent": "jkrv", - "activeFace": 1 - }, - "jkrv": { - "type": "pile", - "parent": null, - "x": 753, - "y": 708, - "width": 80, - "height": 80, - "id": "jkrv", - "z": 5807 + "z": 7258, + "parent": "30ty" }, "3cwf": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "3cwf", - "z": 7, - "parent": "jkrv", - "activeFace": 1 + "z": 7259, + "parent": "30ty" }, "ltai": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "ltai", - "z": 6, - "parent": "jkrv", - "activeFace": 1 + "z": 7260, + "parent": "30ty" }, "t8m8": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "t8m8", - "z": 5, - "parent": "jkrv", - "activeFace": 1 + "z": 7261, + "parent": "30ty" }, "jknv": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "jknv", - "z": 4, - "parent": "jkrv", - "activeFace": 1 + "z": 7262, + "parent": "30ty" }, "ewc7": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "ewc7", - "z": 3, - "parent": "jkrv", - "activeFace": 1 + "z": 7263, + "parent": "30ty" }, "lan2": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "lan2", - "z": 2, - "parent": "jkrv", - "activeFace": 1 + "z": 7264, + "parent": "30ty" }, "oguv": { - "deck": "wjlu", + "deck": "neutralDeck", "type": "card", "cardType": " of plain-circle", "id": "oguv", - "z": 1, - "parent": "jkrv", - "activeFace": 1 + "z": 7265, + "parent": "30ty" }, "tqy8C": { "id": "tqy8C", @@ -1269,137 +1165,9 @@ } } }, - "5pb3B": { - "id": "5pb3B", - "parent": "holder1", - "fixedParent": true, - "y": 119, - "width": 111, - "height": 40, - "type": "button", - "text": "Recall", - "movableInEdit": false, - "clickRoutine": [ - { - "func": "RECALL", - "holder": "${PROPERTY parent}" - }, - { - "func": "FLIP", - "holder": "${PROPERTY parent}", - "face": 0 - }, - { - "func": "SORT", - "holder": "${PROPERTY parent}", - "key": "rank" - } - ], - "hideWhenUnused": true, - "linkedToSeat": "seat1" - }, - "qluzB": { - "id": "qluzB", - "parent": "holder3", - "fixedParent": true, - "y": 121, - "width": 111, - "height": 40, - "type": "button", - "text": "Recall", - "movableInEdit": false, - "clickRoutine": [ - { - "func": "RECALL", - "holder": "${PROPERTY parent}" - }, - { - "func": "FLIP", - "holder": "${PROPERTY parent}", - "face": 0 - }, - { - "func": "SORT", - "holder": "${PROPERTY parent}", - "key": "rank" - } - ], - "x": -6, - "linkedToSeat": "seat3" - }, - "ns70B": { - "id": "ns70B", - "parent": "holder2", - "fixedParent": true, - "y": 118, - "width": 111, - "height": 40, - "type": "button", - "text": "Recall", - "movableInEdit": false, - "clickRoutine": [ - { - "func": "RECALL", - "holder": "${PROPERTY parent}" - }, - { - "func": "FLIP", - "holder": "${PROPERTY parent}", - "face": 0 - }, - { - "func": "SORT", - "holder": "${PROPERTY parent}", - "key": "rank" - } - ], - "x": 1, - "linkedToSeat": "seat2" - }, - "bho1B": { - "id": "bho1B", - "parent": "holder4", - "fixedParent": true, - "y": 120, - "width": 111, - "height": 40, - "type": "button", - "text": "Recall", - "movableInEdit": false, - "clickRoutine": [ - { - "func": "RECALL", - "holder": "${PROPERTY parent}" - }, - { - "func": "FLIP", - "holder": "${PROPERTY parent}", - "face": 0 - }, - { - "func": "SORT", - "holder": "${PROPERTY parent}", - "key": "rank" - } - ], - "x": -2, - "linkedToSeat": "seat4" - }, - "11byg": { - "type": "label", - "text": 0, - "id": "11byg", - "x": 1385, - "y": 737, - "width": 65, - "height": 40, - "css": "font-size: 30px;", - "editable": true, - "linkedToSeat": "seat4" - }, "13bygD": { "id": "13bygD", - "parent": "11byg", + "parent": "seat4Score", "fixedParent": true, "x": -38, "y": 1, @@ -1422,7 +1190,7 @@ }, "12bygU": { "id": "12bygU", - "parent": "11byg", + "parent": "seat4Score", "fixedParent": true, "x": 68, "y": 1, @@ -1443,21 +1211,9 @@ ], "linkedToSeat": "seat4" }, - "12byg": { - "type": "label", - "text": 0, - "id": "12byg", - "x": 130, - "y": 739, - "width": 65, - "height": 40, - "css": "font-size: 30px;", - "editable": true, - "linkedToSeat": "seat3" - }, "15bygD": { "id": "15bygD", - "parent": "12byg", + "parent": "seat3Score", "fixedParent": true, "y": 1, "width": 36, @@ -1480,7 +1236,7 @@ }, "14bygU": { "id": "14bygU", - "parent": "12byg", + "parent": "seat3Score", "fixedParent": true, "x": 68, "y": 1, @@ -1904,11 +1660,36 @@ "text": "Discard", "clickRoutine": [ { - "func": "MOVE", - "from": "holder1", - "count": 50, - "to": "discard", - "face": 1 + "func": "SELECT", + "type": "card", + "property": "parent", + "value": "holder1" + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "GET", + "property": "rank" + }, + { + "func": "IF", + "operand1": "${rank}", + "operand2": 0, + "thenRoutine": [ + { + "func": "MOVE", + "to": "hand" + } + ], + "elseRoutine": [ + { + "func": "MOVE", + "to": "discard" + } + ] + } + ] } ], "width": 100, @@ -1918,11 +1699,11 @@ "discard": { "type": "holder", "id": "discard", - "x": 722, + "x": 674, "width": 110, "height": 110, "z": 1, - "y": -127 + "y": 652 }, "e453d1c2-1937-4359-a100-91aa209216b1": { "type": "button", @@ -1933,11 +1714,36 @@ "text": "Discard", "clickRoutine": [ { - "func": "MOVE", - "from": "holder4", - "count": 50, - "to": "discard", - "face": 1 + "func": "SELECT", + "type": "card", + "property": "parent", + "value": "holder4" + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "GET", + "property": "rank" + }, + { + "func": "IF", + "operand1": "${rank}", + "operand2": 0, + "thenRoutine": [ + { + "func": "MOVE", + "to": "hand" + } + ], + "elseRoutine": [ + { + "func": "MOVE", + "to": "discard" + } + ] + } + ] } ], "width": 100, @@ -1953,11 +1759,36 @@ "text": "Discard", "clickRoutine": [ { - "func": "MOVE", - "from": "holder3", - "count": 50, - "to": "discard", - "face": 1 + "func": "SELECT", + "type": "card", + "property": "parent", + "value": "holder3" + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "GET", + "property": "rank" + }, + { + "func": "IF", + "operand1": "${rank}", + "operand2": 0, + "thenRoutine": [ + { + "func": "MOVE", + "to": "hand" + } + ], + "elseRoutine": [ + { + "func": "MOVE", + "to": "discard" + } + ] + } + ] } ], "width": 100, @@ -1973,11 +1804,36 @@ "text": "Discard", "clickRoutine": [ { - "func": "MOVE", - "from": "holder2", - "count": 50, - "to": "discard", - "face": 1 + "func": "SELECT", + "type": "card", + "property": "parent", + "value": "holder2" + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "GET", + "property": "rank" + }, + { + "func": "IF", + "operand1": "${rank}", + "operand2": 0, + "thenRoutine": [ + { + "func": "MOVE", + "to": "hand" + } + ], + "elseRoutine": [ + { + "func": "MOVE", + "to": "discard" + } + ] + } + ] } ], "width": 100, @@ -2245,419 +2101,647 @@ "type": "card", "cardType": "0 of plain-circle", "id": "y6ey", - "z": 1, - "parent": "bqgz" + "z": 7220, + "parent": "5rsg" }, "vri3": { "deck": "3vct", "type": "card", "cardType": "1 of plain-circle", "id": "vri3", - "z": 5867, - "parent": "bqgz" + "z": 7221, + "parent": "5rsg" }, "t9nm": { "deck": "3vct", "type": "card", "cardType": "2 of plain-circle", "id": "t9nm", - "z": 5868, - "parent": "bqgz" + "z": 7222, + "parent": "5rsg" }, "2wcg": { "deck": "3vct", "type": "card", "cardType": "3 of plain-circle", "id": "2wcg", - "z": 5869, - "parent": "bqgz" + "z": 7223, + "parent": "5rsg" }, "k68c": { "deck": "3vct", "type": "card", "cardType": "4 of plain-circle", "id": "k68c", - "z": 5870, - "parent": "bqgz" + "z": 7224, + "parent": "5rsg" }, "ncx1": { "deck": "3vct", "type": "card", "cardType": "5 of plain-circle", "id": "ncx1", - "z": 5871, - "parent": "bqgz" + "z": 7225, + "parent": "5rsg" }, "1orr": { "deck": "3vct", "type": "card", "cardType": "6 of plain-circle", "id": "1orr", - "z": 5872, - "parent": "bqgz" + "z": 7226, + "parent": "5rsg" }, "fyef": { "deck": "3vct", "type": "card", "cardType": "7 of plain-circle", "id": "fyef", - "z": 5873, - "parent": "bqgz" + "z": 7227, + "parent": "5rsg" }, "2p9j": { "deck": "3vct", "type": "card", "cardType": "8 of plain-circle", "id": "2p9j", - "z": 5874, - "parent": "bqgz" + "z": 7228, + "parent": "5rsg" }, "v1lm": { "deck": "3vct", "type": "card", "cardType": "9 of plain-circle", "id": "v1lm", - "z": 5875, - "parent": "bqgz" + "z": 7229, + "parent": "5rsg" }, "8bwu": { "deck": "3vct", "type": "card", "cardType": "10 of plain-circle", "id": "8bwu", - "z": 5876, - "parent": "bqgz" + "z": 7230, + "parent": "5rsg" }, "wd82": { "deck": "3vct", "type": "card", "cardType": "X of plain-circle", "id": "wd82", - "z": 5877, - "parent": "bqgz" + "z": 7231, + "parent": "5rsg" }, "09oh": { "deck": "7j02", "type": "card", "cardType": "0 of plain-circle", "id": "09oh", - "z": 1, - "parent": "6zng" + "z": 7208, + "parent": "4jj7" }, "2q87": { "deck": "7j02", "type": "card", "cardType": "1 of plain-circle", "id": "2q87", - "z": 5972, - "parent": "6zng" + "z": 7209, + "parent": "4jj7" }, "eeed": { "deck": "7j02", "type": "card", "cardType": "2 of plain-circle", "id": "eeed", - "z": 5973, - "parent": "6zng" + "z": 7210, + "parent": "4jj7" }, "hl2d": { "deck": "7j02", "type": "card", "cardType": "3 of plain-circle", "id": "hl2d", - "z": 5974, - "parent": "6zng" + "z": 7211, + "parent": "4jj7" }, "v507": { "deck": "7j02", "type": "card", "cardType": "4 of plain-circle", "id": "v507", - "z": 5975, - "parent": "6zng" + "z": 7212, + "parent": "4jj7" }, "pp73": { "deck": "7j02", "type": "card", "cardType": "5 of plain-circle", "id": "pp73", - "z": 5976, - "parent": "6zng" + "z": 7213, + "parent": "4jj7" }, "ai4m": { "deck": "7j02", "type": "card", "cardType": "6 of plain-circle", "id": "ai4m", - "z": 5977, - "parent": "6zng" + "z": 7214, + "parent": "4jj7" }, "wfol": { "deck": "7j02", "type": "card", "cardType": "7 of plain-circle", "id": "wfol", - "z": 5978, - "parent": "6zng" + "z": 7215, + "parent": "4jj7" }, "3phb": { "deck": "7j02", "type": "card", "cardType": "8 of plain-circle", "id": "3phb", - "z": 5979, - "parent": "6zng" + "z": 7216, + "parent": "4jj7" }, "r3zh": { "deck": "7j02", "type": "card", "cardType": "9 of plain-circle", "id": "r3zh", - "z": 5980, - "parent": "6zng" + "z": 7217, + "parent": "4jj7" }, "7e25": { "deck": "7j02", "type": "card", "cardType": "10 of plain-circle", "id": "7e25", - "z": 5981, - "parent": "6zng" + "z": 7218, + "parent": "4jj7" }, "64tz": { "deck": "7j02", "type": "card", "cardType": "X of plain-circle", "id": "64tz", - "z": 5982, - "parent": "6zng" + "z": 7219, + "parent": "4jj7" }, "0pd4": { "deck": "2wdt", "type": "card", "cardType": "0 of plain-circle", "id": "0pd4", - "z": 1, - "parent": "1d17" + "z": 7232, + "parent": "c1as" }, "fa7b": { "deck": "2wdt", "type": "card", "cardType": "1 of plain-circle", "id": "fa7b", - "z": 5937, - "parent": "1d17" + "z": 7233, + "parent": "c1as" }, "2d5y": { "deck": "2wdt", "type": "card", "cardType": "2 of plain-circle", "id": "2d5y", - "z": 5938, - "parent": "1d17" + "z": 7234, + "parent": "c1as" }, "7xhf": { "deck": "2wdt", "type": "card", "cardType": "3 of plain-circle", "id": "7xhf", - "z": 5939, - "parent": "1d17" + "z": 7235, + "parent": "c1as" }, "34lh": { "deck": "2wdt", "type": "card", "cardType": "4 of plain-circle", "id": "34lh", - "z": 5940, - "parent": "1d17" + "z": 7236, + "parent": "c1as" }, "8yn3": { "deck": "2wdt", "type": "card", "cardType": "5 of plain-circle", "id": "8yn3", - "z": 5941, - "parent": "1d17" + "z": 7237, + "parent": "c1as" }, "miyr": { "deck": "2wdt", "type": "card", "cardType": "6 of plain-circle", "id": "miyr", - "z": 5942, - "parent": "1d17" + "z": 7238, + "parent": "c1as" }, "aclz": { "deck": "2wdt", "type": "card", "cardType": "7 of plain-circle", "id": "aclz", - "z": 5943, - "parent": "1d17" + "z": 7239, + "parent": "c1as" }, "6i18": { "deck": "2wdt", "type": "card", "cardType": "8 of plain-circle", "id": "6i18", - "z": 5944, - "parent": "1d17" + "z": 7240, + "parent": "c1as" }, "xlx1": { "deck": "2wdt", "type": "card", "cardType": "9 of plain-circle", "id": "xlx1", - "z": 5945, - "parent": "1d17" + "z": 7241, + "parent": "c1as" }, "73hf": { "deck": "2wdt", "type": "card", "cardType": "10 of plain-circle", "id": "73hf", - "z": 5946, - "parent": "1d17" + "z": 7242, + "parent": "c1as" }, "ap0y": { "deck": "2wdt", "type": "card", "cardType": "X of plain-circle", "id": "ap0y", - "z": 5947, - "parent": "1d17" + "z": 7243, + "parent": "c1as" }, "ps1g": { "deck": "6ggy", "type": "card", "cardType": "0 of plain-circle", "id": "ps1g", - "z": 1, - "parent": "5gn1" + "z": 7244, + "parent": "zmq2" }, "qo8q": { "deck": "6ggy", "type": "card", "cardType": "1 of plain-circle", "id": "qo8q", - "z": 5902, - "parent": "5gn1" + "z": 7245, + "parent": "zmq2" }, "q4ay": { "deck": "6ggy", "type": "card", "cardType": "2 of plain-circle", "id": "q4ay", - "z": 5903, - "parent": "5gn1" + "z": 7246, + "parent": "zmq2" }, "kzvo": { "deck": "6ggy", "type": "card", "cardType": "3 of plain-circle", "id": "kzvo", - "z": 5904, - "parent": "5gn1" + "z": 7247, + "parent": "zmq2" }, "r8eo": { "deck": "6ggy", "type": "card", "cardType": "4 of plain-circle", "id": "r8eo", - "z": 5905, - "parent": "5gn1" + "z": 7248, + "parent": "zmq2" }, "e7qn": { "deck": "6ggy", "type": "card", "cardType": "5 of plain-circle", "id": "e7qn", - "z": 5906, - "parent": "5gn1" + "z": 7249, + "parent": "zmq2" }, "iahp": { "deck": "6ggy", "type": "card", "cardType": "6 of plain-circle", "id": "iahp", - "z": 5907, - "parent": "5gn1" + "z": 7250, + "parent": "zmq2" }, "2z04": { "deck": "6ggy", "type": "card", "cardType": "7 of plain-circle", "id": "2z04", - "z": 5908, - "parent": "5gn1" + "z": 7251, + "parent": "zmq2" }, "u0kp": { "deck": "6ggy", "type": "card", "cardType": "8 of plain-circle", "id": "u0kp", - "z": 5909, - "parent": "5gn1" + "z": 7252, + "parent": "zmq2" }, "mr4q": { "deck": "6ggy", "type": "card", "cardType": "9 of plain-circle", "id": "mr4q", - "z": 5910, - "parent": "5gn1" + "z": 7253, + "parent": "zmq2" }, "86c9": { "deck": "6ggy", "type": "card", "cardType": "10 of plain-circle", "id": "86c9", - "z": 5911, - "parent": "5gn1" + "z": 7254, + "parent": "zmq2" }, "n46b": { "deck": "6ggy", "type": "card", "cardType": "X of plain-circle", "id": "n46b", - "z": 5912, - "parent": "5gn1" + "z": 7255, + "parent": "zmq2" + }, + "vdjl": { + "type": "button", + "text": "New Game", + "clickRoutine": [ + { + "func": "INPUT", + "header": "Start a new game?", + "fields": [ + { + "type": "text", + "text": "Are you sure you want to recall all discs and start a new game?" + } + ] + }, + { + "func": "RECALL", + "holder": [ + "holder1", + "holder2", + "holder3", + "holder4", + "neutralHolder" + ], + "owned": true + }, + { + "func": "FLIP", + "holder": [ + "holder1", + "holder2", + "holder3", + "holder4", + "neutralHolder" + ], + "face": 0 + }, + { + "func": "SET", + "collection": [ + "seat1Score", + "seat2Score", + "seat3Score", + "seat4Score" + ], + "property": "text", + "value": 0 + }, + { + "func": "SELECT", + "property": "newReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY newReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + } + ], + "x": 757, + "y": 13, + "z": 14121, + "id": "vdjl" + }, + "seat2Score": { + "type": "label", + "id": "seat2Score", + "x": 1392, + "y": 131, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat2", + "text": 0 + }, + "seat1Score": { + "type": "label", + "id": "seat1Score", + "x": 130, + "y": 128, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat1", + "text": 0, + "hideWhenUnused": true }, - "bqgz": { + "seat4Score": { + "type": "label", + "id": "seat4Score", + "x": 1385, + "y": 737, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat4", + "text": 0 + }, + "seat3Score": { + "type": "label", + "id": "seat3Score", + "x": 130, + "y": 739, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat3", + "text": 0 + }, + "4jj7": { + "type": "pile", + "parent": "holder1", + "x": 4, + "y": 4, + "width": 100, + "height": 100, + "id": "4jj7" + }, + "5rsg": { "type": "pile", "parent": "holder2", "x": 4, "y": 4, "width": 100, "height": 100, - "id": "bqgz" + "id": "5rsg" }, - "5gn1": { + "zmq2": { "type": "pile", "parent": "holder4", "x": 4, "y": 4, "width": 100, "height": 100, - "id": "5gn1" + "id": "zmq2" + }, + "u8rv": { + "type": "label", + "text": "Discards", + "css": "font-size: 30px", + "height": 42, + "width": 200, + "x": 629, + "y": 768, + "z": 1, + "id": "u8rv" + }, + "ijf6": { + "type": "label", + "text": "Neutral", + "css": "font-size: 30px", + "height": 42, + "width": 200, + "x": 837, + "y": 759, + "z": 2, + "id": "ijf6" + }, + "neutralHolder": { + "type": "holder", + "id": "neutralHolder", + "x": 882, + "y": 652, + "width": 110, + "height": 110, + "z": 1 }, - "1d17": { + "neutralDeck": { + "type": "deck", + "id": "neutralDeck", + "x": 14, + "y": 18, + "cardDefaults": { + "width": 100, + "height": 100 + }, + "cardTypes": { + " of plain-circle": { + "suit": "/i/game-icons.net/delapouite/plain-circle.svg", + "suitColor": "#000000", + "rank": "", + "rankImage": "/i/cards-default/D-face.svg" + } + }, + "faceTemplates": [ + { + "border": 1, + "radius": 56, + "objects": [ + { + "type": "image", + "width": 100, + "height": 100, + "color": "#000000", + "svgReplaces": { + "currentColor": "logoColor" + } + } + ] + }, + { + "radius": 16, + "objects": [ + { + "type": "image", + "width": 100, + "height": 100, + "color": "transparent", + "svgReplaces": { + "#000": "suitColor" + }, + "dynamicProperties": { + "value": "suit" + } + }, + { + "type": "text", + "y": 18, + "fontSize": 40, + "textAlign": "center", + "color": "white", + "width": 100, + "dynamicProperties": { + "value": "rank" + } + } + ] + } + ], + "parent": "neutralHolder" + }, + "30ty": { "type": "pile", - "parent": "holder3", + "parent": "neutralHolder", "x": 4, "y": 4, "width": 100, "height": 100, - "id": "1d17" + "id": "30ty" }, - "6zng": { + "c1as": { "type": "pile", - "parent": "holder1", + "parent": "holder3", "x": 4, "y": 4, "width": 100, "height": 100, - "id": "6zng" + "id": "c1as" } } \ No newline at end of file diff --git a/library/games/Card Constructor/0.json b/library/games/Card Constructor/0.json new file mode 100644 index 0000000000..27ff9f2b9b --- /dev/null +++ b/library/games/Card Constructor/0.json @@ -0,0 +1,4255 @@ +{ + "_meta": { + "version": 17, + "info": { + "name": "Card Constructor", + "image": "/assets/1757111183_1666161", + "rules": "https://www.alderac.com/wp-content/uploads/2017/02/custom-heroes-rulebook-v2.pdf", + "bgg": "https://boardgamegeek.com/boardgame/223049/custom-heroes", + "year": "2017", + "mode": "vs", + "time": "45", + "attribution": "

Layout by Mitchell Stolycia. Credit is also awarded to ArnoldSmith86 for creating the script for the combiner. All other scripting was done my Mitchell Stolycia.

The “join” icon used for the combiner button is from game-icons.net, created by Delapouite, and available for use as described in the About section.

All card backs are defaults from virtualtabletop.io, created by Adrian Kennard, and available for use as described in the About section.

Card faces and the public library image were created by\nMitchell Stolycia, released to the public domain under CC0.

", + "lastUpdate": 1737483345389, + "showName": true, + "skill": "", + "description": "Construct and modify your own cards in a simple ladder climbing game.", + "similarImage": "", + "similarName": "Custom Heroes", + "similarDesigner": "John D. Clair", + "similarAwards": "2018 Origins Awards Best Card Game Nominee\n2017 Golden Geek Best Card Game Nominee", + "ruleText": "", + "helpText": "
Combining cards
  1. Add card and advancements to the combiner.
  2. Click the combiner button.
As per the game rules, do not combine multiple cards/advancements which have their attributes in the same region of the card.
For example, you can combine two advancements if they contain a +6 on the bottom left of the card and a -1 on the bottom right of the card respectively. However, advancements containing +6 and -1 both on the bottom left of their cards cannot be combined.
Playing cards
Play cards to one of the play areas. On the next player's turn, they should play cards to the empty play area.

Player turns will get skipped automatically if they are out of the round (have zero cards in hand).

Starting a new round
Make sure no cards are left on the table before beginning a new round.
IMPORTANT: Place all played green cards left over either back into your hand or into an active play area before beginning a new round.
", + "variantImage": "", + "variant": "Card Constructor", + "language": "en-GB", + "players": "3-6" + } + }, + "template": { + "type": "card", + "id": "template", + "deck": "clone", + "cardType": "dummy", + "x": -341, + "y": -17 + }, + "trash": { + "type": "holder", + "id": "trash", + "x": 1696, + "y": 187 + }, + "cpwv": { + "id": "cpwv", + "image": "/i/game-icons.net/delapouite/trash-can.svg", + "x": 1755, + "y": 292, + "movable": false + }, + "combiner": { + "type": "holder", + "id": "combiner", + "x": 1040, + "y": 639, + "onEnter": { + "activeFace": 1 + }, + "height": 170, + "width": 122 + }, + "combine": { + "type": "button", + "id": "combine", + "x": 1125, + "y": 593, + "image": "/i/game-icons.net/delapouite/join.svg", + "clickRoutine": [ + { + "func": "SELECT", + "value": "combiner" + }, + { + "func": "GET", + "property": "image", + "aggregation": "array" + }, + { + "func": "FOREACH", + "range": [ + 0, + 4 + ], + "loopRoutine": [ + { + "func": "GET", + "property": "image${value}", + "aggregation": "array", + "variable": "new" + }, + "var image = concat ${image} ${new}" + ] + }, + { + "func": "MOVE", + "to": "trash" + }, + { + "func": "CLONE", + "source": [ + "template" + ] + }, + "var counter = 0", + { + "func": "FOREACH", + "in": "${image}", + "loopRoutine": [ + { + "func": "IF", + "condition": "${value}", + "thenRoutine": [ + { + "func": "SET", + "property": "image${counter}", + "value": "${value}" + }, + "var counter = ${counter} + 1" + ] + } + ] + }, + { + "func": "MOVE", + "to": "combiner" + } + ], + "css": { + "default": { + "font-size": "20px", + "color": "black", + "background": "grey", + "border-color": "black" + }, + ":hover": { + "background": "darkgrey" + } + } + }, + "mjfk": { + "id": "mjfk", + "x": -438, + "y": 148, + "text": "This is a card that is just a template to CLONE. It can be offscreen. Edit the deck in the top left to customize the combined cards.", + "width": 328, + "height": 99, + "movable": false + }, + "greenHolder": { + "type": "holder", + "id": "greenHolder", + "x": 1188, + "dropTarget": { + "type": "card" + }, + "y": -307 + }, + "pinkHolder": { + "type": "holder", + "id": "pinkHolder", + "x": 1409, + "y": -306, + "dropTarget": { + "type": "card" + } + }, + "pinkL": { + "type": "label", + "id": "pinkL", + "x": 1415, + "y": -332, + "z": 1, + "text": "Pink" + }, + "greenL": { + "type": "label", + "id": "greenL", + "x": 1193, + "y": -332, + "z": 1, + "text": "Green" + }, + "baseHolder": { + "type": "holder", + "id": "baseHolder", + "x": -326, + "y": 526, + "z": 1, + "dropTarget": { + "type": "card" + } + }, + "overlayHolder": { + "type": "holder", + "id": "overlayHolder", + "x": 48, + "y": 172, + "z": 2275, + "dropTarget": { + "type": "card" + }, + "width": 122 + }, + "hand": { + "type": "holder", + "onEnter": { + "activeFace": 1 + }, + "onLeave": { + "activeFace": 0 + }, + "dropOffsetX": 5, + "dropOffsetY": 5, + "stackOffsetX": 114, + "childrenPerOwner": true, + "dropShadow": true, + "hidePlayerCursors": true, + "x": 12, + "y": 818, + "width": 1150, + "height": 170, + "id": "hand" + }, + "overlayHand": { + "type": "holder", + "id": "overlayHand", + "x": 12, + "y": 639, + "width": 922, + "height": 170, + "childrenPerOwner": true, + "dropOffsetX": 5, + "dropOffsetY": 5, + "dropShadow": true, + "hidePlayerCursors": true, + "onEnter": { + "activeFace": 1 + }, + "onLeave": { + "activeFace": 0 + }, + "stackOffsetX": 114 + }, + "reset": { + "type": "button", + "id": "reset", + "parent": "overlayHolder", + "fixedParent": true, + "y": 84, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Reset", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + }, + { + "func": "SELECT", + "property": "clonedFrom", + "value": "template" + }, + { + "func": "DELETE" + } + ], + "x": -304 + }, + "baseHolderB": { + "type": "button", + "id": "baseHolderB", + "parent": "baseHolder", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall & Shuffle", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + } + ] + }, + "holder4p": { + "type": "holder", + "id": "holder4p", + "x": 11, + "y": -377, + "dropTarget": { + "type": "card" + } + }, + "holder5p": { + "type": "holder", + "id": "holder5p", + "x": 218, + "y": -377, + "dropTarget": { + "type": "card" + } + }, + "holder6p": { + "type": "holder", + "id": "holder6p", + "x": 426, + "y": -377, + "dropTarget": { + "type": "card" + } + }, + "setup": { + "type": "button", + "id": "setup", + "x": 13, + "y": 9, + "z": 5, + "css": { + "default": { + "background-color": "#84E291", + "border-color": "#595959", + "color": "black" + }, + ":hover": { + "background-color": "#595959", + "border-color": "#84E291" + } + }, + "text": "Setup", + "clickRoutine": [ + "var a = 4", + { + "func": "INPUT", + "header": "Start new game?", + "confirmButtonText": "Yes", + "cancelButtonText": "No", + "fields": [ + { + "type": "subtitle", + "text": "Are you sure you want to erase any progress and start a new game?" + } + ] + }, + { + "func": "SELECT", + "property": "id", + "value": "reset" + }, + { + "func": "CLICK" + }, + { + "func": "SELECT", + "property": "id", + "value": "baseHolderB" + }, + { + "func": "CLICK" + }, + { + "func": "SELECT", + "property": "id", + "value": "refHolderB" + }, + { + "func": "CLICK" + }, + { + "func": "FOREACH", + "range": 3, + "loopRoutine": [ + { + "func": "SELECT", + "property": "id", + "value": "holder${a}pB" + }, + { + "func": "CLICK" + }, + "var a = ${a} + 1" + ] + }, + { + "func": "SELECT", + "property": "id", + "value": "greenHolderB" + }, + { + "func": "CLICK" + }, + { + "func": "SELECT", + "property": "id", + "value": "pinkHolderB" + }, + { + "func": "CLICK" + }, + { + "note": "move each seat into the DEFAULT collection", + "func": "SELECT", + "type": "seat", + "property": "player", + "relation": "!=", + "value": "" + }, + { + "note": "count the number of seats", + "func": "COUNT" + }, + "var pCount = ${COUNT}", + { + "func": "IF", + "operand1": "${COUNT}", + "relation": ">", + "operand2": 3, + "thenRoutine": [ + { + "func": "MOVE", + "from": "holder4p", + "to": "baseHolder", + "count": 10 + }, + { + "func": "IF", + "operand1": "${COUNT}", + "relation": ">", + "operand2": 4, + "thenRoutine": [ + { + "func": "MOVE", + "from": "holder5p", + "to": "baseHolder", + "count": 10 + }, + { + "func": "IF", + "operand1": "${COUNT}", + "relation": ">", + "operand2": 5, + "thenRoutine": [ + { + "func": "MOVE", + "from": "holder6p", + "to": "baseHolder", + "count": 10 + } + ] + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "parent", + "value": "refHolder" + }, + { + "func": "SELECT", + "property": "cardType", + "collection": "DEFAULT", + "value": "${pCount}ref.jpg" + }, + { + "func": "MOVE", + "to": "refDisplayHolder" + }, + { + "func": "SHUFFLE", + "holder": "baseHolder" + }, + { + "note": "move each seat into the DEFAULT collection", + "func": "SELECT", + "type": "seat", + "property": "player", + "relation": "!=", + "value": "" + }, + { + "note": "count the number of seats", + "func": "COUNT" + }, + { + "func": "SET", + "property": "hand", + "value": "overlayHand" + }, + { + "note": "for each widget (seat) in the default collection...", + "func": "FOREACH", + "collection": "DEFAULT", + "loopRoutine": [ + { + "func": "MOVE", + "from": "greenHolder", + "to": "${widgetID}", + "count": 1 + }, + { + "func": "MOVE", + "from": "pinkHolder", + "to": "${widgetID}", + "count": 1 + }, + { + "func": "MOVE", + "from": "overlayHolder", + "to": "${widgetID}", + "count": 1 + } + ] + }, + { + "func": "SET", + "property": "hand", + "value": "hand" + }, + { + "note": "for each widget (seat) in the default collection...", + "func": "FOREACH", + "collection": "DEFAULT", + "loopRoutine": [ + { + "func": "MOVE", + "from": "baseHolder", + "to": "${widgetID}", + "count": 10 + }, + { + "func": "SORT", + "holder": "hand", + "key": "cardType" + } + ] + }, + "var a = 1", + { + "note": "for each widget (seat) in the default collection...", + "func": "FOREACH", + "range": 6, + "loopRoutine": [ + { + "func": "LABEL", + "label": "p${a}", + "value": 1 + }, + { + "func": "LABEL", + "label": "c${a}", + "value": 2 + }, + "var a = ${a} + 1" + ] + }, + { + "note": "Set a random player as start player", + "func": "TURN", + "turnCycle": "random" + } + ] + }, + "holder4pB": { + "type": "button", + "id": "holder4pB", + "parent": "holder4p", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall & Shuffle", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + } + ] + }, + "holder5pB": { + "type": "button", + "id": "holder5pB", + "parent": "holder5p", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall & Shuffle", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + } + ] + }, + "holder6pB": { + "type": "button", + "id": "holder6pB", + "parent": "holder6p", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall & Shuffle", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + } + ] + }, + "greenHolderB": { + "type": "button", + "id": "greenHolderB", + "parent": "greenHolder", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall & Shuffle", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + } + ] + }, + "pinkHolderB": { + "type": "button", + "id": "pinkHolderB", + "parent": "pinkHolder", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall & Shuffle", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 0 + }, + { + "func": "SHUFFLE", + "holder": "${PROPERTY parent}" + } + ] + }, + "holder1": { + "type": "holder", + "id": "holder1", + "x": 441, + "y": 189, + "width": 694, + "height": 170, + "z": 2276, + "dropOffsetX": 5, + "dropOffsetY": 5, + "onEnter": { + "activeFace": 1 + }, + "onLeave": { + "activeFace": 0 + }, + "stackOffsetX": 114, + "enterRoutine": [ + { + "func": "MOVE", + "from": "holder2", + "to": "baseHolder", + "count": "all" + } + ] + }, + "holder2": { + "type": "holder", + "id": "holder2", + "x": 441, + "y": 384, + "width": 694, + "height": 170, + "z": 2276, + "dropOffsetX": 5, + "dropOffsetY": 5, + "onEnter": { + "activeFace": 1 + }, + "onLeave": { + "activeFace": 0 + }, + "stackOffsetX": 114, + "enterRoutine": [ + { + "func": "MOVE", + "from": "holder1", + "to": "baseHolder", + "count": "all" + } + ] + }, + "qioy": { + "type": "label", + "x": 441, + "y": 362, + "z": 2, + "id": "qioy", + "width": 694, + "text": "Active play areas", + "color": "black", + "css": { + "color": "black" + } + }, + "jr7c": { + "x": 1402, + "y": 350, + "width": 164, + "height": 147, + "layer": -3, + "editorGroup": true, + "movable": false, + "id": "jr7c" + }, + "qnh6": { + "type": "label", + "css": "font-size: 30px", + "height": 42, + "width": 30, + "y": 105, + "z": 5, + "id": "qnh6", + "text": "$", + "linkedToSeat": "seat5", + "parent": "jr7c" + }, + "seat5": { + "type": "seat", + "id": "seat5", + "index": 5, + "x": 14, + "y": 45, + "z": 3, + "hideWhenUnused": true, + "parent": "jr7c" + }, + "xg7cC": { + "id": "xg7cC", + "parent": "seat5", + "fixedParent": true, + "x": -20, + "y": -20, + "width": 30, + "height": 30, + "borderRadius": 100, + "movable": false, + "movableInEdit": false, + "clickable": false, + "css": { + "font-size": "18px", + "display": "flex", + "align-items": "center", + "justify-content": "center", + "color": "#6d6d6d", + "background": "#e4e4e4", + "border": "2px solid #999999" + }, + "text": 0, + "ownerGlobalUpdateRoutine": [ + "var parent = ${PROPERTY parent}", + "var COUNT = 0", + { + "func": "SELECT", + "property": "_ancestor", + "value": "${PROPERTY hand OF $parent}" + }, + { + "func": "COUNT", + "owner": "${PROPERTY player OF $parent}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${COUNT}" + } + ], + "playerGlobalUpdateRoutine": [ + { + "func": "CALL", + "routine": "ownerGlobalUpdateRoutine", + "widget": "${PROPERTY id}" + } + ] + }, + "4fvf": { + "x": 1402, + "y": 13, + "width": 164, + "height": 147, + "layer": -3, + "editorGroup": true, + "movable": false, + "id": "4fvf" + }, + "seat4": { + "type": "seat", + "id": "seat4", + "index": 4, + "x": 14, + "y": 45, + "hideWhenUnused": true, + "z": 3, + "parent": "4fvf" + }, + "xg4cC": { + "id": "xg4cC", + "parent": "seat4", + "fixedParent": true, + "x": -20, + "y": -20, + "width": 30, + "height": 30, + "borderRadius": 100, + "movable": false, + "movableInEdit": false, + "clickable": false, + "css": { + "font-size": "18px", + "display": "flex", + "align-items": "center", + "justify-content": "center", + "color": "#6d6d6d", + "background": "#e4e4e4", + "border": "2px solid #999999" + }, + "text": 0, + "ownerGlobalUpdateRoutine": [ + "var parent = ${PROPERTY parent}", + "var COUNT = 0", + { + "func": "SELECT", + "property": "_ancestor", + "value": "${PROPERTY hand OF $parent}" + }, + { + "func": "COUNT", + "owner": "${PROPERTY player OF $parent}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${COUNT}" + } + ], + "playerGlobalUpdateRoutine": [ + { + "func": "CALL", + "routine": "ownerGlobalUpdateRoutine", + "widget": "${PROPERTY id}" + } + ] + }, + "qnh5": { + "type": "label", + "css": "font-size: 30px", + "height": 42, + "width": 30, + "y": 105, + "z": 5, + "id": "qnh5", + "text": "$", + "linkedToSeat": "seat4", + "parent": "4fvf" + }, + "xgws": { + "x": 18, + "y": 438, + "width": 160, + "height": 147, + "layer": -3, + "editorGroup": true, + "movable": false, + "id": "xgws" + }, + "qnh8": { + "type": "label", + "css": "font-size: 30px", + "height": 42, + "width": 30, + "y": 105, + "z": 5, + "id": "qnh8", + "text": "$", + "linkedToSeat": "seat1", + "parent": "xgws" + }, + "seat1": { + "type": "seat", + "id": "seat1", + "x": 10, + "y": 45, + "z": 2, + "hand": "overlayHand", + "hideWhenUnused": true, + "parent": "xgws" + }, + "xg6cC": { + "id": "xg6cC", + "parent": "seat1", + "fixedParent": true, + "x": -20, + "y": -20, + "width": 30, + "height": 30, + "borderRadius": 100, + "movable": false, + "movableInEdit": false, + "clickable": false, + "css": { + "font-size": "18px", + "display": "flex", + "align-items": "center", + "justify-content": "center", + "color": "#6d6d6d", + "background": "#e4e4e4", + "border": "2px solid #999999" + }, + "text": 0, + "ownerGlobalUpdateRoutine": [ + "var parent = ${PROPERTY parent}", + "var COUNT = 0", + { + "func": "SELECT", + "property": "_ancestor", + "value": "${PROPERTY hand OF $parent}" + }, + { + "func": "COUNT", + "owner": "${PROPERTY player OF $parent}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${COUNT}" + } + ], + "playerGlobalUpdateRoutine": [ + { + "func": "CALL", + "routine": "ownerGlobalUpdateRoutine", + "widget": "${PROPERTY id}" + } + ] + }, + "l5gk": { + "x": 269, + "y": 13, + "width": 160, + "height": 147, + "layer": -3, + "editorGroup": true, + "movable": false, + "id": "l5gk" + }, + "qnh7": { + "type": "label", + "css": "font-size: 30px", + "height": 42, + "width": 30, + "y": 105, + "z": 5, + "id": "qnh7", + "text": "$", + "linkedToSeat": "seat2", + "parent": "l5gk" + }, + "seat2": { + "type": "seat", + "id": "seat2", + "index": 2, + "x": 10, + "y": 45, + "z": 2, + "hideWhenUnused": true, + "parent": "l5gk" + }, + "xg5cC": { + "id": "xg5cC", + "parent": "seat2", + "fixedParent": true, + "x": -20, + "y": -20, + "width": 30, + "height": 30, + "borderRadius": 100, + "movable": false, + "movableInEdit": false, + "clickable": false, + "css": { + "font-size": "18px", + "display": "flex", + "align-items": "center", + "justify-content": "center", + "color": "#6d6d6d", + "background": "#e4e4e4", + "border": "2px solid #999999" + }, + "text": 0, + "ownerGlobalUpdateRoutine": [ + "var parent = ${PROPERTY parent}", + "var COUNT = 0", + { + "func": "SELECT", + "property": "_ancestor", + "value": "${PROPERTY hand OF $parent}" + }, + { + "func": "COUNT", + "owner": "${PROPERTY player OF $parent}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${COUNT}" + } + ], + "playerGlobalUpdateRoutine": [ + { + "func": "CALL", + "routine": "ownerGlobalUpdateRoutine", + "widget": "${PROPERTY id}" + } + ] + }, + "jr8c": { + "x": 1402, + "y": 687, + "width": 164, + "height": 147, + "layer": -3, + "editorGroup": true, + "movable": false, + "id": "jr8c" + }, + "qnh9": { + "type": "label", + "css": "font-size: 30px", + "height": 42, + "width": 30, + "y": 105, + "z": 5, + "id": "qnh9", + "text": "$", + "linkedToSeat": "seat6", + "parent": "jr8c" + }, + "seat6": { + "type": "seat", + "id": "seat6", + "index": 6, + "x": 14, + "y": 45, + "z": 3, + "hideWhenUnused": true, + "parent": "jr8c" + }, + "xg8cC": { + "id": "xg8cC", + "parent": "seat6", + "fixedParent": true, + "x": -20, + "y": -20, + "width": 30, + "height": 30, + "borderRadius": 100, + "movable": false, + "movableInEdit": false, + "clickable": false, + "css": { + "font-size": "18px", + "display": "flex", + "align-items": "center", + "justify-content": "center", + "color": "#6d6d6d", + "background": "#e4e4e4", + "border": "2px solid #999999" + }, + "text": 0, + "ownerGlobalUpdateRoutine": [ + "var parent = ${PROPERTY parent}", + "var COUNT = 0", + { + "func": "SELECT", + "property": "_ancestor", + "value": "${PROPERTY hand OF $parent}" + }, + { + "func": "COUNT", + "owner": "${PROPERTY player OF $parent}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${COUNT}" + } + ], + "playerGlobalUpdateRoutine": [ + { + "func": "CALL", + "routine": "ownerGlobalUpdateRoutine", + "widget": "${PROPERTY id}" + } + ] + }, + "xvti": { + "x": 836, + "y": 13, + "width": 160, + "height": 147, + "layer": -3, + "editorGroup": true, + "movable": false, + "id": "xvti" + }, + "seat3": { + "type": "seat", + "id": "seat3", + "index": 3, + "x": 10, + "y": 45, + "hideWhenUnused": true, + "z": 2, + "parent": "xvti", + "turn": true + }, + "xg3cC": { + "id": "xg3cC", + "parent": "seat3", + "fixedParent": true, + "x": -20, + "y": -20, + "width": 30, + "height": 30, + "borderRadius": 100, + "movable": false, + "movableInEdit": false, + "clickable": false, + "css": { + "font-size": "18px", + "display": "flex", + "align-items": "center", + "justify-content": "center", + "color": "#6d6d6d", + "background": "#e4e4e4", + "border": "2px solid #999999" + }, + "text": 0, + "ownerGlobalUpdateRoutine": [ + "var parent = ${PROPERTY parent}", + "var COUNT = 0", + { + "func": "SELECT", + "property": "_ancestor", + "value": "${PROPERTY hand OF $parent}" + }, + { + "func": "COUNT", + "owner": "${PROPERTY player OF $parent}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${COUNT}" + } + ], + "playerGlobalUpdateRoutine": [ + { + "func": "CALL", + "routine": "ownerGlobalUpdateRoutine", + "widget": "${PROPERTY id}" + } + ] + }, + "qnh4": { + "type": "label", + "css": "font-size: 30px", + "height": 42, + "width": 30, + "y": 105, + "z": 5, + "id": "qnh4", + "text": "$", + "linkedToSeat": "seat3", + "parent": "xvti" + }, + "p1": { + "type": "label", + "id": "p1", + "parent": "xgws", + "x": 68, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat1", + "text": 0 + }, + "deufD8": { + "id": "deufD8", + "parent": "p1", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU8": { + "id": "deufU8", + "parent": "p1", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "p2": { + "type": "label", + "id": "p2", + "parent": "l5gk", + "x": 68, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat2", + "text": 0 + }, + "deufD6": { + "id": "deufD6", + "parent": "p2", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU6": { + "id": "deufU6", + "parent": "p2", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "p3": { + "type": "label", + "id": "p3", + "parent": "xvti", + "x": 68, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat3", + "text": 0 + }, + "deufD": { + "id": "deufD", + "parent": "p3", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU": { + "id": "deufU", + "parent": "p3", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "p4": { + "type": "label", + "id": "p4", + "parent": "4fvf", + "x": 68, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat4", + "text": 0 + }, + "deufD3": { + "id": "deufD3", + "parent": "p4", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU3": { + "id": "deufU3", + "parent": "p4", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "p5": { + "type": "label", + "id": "p5", + "parent": "jr7c", + "x": 68, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat5", + "text": 0 + }, + "deufD5": { + "id": "deufD5", + "parent": "p5", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU5": { + "id": "deufU5", + "parent": "p5", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "p6": { + "type": "label", + "id": "p6", + "parent": "jr8c", + "x": 68, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat6", + "text": 0 + }, + "deufD11": { + "id": "deufD11", + "parent": "p6", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU11": { + "id": "deufU11", + "parent": "p6", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": "font-size: 28px", + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "c6": { + "type": "label", + "id": "c6", + "parent": "jr8c", + "y": 105, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat6", + "text": 0, + "x": 65 + }, + "deufD10": { + "id": "deufD10", + "parent": "c6", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU10": { + "id": "deufU10", + "parent": "c6", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "c5": { + "type": "label", + "id": "c5", + "parent": "jr7c", + "x": 68, + "y": 105, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat5", + "text": 0 + }, + "deufD4": { + "id": "deufD4", + "parent": "c5", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU4": { + "id": "deufU4", + "parent": "c5", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "c4": { + "type": "label", + "id": "c4", + "parent": "4fvf", + "x": 68, + "y": 105, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat4", + "text": 0 + }, + "deufD2": { + "id": "deufD2", + "parent": "c4", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU2": { + "id": "deufU2", + "parent": "c4", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "c3": { + "type": "label", + "id": "c3", + "parent": "xvti", + "x": 68, + "y": 105, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat3", + "text": 0 + }, + "deufD1": { + "id": "deufD1", + "parent": "c3", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU1": { + "id": "deufU1", + "parent": "c3", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "c2": { + "type": "label", + "id": "c2", + "parent": "l5gk", + "x": 68, + "y": 105, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat2", + "text": 0 + }, + "deufD7": { + "id": "deufD7", + "parent": "c2", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU7": { + "id": "deufU7", + "parent": "c2", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "c1": { + "type": "label", + "id": "c1", + "parent": "xgws", + "x": 68, + "y": 105, + "width": 65, + "height": 40, + "css": "font-size: 30px;", + "editable": true, + "linkedToSeat": "seat1", + "text": 0 + }, + "deufD9": { + "id": "deufD9", + "parent": "c1", + "fixedParent": true, + "x": -38, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "remove", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "dec", + "value": 1 + } + ] + }, + "deufU9": { + "id": "deufU9", + "parent": "c1", + "fixedParent": true, + "x": 68, + "y": 1, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "classes": "symbols", + "css": { + "default": { + "font-size": "28px", + "background-color": "gold", + "border-color": "black", + "color": "black" + }, + ":hover": { + "background": "orange" + } + }, + "text": "add", + "clickRoutine": [ + { + "func": "LABEL", + "label": "${PROPERTY parent}", + "mode": "inc", + "value": 1 + } + ] + }, + "fs7e 4ref.jpg": { + "type": "card", + "id": "fs7e 4ref.jpg", + "deck": "ref", + "cardType": "4ref.jpg", + "activeFace": 1, + "z": 33703, + "parent": "6lt9" + }, + "fs7e 3ref.jpg": { + "type": "card", + "id": "fs7e 3ref.jpg", + "deck": "ref", + "cardType": "3ref.jpg", + "activeFace": 1, + "z": 33705, + "parent": "6lt9" + }, + "fs7e 5ref.jpg": { + "type": "card", + "id": "fs7e 5ref.jpg", + "deck": "ref", + "cardType": "5ref.jpg", + "activeFace": 1, + "z": 33706, + "parent": "6lt9" + }, + "fs7e 6ref.jpg": { + "type": "card", + "id": "fs7e 6ref.jpg", + "deck": "ref", + "cardType": "6ref.jpg", + "activeFace": 1, + "z": 33707, + "parent": "6lt9" + }, + "ref": { + "type": "deck", + "id": "ref", + "x": 4, + "y": 4, + "z": 20362, + "cardDefaults": { + "width": 200, + "height": 100, + "movable": false, + "enlarge": 2 + }, + "cardTypes": { + "4ref.jpg": { + "image": "/assets/2001965392_9340" + }, + "3ref.jpg": { + "image": "/assets/1316810046_8400" + }, + "5ref.jpg": { + "image": "/assets/1935281935_10136" + }, + "6ref.jpg": { + "image": "/assets/-1182264925_10394" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ], + "parent": "refHolder", + "width": 81, + "height": 81 + }, + "refDisplayHolder": { + "type": "holder", + "id": "refDisplayHolder", + "x": 1214, + "y": 878, + "z": 2277, + "css": { + "background-color": "transparent", + "border-color": "transparent" + } + }, + "refHolder": { + "type": "holder", + "id": "refHolder", + "x": 1710, + "y": 720, + "dropTarget": { + "type": "card" + } + }, + "refHolderB": { + "type": "button", + "id": "refHolderB", + "parent": "refHolder", + "fixedParent": true, + "y": 171.36, + "width": 111, + "height": 40, + "movableInEdit": false, + "text": "Recall", + "clickRoutine": [ + { + "func": "RECALL", + "holder": "${PROPERTY parent}" + }, + { + "func": "FLIP", + "holder": "${PROPERTY parent}", + "face": 1 + } + ] + }, + "6lt9": { + "type": "pile", + "parent": "refHolder", + "x": 4, + "y": 4, + "width": 323, + "height": 160, + "id": "6lt9" + }, + "3wby": { + "type": "label", + "text": "Advancements", + "x": 48, + "y": 147, + "z": 6, + "id": "3wby", + "width": 122, + "css": { + "color": "black" + } + }, + "kusv": { + "type": "button", + "text": "Next round", + "clickRoutine": [ + { + "func": "INPUT", + "header": "Start new round?", + "confirmButtonText": "Yes", + "cancelButtonText": "No", + "fields": [ + { + "type": "subtitle", + "text": "Are you sure you want to start a new round?" + } + ] + }, + { + "func": "MOVE", + "from": "holder1", + "to": "baseHolder", + "count": "all" + }, + { + "func": "MOVE", + "from": "holder2", + "to": "baseHolder", + "count": "all" + }, + { + "func": "SET", + "property": "hand", + "value": "hand" + }, + { + "note": "move each seat into the DEFAULT collection", + "func": "SELECT", + "type": "seat", + "property": "player", + "relation": "!=", + "value": "" + }, + { + "note": "count the number of seats", + "func": "COUNT" + }, + { + "note": "for each widget (seat) in the default collection...", + "func": "FOREACH", + "collection": "DEFAULT", + "loopRoutine": [ + { + "func": "MOVE", + "from": "${widgetID}", + "to": "baseHolder", + "count": "all" + } + ] + }, + { + "func": "SHUFFLE", + "holder": "baseHolder" + }, + { + "func": "SET", + "property": "hand", + "value": "hand" + }, + { + "note": "for each widget (seat) in the default collection...", + "func": "FOREACH", + "collection": "DEFAULT", + "loopRoutine": [ + { + "func": "MOVE", + "from": "baseHolder", + "to": "${widgetID}", + "count": 10 + }, + { + "func": "SORT", + "holder": "hand", + "key": "cardType" + } + ] + } + ], + "x": 1501, + "y": 907, + "z": 7, + "id": "kusv", + "css": { + "default": { + "background-color": "brown", + "border-color": "#595959", + "color": "black", + "font-size": "20px" + }, + ":hover": { + "background-color": "#595959", + "border-color": "brown" + } + } + }, + "background": { + "id": "background", + "width": 1600, + "height": 1000, + "layer": -4, + "z": 94, + "movable": false, + "movableInEdit": false, + "css": { + "background-image": "linear-gradient(15deg, lightgrey 0%, #96a7cf 75%)" + } + }, + "turnB": { + "type": "button", + "id": "turnB", + "x": 1155, + "y": 333, + "z": 8, + "css": { + "default": { + "font-size": "20px", + "color": "black", + "background": "pink", + "border-color": "black", + "clip-path": "polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)" + }, + ":hover": { + "background": "hotpink" + } + }, + "text": "End turn", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "forward" + }, + { + "func": "FOREACH", + "range": 5, + "loopRoutine": [ + { + "func": "SELECT", + "property": "turn", + "value": true + }, + { + "func": "GET", + "property": "player", + "collection": "DEFAULT" + }, + { + "func": "SELECT", + "owner": "${player}", + "property": "parent", + "value": "hand", + "collection": "DEFAULT" + }, + { + "func": "COUNT", + "collection": "DEFAULT", + "holder": "hand", + "owner": "${player}" + }, + { + "func": "IF", + "operand1": "${COUNT}", + "relation": "==", + "operand2": 0, + "thenRoutine": [ + { + "func": "TURN", + "turnCycle": "forward" + } + ] + } + ] + } + ], + "borderRadius": 5 + }, + "5h1j": { + "deck": "6p", + "type": "card", + "cardType": "Picture03.png", + "id": "5h1j", + "z": 31119, + "parent": "37p0", + "x": null, + "y": null + }, + "lv0w": { + "deck": "6p", + "type": "card", + "cardType": "Picture06.png", + "id": "lv0w", + "z": 31140, + "parent": "9n63", + "x": null, + "y": null + }, + "xmd7 Picture01.png": { + "type": "card", + "id": "xmd7 Picture01.png", + "deck": "6p", + "cardType": "Picture01.png", + "z": 33668, + "parent": "8jss" + }, + "xmd7 Picture02.png": { + "type": "card", + "id": "xmd7 Picture02.png", + "deck": "6p", + "cardType": "Picture02.png", + "z": 33669, + "parent": "8jss" + }, + "xmd7 Picture03.png": { + "type": "card", + "id": "xmd7 Picture03.png", + "deck": "6p", + "cardType": "Picture03.png", + "z": 33672, + "parent": "8jss" + }, + "xmd7 Picture05.png": { + "type": "card", + "id": "xmd7 Picture05.png", + "deck": "6p", + "cardType": "Picture05.png", + "z": 33671, + "parent": "8jss" + }, + "xmd7 Picture04.png": { + "type": "card", + "id": "xmd7 Picture04.png", + "deck": "6p", + "cardType": "Picture04.png", + "z": 33665, + "parent": "8jss" + }, + "xmd7 Picture06.png": { + "type": "card", + "id": "xmd7 Picture06.png", + "deck": "6p", + "cardType": "Picture06.png", + "z": 33667, + "parent": "8jss" + }, + "xmd7 Picture07.png": { + "type": "card", + "id": "xmd7 Picture07.png", + "deck": "6p", + "cardType": "Picture07.png", + "z": 33670, + "parent": "8jss" + }, + "xmd7 Picture08.png": { + "type": "card", + "id": "xmd7 Picture08.png", + "deck": "6p", + "cardType": "Picture08.png", + "z": 33666, + "parent": "8jss" + }, + "xmd7 Picture09.png": { + "type": "card", + "id": "xmd7 Picture09.png", + "deck": "6p", + "cardType": "Picture09.png", + "z": 33664, + "parent": "8jss" + }, + "xmd7 Picture10.png": { + "type": "card", + "id": "xmd7 Picture10.png", + "deck": "6p", + "cardType": "Picture10.png", + "z": 33663, + "parent": "8jss" + }, + "6p": { + "type": "deck", + "id": "6p", + "parent": "holder6p", + "x": 4, + "y": 4, + "z": 31184, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "Picture01.png": { + "image": "/assets/-1901006310_3378" + }, + "Picture02.png": { + "image": "/assets/1127128173_3756" + }, + "Picture03.png": { + "image": "/assets/-1262057051_3796" + }, + "Picture05.png": { + "image": "/assets/126394475_3642" + }, + "Picture04.png": { + "image": "/assets/396403453_3564" + }, + "Picture06.png": { + "image": "/assets/-2099534226_3856" + }, + "Picture07.png": { + "image": "/assets/943754758_3572" + }, + "Picture08.png": { + "image": "/assets/-172271381_3902" + }, + "Picture09.png": { + "image": "/assets/-1605499213_3880" + }, + "Picture10.png": { + "image": "/assets/-197203168_3856" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-default/2B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ] + }, + "8jss": { + "type": "pile", + "parent": "holder6p", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "8jss" + }, + "rg2m Picture02.png": { + "type": "card", + "id": "rg2m Picture02.png", + "deck": "5p", + "cardType": "Picture02.png", + "z": 33650, + "parent": "qkqm" + }, + "rg2m Picture03.png": { + "type": "card", + "id": "rg2m Picture03.png", + "deck": "5p", + "cardType": "Picture03.png", + "z": 33652, + "parent": "qkqm" + }, + "rg2m Picture01.png": { + "type": "card", + "id": "rg2m Picture01.png", + "deck": "5p", + "cardType": "Picture01.png", + "z": 33645, + "parent": "qkqm" + }, + "rg2m Picture04.png": { + "type": "card", + "id": "rg2m Picture04.png", + "deck": "5p", + "cardType": "Picture04.png", + "z": 33649, + "parent": "qkqm" + }, + "rg2m Picture05.png": { + "type": "card", + "id": "rg2m Picture05.png", + "deck": "5p", + "cardType": "Picture05.png", + "z": 33644, + "parent": "qkqm" + }, + "rg2m Picture06.png": { + "type": "card", + "id": "rg2m Picture06.png", + "deck": "5p", + "cardType": "Picture06.png", + "z": 33646, + "parent": "qkqm" + }, + "rg2m Picture07.png": { + "type": "card", + "id": "rg2m Picture07.png", + "deck": "5p", + "cardType": "Picture07.png", + "z": 33643, + "parent": "qkqm" + }, + "rg2m Picture08.png": { + "type": "card", + "id": "rg2m Picture08.png", + "deck": "5p", + "cardType": "Picture08.png", + "z": 33648, + "parent": "qkqm" + }, + "rg2m Picture10.png": { + "type": "card", + "id": "rg2m Picture10.png", + "deck": "5p", + "cardType": "Picture10.png", + "z": 33647, + "parent": "qkqm" + }, + "rg2m Picture09.png": { + "type": "card", + "id": "rg2m Picture09.png", + "deck": "5p", + "cardType": "Picture09.png", + "z": 33651, + "parent": "qkqm" + }, + "5p": { + "type": "deck", + "id": "5p", + "parent": "holder5p", + "x": 4, + "y": 4, + "z": 31216, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "Picture02.png": { + "image": "/assets/1127128173_3756" + }, + "Picture03.png": { + "image": "/assets/-1262057051_3796" + }, + "Picture01.png": { + "image": "/assets/-1901006310_3378" + }, + "Picture04.png": { + "image": "/assets/396403453_3564" + }, + "Picture05.png": { + "image": "/assets/126394475_3642" + }, + "Picture06.png": { + "image": "/assets/-2099534226_3856" + }, + "Picture07.png": { + "image": "/assets/943754758_3572" + }, + "Picture08.png": { + "image": "/assets/-172271381_3902" + }, + "Picture10.png": { + "image": "/assets/-197203168_3856" + }, + "Picture09.png": { + "image": "/assets/-1605499213_3880" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-default/2B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ] + }, + "qkqm": { + "type": "pile", + "parent": "holder5p", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "qkqm" + }, + "b3kd Picture02.png": { + "type": "card", + "id": "b3kd Picture02.png", + "deck": "4p", + "cardType": "Picture02.png", + "z": 33395, + "parent": "a6n9" + }, + "b3kd Picture03.png": { + "type": "card", + "id": "b3kd Picture03.png", + "deck": "4p", + "cardType": "Picture03.png", + "z": 33393, + "parent": "a6n9" + }, + "b3kd Picture04.png": { + "type": "card", + "id": "b3kd Picture04.png", + "deck": "4p", + "cardType": "Picture04.png", + "z": 33391, + "parent": "a6n9" + }, + "b3kd Picture01.png": { + "type": "card", + "id": "b3kd Picture01.png", + "deck": "4p", + "cardType": "Picture01.png", + "z": 33394, + "parent": "a6n9" + }, + "b3kd Picture06.png": { + "type": "card", + "id": "b3kd Picture06.png", + "deck": "4p", + "cardType": "Picture06.png", + "z": 33392, + "parent": "a6n9" + }, + "b3kd Picture05.png": { + "type": "card", + "id": "b3kd Picture05.png", + "deck": "4p", + "cardType": "Picture05.png", + "z": 33396, + "parent": "a6n9" + }, + "b3kd Picture07.png": { + "type": "card", + "id": "b3kd Picture07.png", + "deck": "4p", + "cardType": "Picture07.png", + "z": 33397, + "parent": "a6n9" + }, + "b3kd Picture08.png": { + "type": "card", + "id": "b3kd Picture08.png", + "deck": "4p", + "cardType": "Picture08.png", + "z": 33400, + "parent": "a6n9" + }, + "b3kd Picture10.png": { + "type": "card", + "id": "b3kd Picture10.png", + "deck": "4p", + "cardType": "Picture10.png", + "z": 33398, + "parent": "a6n9" + }, + "b3kd Picture09.png": { + "type": "card", + "id": "b3kd Picture09.png", + "deck": "4p", + "cardType": "Picture09.png", + "z": 33399, + "parent": "a6n9" + }, + "4p": { + "type": "deck", + "id": "4p", + "parent": "holder4p", + "x": 4, + "y": 4, + "z": 31250, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "Picture02.png": { + "image": "/assets/1127128173_3756" + }, + "Picture03.png": { + "image": "/assets/-1262057051_3796" + }, + "Picture04.png": { + "image": "/assets/396403453_3564" + }, + "Picture01.png": { + "image": "/assets/-1901006310_3378" + }, + "Picture06.png": { + "image": "/assets/-2099534226_3856" + }, + "Picture05.png": { + "image": "/assets/126394475_3642" + }, + "Picture07.png": { + "image": "/assets/943754758_3572" + }, + "Picture08.png": { + "image": "/assets/-172271381_3902" + }, + "Picture10.png": { + "image": "/assets/-197203168_3856" + }, + "Picture09.png": { + "image": "/assets/-1605499213_3880" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-default/2B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ] + }, + "ymjf Picture02.png 1": { + "type": "card", + "id": "ymjf Picture02.png 1", + "deck": "base", + "cardType": "Picture02.png", + "z": 33609, + "parent": "a8v1" + }, + "ymjf Picture02.png 2": { + "type": "card", + "id": "ymjf Picture02.png 2", + "deck": "base", + "cardType": "Picture02.png", + "z": 33611, + "parent": "a8v1" + }, + "ymjf Picture02.png 3": { + "type": "card", + "id": "ymjf Picture02.png 3", + "deck": "base", + "cardType": "Picture02.png", + "z": 33605, + "parent": "a8v1" + }, + "ymjf Picture01.png 1": { + "type": "card", + "id": "ymjf Picture01.png 1", + "deck": "base", + "cardType": "Picture01.png", + "z": 33618, + "parent": "a8v1" + }, + "ymjf Picture01.png 2": { + "type": "card", + "id": "ymjf Picture01.png 2", + "deck": "base", + "cardType": "Picture01.png", + "z": 33619, + "parent": "a8v1" + }, + "ymjf Picture01.png 3": { + "type": "card", + "id": "ymjf Picture01.png 3", + "deck": "base", + "cardType": "Picture01.png", + "z": 33625, + "parent": "a8v1" + }, + "ymjf Picture03.png 1": { + "type": "card", + "id": "ymjf Picture03.png 1", + "deck": "base", + "cardType": "Picture03.png", + "z": 33606, + "parent": "a8v1" + }, + "ymjf Picture03.png 2": { + "type": "card", + "id": "ymjf Picture03.png 2", + "deck": "base", + "cardType": "Picture03.png", + "z": 33610, + "parent": "a8v1" + }, + "ymjf Picture03.png 3": { + "type": "card", + "id": "ymjf Picture03.png 3", + "deck": "base", + "cardType": "Picture03.png", + "z": 33630, + "parent": "a8v1" + }, + "ymjf Picture04.png 1": { + "type": "card", + "id": "ymjf Picture04.png 1", + "deck": "base", + "cardType": "Picture04.png", + "z": 33627, + "parent": "a8v1" + }, + "ymjf Picture04.png 2": { + "type": "card", + "id": "ymjf Picture04.png 2", + "deck": "base", + "cardType": "Picture04.png", + "z": 33615, + "parent": "a8v1" + }, + "ymjf Picture04.png 3": { + "type": "card", + "id": "ymjf Picture04.png 3", + "deck": "base", + "cardType": "Picture04.png", + "z": 33607, + "parent": "a8v1" + }, + "ymjf Picture06.png 1": { + "type": "card", + "id": "ymjf Picture06.png 1", + "deck": "base", + "cardType": "Picture06.png", + "z": 33621, + "parent": "a8v1" + }, + "ymjf Picture06.png 2": { + "type": "card", + "id": "ymjf Picture06.png 2", + "deck": "base", + "cardType": "Picture06.png", + "z": 33613, + "parent": "a8v1" + }, + "ymjf Picture06.png 3": { + "type": "card", + "id": "ymjf Picture06.png 3", + "deck": "base", + "cardType": "Picture06.png", + "z": 33620, + "parent": "a8v1" + }, + "ymjf Picture05.png 1": { + "type": "card", + "id": "ymjf Picture05.png 1", + "deck": "base", + "cardType": "Picture05.png", + "z": 33632, + "parent": "a8v1" + }, + "ymjf Picture05.png 2": { + "type": "card", + "id": "ymjf Picture05.png 2", + "deck": "base", + "cardType": "Picture05.png", + "z": 33608, + "parent": "a8v1" + }, + "ymjf Picture05.png 3": { + "type": "card", + "id": "ymjf Picture05.png 3", + "deck": "base", + "cardType": "Picture05.png", + "z": 33617, + "parent": "a8v1" + }, + "ymjf Picture07.png 1": { + "type": "card", + "id": "ymjf Picture07.png 1", + "deck": "base", + "cardType": "Picture07.png", + "z": 33623, + "parent": "a8v1" + }, + "ymjf Picture07.png 2": { + "type": "card", + "id": "ymjf Picture07.png 2", + "deck": "base", + "cardType": "Picture07.png", + "z": 33629, + "parent": "a8v1" + }, + "ymjf Picture07.png 3": { + "type": "card", + "id": "ymjf Picture07.png 3", + "deck": "base", + "cardType": "Picture07.png", + "z": 33614, + "parent": "a8v1" + }, + "ymjf Picture09.png 1": { + "type": "card", + "id": "ymjf Picture09.png 1", + "deck": "base", + "cardType": "Picture09.png", + "z": 33616, + "parent": "a8v1" + }, + "ymjf Picture09.png 2": { + "type": "card", + "id": "ymjf Picture09.png 2", + "deck": "base", + "cardType": "Picture09.png", + "z": 33626, + "parent": "a8v1" + }, + "ymjf Picture09.png 3": { + "type": "card", + "id": "ymjf Picture09.png 3", + "deck": "base", + "cardType": "Picture09.png", + "z": 33603, + "parent": "a8v1" + }, + "ymjf Picture08.png 1": { + "type": "card", + "id": "ymjf Picture08.png 1", + "deck": "base", + "cardType": "Picture08.png", + "z": 33624, + "parent": "a8v1" + }, + "ymjf Picture08.png 2": { + "type": "card", + "id": "ymjf Picture08.png 2", + "deck": "base", + "cardType": "Picture08.png", + "z": 33628, + "parent": "a8v1" + }, + "ymjf Picture08.png 3": { + "type": "card", + "id": "ymjf Picture08.png 3", + "deck": "base", + "cardType": "Picture08.png", + "z": 33622, + "parent": "a8v1" + }, + "ymjf Picture10.png 1": { + "type": "card", + "id": "ymjf Picture10.png 1", + "deck": "base", + "cardType": "Picture10.png", + "z": 33631, + "parent": "a8v1" + }, + "ymjf Picture10.png 2": { + "type": "card", + "id": "ymjf Picture10.png 2", + "deck": "base", + "cardType": "Picture10.png", + "z": 33612, + "parent": "a8v1" + }, + "ymjf Picture10.png 3": { + "type": "card", + "id": "ymjf Picture10.png 3", + "deck": "base", + "cardType": "Picture10.png", + "z": 33604, + "parent": "a8v1" + }, + "base": { + "type": "deck", + "id": "base", + "parent": "baseHolder", + "x": 4, + "y": 4, + "z": 31284, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "Picture02.png": { + "image": "/assets/1127128173_3756" + }, + "Picture01.png": { + "image": "/assets/-1901006310_3378" + }, + "Picture03.png": { + "image": "/assets/-1262057051_3796" + }, + "Picture04.png": { + "image": "/assets/396403453_3564" + }, + "Picture06.png": { + "image": "/assets/-2099534226_3856" + }, + "Picture05.png": { + "image": "/assets/126394475_3642" + }, + "Picture07.png": { + "image": "/assets/943754758_3572" + }, + "Picture09.png": { + "image": "/assets/-1605499213_3880" + }, + "Picture08.png": { + "image": "/assets/-172271381_3902" + }, + "Picture10.png": { + "image": "/assets/-197203168_3856" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-default/2B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ] + }, + "rkpu +3.png 1": { + "type": "card", + "id": "rkpu +3.png 1", + "deck": "overlay", + "cardType": "+3.png", + "z": 33489, + "parent": "1oqf" + }, + "rkpu +3.png 2": { + "type": "card", + "id": "rkpu +3.png 2", + "deck": "overlay", + "cardType": "+3.png", + "z": 33481, + "parent": "1oqf" + }, + "rkpu +2.png 1": { + "type": "card", + "id": "rkpu +2.png 1", + "deck": "overlay", + "cardType": "+2.png", + "z": 33510, + "parent": "1oqf" + }, + "rkpu +2.png 2": { + "type": "card", + "id": "rkpu +2.png 2", + "deck": "overlay", + "cardType": "+2.png", + "z": 33498, + "parent": "1oqf" + }, + "rkpu +7.png": { + "type": "card", + "id": "rkpu +7.png", + "deck": "overlay", + "cardType": "+7.png", + "z": 33483, + "parent": "1oqf" + }, + "rkpu +1.png 1": { + "type": "card", + "id": "rkpu +1.png 1", + "deck": "overlay", + "cardType": "+1.png", + "z": 33547, + "parent": "1oqf" + }, + "rkpu +1.png 2": { + "type": "card", + "id": "rkpu +1.png 2", + "deck": "overlay", + "cardType": "+1.png", + "z": 33533, + "parent": "1oqf" + }, + "rkpu +4.png 1": { + "type": "card", + "id": "rkpu +4.png 1", + "deck": "overlay", + "cardType": "+4.png", + "z": 33522, + "parent": "1oqf" + }, + "rkpu +4.png 2": { + "type": "card", + "id": "rkpu +4.png 2", + "deck": "overlay", + "cardType": "+4.png", + "z": 33515, + "parent": "1oqf" + }, + "rkpu +6.png": { + "type": "card", + "id": "rkpu +6.png", + "deck": "overlay", + "cardType": "+6.png", + "z": 33536, + "parent": "1oqf" + }, + "rkpu +9.png": { + "type": "card", + "id": "rkpu +9.png", + "deck": "overlay", + "cardType": "+9.png", + "z": 33523, + "parent": "1oqf" + }, + "rkpu +8.png": { + "type": "card", + "id": "rkpu +8.png", + "deck": "overlay", + "cardType": "+8.png", + "z": 33548, + "parent": "1oqf" + }, + "rkpu -1.png 2": { + "type": "card", + "id": "rkpu -1.png 2", + "deck": "overlay", + "cardType": "-1.png", + "z": 33487, + "parent": "1oqf" + }, + "rkpu -1.png 3": { + "type": "card", + "id": "rkpu -1.png 3", + "deck": "overlay", + "cardType": "-1.png", + "z": 33499, + "parent": "1oqf" + }, + "rkpu -3.png": { + "type": "card", + "id": "rkpu -3.png", + "deck": "overlay", + "cardType": "-3.png", + "z": 33543, + "parent": "1oqf" + }, + "rkpu -4.png": { + "type": "card", + "id": "rkpu -4.png", + "deck": "overlay", + "cardType": "-4.png", + "z": 33514, + "parent": "1oqf" + }, + "rkpu a+1.png 1": { + "type": "card", + "id": "rkpu a+1.png 1", + "deck": "overlay", + "cardType": "a+1.png", + "z": 33482, + "parent": "1oqf" + }, + "rkpu a+1.png 2": { + "type": "card", + "id": "rkpu a+1.png 2", + "deck": "overlay", + "cardType": "a+1.png", + "z": 33491, + "parent": "1oqf" + }, + "rkpu a+2.png 1": { + "type": "card", + "id": "rkpu a+2.png 1", + "deck": "overlay", + "cardType": "a+2.png", + "z": 33500, + "parent": "1oqf" + }, + "rkpu a+2.png 2": { + "type": "card", + "id": "rkpu a+2.png 2", + "deck": "overlay", + "cardType": "a+2.png", + "z": 33525, + "parent": "1oqf" + }, + "rkpu a+3.png 1": { + "type": "card", + "id": "rkpu a+3.png 1", + "deck": "overlay", + "cardType": "a+3.png", + "z": 33496, + "parent": "1oqf" + }, + "rkpu a+3.png 2": { + "type": "card", + "id": "rkpu a+3.png 2", + "deck": "overlay", + "cardType": "a+3.png", + "z": 33542, + "parent": "1oqf" + }, + "rkpu a+4.png 1": { + "type": "card", + "id": "rkpu a+4.png 1", + "deck": "overlay", + "cardType": "a+4.png", + "z": 33507, + "parent": "1oqf" + }, + "rkpu a+4.png 2": { + "type": "card", + "id": "rkpu a+4.png 2", + "deck": "overlay", + "cardType": "a+4.png", + "z": 33505, + "parent": "1oqf" + }, + "rkpu a+5.png 1": { + "type": "card", + "id": "rkpu a+5.png 1", + "deck": "overlay", + "cardType": "a+5.png", + "z": 33478, + "parent": "1oqf" + }, + "rkpu a+5.png 2": { + "type": "card", + "id": "rkpu a+5.png 2", + "deck": "overlay", + "cardType": "a+5.png", + "z": 33524, + "parent": "1oqf" + }, + "rkpu a+7.png": { + "type": "card", + "id": "rkpu a+7.png", + "deck": "overlay", + "cardType": "a+7.png", + "z": 33488, + "parent": "1oqf" + }, + "rkpu a+8.png": { + "type": "card", + "id": "rkpu a+8.png", + "deck": "overlay", + "cardType": "a+8.png", + "z": 33497, + "parent": "1oqf" + }, + "rkpu a-1.png 1": { + "type": "card", + "id": "rkpu a-1.png 1", + "deck": "overlay", + "cardType": "a-1.png", + "z": 33512, + "parent": "1oqf" + }, + "rkpu a-1.png 2": { + "type": "card", + "id": "rkpu a-1.png 2", + "deck": "overlay", + "cardType": "a-1.png", + "z": 33495, + "parent": "1oqf" + }, + "rkpu a-2.png 1": { + "type": "card", + "id": "rkpu a-2.png 1", + "deck": "overlay", + "cardType": "a-2.png", + "z": 33479, + "parent": "1oqf" + }, + "rkpu a-2.png 2": { + "type": "card", + "id": "rkpu a-2.png 2", + "deck": "overlay", + "cardType": "a-2.png", + "z": 33501, + "parent": "1oqf" + }, + "rkpu a-2.png 3": { + "type": "card", + "id": "rkpu a-2.png 3", + "deck": "overlay", + "cardType": "a-2.png", + "z": 33484, + "parent": "1oqf" + }, + "rkpu power3.png 1": { + "type": "card", + "id": "rkpu power3.png 1", + "deck": "overlay", + "cardType": "power3.png", + "z": 33504, + "parent": "1oqf" + }, + "rkpu power3.png 2": { + "type": "card", + "id": "rkpu power3.png 2", + "deck": "overlay", + "cardType": "power3.png", + "z": 33530, + "parent": "1oqf" + }, + "rkpu power3.png 3": { + "type": "card", + "id": "rkpu power3.png 3", + "deck": "overlay", + "cardType": "power3.png", + "z": 33494, + "parent": "1oqf" + }, + "rkpu power3.png 4": { + "type": "card", + "id": "rkpu power3.png 4", + "deck": "overlay", + "cardType": "power3.png", + "z": 33519, + "parent": "1oqf" + }, + "rkpu power4.png 1": { + "type": "card", + "id": "rkpu power4.png 1", + "deck": "overlay", + "cardType": "power4.png", + "z": 33527, + "parent": "1oqf" + }, + "rkpu power4.png 2": { + "type": "card", + "id": "rkpu power4.png 2", + "deck": "overlay", + "cardType": "power4.png", + "z": 33521, + "parent": "1oqf" + }, + "rkpu power4.png 3": { + "type": "card", + "id": "rkpu power4.png 3", + "deck": "overlay", + "cardType": "power4.png", + "z": 33534, + "parent": "1oqf" + }, + "rkpu power4.png 4": { + "type": "card", + "id": "rkpu power4.png 4", + "deck": "overlay", + "cardType": "power4.png", + "z": 33529, + "parent": "1oqf" + }, + "rkpu power4.png 5": { + "type": "card", + "id": "rkpu power4.png 5", + "deck": "overlay", + "cardType": "power4.png", + "z": 33532, + "parent": "1oqf" + }, + "rkpu power5.png 1": { + "type": "card", + "id": "rkpu power5.png 1", + "deck": "overlay", + "cardType": "power5.png", + "z": 33508, + "parent": "1oqf" + }, + "rkpu power5.png 2": { + "type": "card", + "id": "rkpu power5.png 2", + "deck": "overlay", + "cardType": "power5.png", + "z": 33517, + "parent": "1oqf" + }, + "rkpu power5.png 3": { + "type": "card", + "id": "rkpu power5.png 3", + "deck": "overlay", + "cardType": "power5.png", + "z": 33544, + "parent": "1oqf" + }, + "rkpu power5.png 4": { + "type": "card", + "id": "rkpu power5.png 4", + "deck": "overlay", + "cardType": "power5.png", + "z": 33545, + "parent": "1oqf" + }, + "rkpu power5.png 5": { + "type": "card", + "id": "rkpu power5.png 5", + "deck": "overlay", + "cardType": "power5.png", + "z": 33531, + "parent": "1oqf" + }, + "rkpu power5.png 6": { + "type": "card", + "id": "rkpu power5.png 6", + "deck": "overlay", + "cardType": "power5.png", + "z": 33503, + "parent": "1oqf" + }, + "rkpu power5.png 7": { + "type": "card", + "id": "rkpu power5.png 7", + "deck": "overlay", + "cardType": "power5.png", + "z": 33540, + "parent": "1oqf" + }, + "rkpu power5.png 8": { + "type": "card", + "id": "rkpu power5.png 8", + "deck": "overlay", + "cardType": "power5.png", + "z": 33520, + "parent": "1oqf" + }, + "rkpu power6.png 1": { + "type": "card", + "id": "rkpu power6.png 1", + "deck": "overlay", + "cardType": "power6.png", + "z": 33493, + "parent": "1oqf" + }, + "rkpu power6.png 2": { + "type": "card", + "id": "rkpu power6.png 2", + "deck": "overlay", + "cardType": "power6.png", + "z": 33518, + "parent": "1oqf" + }, + "rkpu power6.png 3": { + "type": "card", + "id": "rkpu power6.png 3", + "deck": "overlay", + "cardType": "power6.png", + "z": 33546, + "parent": "1oqf" + }, + "rkpu power6.png 4": { + "type": "card", + "id": "rkpu power6.png 4", + "deck": "overlay", + "cardType": "power6.png", + "z": 33490, + "parent": "1oqf" + }, + "rkpu power6.png 5": { + "type": "card", + "id": "rkpu power6.png 5", + "deck": "overlay", + "cardType": "power6.png", + "z": 33511, + "parent": "1oqf" + }, + "rkpu power6.png 6": { + "type": "card", + "id": "rkpu power6.png 6", + "deck": "overlay", + "cardType": "power6.png", + "z": 33539, + "parent": "1oqf" + }, + "rkpu power6.png 7": { + "type": "card", + "id": "rkpu power6.png 7", + "deck": "overlay", + "cardType": "power6.png", + "z": 33535, + "parent": "1oqf" + }, + "rkpu power6.png 8": { + "type": "card", + "id": "rkpu power6.png 8", + "deck": "overlay", + "cardType": "power6.png", + "z": 33513, + "parent": "1oqf" + }, + "rkpu r5.png": { + "type": "card", + "id": "rkpu r5.png", + "deck": "overlay", + "cardType": "r5.png", + "z": 33509, + "parent": "1oqf" + }, + "rkpu r6.png": { + "type": "card", + "id": "rkpu r6.png", + "deck": "overlay", + "cardType": "r6.png", + "z": 33485, + "parent": "1oqf" + }, + "rkpu r7.png": { + "type": "card", + "id": "rkpu r7.png", + "deck": "overlay", + "cardType": "r7.png", + "z": 33477, + "parent": "1oqf" + }, + "rkpu r8.png 1": { + "type": "card", + "id": "rkpu r8.png 1", + "deck": "overlay", + "cardType": "r8.png", + "z": 33492, + "parent": "1oqf" + }, + "rkpu r8.png 2": { + "type": "card", + "id": "rkpu r8.png 2", + "deck": "overlay", + "cardType": "r8.png", + "z": 33541, + "parent": "1oqf" + }, + "rkpu r9.png 1": { + "type": "card", + "id": "rkpu r9.png 1", + "deck": "overlay", + "cardType": "r9.png", + "z": 33538, + "parent": "1oqf" + }, + "rkpu r9.png 2": { + "type": "card", + "id": "rkpu r9.png 2", + "deck": "overlay", + "cardType": "r9.png", + "z": 33537, + "parent": "1oqf" + }, + "rkpu r10.png 1": { + "type": "card", + "id": "rkpu r10.png 1", + "deck": "overlay", + "cardType": "r10.png", + "z": 33480, + "parent": "1oqf" + }, + "rkpu r10.png 2": { + "type": "card", + "id": "rkpu r10.png 2", + "deck": "overlay", + "cardType": "r10.png", + "z": 33486, + "parent": "1oqf" + }, + "rkpu r11.png 1": { + "type": "card", + "id": "rkpu r11.png 1", + "deck": "overlay", + "cardType": "r11.png", + "z": 33526, + "parent": "1oqf" + }, + "rkpu r11.png 2": { + "type": "card", + "id": "rkpu r11.png 2", + "deck": "overlay", + "cardType": "r11.png", + "z": 33549, + "parent": "1oqf" + }, + "rkpu r12.png 1": { + "type": "card", + "id": "rkpu r12.png 1", + "deck": "overlay", + "cardType": "r12.png", + "z": 33506, + "parent": "1oqf" + }, + "rkpu r12.png 2": { + "type": "card", + "id": "rkpu r12.png 2", + "deck": "overlay", + "cardType": "r12.png", + "z": 33528, + "parent": "1oqf" + }, + "rkpu r13.png": { + "type": "card", + "id": "rkpu r13.png", + "deck": "overlay", + "cardType": "r13.png", + "z": 33502, + "parent": "1oqf" + }, + "rkpu r14.png": { + "type": "card", + "id": "rkpu r14.png", + "deck": "overlay", + "cardType": "r14.png", + "z": 33516, + "parent": "1oqf" + }, + "overlay": { + "type": "deck", + "id": "overlay", + "x": 4, + "y": 4, + "z": 32169, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "+3.png": { + "image": "/assets/-1755525626_3654" + }, + "+2.png": { + "image": "/assets/-265594535_3616" + }, + "+7.png": { + "image": "/assets/-527686661_3486" + }, + "+1.png": { + "image": "/assets/-777391847_3374" + }, + "+4.png": { + "image": "/assets/1743029808_3482" + }, + "+6.png": { + "image": "/assets/-771936621_3696" + }, + "+9.png": { + "image": "/assets/-1440910883_3694" + }, + "+8.png": { + "image": "/assets/-81993917_3726" + }, + "-1.png": { + "image": "/assets/155520333_3362" + }, + "-3.png": { + "image": "/assets/353379491_3644" + }, + "-4.png": { + "image": "/assets/2093712591_3474" + }, + "a+1.png": { + "image": "/assets/-840476346_3384" + }, + "a+2.png": { + "image": "/assets/1601829989_3612" + }, + "a+3.png": { + "image": "/assets/-1052381827_3640" + }, + "a+4.png": { + "image": "/assets/1172412350_3496" + }, + "a+5.png": { + "image": "/assets/-764332961_3544" + }, + "a+7.png": { + "image": "/assets/-689761578_3484" + }, + "a+8.png": { + "image": "/assets/-1256036319_3708" + }, + "a-1.png": { + "image": "/assets/-530775508_3376" + }, + "a-2.png": { + "image": "/assets/-434840459_3604" + }, + "power3.png": { + "image": "/assets/409752096_13517" + }, + "power4.png": { + "image": "/assets/-1926915507_15015" + }, + "power5.png": { + "image": "/assets/-107050133_10522" + }, + "power6.png": { + "image": "/assets/936210691_15078" + }, + "r5.png": { + "image": "/assets/1413990882_3954" + }, + "r6.png": { + "image": "/assets/772967497_4158" + }, + "r7.png": { + "image": "/assets/-2068678353_3868" + }, + "r8.png": { + "image": "/assets/-782783609_4216" + }, + "r9.png": { + "image": "/assets/654295661_4166" + }, + "r10.png": { + "image": "/assets/-340460091_4150" + }, + "r11.png": { + "image": "/assets/-710166324_3792" + }, + "r12.png": { + "image": "/assets/-338533193_4174" + }, + "r13.png": { + "image": "/assets/-2085522384_4206" + }, + "r14.png": { + "image": "/assets/-889247058_3962" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-plastic/2B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ], + "parent": "overlayHolder" + }, + "1oqf": { + "type": "pile", + "parent": "overlayHolder", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "1oqf" + }, + "r0ox power2.png 1": { + "type": "card", + "id": "r0ox power2.png 1", + "deck": "pink", + "cardType": "power2.png", + "z": 33701, + "parent": "dlf0" + }, + "r0ox power2.png 2": { + "type": "card", + "id": "r0ox power2.png 2", + "deck": "pink", + "cardType": "power2.png", + "z": 33700, + "parent": "dlf0" + }, + "r0ox power2.png 3": { + "type": "card", + "id": "r0ox power2.png 3", + "deck": "pink", + "cardType": "power2.png", + "z": 33698, + "parent": "dlf0" + }, + "r0ox power2.png 4": { + "type": "card", + "id": "r0ox power2.png 4", + "deck": "pink", + "cardType": "power2.png", + "z": 33702, + "parent": "dlf0" + }, + "r0ox power2.png 5": { + "type": "card", + "id": "r0ox power2.png 5", + "deck": "pink", + "cardType": "power2.png", + "z": 33697, + "parent": "dlf0" + }, + "r0ox power2.png 6": { + "type": "card", + "id": "r0ox power2.png 6", + "deck": "pink", + "cardType": "power2.png", + "z": 33699, + "parent": "dlf0" + }, + "pink": { + "type": "deck", + "id": "pink", + "parent": "pinkHolder", + "x": 4, + "y": 4, + "z": 32393, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "power2.png": { + "image": "/assets/1787638140_12487" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-default/3B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ] + }, + "njv7 power1.png 1": { + "type": "card", + "id": "njv7 power1.png 1", + "deck": "green", + "cardType": "power1.png", + "z": 33683, + "parent": "u4o0" + }, + "njv7 power1.png 2": { + "type": "card", + "id": "njv7 power1.png 2", + "deck": "green", + "cardType": "power1.png", + "z": 33686, + "parent": "u4o0" + }, + "njv7 power1.png 3": { + "type": "card", + "id": "njv7 power1.png 3", + "deck": "green", + "cardType": "power1.png", + "z": 33687, + "parent": "u4o0" + }, + "njv7 power1.png 4": { + "type": "card", + "id": "njv7 power1.png 4", + "deck": "green", + "cardType": "power1.png", + "z": 33684, + "parent": "u4o0" + }, + "njv7 power1.png 5": { + "type": "card", + "id": "njv7 power1.png 5", + "deck": "green", + "cardType": "power1.png", + "z": 33685, + "parent": "u4o0" + }, + "njv7 power1.png 6": { + "type": "card", + "id": "njv7 power1.png 6", + "deck": "green", + "cardType": "power1.png", + "z": 33682, + "parent": "u4o0" + }, + "green": { + "type": "deck", + "id": "green", + "parent": "greenHolder", + "x": 4, + "y": 4, + "z": 32398, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "power1.png": { + "image": "/assets/-82755797_16281" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "color": "transparent", + "value": "/i/cards-plastic/1B.svg", + "dynamicProperties": { + "height": "height", + "width": "width" + } + } + ] + }, + { + "objects": [ + { + "type": "image", + "color": "transparent", + "dynamicProperties": { + "value": "image", + "height": "height", + "width": "width" + } + } + ] + } + ] + }, + "u4o0": { + "type": "pile", + "parent": "greenHolder", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "u4o0" + }, + "a6n9": { + "type": "pile", + "parent": "holder4p", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "a6n9" + }, + "dlf0": { + "type": "pile", + "parent": "pinkHolder", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "dlf0" + }, + "clone": { + "type": "deck", + "id": "clone", + "x": 1206, + "y": 20, + "z": 19568, + "cardDefaults": { + "width": 114, + "height": 160, + "borderRadius": 21, + "enlarge": 3 + }, + "cardTypes": { + "dummy": {} + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "x": 0, + "y": 0, + "width": 114, + "height": 160, + "color": "transparent", + "dynamicProperties": { + "value": "image0" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "width": 114, + "height": 160, + "color": "transparent", + "dynamicProperties": { + "value": "image1" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "width": 114, + "height": 160, + "color": "transparent", + "dynamicProperties": { + "value": "image2" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "width": 114, + "height": 160, + "color": "transparent", + "dynamicProperties": { + "value": "image3" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "width": 114, + "height": 160, + "color": "transparent", + "dynamicProperties": { + "value": "image4" + } + } + ] + } + ] + }, + "nrtb": { + "type": "label", + "text": "Combiner", + "x": 1040, + "y": 782, + "z": 7, + "id": "nrtb", + "width": 122 + }, + "a8v1": { + "type": "pile", + "parent": "baseHolder", + "x": 4, + "y": 4, + "width": 114, + "height": 160, + "id": "a8v1" + } +} \ No newline at end of file diff --git a/library/games/Card Constructor/assets/-1052381827_3640 b/library/games/Card Constructor/assets/-1052381827_3640 new file mode 100644 index 0000000000..2be3706e32 Binary files /dev/null and b/library/games/Card Constructor/assets/-1052381827_3640 differ diff --git a/library/games/Card Constructor/assets/-107050133_10522 b/library/games/Card Constructor/assets/-107050133_10522 new file mode 100644 index 0000000000..7216056317 Binary files /dev/null and b/library/games/Card Constructor/assets/-107050133_10522 differ diff --git a/library/games/Card Constructor/assets/-1182264925_10394 b/library/games/Card Constructor/assets/-1182264925_10394 new file mode 100644 index 0000000000..747063df75 Binary files /dev/null and b/library/games/Card Constructor/assets/-1182264925_10394 differ diff --git a/library/games/Card Constructor/assets/-1256036319_3708 b/library/games/Card Constructor/assets/-1256036319_3708 new file mode 100644 index 0000000000..7b1d907623 Binary files /dev/null and b/library/games/Card Constructor/assets/-1256036319_3708 differ diff --git a/library/games/Card Constructor/assets/-1262057051_3796 b/library/games/Card Constructor/assets/-1262057051_3796 new file mode 100644 index 0000000000..b897199b3b Binary files /dev/null and b/library/games/Card Constructor/assets/-1262057051_3796 differ diff --git a/library/games/Card Constructor/assets/-1440910883_3694 b/library/games/Card Constructor/assets/-1440910883_3694 new file mode 100644 index 0000000000..2f9253dadb Binary files /dev/null and b/library/games/Card Constructor/assets/-1440910883_3694 differ diff --git a/library/games/Card Constructor/assets/-1605499213_3880 b/library/games/Card Constructor/assets/-1605499213_3880 new file mode 100644 index 0000000000..47575c00f4 Binary files /dev/null and b/library/games/Card Constructor/assets/-1605499213_3880 differ diff --git a/library/games/Card Constructor/assets/-172271381_3902 b/library/games/Card Constructor/assets/-172271381_3902 new file mode 100644 index 0000000000..b28a918c95 Binary files /dev/null and b/library/games/Card Constructor/assets/-172271381_3902 differ diff --git a/library/games/Card Constructor/assets/-1755525626_3654 b/library/games/Card Constructor/assets/-1755525626_3654 new file mode 100644 index 0000000000..56e22cbef7 Binary files /dev/null and b/library/games/Card Constructor/assets/-1755525626_3654 differ diff --git a/library/games/Card Constructor/assets/-1901006310_3378 b/library/games/Card Constructor/assets/-1901006310_3378 new file mode 100644 index 0000000000..bb41b3b40d Binary files /dev/null and b/library/games/Card Constructor/assets/-1901006310_3378 differ diff --git a/library/games/Card Constructor/assets/-1926915507_15015 b/library/games/Card Constructor/assets/-1926915507_15015 new file mode 100644 index 0000000000..2520051d45 Binary files /dev/null and b/library/games/Card Constructor/assets/-1926915507_15015 differ diff --git a/library/games/Card Constructor/assets/-197203168_3856 b/library/games/Card Constructor/assets/-197203168_3856 new file mode 100644 index 0000000000..6a0fdb1c4a Binary files /dev/null and b/library/games/Card Constructor/assets/-197203168_3856 differ diff --git a/library/games/Card Constructor/assets/-2068678353_3868 b/library/games/Card Constructor/assets/-2068678353_3868 new file mode 100644 index 0000000000..dc4d300315 Binary files /dev/null and b/library/games/Card Constructor/assets/-2068678353_3868 differ diff --git a/library/games/Card Constructor/assets/-2085522384_4206 b/library/games/Card Constructor/assets/-2085522384_4206 new file mode 100644 index 0000000000..673e856551 Binary files /dev/null and b/library/games/Card Constructor/assets/-2085522384_4206 differ diff --git a/library/games/Card Constructor/assets/-2099534226_3856 b/library/games/Card Constructor/assets/-2099534226_3856 new file mode 100644 index 0000000000..5b45d58952 Binary files /dev/null and b/library/games/Card Constructor/assets/-2099534226_3856 differ diff --git a/library/games/Card Constructor/assets/-265594535_3616 b/library/games/Card Constructor/assets/-265594535_3616 new file mode 100644 index 0000000000..d43482fc78 Binary files /dev/null and b/library/games/Card Constructor/assets/-265594535_3616 differ diff --git a/library/games/Card Constructor/assets/-338533193_4174 b/library/games/Card Constructor/assets/-338533193_4174 new file mode 100644 index 0000000000..3b142d5b58 Binary files /dev/null and b/library/games/Card Constructor/assets/-338533193_4174 differ diff --git a/library/games/Card Constructor/assets/-340460091_4150 b/library/games/Card Constructor/assets/-340460091_4150 new file mode 100644 index 0000000000..7cbc632290 Binary files /dev/null and b/library/games/Card Constructor/assets/-340460091_4150 differ diff --git a/library/games/Card Constructor/assets/-434840459_3604 b/library/games/Card Constructor/assets/-434840459_3604 new file mode 100644 index 0000000000..a352aa91a0 Binary files /dev/null and b/library/games/Card Constructor/assets/-434840459_3604 differ diff --git a/library/games/Card Constructor/assets/-527686661_3486 b/library/games/Card Constructor/assets/-527686661_3486 new file mode 100644 index 0000000000..29aed0debf Binary files /dev/null and b/library/games/Card Constructor/assets/-527686661_3486 differ diff --git a/library/games/Card Constructor/assets/-530775508_3376 b/library/games/Card Constructor/assets/-530775508_3376 new file mode 100644 index 0000000000..adc9f8b294 Binary files /dev/null and b/library/games/Card Constructor/assets/-530775508_3376 differ diff --git a/library/games/Card Constructor/assets/-689761578_3484 b/library/games/Card Constructor/assets/-689761578_3484 new file mode 100644 index 0000000000..c1c933986d Binary files /dev/null and b/library/games/Card Constructor/assets/-689761578_3484 differ diff --git a/library/games/Card Constructor/assets/-710166324_3792 b/library/games/Card Constructor/assets/-710166324_3792 new file mode 100644 index 0000000000..604ee5f1f8 Binary files /dev/null and b/library/games/Card Constructor/assets/-710166324_3792 differ diff --git a/library/games/Card Constructor/assets/-764332961_3544 b/library/games/Card Constructor/assets/-764332961_3544 new file mode 100644 index 0000000000..b9694352df Binary files /dev/null and b/library/games/Card Constructor/assets/-764332961_3544 differ diff --git a/library/games/Card Constructor/assets/-771936621_3696 b/library/games/Card Constructor/assets/-771936621_3696 new file mode 100644 index 0000000000..6283cee861 Binary files /dev/null and b/library/games/Card Constructor/assets/-771936621_3696 differ diff --git a/library/games/Card Constructor/assets/-777391847_3374 b/library/games/Card Constructor/assets/-777391847_3374 new file mode 100644 index 0000000000..61e10af872 Binary files /dev/null and b/library/games/Card Constructor/assets/-777391847_3374 differ diff --git a/library/games/Card Constructor/assets/-782783609_4216 b/library/games/Card Constructor/assets/-782783609_4216 new file mode 100644 index 0000000000..92115f86d7 Binary files /dev/null and b/library/games/Card Constructor/assets/-782783609_4216 differ diff --git a/library/games/Card Constructor/assets/-81993917_3726 b/library/games/Card Constructor/assets/-81993917_3726 new file mode 100644 index 0000000000..213330c577 Binary files /dev/null and b/library/games/Card Constructor/assets/-81993917_3726 differ diff --git a/library/games/Card Constructor/assets/-82755797_16281 b/library/games/Card Constructor/assets/-82755797_16281 new file mode 100644 index 0000000000..19d5b95b4c Binary files /dev/null and b/library/games/Card Constructor/assets/-82755797_16281 differ diff --git a/library/games/Card Constructor/assets/-840476346_3384 b/library/games/Card Constructor/assets/-840476346_3384 new file mode 100644 index 0000000000..67f028f8fe Binary files /dev/null and b/library/games/Card Constructor/assets/-840476346_3384 differ diff --git a/library/games/Card Constructor/assets/-889247058_3962 b/library/games/Card Constructor/assets/-889247058_3962 new file mode 100644 index 0000000000..64ea2f8740 Binary files /dev/null and b/library/games/Card Constructor/assets/-889247058_3962 differ diff --git a/library/games/Card Constructor/assets/1127128173_3756 b/library/games/Card Constructor/assets/1127128173_3756 new file mode 100644 index 0000000000..6b6b8cde94 Binary files /dev/null and b/library/games/Card Constructor/assets/1127128173_3756 differ diff --git a/library/games/Card Constructor/assets/1172412350_3496 b/library/games/Card Constructor/assets/1172412350_3496 new file mode 100644 index 0000000000..08ea44fb21 Binary files /dev/null and b/library/games/Card Constructor/assets/1172412350_3496 differ diff --git a/library/games/Card Constructor/assets/126394475_3642 b/library/games/Card Constructor/assets/126394475_3642 new file mode 100644 index 0000000000..1f5fca677b Binary files /dev/null and b/library/games/Card Constructor/assets/126394475_3642 differ diff --git a/library/games/Card Constructor/assets/1316810046_8400 b/library/games/Card Constructor/assets/1316810046_8400 new file mode 100644 index 0000000000..41da70c83b Binary files /dev/null and b/library/games/Card Constructor/assets/1316810046_8400 differ diff --git a/library/games/Card Constructor/assets/1413990882_3954 b/library/games/Card Constructor/assets/1413990882_3954 new file mode 100644 index 0000000000..5b279149b1 Binary files /dev/null and b/library/games/Card Constructor/assets/1413990882_3954 differ diff --git a/library/games/Card Constructor/assets/155520333_3362 b/library/games/Card Constructor/assets/155520333_3362 new file mode 100644 index 0000000000..81e3169cc3 Binary files /dev/null and b/library/games/Card Constructor/assets/155520333_3362 differ diff --git a/library/games/Card Constructor/assets/1601829989_3612 b/library/games/Card Constructor/assets/1601829989_3612 new file mode 100644 index 0000000000..2364854b98 Binary files /dev/null and b/library/games/Card Constructor/assets/1601829989_3612 differ diff --git a/library/games/Card Constructor/assets/1743029808_3482 b/library/games/Card Constructor/assets/1743029808_3482 new file mode 100644 index 0000000000..8e36dd220c Binary files /dev/null and b/library/games/Card Constructor/assets/1743029808_3482 differ diff --git a/library/games/Card Constructor/assets/1757111183_1666161 b/library/games/Card Constructor/assets/1757111183_1666161 new file mode 100644 index 0000000000..6b209127ea Binary files /dev/null and b/library/games/Card Constructor/assets/1757111183_1666161 differ diff --git a/library/games/Card Constructor/assets/1787638140_12487 b/library/games/Card Constructor/assets/1787638140_12487 new file mode 100644 index 0000000000..75a347f027 Binary files /dev/null and b/library/games/Card Constructor/assets/1787638140_12487 differ diff --git a/library/games/Card Constructor/assets/1935281935_10136 b/library/games/Card Constructor/assets/1935281935_10136 new file mode 100644 index 0000000000..8aa67bb4e5 Binary files /dev/null and b/library/games/Card Constructor/assets/1935281935_10136 differ diff --git a/library/games/Card Constructor/assets/2001965392_9340 b/library/games/Card Constructor/assets/2001965392_9340 new file mode 100644 index 0000000000..09e714fc2d Binary files /dev/null and b/library/games/Card Constructor/assets/2001965392_9340 differ diff --git a/library/games/Card Constructor/assets/2093712591_3474 b/library/games/Card Constructor/assets/2093712591_3474 new file mode 100644 index 0000000000..a373b298a3 Binary files /dev/null and b/library/games/Card Constructor/assets/2093712591_3474 differ diff --git a/library/games/Card Constructor/assets/353379491_3644 b/library/games/Card Constructor/assets/353379491_3644 new file mode 100644 index 0000000000..6c4b04012c Binary files /dev/null and b/library/games/Card Constructor/assets/353379491_3644 differ diff --git a/library/games/Card Constructor/assets/396403453_3564 b/library/games/Card Constructor/assets/396403453_3564 new file mode 100644 index 0000000000..cdf98a3efb Binary files /dev/null and b/library/games/Card Constructor/assets/396403453_3564 differ diff --git a/library/games/Card Constructor/assets/409752096_13517 b/library/games/Card Constructor/assets/409752096_13517 new file mode 100644 index 0000000000..f71afc6773 Binary files /dev/null and b/library/games/Card Constructor/assets/409752096_13517 differ diff --git a/library/games/Card Constructor/assets/654295661_4166 b/library/games/Card Constructor/assets/654295661_4166 new file mode 100644 index 0000000000..14a7047fb8 Binary files /dev/null and b/library/games/Card Constructor/assets/654295661_4166 differ diff --git a/library/games/Card Constructor/assets/772967497_4158 b/library/games/Card Constructor/assets/772967497_4158 new file mode 100644 index 0000000000..207baf04da Binary files /dev/null and b/library/games/Card Constructor/assets/772967497_4158 differ diff --git a/library/games/Card Constructor/assets/936210691_15078 b/library/games/Card Constructor/assets/936210691_15078 new file mode 100644 index 0000000000..8912980323 Binary files /dev/null and b/library/games/Card Constructor/assets/936210691_15078 differ diff --git a/library/games/Card Constructor/assets/943754758_3572 b/library/games/Card Constructor/assets/943754758_3572 new file mode 100644 index 0000000000..7537776c59 Binary files /dev/null and b/library/games/Card Constructor/assets/943754758_3572 differ diff --git a/library/games/Everything Must Go_/0.json b/library/games/Everything Must Go_/0.json index db57eaac29..a2ec81a4d6 100644 --- a/library/games/Everything Must Go_/0.json +++ b/library/games/Everything Must Go_/0.json @@ -2695,8 +2695,8 @@ "year": "2020", "mode": "vs", "time": "20", - "attribution": "
Room layout and design maddie. Released to the Public Domain under CC0.

Cover image by Basher Eyre (CC BY-SA 2.0). Available at: https://commons.wikimedia.org/w/index.php?curid=13795463", - "lastUpdate": 1737225443269, + "attribution": "
Room layout and design by maddie. Released to the Public Domain under CC0.

Cover image by Basher Eyre (CC BY-SA 2.0). Available at: https://commons.wikimedia.org/w/index.php?curid=13795463", + "lastUpdate": 1737353634640, "showName": true, "skill": "", "description": "It's Black Friday and the meeples are on a shopping spree! As a salesperson of the store, direct the customers towards the right products to maximize your commissions.", @@ -2704,8 +2704,8 @@ "similarName": "Bites", "similarDesigner": "Wolfgang Ditt, Brigitte Ditt", "similarAwards": "2020 Golden Geek Light Game of the Year Nominee", - "ruleText": "", - "helpText": "This module adapts only the base setup of Bites.", + "ruleText": "This module adapts only the base setup of Bites.

The following are alternative rules that can be used with this module:

Meeple Allocation:

1. Meeples are allocated to the checkouts from highest position to lowest.
2. Meeples are allocated from lowest position to highest.
3. Meeples are allocated in this order: 4, 2, 0, 3, 1.

Coupon Ability:

1. Before or after your turn, choose a player to give you one product of their choice (make sure there are no coupons in the first 1/4 of the trail before playing).
2. When moving a meeple, skip the first product that matches their color.
3. Replacing normal turn, move a meeple one space forward (ignoring color), then take the products both in front and behind it.
4. Before or after turn, move a meeple at the checkout to an adjacent empty position at the checkout. Each meeple can only be moved once total.
5. Take a second turn, moving a meeple backward rather than forward. Take a product like usual.
6. Replacing your turn, move a meeple back to the start of the trail, then take two moves with it.
7. Before your turn, pick up the three items at the very beginning of the trail. Choose one to keep, and place the other two at the end of the trail.

Wine Scoring:

1. Each wine is worth one point for each of the product you have the most of.
2. Each wine is worth one point for each product you have that is worth 1 or 0 points.
3. Each wine is worth one point for each wine you have total.
4. 0 Wine = -3 Points,  1 = 2P,  2 = 3P,  3 = 12P,  4 = 12P,  5 = 12P
5. 0 Wine = 0 Points,  1 = 5P,  2 = 8P,  3 = 9P,  4 = 8P,  5 = 5P
6. If you end the game with exactly 1 wine, gain 7 points, otherwise gain 0 points.
", + "helpText": "", "variantImage": "", "variant": "", "language": "en-US",