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 4e8b5221da..a2ec81a4d6 100644 --- a/library/games/Everything Must Go_/0.json +++ b/library/games/Everything Must Go_/0.json @@ -59,33 +59,6 @@ "editable": true, "z": 20 }, - "_meta": { - "version": 17, - "info": { - "name": "Everything Must Go!", - "image": "/assets/-2049741076_35361", - "rules": "https://cdn.shopify.com/s/files/1/0143/6178/8473/files/Bites_Rulebook_190807.pdf?v=1645044345", - "bgg": "https://boardgamegeek.com/boardgame/277927/bites", - "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": 1736903343165, - "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.", - "similarImage": "", - "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.", - "variantImage": "", - "variant": "", - "language": "en-US", - "players": "2-5" - } - }, "h1": { "type": "holder", "id": "h1", @@ -994,8 +967,8 @@ "type": "card", "cardType": "fridge", "id": "agjk", - "z": 11762, - "parent": "h24", + "z": 12857, + "parent": "h4", "x": -20, "y": -20 }, @@ -1004,8 +977,8 @@ "type": "card", "cardType": "fridge", "id": "sj9j", - "z": 11767, - "parent": "h29", + "z": 12888, + "parent": "h35", "x": -20, "y": -20 }, @@ -1014,8 +987,8 @@ "type": "card", "cardType": "fridge", "id": "n0i7", - "z": 11777, - "parent": "h39", + "z": 12882, + "parent": "h29", "x": -20, "y": -20 }, @@ -1024,8 +997,8 @@ "type": "card", "cardType": "fridge", "id": "sncz", - "z": 11768, - "parent": "h30", + "z": 12877, + "parent": "h24", "x": -20, "y": -20 }, @@ -1034,8 +1007,8 @@ "type": "card", "cardType": "fridge", "id": "a2ix", - "z": 11769, - "parent": "h31", + "z": 12864, + "parent": "h11", "x": -20, "y": -20 }, @@ -1044,8 +1017,8 @@ "type": "card", "cardType": "fridge", "id": "3pgd", - "z": 11789, - "parent": "h51", + "z": 12866, + "parent": "h13", "x": -20, "y": -20 }, @@ -1054,8 +1027,8 @@ "type": "card", "cardType": "fridge", "id": "fizq", - "z": 11745, - "parent": "h7", + "z": 12881, + "parent": "h28", "x": -20, "y": -20 }, @@ -1064,8 +1037,8 @@ "type": "card", "cardType": "fridge", "id": "6hxe", - "z": 11744, - "parent": "h6", + "z": 12891, + "parent": "h38", "x": -20, "y": -20 }, @@ -1074,8 +1047,8 @@ "type": "card", "cardType": "fridge", "id": "azze", - "z": 11787, - "parent": "h49", + "z": 12875, + "parent": "h22", "x": -20, "y": -20 }, @@ -1084,8 +1057,8 @@ "type": "card", "cardType": "necklace", "id": "rxqp", - "z": 11770, - "parent": "h32", + "z": 12884, + "parent": "h31", "x": -20, "y": -20 }, @@ -1094,8 +1067,8 @@ "type": "card", "cardType": "necklace", "id": "xwfo", - "z": 11753, - "parent": "h15", + "z": 12871, + "parent": "h18", "x": -20, "y": -20 }, @@ -1104,8 +1077,8 @@ "type": "card", "cardType": "necklace", "id": "52n8", - "z": 11775, - "parent": "h37", + "z": 12870, + "parent": "h17", "x": -20, "y": -20 }, @@ -1114,8 +1087,8 @@ "type": "card", "cardType": "necklace", "id": "dl56", - "z": 11790, - "parent": "h52", + "z": 12878, + "parent": "h25", "x": -20, "y": -20 }, @@ -1124,8 +1097,8 @@ "type": "card", "cardType": "necklace", "id": "z0m9", - "z": 11759, - "parent": "h21", + "z": 12897, + "parent": "h44", "x": -20, "y": -20 }, @@ -1134,8 +1107,8 @@ "type": "card", "cardType": "necklace", "id": "o309", - "z": 11743, - "parent": "h5", + "z": 12902, + "parent": "h49", "x": -20, "y": -20 }, @@ -1144,8 +1117,8 @@ "type": "card", "cardType": "necklace", "id": "vj5r", - "z": 11778, - "parent": "h40", + "z": 12869, + "parent": "h16", "x": -20, "y": -20 }, @@ -1154,8 +1127,8 @@ "type": "card", "cardType": "necklace", "id": "xs00", - "z": 11739, - "parent": "h1", + "z": 12892, + "parent": "h39", "x": -20, "y": -20 }, @@ -1164,8 +1137,8 @@ "type": "card", "cardType": "necklace", "id": "0zph", - "z": 11764, - "parent": "h26", + "z": 12907, + "parent": "h54", "x": -20, "y": -20 }, @@ -1174,7 +1147,7 @@ "type": "card", "cardType": "xbox", "id": "o9no", - "z": 11748, + "z": 12863, "parent": "h10", "x": -20, "y": -20 @@ -1184,8 +1157,8 @@ "type": "card", "cardType": "xbox", "id": "zv9j", - "z": 11792, - "parent": "h54", + "z": 12887, + "parent": "h34", "x": -20, "y": -20 }, @@ -1194,8 +1167,8 @@ "type": "card", "cardType": "xbox", "id": "qdx1", - "z": 11776, - "parent": "h38", + "z": 12868, + "parent": "h15", "x": -20, "y": -20 }, @@ -1204,8 +1177,8 @@ "type": "card", "cardType": "xbox", "id": "tt4h", - "z": 11772, - "parent": "h34", + "z": 12903, + "parent": "h50", "x": -20, "y": -20 }, @@ -1214,8 +1187,8 @@ "type": "card", "cardType": "xbox", "id": "zkdm", - "z": 11780, - "parent": "h42", + "z": 12867, + "parent": "h14", "x": -20, "y": -20 }, @@ -1224,8 +1197,8 @@ "type": "card", "cardType": "xbox", "id": "mkds", - "z": 11757, - "parent": "h19", + "z": 12879, + "parent": "h26", "x": -20, "y": -20 }, @@ -1234,8 +1207,8 @@ "type": "card", "cardType": "xbox", "id": "7hr7", - "z": 11746, - "parent": "h8", + "z": 12890, + "parent": "h37", "x": -20, "y": -20 }, @@ -1244,8 +1217,8 @@ "type": "card", "cardType": "xbox", "id": "easv", - "z": 11774, - "parent": "h36", + "z": 12885, + "parent": "h32", "x": -20, "y": -20 }, @@ -1254,8 +1227,8 @@ "type": "card", "cardType": "xbox", "id": "t8tb", - "z": 11750, - "parent": "h12", + "z": 12876, + "parent": "h23", "x": -20, "y": -20 }, @@ -1264,8 +1237,8 @@ "type": "card", "cardType": "shoes", "id": "7suz", - "z": 11765, - "parent": "h27", + "z": 12860, + "parent": "h7", "x": -20, "y": -20 }, @@ -1274,8 +1247,8 @@ "type": "card", "cardType": "shoes", "id": "rm7k", - "z": 11747, - "parent": "h9", + "z": 12896, + "parent": "h43", "x": -20, "y": -20 }, @@ -1284,8 +1257,8 @@ "type": "card", "cardType": "shoes", "id": "j1ua", - "z": 11761, - "parent": "h23", + "z": 12901, + "parent": "h48", "x": -20, "y": -20 }, @@ -1294,8 +1267,8 @@ "type": "card", "cardType": "shoes", "id": "p7u1", - "z": 11749, - "parent": "h11", + "z": 12854, + "parent": "h1", "x": -20, "y": -20 }, @@ -1304,8 +1277,8 @@ "type": "card", "cardType": "shoes", "id": "s3kf", - "z": 11786, - "parent": "h48", + "z": 12861, + "parent": "h8", "x": -20, "y": -20 }, @@ -1314,8 +1287,8 @@ "type": "card", "cardType": "shoes", "id": "744a", - "z": 11760, - "parent": "h22", + "z": 12865, + "parent": "h12", "x": -20, "y": -20 }, @@ -1324,8 +1297,8 @@ "type": "card", "cardType": "shoes", "id": "m8wg", - "z": 11779, - "parent": "h41", + "z": 12906, + "parent": "h53", "x": -20, "y": -20 }, @@ -1334,8 +1307,8 @@ "type": "card", "cardType": "shoes", "id": "cy2j", - "z": 11793, - "parent": "h55", + "z": 12856, + "parent": "h3", "x": -20, "y": -20 }, @@ -1344,8 +1317,8 @@ "type": "card", "cardType": "shoes", "id": "5hul", - "z": 11741, - "parent": "h3", + "z": 12886, + "parent": "h33", "x": -20, "y": -20 }, @@ -1354,8 +1327,8 @@ "type": "card", "cardType": "coupon", "id": "ie4d", - "z": 11740, - "parent": "h2", + "z": 12895, + "parent": "h42", "x": -20, "y": -20 }, @@ -1364,8 +1337,8 @@ "type": "card", "cardType": "coupon", "id": "a537", - "z": 11763, - "parent": "h25", + "z": 12894, + "parent": "h41", "x": -20, "y": -20 }, @@ -1374,8 +1347,8 @@ "type": "card", "cardType": "coupon", "id": "1qzh", - "z": 11785, - "parent": "h47", + "z": 12859, + "parent": "h6", "x": -20, "y": -20 }, @@ -1384,8 +1357,8 @@ "type": "card", "cardType": "coupon", "id": "b0jx", - "z": 11771, - "parent": "h33", + "z": 12855, + "parent": "h2", "x": -20, "y": -20 }, @@ -1394,8 +1367,8 @@ "type": "card", "cardType": "coupon", "id": "3ui7", - "z": 11781, - "parent": "h43", + "z": 12873, + "parent": "h20", "x": -20, "y": -20 }, @@ -1404,8 +1377,8 @@ "type": "card", "cardType": "wine", "id": "airb", - "z": 11751, - "parent": "h13", + "z": 12874, + "parent": "h21", "x": -20, "y": -20 }, @@ -1414,8 +1387,8 @@ "type": "card", "cardType": "wine", "id": "dtun", - "z": 11784, - "parent": "h46", + "z": 12880, + "parent": "h27", "x": -20, "y": -20 }, @@ -1424,8 +1397,8 @@ "type": "card", "cardType": "wine", "id": "73yi", - "z": 11742, - "parent": "h4", + "z": 12883, + "parent": "h30", "x": -20, "y": -20 }, @@ -1434,8 +1407,8 @@ "type": "card", "cardType": "wine", "id": "tuya", - "z": 11754, - "parent": "h16", + "z": 12900, + "parent": "h47", "x": -20, "y": -20 }, @@ -1444,8 +1417,8 @@ "type": "card", "cardType": "wine", "id": "v03f", - "z": 11791, - "parent": "h53", + "z": 12872, + "parent": "h19", "x": -20, "y": -20 }, @@ -1454,8 +1427,8 @@ "type": "card", "cardType": "tv", "id": "aks6", - "z": 11752, - "parent": "h14", + "z": 12905, + "parent": "h52", "x": -20, "y": -20 }, @@ -1464,8 +1437,8 @@ "type": "card", "cardType": "tv", "id": "k28o", - "z": 11783, - "parent": "h45", + "z": 12908, + "parent": "h55", "x": -20, "y": -20 }, @@ -1474,8 +1447,8 @@ "type": "card", "cardType": "tv", "id": "fi6s", - "z": 11773, - "parent": "h35", + "z": 12898, + "parent": "h45", "x": -20, "y": -20 }, @@ -1484,8 +1457,8 @@ "type": "card", "cardType": "tv", "id": "9g9z", - "z": 11755, - "parent": "h17", + "z": 12889, + "parent": "h36", "x": -20, "y": -20 }, @@ -1494,8 +1467,8 @@ "type": "card", "cardType": "tv", "id": "be4r", - "z": 11766, - "parent": "h28", + "z": 12899, + "parent": "h46", "x": -20, "y": -20 }, @@ -1504,8 +1477,8 @@ "type": "card", "cardType": "tv", "id": "u1ru", - "z": 11788, - "parent": "h50", + "z": 12904, + "parent": "h51", "x": -20, "y": -20 }, @@ -1514,8 +1487,8 @@ "type": "card", "cardType": "tv", "id": "udri", - "z": 11756, - "parent": "h18", + "z": 12862, + "parent": "h9", "x": -20, "y": -20 }, @@ -1524,8 +1497,8 @@ "type": "card", "cardType": "tv", "id": "4d7h", - "z": 11782, - "parent": "h44", + "z": 12893, + "parent": "h40", "x": -20, "y": -20 }, @@ -1534,8 +1507,8 @@ "type": "card", "cardType": "tv", "id": "vlqu", - "z": 11758, - "parent": "h20", + "z": 12858, + "parent": "h5", "x": -20, "y": -20 }, @@ -1622,10 +1595,14 @@ "h55" ], "from": "bigbag" + }, + { + "func": "TURN", + "turnCycle": "random" } ], "x": 119, - "y": 2 + "y": 26 }, "final1": { "type": "holder", @@ -2031,14 +2008,6 @@ "y": -20, "parent": "final2" }, - "bbdc4": { - "type": "seat", - "index": 1, - "x": 1433, - "y": 784, - "id": "bbdc4", - "z": 35 - }, "ph1": { "type": "holder", "id": "ph1", @@ -2110,38 +2079,6 @@ "movable": false, "movableInEdit": true }, - "bbdc5": { - "type": "seat", - "index": 1, - "x": 1433, - "y": 621, - "id": "bbdc5", - "z": 34 - }, - "bbdc6": { - "type": "seat", - "index": 1, - "x": 1432, - "y": 445, - "id": "bbdc6", - "z": 33 - }, - "bbdc7": { - "type": "seat", - "index": 1, - "x": 1432, - "y": 272, - "id": "bbdc7", - "z": 31 - }, - "bbdc8": { - "type": "seat", - "index": 1, - "x": 1431, - "y": 946, - "id": "bbdc8", - "z": 37 - }, "ph7": { "type": "holder", "id": "ph7", @@ -2689,5 +2626,90 @@ "value": 1 } ] + }, + "s1": { + "type": "seat", + "id": "s1", + "x": 1432, + "y": 272, + "z": 31, + "hideWhenUnused": true + }, + "s2": { + "type": "seat", + "id": "s2", + "x": 1432, + "y": 445, + "z": 33, + "hideWhenUnused": true, + "index": 2 + }, + "s3": { + "type": "seat", + "id": "s3", + "x": 1433, + "y": 621, + "z": 34, + "index": 3, + "hideWhenUnused": true + }, + "s4": { + "type": "seat", + "id": "s4", + "x": 1433, + "y": 784, + "z": 35, + "index": 4, + "hideWhenUnused": true + }, + "s5": { + "type": "seat", + "id": "s5", + "x": 1431, + "y": 946, + "z": 37, + "hideWhenUnused": true, + "index": 5 + }, + "ejpz": { + "type": "button", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "forward" + } + ], + "x": 1459, + "y": 26, + "z": 39, + "id": "ejpz", + "text": "END TURN" + }, + "_meta": { + "version": 17, + "info": { + "name": "Everything Must Go!", + "image": "/assets/-2049741076_35361", + "rules": "https://cdn.shopify.com/s/files/1/0143/6178/8473/files/Bites_Rulebook_190807.pdf?v=1645044345", + "bgg": "https://boardgamegeek.com/boardgame/277927/bites", + "year": "2020", + "mode": "vs", + "time": "20", + "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.", + "similarImage": "", + "similarName": "Bites", + "similarDesigner": "Wolfgang Ditt, Brigitte Ditt", + "similarAwards": "2020 Golden Geek Light Game of the Year Nominee", + "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", + "players": "2-5" + } } } \ No newline at end of file diff --git a/library/games/Green Streams/0.json b/library/games/Green Streams/0.json index c9cebd96dd..e92c964a16 100644 --- a/library/games/Green Streams/0.json +++ b/library/games/Green Streams/0.json @@ -23,430 +23,6 @@ "z": 14685, "parent": "skqn" }, - "0589119d-a1eb-454c-a9a2-d9b78f7003f2": { - "id": "0589119d-a1eb-454c-a9a2-d9b78f7003f2", - "x": 1456, - "y": 525, - "z": 6022, - "type": "seat", - "display": "seatIndex", - "displayEmpty": "seatIndex", - "hideWhenUnused": true, - "index": 3, - "height": 42, - "width": 42, - "css": "box-sizing:border-box;border-width:2px;", - "borderRadius": "50%", - "playerChangeRoutine": [ - { - "func": "SELECT", - "value": "${PROPERTY id}", - "type": "button" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "LABEL" - }, - { - "func": "SELECT", - "source": "LABEL", - "property": "TYPE", - "value": "label", - "collection": "LABEL" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "COUNT" - }, - { - "func": "SELECT", - "source": "COUNT", - "property": "TYPE", - "value": "count", - "collection": "COUNT" - }, - { - "func": "IF", - "condition": "${value}", - "thenRoutine": [ - { - "func": "SET", - "property": "owner", - "value": [] - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "${playerName}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner" - } - ], - "elseRoutine": [ - { - "func": "SET", - "property": "owner" - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "Player ${PROPERTY index}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner", - "value": [] - } - ] - } - ] - }, - "0589119d-a1eb-454c-a9a2-d9b78f7003f2label": { - "id": "0589119d-a1eb-454c-a9a2-d9b78f7003f2label", - "parent": "0589119d-a1eb-454c-a9a2-d9b78f7003f2", - "x": -71, - "y": 36, - "layer": 0, - "height": 44, - "width": 180, - "movable": false, - "movableInEdit": false, - "TYPE": "label", - "text": "Player 3", - "css": "background:white;border:1px solid lightgrey;font-size:18px;display: flex;justify-content: center;align-items: center;", - "borderRadius": "36%", - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, - "0589119d-a1eb-454c-a9a2-d9b78f7003f2sit": { - "id": "0589119d-a1eb-454c-a9a2-d9b78f7003f2sit", - "type": "button", - "parent": "0589119d-a1eb-454c-a9a2-d9b78f7003f2", - "x": -23.5, - "y": 74, - "layer": 1, - "height": 28, - "width": 85, - "movable": false, - "movableInEdit": false, - "text": "Sit Here", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, - "0589119d-a1eb-454c-a9a2-d9b78f7003f2count": { - "id": "0589119d-a1eb-454c-a9a2-d9b78f7003f2count", - "parent": "0589119d-a1eb-454c-a9a2-d9b78f7003f2", - "x": -40, - "y": 2, - "layer": 3, - "height": 38, - "width": 30, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "text": 0, - "css": "background: white; color: black;font-size:18px; border:1px solid lightgrey;display: flex;justify-content: center;align-items: center;", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ], - "ownerGlobalUpdateRoutine": [ - "var parent = ${PROPERTY parent}", - "var player = ${PROPERTY player OF $parent}", - { - "func": "SELECT", - "property": "owner", - "value": "${player}" - }, - { - "func": "COUNT" - }, - { - "func": "SET", - "collection": "thisButton", - "property": "text", - "value": "${COUNT}" - } - ], - "owner": [] - }, - "0589119d-a1eb-454c-a9a2-d9b78f7003f2count1": { - "id": "0589119d-a1eb-454c-a9a2-d9b78f7003f2count1", - "parent": "0589119d-a1eb-454c-a9a2-d9b78f7003f2", - "x": -40, - "y": 2, - "layer": 2, - "height": 38, - "width": 30, - "rotation": -6, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, - "0589119d-a1eb-454c-a9a2-d9b78f7003f2count2": { - "id": "0589119d-a1eb-454c-a9a2-d9b78f7003f2count2", - "parent": "0589119d-a1eb-454c-a9a2-d9b78f7003f2", - "x": -40, - "y": 2, - "layer": 1, - "height": 38, - "width": 30, - "rotation": -12, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; border-radius: 4px; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, - "ae3512be-62de-436e-b2a1-225334230a59": { - "id": "ae3512be-62de-436e-b2a1-225334230a59", - "x": 1456, - "y": 24, - "type": "seat", - "display": "seatIndex", - "displayEmpty": "seatIndex", - "hideWhenUnused": true, - "index": 1, - "height": 42, - "width": 42, - "css": "box-sizing:border-box;border-width:2px;", - "borderRadius": "50%", - "playerChangeRoutine": [ - { - "func": "SELECT", - "value": "${PROPERTY id}", - "type": "button" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "LABEL" - }, - { - "func": "SELECT", - "source": "LABEL", - "property": "TYPE", - "value": "label", - "collection": "LABEL" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "COUNT" - }, - { - "func": "SELECT", - "source": "COUNT", - "property": "TYPE", - "value": "count", - "collection": "COUNT" - }, - { - "func": "IF", - "condition": "${value}", - "thenRoutine": [ - { - "func": "SET", - "property": "owner", - "value": [] - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "${playerName}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner" - } - ], - "elseRoutine": [ - { - "func": "SET", - "property": "owner" - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "Player ${PROPERTY index}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner", - "value": [] - } - ] - } - ], - "z": 5906 - }, - "ae3512be-62de-436e-b2a1-225334230a59label": { - "id": "ae3512be-62de-436e-b2a1-225334230a59label", - "parent": "ae3512be-62de-436e-b2a1-225334230a59", - "x": -71, - "y": 36, - "layer": 0, - "height": 44, - "width": 180, - "movable": false, - "movableInEdit": false, - "TYPE": "label", - "text": "Player 1", - "css": "background:white;border:1px solid lightgrey;font-size:18px;display: flex;justify-content: center;align-items: center;", - "borderRadius": "36%", - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, - "ae3512be-62de-436e-b2a1-225334230a59sit": { - "id": "ae3512be-62de-436e-b2a1-225334230a59sit", - "type": "button", - "parent": "ae3512be-62de-436e-b2a1-225334230a59", - "x": -23.5, - "y": 74, - "layer": 1, - "height": 28, - "width": 85, - "movable": false, - "movableInEdit": false, - "text": "Sit Here", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, - "ae3512be-62de-436e-b2a1-225334230a59count": { - "id": "ae3512be-62de-436e-b2a1-225334230a59count", - "parent": "ae3512be-62de-436e-b2a1-225334230a59", - "x": -40, - "y": 2, - "layer": 3, - "height": 38, - "width": 30, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "text": 0, - "css": "background: white; color: black;font-size:18px; border:1px solid lightgrey;display: flex;justify-content: center;align-items: center;", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ], - "ownerGlobalUpdateRoutine": [ - "var parent = ${PROPERTY parent}", - "var player = ${PROPERTY player OF $parent}", - { - "func": "SELECT", - "property": "owner", - "value": "${player}" - }, - { - "func": "COUNT" - }, - { - "func": "SET", - "collection": "thisButton", - "property": "text", - "value": "${COUNT}" - } - ], - "owner": [] - }, - "ae3512be-62de-436e-b2a1-225334230a59count1": { - "id": "ae3512be-62de-436e-b2a1-225334230a59count1", - "parent": "ae3512be-62de-436e-b2a1-225334230a59", - "x": -40, - "y": 2, - "layer": 2, - "height": 38, - "width": 30, - "rotation": -6, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, - "ae3512be-62de-436e-b2a1-225334230a59count2": { - "id": "ae3512be-62de-436e-b2a1-225334230a59count2", - "parent": "ae3512be-62de-436e-b2a1-225334230a59", - "x": -40, - "y": 2, - "layer": 1, - "height": 38, - "width": 30, - "rotation": -12, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; border-radius: 4px; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, "325d0647-3a5b-4392-8410-97d6b0392f27": { "id": "325d0647-3a5b-4392-8410-97d6b0392f27", "x": 1407, @@ -548,219 +124,6 @@ } ] }, - "94057628-d7ed-4e75-874e-9ef652fd0d3b": { - "id": "94057628-d7ed-4e75-874e-9ef652fd0d3b", - "x": 1456, - "y": 259, - "z": 6023, - "type": "seat", - "display": "seatIndex", - "displayEmpty": "seatIndex", - "hideWhenUnused": true, - "index": 2, - "height": 42, - "width": 42, - "css": "box-sizing:border-box;border-width:2px;", - "borderRadius": "50%", - "playerChangeRoutine": [ - { - "func": "SELECT", - "value": "${PROPERTY id}", - "type": "button" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "LABEL" - }, - { - "func": "SELECT", - "source": "LABEL", - "property": "TYPE", - "value": "label", - "collection": "LABEL" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "COUNT" - }, - { - "func": "SELECT", - "source": "COUNT", - "property": "TYPE", - "value": "count", - "collection": "COUNT" - }, - { - "func": "IF", - "condition": "${value}", - "thenRoutine": [ - { - "func": "SET", - "property": "owner", - "value": [] - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "${playerName}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner" - } - ], - "elseRoutine": [ - { - "func": "SET", - "property": "owner" - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "Player ${PROPERTY index}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner", - "value": [] - } - ] - } - ] - }, - "94057628-d7ed-4e75-874e-9ef652fd0d3blabel": { - "id": "94057628-d7ed-4e75-874e-9ef652fd0d3blabel", - "parent": "94057628-d7ed-4e75-874e-9ef652fd0d3b", - "x": -71, - "y": 36, - "layer": 0, - "height": 44, - "width": 180, - "movable": false, - "movableInEdit": false, - "TYPE": "label", - "text": "Player 2", - "css": "background:white;border:1px solid lightgrey;font-size:18px;display: flex;justify-content: center;align-items: center;", - "borderRadius": "36%", - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, - "94057628-d7ed-4e75-874e-9ef652fd0d3bsit": { - "id": "94057628-d7ed-4e75-874e-9ef652fd0d3bsit", - "type": "button", - "parent": "94057628-d7ed-4e75-874e-9ef652fd0d3b", - "x": -23.5, - "y": 74, - "layer": 1, - "height": 28, - "width": 85, - "movable": false, - "movableInEdit": false, - "text": "Sit Here", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ], - "z": 1340 - }, - "94057628-d7ed-4e75-874e-9ef652fd0d3bcount": { - "id": "94057628-d7ed-4e75-874e-9ef652fd0d3bcount", - "parent": "94057628-d7ed-4e75-874e-9ef652fd0d3b", - "x": -40, - "y": 2, - "layer": 3, - "height": 38, - "width": 30, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "text": 0, - "css": "background: white; color: black;font-size:18px; border:1px solid lightgrey;display: flex;justify-content: center;align-items: center;", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ], - "ownerGlobalUpdateRoutine": [ - "var parent = ${PROPERTY parent}", - "var player = ${PROPERTY player OF $parent}", - { - "func": "SELECT", - "property": "owner", - "value": "${player}" - }, - { - "func": "COUNT" - }, - { - "func": "SET", - "collection": "thisButton", - "property": "text", - "value": "${COUNT}" - } - ], - "owner": [] - }, - "94057628-d7ed-4e75-874e-9ef652fd0d3bcount1": { - "id": "94057628-d7ed-4e75-874e-9ef652fd0d3bcount1", - "parent": "94057628-d7ed-4e75-874e-9ef652fd0d3b", - "x": -40, - "y": 2, - "layer": 2, - "height": 38, - "width": 30, - "rotation": -6, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, - "94057628-d7ed-4e75-874e-9ef652fd0d3bcount2": { - "id": "94057628-d7ed-4e75-874e-9ef652fd0d3bcount2", - "parent": "94057628-d7ed-4e75-874e-9ef652fd0d3b", - "x": -40, - "y": 2, - "layer": 1, - "height": 38, - "width": 30, - "rotation": -12, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; border-radius: 4px; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, "2e2d04fa-68a3-4d1b-a519-9e7f04b53874": { "id": "2e2d04fa-68a3-4d1b-a519-9e7f04b53874", "x": 1407, @@ -815,7 +178,7 @@ "id": "b8883529-94c0-4371-b380-d54a89a52a3e", "x": 1407, "y": 675, - "z": 1384, + "z": 6180, "type": "label", "width": 140, "height": 44, @@ -862,7 +225,7 @@ ] }, "83pu": { - "image": "/assets/-1154482413_19220", + "image": "/assets/-1866911662_42944", "movable": false, "width": 1075, "height": 872, @@ -873,218 +236,6 @@ "y": 52, "movableInEdit": false }, - "6e6c10cb-e366-48d9-8d12-6bc99d75b51c": { - "id": "6e6c10cb-e366-48d9-8d12-6bc99d75b51c", - "x": 1458, - "y": 750, - "z": 6024, - "type": "seat", - "display": "seatIndex", - "displayEmpty": "seatIndex", - "hideWhenUnused": true, - "index": 4, - "height": 42, - "width": 42, - "css": "box-sizing:border-box;border-width:2px;", - "borderRadius": "50%", - "playerChangeRoutine": [ - { - "func": "SELECT", - "value": "${PROPERTY id}", - "type": "button" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "LABEL" - }, - { - "func": "SELECT", - "source": "LABEL", - "property": "TYPE", - "value": "label", - "collection": "LABEL" - }, - { - "func": "SELECT", - "value": "${PROPERTY id}", - "collection": "COUNT" - }, - { - "func": "SELECT", - "source": "COUNT", - "property": "TYPE", - "value": "count", - "collection": "COUNT" - }, - { - "func": "IF", - "condition": "${value}", - "thenRoutine": [ - { - "func": "SET", - "property": "owner", - "value": [] - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "${playerName}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner" - } - ], - "elseRoutine": [ - { - "func": "SET", - "property": "owner" - }, - { - "func": "SET", - "collection": "LABEL", - "property": "text", - "value": "Player ${PROPERTY index}" - }, - { - "func": "SET", - "collection": "COUNT", - "property": "owner", - "value": [] - } - ] - } - ] - }, - "6e6c10cb-e366-48d9-8d12-6bc99d75b51ccount": { - "id": "6e6c10cb-e366-48d9-8d12-6bc99d75b51ccount", - "parent": "6e6c10cb-e366-48d9-8d12-6bc99d75b51c", - "x": -40, - "y": 2, - "layer": 3, - "height": 38, - "width": 30, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "text": 0, - "css": "background: white; color: black;font-size:18px; border:1px solid lightgrey;display: flex;justify-content: center;align-items: center;", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ], - "ownerGlobalUpdateRoutine": [ - "var parent = ${PROPERTY parent}", - "var player = ${PROPERTY player OF $parent}", - { - "func": "SELECT", - "property": "owner", - "value": "${player}" - }, - { - "func": "COUNT" - }, - { - "func": "SET", - "collection": "thisButton", - "property": "text", - "value": "${COUNT}" - } - ], - "owner": [] - }, - "6e6c10cb-e366-48d9-8d12-6bc99d75b51ccount1": { - "id": "6e6c10cb-e366-48d9-8d12-6bc99d75b51ccount1", - "parent": "6e6c10cb-e366-48d9-8d12-6bc99d75b51c", - "x": -40, - "y": 2, - "layer": 2, - "height": 38, - "width": 30, - "rotation": -6, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, - "6e6c10cb-e366-48d9-8d12-6bc99d75b51ccount2": { - "id": "6e6c10cb-e366-48d9-8d12-6bc99d75b51ccount2", - "parent": "6e6c10cb-e366-48d9-8d12-6bc99d75b51c", - "x": -40, - "y": 2, - "layer": 1, - "height": 38, - "width": 30, - "rotation": -12, - "movable": false, - "movableInEdit": false, - "TYPE": "count", - "css": "background: white; border-radius: 4px; color: black;font-size:16px; border:1px solid lightgrey;transform-origin:bottom left", - "borderRadius": 4, - "owner": [] - }, - "6e6c10cb-e366-48d9-8d12-6bc99d75b51csit": { - "id": "6e6c10cb-e366-48d9-8d12-6bc99d75b51csit", - "type": "button", - "parent": "6e6c10cb-e366-48d9-8d12-6bc99d75b51c", - "x": -23.5, - "y": 74, - "layer": 1, - "height": 28, - "width": 85, - "movable": false, - "movableInEdit": false, - "text": "Sit Here", - "css": "background: white; color: black;font-size:16px; border:1px solid lightgrey", - "borderRadius": 4, - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, - "6e6c10cb-e366-48d9-8d12-6bc99d75b51clabel": { - "id": "6e6c10cb-e366-48d9-8d12-6bc99d75b51clabel", - "parent": "6e6c10cb-e366-48d9-8d12-6bc99d75b51c", - "x": -71, - "y": 36, - "layer": 0, - "height": 44, - "width": 180, - "movable": false, - "movableInEdit": false, - "TYPE": "label", - "text": "Player 4", - "css": "background:white;border:1px solid lightgrey;font-size:18px;display: flex;justify-content: center;align-items: center;", - "borderRadius": "36%", - "clickRoutine": [ - { - "func": "SELECT", - "property": "id", - "value": "${PROPERTY parent}" - }, - { - "func": "CLICK" - } - ] - }, "b8883529-94c0-4371-b380-d54a89a52a4e": { "id": "b8883529-94c0-4371-b380-d54a89a52a4e", "x": 1407, @@ -1239,8 +390,8 @@ "b8883529-94c0-4371-b380-d54a89a52a7e": { "id": "b8883529-94c0-4371-b380-d54a89a52a7e", "x": 1407, - "y": 632, - "z": 1339, + "y": 625, + "z": 6179, "type": "label", "width": 140, "height": 44, @@ -1835,259 +986,259 @@ }, "6b156ca4-d95b-4b4c-a092-fcc52265ae49": { "id": "6b156ca4-d95b-4b4c-a092-fcc52265ae49", - "z": 22223, + "z": 23441, "type": "card", "deck": "goodies", "cardType": "type-1ff9b910-1303-42a6-a61d-e9e1f8aeb945", - "parent": "h61p" + "parent": "emov" }, "e192a410-8cbc-4683-ba61-c456ec00a867": { "id": "e192a410-8cbc-4683-ba61-c456ec00a867", - "z": 22225, + "z": 23443, "type": "card", "deck": "goodies", "cardType": "type-1ff9b910-1303-42a6-a61d-e9e1f8aeb945", - "parent": "h61p" + "parent": "emov" }, "3c153211-6558-4e1c-aef4-7681f33e490b": { "id": "3c153211-6558-4e1c-aef4-7681f33e490b", - "z": 22227, + "z": 23445, "type": "card", "deck": "goodies", "cardType": "type-1ff9b910-1303-42a6-a61d-e9e1f8aeb945", - "parent": "h61p" + "parent": "emov" }, "32e05130-7904-4a8b-b34a-87a394f532ec": { "id": "32e05130-7904-4a8b-b34a-87a394f532ec", - "z": 22229, + "z": 23447, "type": "card", "deck": "goodies", "cardType": "type-1ff9b910-1303-42a6-a61d-e9e1f8aeb945", - "parent": "h61p" + "parent": "emov" }, "4din": { "deck": "goodies", "type": "card", "cardType": "type-1ff9b910-1303-42a6-a61d-e9e1f8aeb945", "id": "4din", - "z": 22231, - "parent": "h61p" + "z": 23449, + "parent": "emov" }, "w2h8": { "deck": "goodies", "type": "card", "cardType": "type-7bbcd848-c929-454a-bd9f-2d39fe5b6099", "id": "w2h8", - "z": 22233, - "parent": "h61p" + "z": 23451, + "parent": "emov" }, "g1zf": { "deck": "goodies", "type": "card", "cardType": "type-7bbcd848-c929-454a-bd9f-2d39fe5b6099", "id": "g1zf", - "z": 22235, - "parent": "h61p" + "z": 23453, + "parent": "emov" }, "zbwn": { "deck": "goodies", "type": "card", "cardType": "type-7bbcd848-c929-454a-bd9f-2d39fe5b6099", "id": "zbwn", - "z": 22237, - "parent": "h61p" + "z": 23455, + "parent": "emov" }, "rcex": { "deck": "goodies", "type": "card", "cardType": "type-7bbcd848-c929-454a-bd9f-2d39fe5b6099", "id": "rcex", - "z": 22239, - "parent": "h61p" + "z": 23457, + "parent": "emov" }, "ttqo": { "deck": "goodies", "type": "card", "cardType": "type-7bbcd848-c929-454a-bd9f-2d39fe5b6099", "id": "ttqo", - "z": 22241, - "parent": "h61p" + "z": 23459, + "parent": "emov" }, "h4fk": { "deck": "goodies", "type": "card", "cardType": "type-f4022e26-1945-4085-9401-9c385fcb18ce", "id": "h4fk", - "z": 22243, - "parent": "h61p" + "z": 23461, + "parent": "emov" }, "vqoy": { "deck": "goodies", "type": "card", "cardType": "type-f4022e26-1945-4085-9401-9c385fcb18ce", "id": "vqoy", - "z": 22245, - "parent": "h61p" + "z": 23463, + "parent": "emov" }, "aftv": { "deck": "goodies", "type": "card", "cardType": "type-1ff9b910-1303-42a6-a61d-e9e1f8aeb945", "id": "aftv", - "z": 22247, - "parent": "h61p" + "z": 23465, + "parent": "emov" }, "c4rd": { "deck": "goodies", "type": "card", "cardType": "type-7bbcd848-c929-454a-bd9f-2d39fe5b6099", "id": "c4rd", - "z": 22249, - "parent": "h61p" + "z": 23467, + "parent": "emov" }, "uzev": { "deck": "goodies", "type": "card", "cardType": "type-f4022e26-1945-4085-9401-9c385fcb18ce", "id": "uzev", - "z": 22251, - "parent": "h61p" + "z": 23469, + "parent": "emov" }, "mnpr": { "deck": "goodies", "type": "card", "cardType": "type-f4022e26-1945-4085-9401-9c385fcb18ce", "id": "mnpr", - "z": 22253, - "parent": "h61p" + "z": 23471, + "parent": "emov" }, "n6f7": { "deck": "goodies", "type": "card", "cardType": "type-f4022e26-1945-4085-9401-9c385fcb18ce", "id": "n6f7", - "z": 22255, - "parent": "h61p" + "z": 23473, + "parent": "emov" }, "or1j": { "deck": "goodies", "type": "card", "cardType": "type-f4022e26-1945-4085-9401-9c385fcb18ce", "id": "or1j", - "z": 22257, - "parent": "h61p" + "z": 23475, + "parent": "emov" }, "1pke": { "deck": "goodies", "type": "card", "cardType": "ngm4", "id": "1pke", - "z": 22259, - "parent": "h61p" + "z": 23477, + "parent": "emov" }, "n2ep": { "deck": "goodies", "type": "card", "cardType": "ngm4", "id": "n2ep", - "z": 22261, - "parent": "h61p" + "z": 23479, + "parent": "emov" }, "myq1": { "deck": "goodies", "type": "card", "cardType": "ngm4", "id": "myq1", - "z": 22263, - "parent": "h61p" + "z": 23481, + "parent": "emov" }, "pjt3": { "deck": "goodies", "type": "card", "cardType": "ngm4", "id": "pjt3", - "z": 22265, - "parent": "h61p" + "z": 23483, + "parent": "emov" }, "puzp": { "deck": "goodies", "type": "card", "cardType": "ngm4", "id": "puzp", - "z": 22267, - "parent": "h61p" + "z": 23485, + "parent": "emov" }, "1jd6": { "deck": "goodies", "type": "card", "cardType": "ngm4", "id": "1jd6", - "z": 22269, - "parent": "h61p" + "z": 23487, + "parent": "emov" }, "yfku": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "yfku", - "z": 22271, - "parent": "h61p" + "z": 23489, + "parent": "emov" }, "hyzd": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "hyzd", - "z": 22273, - "parent": "h61p" + "z": 23491, + "parent": "emov" }, "vq3a": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "vq3a", - "z": 22275, - "parent": "h61p" + "z": 23493, + "parent": "emov" }, "gf8t": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "gf8t", - "z": 22277, - "parent": "h61p" + "z": 23495, + "parent": "emov" }, "m33z": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "m33z", - "z": 22279, - "parent": "h61p" + "z": 23497, + "parent": "emov" }, "iqfl": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "iqfl", - "z": 22281, - "parent": "h61p" + "z": 23499, + "parent": "emov" }, "y72w": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "y72w", - "z": 22283, - "parent": "h61p" + "z": 23501, + "parent": "emov" }, "1z8l": { "deck": "goodies", "type": "card", "cardType": "Totem", "id": "1z8l", - "z": 22285, - "parent": "h61p" + "z": 23503, + "parent": "emov" }, "recall-goodies": { "type": "button", @@ -2102,6 +1253,14 @@ "holder": "goodie-bag", "owned": "false" } + ], + "gameStartRoutine": [ + { + "func": "CLICK", + "collection": [ + "spread-goodies" + ] + } ] }, "spread-goodies": { @@ -2443,10 +1602,10 @@ "type": "holder", "id": "pink-people-holder", "x": 1326, - "y": 480, + "y": 516, "width": 57, "height": 57, - "z": 6180, + "z": 6175, "inheritChildZ": true, "dropOffsetX": 6, "dropOffsetY": 6, @@ -2765,7 +1924,7 @@ "y": 279, "width": 57, "height": 57, - "z": 6177, + "z": 1384, "inheritChildZ": true, "dropOffsetX": 6, "dropOffsetY": 6, @@ -2779,7 +1938,7 @@ "type": "holder", "id": "pink-people-holder5", "x": 1250, - "y": 771, + "y": 752, "width": 57, "height": 57, "z": 6182, @@ -3089,7 +2248,7 @@ "type": "holder", "id": "orange-people-holder", "x": 1325, - "y": 771, + "y": 752, "width": 57, "height": 57, "z": 6187, @@ -3149,10 +2308,10 @@ "type": "holder", "id": "pink-hut-holder", "x": 1250, - "y": 482, + "y": 516, "width": 57, "height": 57, - "z": 6179, + "z": 6177, "inheritChildZ": true, "dropOffsetX": 6, "dropOffsetY": 6, @@ -3614,7 +2773,7 @@ "type": "holder", "id": "green-people-holder", "x": 1326, - "y": 41, + "y": 43, "width": 57, "height": 57, "z": 6172, @@ -3777,7 +2936,7 @@ "y": 279, "width": 57, "height": 57, - "z": 6175, + "z": 1339, "inheritChildZ": true, "dropOffsetX": 6, "dropOffsetY": 6, @@ -3936,7 +3095,7 @@ ] }, "_meta": { - "version": 16, + "version": 17, "info": { "name": "Green Streams", "image": "/assets/449419710_47714", @@ -3946,7 +3105,7 @@ "mode": "vs", "time": "30-45", "attribution": "
Room layout, design, and library image by maddie. Released to the Public Domain under CC0.

All icons by Lorc and Delapouite under CC BY 3.0 from https://game-icons.net/ at:

SVG board by ArnoldSmith86 available under CC0.
", - "lastUpdate": 1732991224853, + "lastUpdate": 1737226222102, "showName": true, "skill": "", "description": "Place out your tribespeople to explore the islands of the marshland, collect resources, and get in the way of your opponents.", @@ -4310,15 +3469,6 @@ "y": 294, "z": 1 }, - "h61p": { - "type": "pile", - "parent": "goodie-bag", - "x": 6, - "y": 6, - "width": 50, - "height": 50, - "id": "h61p" - }, "snsq": { "image": "/assets/-79713834_5066", "id": "snsq", @@ -4392,5 +3542,123 @@ "y": 382, "z": 1436, "id": "ywt5" + }, + "57rp": { + "type": "button", + "text": "END TURN", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "forward" + } + ], + "x": 130, + "y": 601, + "z": 6033, + "id": "57rp" + }, + "us13": { + "type": "seat", + "x": 1404, + "y": 72, + "id": "us13", + "z": 6027, + "hideWhenUnused": true, + "color": "#785FEE", + "colorEmpty": "#785FEE", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "us14": { + "type": "seat", + "index": 2, + "x": 1404, + "y": 310, + "id": "us14", + "z": 6028, + "hideWhenUnused": true, + "color": "#FFAF00", + "colorEmpty": "#FFAF00", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "us15": { + "type": "seat", + "x": 1404, + "y": 565, + "id": "us15", + "z": 6029, + "index": 3, + "hideWhenUnused": true, + "color": "#DD267F", + "colorEmpty": "#DD267F", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "us16": { + "type": "seat", + "index": 4, + "x": 1404, + "y": 795, + "id": "us16", + "z": 6031, + "hideWhenUnused": true, + "color": "#FE6100", + "colorEmpty": "#FE6100", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "emov": { + "type": "pile", + "parent": "goodie-bag", + "x": 6, + "y": 6, + "width": 50, + "height": 50, + "id": "emov" } } \ No newline at end of file diff --git a/library/games/Green Streams/assets/-1154482413_19220 b/library/games/Green Streams/assets/-1154482413_19220 deleted file mode 100644 index 6a0edc7228..0000000000 --- a/library/games/Green Streams/assets/-1154482413_19220 +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/library/games/Green Streams/assets/-1866911662_42944 b/library/games/Green Streams/assets/-1866911662_42944 new file mode 100644 index 0000000000..c1756bcdee --- /dev/null +++ b/library/games/Green Streams/assets/-1866911662_42944 @@ -0,0 +1,1050 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/games/Happy Landings/0.json b/library/games/Happy Landings/0.json new file mode 100644 index 0000000000..b443bbdbaa --- /dev/null +++ b/library/games/Happy Landings/0.json @@ -0,0 +1,4133 @@ +{ + "_meta": { + "version": 17, + "info": { + "name": "Happy Landings", + "image": "/assets/1955387621_478168", + "rules": "https://boardgamegeek.com/filepage/265335/havalandi-english-rulebook", + "bgg": "https://boardgamegeek.com/boardgame/396543/havalandi", + "year": "2023", + "mode": "vs", + "time": "45", + "attribution": "Original programming, design, and layout by QwertyMartin is in the public domain under CC0. Additional functionality incorporated by DexDouglas and is in the public domain under CC0.

All icons are from game-icons.net and available for use as described in the About button.

Cover Image generated using https://labs.google/fx/tools/image-fx with prompt \"stained glass image of four hot air balloons , colors black , purple , orange , and teal.\"
", + "lastUpdate": 1736982921290, + "showName": true, + "skill": "Medium", + "description": "Take a trip around the scenic landscape and set up your hot air balloons to launch at the best locations to get the most points!", + "similarImage": "", + "similarName": "Havalandi", + "similarDesigner": "Reiner Knizia", + "similarAwards": "", + "ruleText": "", + "helpText": "Click to sit at any seat. Once all players are seated, choose Board A or Board B. If you are playing with 2 players, the board will automatically have some of the spaces filled with neutral pieces. If you are playing a 4-player game, 3 of your 20 balloons will be removed. A random player will be selected to start the game. Their name will be glowing. If you need to revert to the starting setup, hit the Reset button. The two scoring objectives for the game are in the upper right. They are randomly selected when the game is loaded and when resetting, but you can click to change either of these. 

On your turn, click the die next to your name to roll. Click and drag the hot air balloon the full number of spaces that you rolled to determine your line of sight. When you are at a corner hex, the balloon's line of sight is along each of the two edges of the board it is next to. 

Drag a circular balloon token from either of your holders, according to the rules and place it on the board. If you are done with your turn, hit the \"End Turn\" button to shift the turn to the next player in clockwise order. 

When you score points, you can increment them with the + - buttons above your player name, or you can select the value and type in a new amount. 
", + "variantImage": "", + "variant": "Happy Landings", + "language": "en-US", + "players": "2-4" + } + }, + "67r0": { + "id": "67r0", + "type": "pile", + "x": 6, + "y": 7, + "width": 50, + "height": 50, + "parent": "tealHolder" + }, + "nns9": { + "id": "nns9", + "type": "pile", + "x": 6, + "width": 50, + "height": 50, + "parent": "purpleHolder" + }, + "v77l": { + "id": "v77l", + "type": "pile", + "x": 6, + "y": 8, + "width": 50, + "height": 50, + "parent": "blackHolder" + }, + "uvep": { + "id": "uvep", + "type": "pile", + "x": 6, + "y": 7, + "width": 50, + "height": 50, + "parent": "orangeHolder" + }, + "d74579c5-5b85-410f-a789-724293aaccdc": { + "id": "d74579c5-5b85-410f-a789-724293aaccdc", + "z": 24430, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "76701031-1f26-436d-a66b-f67e47e5dd03": { + "id": "76701031-1f26-436d-a66b-f67e47e5dd03", + "z": 24431, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "4fa7201a-7403-4e4d-988c-0872ab41a9ed": { + "id": "4fa7201a-7403-4e4d-988c-0872ab41a9ed", + "z": 24407, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "978d6fb2-a416-448f-be7e-2078bfdd06b8": { + "id": "978d6fb2-a416-448f-be7e-2078bfdd06b8", + "z": 24432, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "c2f9bb26-7a4a-4820-bede-5a27026baf65": { + "id": "c2f9bb26-7a4a-4820-bede-5a27026baf65", + "z": 24408, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "754dcc1e-8bfa-4d5f-a89e-d7826266ec46_decrementButton": { + "id": "754dcc1e-8bfa-4d5f-a89e-d7826266ec46_decrementButton", + "parent": "seat4Score", + "x": 4, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "-", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat4Score", + "mode": "inc", + "value": -1 + } + ] + }, + "754dcc1e-8bfa-4d5f-a89e-d7826266ec46_incrementButton": { + "id": "754dcc1e-8bfa-4d5f-a89e-d7826266ec46_incrementButton", + "parent": "seat4Score", + "x": 100, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "+", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat4Score", + "mode": "inc", + "value": 1 + } + ] + }, + "db082dcb-c8ff-4a80-9396-b8f2d5bb5d1e": { + "id": "db082dcb-c8ff-4a80-9396-b8f2d5bb5d1e", + "z": 10088, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-1e7b37ca-8914-4bfc-b52d-470694c1bfb3", + "x": 620, + "y": 2000, + "2BPagoda": { + "x": 1198, + "y": 811 + }, + "2APagoda": { + "x": 620, + "y": 2000 + } + }, + "d0c10176-b42f-448f-8dbf-a203c45ea83e": { + "id": "d0c10176-b42f-448f-8dbf-a203c45ea83e", + "z": 24433, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "afbf392d-45e9-4abc-8d9c-99995bd1c11e": { + "id": "afbf392d-45e9-4abc-8d9c-99995bd1c11e", + "x": 1072.53, + "y": 336.14, + "z": 5071, + "type": "deck", + "cardTypes": { + "chooser": { + "sortingOrder": 1 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "1VP for each isolated balloon", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "1VP for each launched balloon on path", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "1VP for each launched balloon on edge", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "8/4VP for most/2nd launched balloons", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "1VP for each launched balloon in biggest fleet", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "1VP for each balloon in edge-to-edge chain", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 120, + "height": 170, + "type": "image", + "color": "white", + "value": "" + }, + { + "type": "text", + "x": 0, + "y": 14.41, + "fontSize": "22", + "value": "8VP for connecting four pavilions", + "textAlign": "center", + "textFont": null, + "color": "rgb(0,0,0)", + "width": 120 + } + ], + "border": false, + "radius": false + } + ], + "cardDefaults": { + "width": 120, + "height": 170, + "movable": false, + "borderRadius": 12, + "css": "border: 4px solid #dedede", + "clickRoutine": [ + { + "func": "INPUT", + "fields": [ + { + "type": "choose", + "source": [ + "${PROPERTY id}" + ], + "mode": "faces", + "variable": "face" + } + ] + }, + { + "func": "SET", + "property": "activeFace", + "value": "${face}" + } + ] + } + }, + "e75b075c-7b0c-43f5-9014-6ad6786970c1": { + "id": "e75b075c-7b0c-43f5-9014-6ad6786970c1", + "x": 58, + "y": 4, + "z": 24404, + "type": "card", + "deck": "blackSpecials", + "cardType": "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4", + "parent": "blackSpecialsHolder" + }, + "811f6b88-781a-4513-9d8c-b422b5f41796": { + "id": "811f6b88-781a-4513-9d8c-b422b5f41796", + "z": 24409, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "59869004-b3db-4c60-bd64-f0940fb9b27e": { + "id": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "x": 1169.51, + "y": 337.6, + "z": 6385, + "type": "deck", + "cardTypes": { + "type-0c796687-dc9c-4688-b9ce-7709d00344d8": { + "label": "white pavilion", + "image": "/assets/1477033782_3780", + "sortingOrder": 1 + }, + "type-1e7b37ca-8914-4bfc-b52d-470694c1bfb3": { + "image": "/assets/1102741850_3782", + "label": "red pavilion", + "sortingOrder": 2 + }, + "type-553c5e7a-db4c-4d64-bf03-093fb895271f": { + "label": "blue pavilion", + "image": "/assets/-350134830_3780", + "sortingOrder": 3 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image1" + } + } + ], + "border": false, + "radius": false + } + ], + "cardDefaults": { + "width": 50, + "height": 50, + "movable": false, + "onPileCreation": { + "nothing": "nothing" + } + } + }, + "2d794eba-d39d-4e0b-9b93-5faadb21d7c5": { + "id": "2d794eba-d39d-4e0b-9b93-5faadb21d7c5", + "z": 24410, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "cbcba8d7-c6ab-419d-af2d-9b5c4ac18518": { + "id": "cbcba8d7-c6ab-419d-af2d-9b5c4ac18518", + "z": 24384, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "274824c8-0ec5-4b1a-8544-52cca47724f2": { + "id": "274824c8-0ec5-4b1a-8544-52cca47724f2", + "z": 24411, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "100875a6-cd06-4fe0-b40b-386fd7d6da5f": { + "id": "100875a6-cd06-4fe0-b40b-386fd7d6da5f", + "z": 24453, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "00639723-4d3a-4eab-894e-3009c79e0ff4": { + "id": "00639723-4d3a-4eab-894e-3009c79e0ff4", + "x": 56, + "y": 6, + "z": 24473, + "type": "card", + "deck": "orangeSpecials", + "cardType": "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4", + "parent": "orangeSpecialsHolder" + }, + "0334024c-4b07-44aa-88c6-88281d9129f6": { + "id": "0334024c-4b07-44aa-88c6-88281d9129f6", + "z": 24385, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "f55a115d-a50a-4b5c-a35a-92bfe5687298": { + "id": "f55a115d-a50a-4b5c-a35a-92bfe5687298", + "z": 24434, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "f3e798d4-b5ba-4478-9142-76bd80f75ed6": { + "id": "f3e798d4-b5ba-4478-9142-76bd80f75ed6", + "z": 24454, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "efd5f93f-0dd4-49fc-ac70-542240f086c8": { + "id": "efd5f93f-0dd4-49fc-ac70-542240f086c8", + "z": 24455, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "f0e079b7-1254-4d08-9492-50414cd63c8e": { + "id": "f0e079b7-1254-4d08-9492-50414cd63c8e", + "x": 106, + "y": 6, + "z": 24450, + "type": "card", + "deck": "tealSpecials", + "cardType": "type-b0b5da2c-113d-4818-8276-4f122d786546", + "parent": "tealSpecialsHolder" + }, + "04cc49c9-cd99-4e2b-9407-e31bd3313311": { + "id": "04cc49c9-cd99-4e2b-9407-e31bd3313311", + "z": 24412, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "614c1fa8-d1e6-4cf7-b159-2ba4e33788a9": { + "id": "614c1fa8-d1e6-4cf7-b159-2ba4e33788a9", + "x": 4, + "y": 4, + "z": 24405, + "type": "card", + "deck": "blackSpecials", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "hoverParent": "blackSpecialsHolder", + "parent": "blackSpecialsHolder" + }, + "2cd12869-65a6-4aca-ab1e-cca6ed49a7e8": { + "id": "2cd12869-65a6-4aca-ab1e-cca6ed49a7e8", + "x": 620, + "y": 2000, + "z": 10082, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-1e7b37ca-8914-4bfc-b52d-470694c1bfb3", + "2BPagoda": { + "x": 390, + "y": 879 + }, + "2APagoda": { + "x": 620, + "y": 2000 + } + }, + "de76e834-4a43-4efa-a54c-ef66752413e0": { + "id": "de76e834-4a43-4efa-a54c-ef66752413e0", + "z": 24456, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "1d684051-06e5-45ae-819d-ef5b72213b00": { + "id": "1d684051-06e5-45ae-819d-ef5b72213b00", + "z": 24386, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "ee94c8b9-1f89-42f4-ada6-b5df9f5fc495": { + "id": "ee94c8b9-1f89-42f4-ada6-b5df9f5fc495", + "z": 24413, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "3b9698c6-398b-46b3-877c-7c66c2fb23cb": { + "id": "3b9698c6-398b-46b3-877c-7c66c2fb23cb", + "z": 24387, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "58b14639-d08c-4a2b-b84a-7385efd35f1f": { + "id": "58b14639-d08c-4a2b-b84a-7385efd35f1f", + "z": 24414, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "5a6f0135-58bc-4c5c-9a88-a93e05c697a1": { + "id": "5a6f0135-58bc-4c5c-9a88-a93e05c697a1", + "z": 24457, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "4d627d20-dd97-470d-a8b0-760bb246d7ca": { + "id": "4d627d20-dd97-470d-a8b0-760bb246d7ca", + "z": 24435, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "2738bfca-547f-4e0a-a643-7b43dc21fafa": { + "id": "2738bfca-547f-4e0a-a643-7b43dc21fafa", + "z": 24415, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "c8ba4295-1a06-4559-881d-e4136d9b5258": { + "id": "c8ba4295-1a06-4559-881d-e4136d9b5258", + "z": 24436, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "40201a4d-fcb7-4cd7-a342-858efda22c49_decrementButton": { + "id": "40201a4d-fcb7-4cd7-a342-858efda22c49_decrementButton", + "parent": "seat1Score", + "x": 4, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "-", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat1Score", + "mode": "inc", + "value": -1 + } + ] + }, + "40201a4d-fcb7-4cd7-a342-858efda22c49_incrementButton": { + "id": "40201a4d-fcb7-4cd7-a342-858efda22c49_incrementButton", + "parent": "seat1Score", + "x": 100, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "+", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat1Score", + "mode": "inc", + "value": 1 + } + ] + }, + "c9b73543-ad5e-4104-b6eb-58851c14328c": { + "id": "c9b73543-ad5e-4104-b6eb-58851c14328c", + "x": 106, + "y": 6, + "z": 24474, + "type": "card", + "deck": "orangeSpecials", + "cardType": "type-b0b5da2c-113d-4818-8276-4f122d786546", + "parent": "orangeSpecialsHolder" + }, + "e35ec8e1-0ce6-4b2b-b6db-497d0fcbc962": { + "id": "e35ec8e1-0ce6-4b2b-b6db-497d0fcbc962", + "z": 24458, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "2b9c82db-4ad5-4332-ad7e-2da51e0b9492": { + "id": "2b9c82db-4ad5-4332-ad7e-2da51e0b9492", + "z": 24388, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "e4a4dca3-345b-46a0-9397-23596ea4cb75": { + "id": "e4a4dca3-345b-46a0-9397-23596ea4cb75", + "x": 620, + "y": 2000, + "z": 10079, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-1e7b37ca-8914-4bfc-b52d-470694c1bfb3", + "2BPagoda": { + "x": 735, + "y": 147 + }, + "2APagoda": { + "x": 620, + "y": 2000 + } + }, + "e4e9b716-d3b6-46e1-9fa1-3207fa66159a": { + "id": "e4e9b716-d3b6-46e1-9fa1-3207fa66159a", + "z": 24416, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "b63c4537-5804-45f6-a72e-df228bba8c8c": { + "id": "b63c4537-5804-45f6-a72e-df228bba8c8c", + "z": 24417, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "bdf1ac0f-523e-40ee-8c25-86ef88b3cba8": { + "id": "bdf1ac0f-523e-40ee-8c25-86ef88b3cba8", + "z": 24437, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "d96e9ed8-7ad7-47e9-9ce6-15666a2be1d6": { + "id": "d96e9ed8-7ad7-47e9-9ce6-15666a2be1d6", + "z": 24459, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "56facb61-e746-48aa-ab6a-dee718c0f6c9": { + "id": "56facb61-e746-48aa-ab6a-dee718c0f6c9", + "z": 24460, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "9a0fda64-95c6-4e2e-b76d-b7f713e79415": { + "id": "9a0fda64-95c6-4e2e-b76d-b7f713e79415", + "z": 24389, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "1720c3a3-c41c-4573-8d3c-a9d305ad437e": { + "id": "1720c3a3-c41c-4573-8d3c-a9d305ad437e", + "z": 24390, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "8eedd904-16a0-4f3a-be32-6f39e1202d4c": { + "id": "8eedd904-16a0-4f3a-be32-6f39e1202d4c", + "z": 5049, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 620, + "y": 343 + }, + "2BPagoda": { + "x": 620, + "y": 343 + }, + "x": 620, + "y": 343 + }, + "f11610f9-9d2e-4160-9b70-a1d064940ca3": { + "id": "f11610f9-9d2e-4160-9b70-a1d064940ca3", + "z": 24438, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "abed8c4a-4ee1-4fdf-9f56-cab60ce4e304": { + "id": "abed8c4a-4ee1-4fdf-9f56-cab60ce4e304", + "z": 24461, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "251e7247-f058-462f-9aa7-69279ad4a491": { + "id": "251e7247-f058-462f-9aa7-69279ad4a491", + "z": 24439, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "6510e655-b6a6-4380-ab7e-cfbf857a31c0": { + "id": "6510e655-b6a6-4380-ab7e-cfbf857a31c0", + "z": 24418, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "abe91c08-99cb-4427-aa01-fa8ccd048084": { + "id": "abe91c08-99cb-4427-aa01-fa8ccd048084", + "z": 24462, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "9d304d21-e0b8-484f-b5e5-c83c62ecad1f": { + "id": "9d304d21-e0b8-484f-b5e5-c83c62ecad1f", + "z": 24463, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "aea5a550-333e-42a2-948f-7d4090816e50": { + "id": "aea5a550-333e-42a2-948f-7d4090816e50", + "z": 24440, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "babcf820-30c0-4efa-a966-aaf8e804779a": { + "id": "babcf820-30c0-4efa-a966-aaf8e804779a", + "z": 24391, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "db662b1b-5eb6-495f-8656-df72c54abbaf": { + "id": "db662b1b-5eb6-495f-8656-df72c54abbaf", + "z": 24419, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "c1c813b3-981c-421a-bd98-2d4e95f879e0": { + "id": "c1c813b3-981c-421a-bd98-2d4e95f879e0", + "z": 24441, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "057d166b-5f76-4b7a-ba18-d20aad695557": { + "id": "057d166b-5f76-4b7a-ba18-d20aad695557", + "z": 24464, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "59aa59e4-a86a-4d6e-8d0a-2b5836c9eb75": { + "id": "59aa59e4-a86a-4d6e-8d0a-2b5836c9eb75", + "z": 24442, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "cb74cfb1-41fa-4dd4-8e06-ded9d9c36506": { + "id": "cb74cfb1-41fa-4dd4-8e06-ded9d9c36506", + "z": 24392, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "744694e5-d728-4271-88ff-c7270f03bcad": { + "id": "744694e5-d728-4271-88ff-c7270f03bcad", + "x": 929, + "y": 877, + "z": 10078, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 929, + "y": 877 + }, + "2BPagoda": { + "x": 621, + "y": 876 + } + }, + "6a45a754-70e3-4ebd-87d5-6ef732f8e064": { + "id": "6a45a754-70e3-4ebd-87d5-6ef732f8e064", + "x": 6, + "y": 6, + "z": 24475, + "type": "card", + "deck": "orangeSpecials", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "orangeSpecialsHolder" + }, + "2e059fd9-3703-474f-98ed-41333c3d4da6": { + "id": "2e059fd9-3703-474f-98ed-41333c3d4da6", + "z": 24393, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "6a68d02b-9230-4e74-9539-a4f55b13acd7": { + "id": "6a68d02b-9230-4e74-9539-a4f55b13acd7", + "x": 56, + "y": 6, + "z": 24451, + "type": "card", + "deck": "tealSpecials", + "cardType": "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4", + "parent": "tealSpecialsHolder" + }, + "d9a02436-3799-48cb-a36f-761550ac74a2": { + "id": "d9a02436-3799-48cb-a36f-761550ac74a2", + "z": 24394, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "3e45941a-b001-472a-960e-6ae30dfe7949": { + "id": "3e45941a-b001-472a-960e-6ae30dfe7949", + "x": 58, + "y": 4, + "z": 24427, + "type": "card", + "deck": "purpleSpecials", + "cardType": "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4", + "hoverParent": "purpleSpecialsHolder", + "parent": "purpleSpecialsHolder" + }, + "3d876751-20c1-49e5-842a-fc6582f55e7b": { + "id": "3d876751-20c1-49e5-842a-fc6582f55e7b", + "z": 24443, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "8260eaa7-c846-43cb-9454-6d6086fe52d2": { + "id": "8260eaa7-c846-43cb-9454-6d6086fe52d2", + "x": 6, + "y": 6, + "z": 24452, + "type": "card", + "deck": "tealSpecials", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "tealSpecialsHolder" + }, + "0ab6dc03-d435-4f00-b5aa-e4f4a9755351": { + "id": "0ab6dc03-d435-4f00-b5aa-e4f4a9755351", + "z": 24395, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "d15a05f2-b831-4d9c-abeb-3f7e4ea15350": { + "id": "d15a05f2-b831-4d9c-abeb-3f7e4ea15350", + "z": 24465, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "7261d823-81d7-4abf-b2ab-17b139801dc5": { + "id": "7261d823-81d7-4abf-b2ab-17b139801dc5", + "z": 24444, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "d2c09058-fccf-4604-82c3-6fd1034ce132": { + "id": "d2c09058-fccf-4604-82c3-6fd1034ce132", + "z": 24396, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "d6ec113b-1f4a-41f0-a4b6-3719caf6324e": { + "id": "d6ec113b-1f4a-41f0-a4b6-3719caf6324e", + "z": 24466, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "738b00d2-04c5-449b-958c-c8f26c085b24": { + "id": "738b00d2-04c5-449b-958c-c8f26c085b24", + "z": 24445, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "a7f20de5-4706-4404-a1f8-6b065aacab25": { + "id": "a7f20de5-4706-4404-a1f8-6b065aacab25", + "z": 24420, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "ae6bf9a1-a77c-426a-8912-ad01eef6150a": { + "id": "ae6bf9a1-a77c-426a-8912-ad01eef6150a", + "z": 24421, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "927dfeec-a581-4a08-a681-5d5501596d59": { + "id": "927dfeec-a581-4a08-a681-5d5501596d59", + "z": 24397, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "c2c0d233-b85c-4943-b75b-d9d5a6e57929": { + "id": "c2c0d233-b85c-4943-b75b-d9d5a6e57929", + "z": 24398, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "6a8bf813-cf6a-4d23-94ab-ed892049887d": { + "id": "6a8bf813-cf6a-4d23-94ab-ed892049887d", + "z": 24446, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "808287fb-2a0f-470e-9740-0fcf1c35b319": { + "id": "808287fb-2a0f-470e-9740-0fcf1c35b319", + "z": 24399, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "fc32a037-81b5-46be-99a4-2d8c8feddace": { + "id": "fc32a037-81b5-46be-99a4-2d8c8feddace", + "z": 24467, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "5c9a042b-6b1a-413a-a1df-bebf8338c85f": { + "id": "5c9a042b-6b1a-413a-a1df-bebf8338c85f", + "z": 24400, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "fd36886e-44ae-4dbe-9794-3c44d2ed16a8_decrementButton": { + "id": "fd36886e-44ae-4dbe-9794-3c44d2ed16a8_decrementButton", + "parent": "seat3Score", + "x": 4, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "-", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat3Score", + "mode": "inc", + "value": -1 + } + ] + }, + "fd36886e-44ae-4dbe-9794-3c44d2ed16a8_incrementButton": { + "id": "fd36886e-44ae-4dbe-9794-3c44d2ed16a8_incrementButton", + "parent": "seat3Score", + "x": 100, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "+", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat3Score", + "mode": "inc", + "value": 1 + } + ] + }, + "f6500f56-ff77-4fe3-8604-f2c5d2e17676": { + "id": "f6500f56-ff77-4fe3-8604-f2c5d2e17676", + "z": 24447, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "bad0df35-6966-4a1b-9bcd-5a43a6539ecc": { + "id": "bad0df35-6966-4a1b-9bcd-5a43a6539ecc", + "z": 24422, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "474d8f9f-fca2-4d8f-9145-f26c19ee87ae": { + "id": "474d8f9f-fca2-4d8f-9145-f26c19ee87ae", + "x": 112, + "y": 4, + "z": 24406, + "type": "card", + "deck": "blackSpecials", + "cardType": "type-b0b5da2c-113d-4818-8276-4f122d786546", + "hoverParent": "blackSpecialsHolder", + "parent": "blackSpecialsHolder" + }, + "73362c02-9b7d-44da-9dde-55c80f9a2224": { + "id": "73362c02-9b7d-44da-9dde-55c80f9a2224", + "z": 24448, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "cded1726-40f9-40de-9a85-cf0d1e95c575": { + "id": "cded1726-40f9-40de-9a85-cf0d1e95c575", + "z": 24401, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "f567983d-7a22-4c70-ba5a-d0638717f1a3": { + "id": "f567983d-7a22-4c70-ba5a-d0638717f1a3", + "z": 24468, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "db306fee-5078-4c31-a04c-4ac06c84eeb1": { + "id": "db306fee-5078-4c31-a04c-4ac06c84eeb1", + "z": 24402, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "30650195-3c8a-493e-914e-5106ef43d1b3": { + "id": "30650195-3c8a-493e-914e-5106ef43d1b3", + "x": 4, + "y": 4, + "z": 24428, + "type": "card", + "deck": "purpleSpecials", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "hoverParent": "purpleSpecialsHolder", + "parent": "purpleSpecialsHolder" + }, + "81a97c64-3136-4e1b-806e-be396259f4d6": { + "id": "81a97c64-3136-4e1b-806e-be396259f4d6", + "z": 24403, + "type": "card", + "deck": "blackDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "v77l" + }, + "1195c6b6-600d-4ac2-97bc-7b8b58b3f373": { + "id": "1195c6b6-600d-4ac2-97bc-7b8b58b3f373", + "z": 24469, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "7223e608-37de-4304-bc4d-1bf2b5fe7f17": { + "id": "7223e608-37de-4304-bc4d-1bf2b5fe7f17", + "z": 24423, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "be05bd15-a631-4681-8d64-3d58dad78464": { + "id": "be05bd15-a631-4681-8d64-3d58dad78464", + "z": 24424, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "7e229d7f-fbcf-4d24-900e-7758ed121678": { + "id": "7e229d7f-fbcf-4d24-900e-7758ed121678", + "z": 24425, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "b82a3655-dc4a-438a-9e86-627f0421af4a": { + "id": "b82a3655-dc4a-438a-9e86-627f0421af4a", + "x": 112, + "y": 4, + "z": 24429, + "type": "card", + "deck": "purpleSpecials", + "cardType": "type-b0b5da2c-113d-4818-8276-4f122d786546", + "parent": "purpleSpecialsHolder" + }, + "91ffc20b-b6f9-459f-b239-24f266fcb87b_decrementButton": { + "id": "91ffc20b-b6f9-459f-b239-24f266fcb87b_decrementButton", + "parent": "seat2Score", + "x": 4, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "-", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat2Score", + "mode": "inc", + "value": -1 + } + ] + }, + "91ffc20b-b6f9-459f-b239-24f266fcb87b_incrementButton": { + "id": "91ffc20b-b6f9-459f-b239-24f266fcb87b_incrementButton", + "parent": "seat2Score", + "x": 100, + "y": -2, + "width": 36, + "height": 36, + "type": "button", + "movableInEdit": false, + "text": "+", + "clickRoutine": [ + { + "func": "LABEL", + "label": "seat2Score", + "mode": "inc", + "value": 1 + } + ] + }, + "964fdd93-0369-4cd7-beba-bd70124d9317": { + "id": "964fdd93-0369-4cd7-beba-bd70124d9317", + "x": 889, + "y": 276, + "z": 10077, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 889, + "y": 276 + }, + "2BPagoda": { + "x": 1082, + "y": 612 + } + }, + "da2f4b01-ec23-4dbf-b984-886510f4a4ab": { + "id": "da2f4b01-ec23-4dbf-b984-886510f4a4ab", + "z": 24426, + "type": "card", + "deck": "purpleDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "nns9" + }, + "d8a389d5-74a1-473b-968a-0ef7ac6c3eeb": { + "id": "d8a389d5-74a1-473b-968a-0ef7ac6c3eeb", + "z": 24449, + "type": "card", + "deck": "tealDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "67r0" + }, + "1e31fa5a-ff7f-40ee-ba0f-741cbac012f9": { + "id": "1e31fa5a-ff7f-40ee-ba0f-741cbac012f9", + "z": 24470, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "12f545cf-da6e-4782-98d4-10512833f5e1": { + "id": "12f545cf-da6e-4782-98d4-10512833f5e1", + "z": 24471, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "14e68902-efcb-4f79-9f8e-e6405e1b218a": { + "id": "14e68902-efcb-4f79-9f8e-e6405e1b218a", + "z": 24472, + "type": "card", + "deck": "orangeDeck", + "cardType": "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1", + "parent": "uvep" + }, + "eb41a386-2b18-40ce-bf59-de963e585407": { + "id": "eb41a386-2b18-40ce-bf59-de963e585407", + "x": 620, + "y": 2000, + "z": 10084, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-553c5e7a-db4c-4d64-bf03-093fb895271f", + "2BPagoda": { + "x": 928, + "y": 346 + }, + "2APagoda": { + "x": 620, + "y": 2000 + } + }, + "7c37cdad-92d4-4ef0-abd4-1c0894e573ed": { + "id": "7c37cdad-92d4-4ef0-abd4-1c0894e573ed", + "x": 620, + "y": 2000, + "z": 10085, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-553c5e7a-db4c-4d64-bf03-093fb895271f", + "2BPagoda": { + "x": 464, + "y": 611 + }, + "2APagoda": { + "x": 620, + "y": 2000 + } + }, + "e1bb10b2-723c-4b61-8504-03ce5d33efd7": { + "id": "e1bb10b2-723c-4b61-8504-03ce5d33efd7", + "x": 620, + "y": 2000, + "z": 10086, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-553c5e7a-db4c-4d64-bf03-093fb895271f", + "2BPagoda": { + "x": 927, + "y": 877 + }, + "2APagoda": { + "x": 620, + "y": 2000 + } + }, + "seat1": { + "type": "seat", + "id": "seat1", + "x": 47, + "y": 86, + "color": "black", + "colorEmpty": "black", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ], + "hideWhenUnused": true + }, + "seat2": { + "type": "seat", + "id": "seat2", + "x": 1366, + "y": 86, + "index": 2, + "linkedToSeat": "seat2", + "hideWhenUnused": true, + "color": "#00ffd5", + "colorEmpty": "#00ffd5", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "seat3": { + "type": "seat", + "id": "seat3", + "x": 1365, + "y": 536, + "index": 3, + "color": "#ffae00", + "colorEmpty": "#ffae00", + "hideWhenUnused": true, + "linkedToSeat": "seat3", + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "seat4": { + "type": "seat", + "id": "seat4", + "x": 47, + "y": 536, + "index": 4, + "color": "#b626df", + "colorEmpty": "#b626df", + "hideWhenUnused": true, + "clickRoutine": [ + { + "func": "CLICK", + "collection": "thisButton", + "mode": "ignoreClickRoutine" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "color", + "value": "${PROPERTY colorEmpty}" + } + ] + }, + "8uh4": { + "type": "dice", + "x": 222, + "y": 177, + "z": 6387, + "faces": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "id": "8uh4", + "color": "black", + "rollCount": 7, + "linkedToSeat": "seat1" + }, + "7jco": { + "type": "dice", + "x": 1314, + "y": 177, + "z": 6388, + "faces": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "id": "7jco", + "color": "#00ffd5", + "linkedToSeat": "seat2", + "hideWhenUnused": true + }, + "cjdj": { + "type": "dice", + "x": 1314, + "y": 635, + "z": 6389, + "faces": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "id": "cjdj", + "color": "#ffae00", + "linkedToSeat": "seat3" + }, + "h273": { + "type": "dice", + "x": 224, + "y": 634, + "z": 6390, + "faces": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "id": "h273", + "color": "#b626df", + "linkedToSeat": "seat4", + "hideWhenUnused": true, + "rollCount": 1 + }, + "nvi0": { + "type": "button", + "text": "End Turn", + "clickRoutine": [ + { + "func": "TURN" + } + ], + "x": 224, + "y": 75, + "z": 5171, + "id": "nvi0", + "hideWhenUnused": true, + "linkedToSeat": "seat1" + }, + "nvi1": { + "type": "button", + "text": "End Turn", + "clickRoutine": [ + { + "func": "TURN" + } + ], + "x": 224, + "y": 525, + "z": 5171, + "id": "nvi1", + "linkedToSeat": "seat4", + "hideWhenUnused": true + }, + "nvi2": { + "type": "button", + "text": "End Turn", + "clickRoutine": [ + { + "func": "TURN" + } + ], + "x": 1280, + "y": 525, + "z": 5171, + "id": "nvi2", + "linkedToSeat": "seat3" + }, + "nvi3": { + "type": "button", + "text": "End Turn", + "clickRoutine": [ + { + "func": "TURN" + } + ], + "x": 1280, + "y": 75, + "z": 5171, + "id": "nvi3", + "linkedToSeat": "seat2", + "hideWhenUnused": true + }, + "whiteDie": { + "type": "dice", + "id": "whiteDie", + "x": 782, + "z": 6386, + "activeFace": 2, + "rollCount": 3, + "y": -75 + }, + "setupBoardA": { + "type": "button", + "id": "setupBoardA", + "x": 381, + "y": 5, + "width": 100, + "height": 40, + "z": 5172, + "text": "Board A", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "random" + }, + { + "func": "INPUT", + "header": "Ready to start?", + "fields": [ + { + "type": "text", + "text": "Is everyone seated?" + } + ] + }, + { + "func": "SET", + "collection": [ + "boardB" + ], + "property": "display", + "value": false + }, + { + "func": "SET", + "collection": [ + "boardA" + ], + "property": "display", + "value": true + }, + { + "func": "RECALL", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "owned": false + }, + { + "func": "FLIP", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "face": 0 + }, + { + "func": "SELECT", + "property": "otherReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY otherReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2APagoda", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2APagoda OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + "var buttonY = ${PROPERTY y OF setupBoardA} - 400", + { + "func": "SET", + "collection": [ + "setupBoardA" + ], + "property": "y", + "value": "${buttonY}" + }, + "var buttonY = ${PROPERTY y OF setupBoardB} - 400", + { + "func": "SET", + "collection": [ + "setupBoardB" + ], + "property": "y", + "value": "${buttonY}" + }, + "var buttonY = ${PROPERTY y OF reset} + 125", + { + "func": "SET", + "collection": [ + "reset" + ], + "property": "y", + "value": "${buttonY}" + }, + "var playerCount = length ${activeSeats}", + "var 2p = ${playerCount} < 3", + "var 4p = ${playerCount} == 4", + { + "func": "IF", + "condition": "${4p}", + "thenRoutine": [ + { + "func": "MOVE", + "count": 3, + "from": "blackHolder", + "to": "offHolder", + "face": 1 + }, + { + "func": "MOVE", + "count": 3, + "from": "purpleHolder", + "to": "offHolder", + "face": 1 + }, + { + "func": "MOVE", + "count": 3, + "from": "orangeHolder", + "to": "offHolder", + "face": 1 + }, + { + "func": "MOVE", + "count": 3, + "from": "tealHolder", + "to": "offHolder", + "face": 1 + } + ], + "elseRoutine": [ + { + "func": "IF", + "condition": "${2p}", + "thenRoutine": [ + { + "func": "CLICK", + "collection": [ + "2ABoard" + ] + } + ] + } + ] + } + ] + }, + "boardB": { + "id": "boardB", + "x": 300, + "y": 60, + "width": 1000, + "height": 888, + "layer": -4, + "z": 4933, + "movable": false, + "image": "/assets/-204920953_33312", + "display": false + }, + "boardA": { + "id": "boardA", + "x": 300, + "y": 60, + "width": 1000, + "height": 888, + "layer": -4, + "z": 2640, + "movable": false, + "image": "/assets/-615974834_33324" + }, + "reset": { + "type": "button", + "id": "reset", + "x": 441, + "z": 5170, + "text": "Reset", + "clickRoutine": [ + { + "func": "INPUT", + "header": "Reset?", + "fields": [ + { + "type": "text", + "text": "Reset the game board?" + } + ] + }, + { + "func": "SET", + "collection": [ + "boardB" + ], + "property": "display", + "value": false + }, + { + "func": "SET", + "collection": [ + "boardA" + ], + "property": "display", + "value": true + }, + { + "func": "RECALL", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "owned": false + }, + { + "func": "FLIP", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "face": 0 + }, + { + "func": "SET", + "collection": [ + "seat1Score", + "seat2Score", + "seat3Score", + "seat4Score" + ], + "property": "text", + "value": 0 + }, + { + "func": "SELECT", + "property": "otherReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY otherReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2APagoda", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2APagoda OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + "var buttonY = ${PROPERTY y OF setupBoardA} + 400", + { + "func": "SET", + "collection": [ + "setupBoardA" + ], + "property": "y", + "value": "${buttonY}" + }, + "var buttonY = ${PROPERTY y OF setupBoardB} + 400", + { + "func": "SET", + "collection": [ + "setupBoardB" + ], + "property": "y", + "value": "${buttonY}" + }, + "var buttonY = ${PROPERTY y OF reset} - 125", + { + "func": "SET", + "collection": [ + "reset" + ], + "property": "y", + "value": "${buttonY}" + }, + { + "func": "CALL", + "routine": "gameStartRoutine" + } + ], + "width": 100, + "height": 40, + "y": -96, + "gameStartRoutine": [ + { + "func": "FLIP", + "collection": [ + "goal1", + "goal2" + ], + "faceCycle": "random" + } + ] + }, + "tealHolder": { + "type": "holder", + "id": "tealHolder", + "x": 1414.39, + "y": 170.91, + "width": 62, + "height": 62, + "z": 277, + "inheritChildZ": true, + "dropOffsetX": 6, + "dropOffsetY": 6, + "dropTarget": [ + { + "deck": "tealDeck" + } + ], + "linkedToSeat": "seat2", + "hideWhenUnused": true + }, + "tealDeck": { + "type": "deck", + "id": "tealDeck", + "parent": "tealHolder", + "x": -12, + "y": -12, + "z": 307, + "cardDefaults": { + "width": 50, + "height": 50 + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "black standard", + "sortingOrder": 1 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/-1846597079_521", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/1117406649_1604", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "tealSpecials": { + "type": "deck", + "id": "tealSpecials", + "parent": "tealSpecialsHolder", + "x": 38, + "y": -12.000000000000028, + "z": 5547, + "cardDefaults": { + "width": 50, + "height": 50, + "overlap": false + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "teal neighbour", + "image1": "", + "image": "/assets/-1031337013_565", + "sortingOrder": 1 + }, + "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4": { + "label": "teal wind", + "image": "/assets/-1331701761_889", + "sortingOrder": 2 + }, + "type-b0b5da2c-113d-4818-8276-4f122d786546": { + "label": "teal share", + "image1": "", + "image": "/assets/1149542000_728", + "sortingOrder": 3 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image1" + } + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/1117406649_1604", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "tealSpecialsHolder": { + "type": "holder", + "id": "tealSpecialsHolder", + "x": 1366.07, + "y": 257.22, + "width": 162, + "height": 62, + "z": 4680, + "dropTarget": [ + { + "deck": "tealSpecials" + } + ], + "preventPiles": true, + "stackOffsetX": 111, + "linkedToSeat": "seat2", + "hideWhenUnused": true + }, + "orangeHolder": { + "type": "holder", + "id": "orangeHolder", + "x": 1413.11, + "y": 627.56, + "width": 62, + "height": 62, + "z": 306, + "inheritChildZ": true, + "dropOffsetX": 6, + "dropOffsetY": 6, + "dropTarget": [ + { + "deck": "orangeDeck" + } + ], + "linkedToSeat": "seat3" + }, + "orangeDeck": { + "type": "deck", + "id": "orangeDeck", + "parent": "orangeHolder", + "x": -12, + "y": -12, + "z": 372, + "cardDefaults": { + "width": 50, + "height": 50 + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "black standard", + "sortingOrder": 1 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/-1445173039_521", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/-688596875_1604", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "orangeSpecialsHolder": { + "type": "holder", + "id": "orangeSpecialsHolder", + "x": 1363.26, + "y": 716.13, + "width": 162, + "height": 62, + "z": 5739, + "dropOffsetX": 51, + "dropTarget": [ + { + "deck": "orangeSpecials" + } + ], + "preventPiles": true, + "stackOffsetX": -111, + "linkedToSeat": "seat3" + }, + "orangeSpecials": { + "type": "deck", + "id": "orangeSpecials", + "parent": "orangeSpecialsHolder", + "x": 38, + "y": -12, + "z": 5553, + "cardDefaults": { + "width": 50, + "height": 50, + "overlap": false + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "black neighbour", + "image1": "", + "image": "/assets/46002597_565", + "sortingOrder": 1 + }, + "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4": { + "label": "black wind", + "image": "/assets/1591205177_889", + "sortingOrder": 2 + }, + "type-b0b5da2c-113d-4818-8276-4f122d786546": { + "label": "black share", + "image1": "", + "image": "/assets/-1548614177_728", + "sortingOrder": 3 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image1" + } + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/-688596875_1604", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "purpleHolder": { + "type": "holder", + "id": "purpleHolder", + "x": 92.3, + "y": 631.06, + "width": 62, + "height": 62, + "z": 3567, + "inheritChildZ": true, + "dropOffsetX": 6, + "dropOffsetY": 6, + "dropTarget": [ + { + "deck": "purpleDeck" + } + ], + "linkedToSeat": "seat4", + "hideWhenUnused": true + }, + "purpleDeck": { + "type": "deck", + "id": "purpleDeck", + "parent": "purpleHolder", + "x": -12, + "y": -12, + "z": 3569, + "cardDefaults": { + "width": 50, + "height": 50 + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "purple standard", + "sortingOrder": 1 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/-174494427_521", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/961243997_1604", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "purpleSpecialsHolder": { + "type": "holder", + "id": "purpleSpecialsHolder", + "x": 42.89, + "y": 717.91, + "width": 162, + "height": 62, + "z": 5690, + "dropTarget": [ + { + "deck": "purpleSpecials" + } + ], + "preventPiles": true, + "stackOffsetX": -111, + "linkedToSeat": "seat4", + "hideWhenUnused": true + }, + "purpleSpecials": { + "type": "deck", + "id": "purpleSpecials", + "parent": "purpleSpecialsHolder", + "x": 38, + "y": -12, + "z": 5541, + "cardDefaults": { + "width": 50, + "height": 50, + "overlap": false + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "purple neighbour", + "image1": "", + "image": "/assets/838130514_565", + "sortingOrder": 1 + }, + "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4": { + "label": "purple wind", + "image": "/assets/1689731655_889", + "sortingOrder": 2 + }, + "type-b0b5da2c-113d-4818-8276-4f122d786546": { + "label": "purple share", + "image1": "", + "image": "/assets/-889532612_728", + "sortingOrder": 3 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image1" + } + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/961243997_1604", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "blackHolder": { + "type": "holder", + "id": "blackHolder", + "x": 93.55, + "y": 168.4, + "width": 62, + "height": 62, + "z": 268, + "inheritChildZ": true, + "dropOffsetX": 6, + "dropOffsetY": 6, + "dropTarget": [ + { + "deck": "blackDeck" + } + ], + "hideWhenUnused": true, + "linkedToSeat": "seat1" + }, + "blackDeck": { + "type": "deck", + "id": "blackDeck", + "parent": "blackHolder", + "x": -12, + "y": -12, + "z": 379, + "cardDefaults": { + "width": 50, + "height": 50 + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "black standard", + "sortingOrder": 1 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/-2048626508_518", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/696058306_1601", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "blackSpecialsHolder": { + "type": "holder", + "id": "blackSpecialsHolder", + "x": 44.43, + "y": 255.21, + "width": 162, + "height": 62, + "z": 5684, + "dropTarget": [ + { + "deck": "blackSpecials" + } + ], + "preventPiles": true, + "stackOffsetX": 111, + "hideWhenUnused": true, + "linkedToSeat": "seat1" + }, + "blackSpecials": { + "type": "deck", + "id": "blackSpecials", + "parent": "blackSpecialsHolder", + "x": 38.00000000000001, + "y": -12, + "z": 5535, + "cardDefaults": { + "width": 50, + "height": 50, + "overlap": false + }, + "cardTypes": { + "type-9f8ed78e-ec01-43cd-aeb9-10548e2b84a1": { + "label": "black neighbour", + "image1": "", + "image": "/assets/-1302946465_565", + "sortingOrder": 1 + }, + "type-7e3a5dfc-2369-4fbf-914d-db1890946dc4": { + "label": "black wind", + "image": "/assets/725845089_889", + "sortingOrder": 2 + }, + "type-b0b5da2c-113d-4818-8276-4f122d786546": { + "label": "black share", + "image1": "", + "image": "/assets/1759771905_728", + "sortingOrder": 3 + } + }, + "faceTemplates": [ + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image1" + } + } + ], + "border": false, + "radius": false + }, + { + "objects": [ + { + "width": 50, + "height": 50, + "type": "image", + "color": "transparent", + "value": "" + }, + { + "type": "image", + "x": 0, + "y": 0, + "color": "transparent", + "width": 50, + "height": 50, + "dynamicProperties": { + "value": "image" + } + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + }, + { + "type": "image", + "x": 0, + "y": 0, + "value": "/assets/696058306_1601", + "color": "rgba(255, 255, 255, 0)", + "width": 50, + "height": 50 + } + ], + "border": false, + "radius": false + } + ] + }, + "j59m of plain-circle": { + "type": "card", + "id": "j59m of plain-circle", + "deck": "boardBBlockers", + "cardType": " of plain-circle", + "z": 12327, + "2BReset": { + "x": 694, + "y": 208 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 655, + "y": 406 + }, + "x": 2000, + "y": 2000 + }, + "mv39": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "mv39", + "z": 8299, + "2BReset": { + "x": 652, + "y": 276 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 731, + "y": 542 + }, + "x": 2000, + "y": 2000 + }, + "prvc": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "prvc", + "z": 8295, + "activeFace": 1, + "2BReset": { + "x": 884, + "y": 273 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 926, + "y": 342 + }, + "x": 2000, + "y": 2000 + }, + "n7bo": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "n7bo", + "z": 7535, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 806, + "y": 541 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 806, + "y": 541 + } + }, + "ab38": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "ab38", + "z": 8301, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 770, + "y": 606 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 693, + "y": 608 + } + }, + "2hg9": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "2hg9", + "z": 8300, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 694, + "y": 608 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 883, + "y": 542 + } + }, + "jfnk": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "jfnk", + "z": 8302, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 808, + "y": 675 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 578, + "y": 675 + } + }, + "nzui": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "nzui", + "z": 8314, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 1115, + "y": 675 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 1077, + "y": 739 + } + }, + "ouhw": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "ouhw", + "z": 8313, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 1156, + "y": 743 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 1039, + "y": 808 + } + }, + "xds4": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "xds4", + "z": 8312, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 997, + "y": 875 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 1120, + "y": 807 + } + }, + "fxmn": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "fxmn", + "z": 8304, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 541, + "y": 874 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 461, + "y": 740 + } + }, + "z4xg": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "z4xg", + "z": 8303, + "activeFace": 1, + "2BReset": { + "x": 463, + "y": 872 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 385, + "y": 743 + }, + "x": 2000, + "y": 2000 + }, + "8cal": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "8cal", + "z": 7248, + "activeFace": 1, + "x": 2000, + "y": 2000, + "2BReset": { + "x": 425, + "y": 676 + }, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 425, + "y": 676 + } + }, + "boardBBlockers": { + "type": "deck", + "id": "boardBBlockers", + "x": 597, + "y": 107, + "movable": false, + "cardDefaults": { + "width": 60, + "height": 60, + "movable": false, + "onPileCreation": { + "nothing": "nothing" + } + }, + "cardTypes": { + " of plain-circle": { + "suit": "/i/game-icons.net/delapouite/plain-circle.svg", + "suitColor": "#f7f7f7", + "rank": "", + "rankImage": "/i/game-icons.net/delapouite/plain-circle.svg" + } + }, + "faceTemplates": [ + { + "objects": [ + { + "type": "image", + "width": 60, + "height": 60, + "color": "#fcfcfc", + "svgReplaces": { + "#000": "suitColor" + }, + "dynamicProperties": { + "value": "suit" + } + } + ], + "radius": 30, + "border": 5 + } + ] + }, + "2BBoard": { + "type": "button", + "id": "2BBoard", + "x": -200, + "y": 57, + "width": 100, + "height": 40, + "z": 5175, + "text": "Board B for 2 player", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "random" + }, + { + "func": "SET", + "collection": [ + "boardA" + ], + "property": "display", + "value": false + }, + { + "func": "SET", + "collection": [ + "boardB" + ], + "property": "display", + "value": true + }, + { + "func": "RECALL", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "owned": false + }, + { + "func": "FLIP", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "face": 0 + }, + { + "func": "SELECT", + "property": "otherReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY otherReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2BReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2BReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2BPagoda", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2BPagoda OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + } + ] + }, + "o8sw": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "o8sw", + "z": 8283, + "x": 2000, + "y": 2000, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 769, + "y": 74 + } + }, + "t08s": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "t08s", + "z": 12512, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 732, + "y": 141 + }, + "x": 2000, + "y": 2000 + }, + "rzwj": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "rzwj", + "z": 10459, + "activeFace": 1, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 463, + "y": 876 + }, + "x": 2000, + "y": 2000 + }, + "bvdt": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "bvdt", + "z": 8306, + "activeFace": 1, + "x": 2000, + "y": 2000, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 693, + "y": 873 + } + }, + "x9fn": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "x9fn", + "z": 8307, + "activeFace": 1, + "x": 2000, + "y": 2000, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 772, + "y": 876 + } + }, + "nrc0": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "nrc0", + "z": 8308, + "activeFace": 1, + "x": 2000, + "y": 2000, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 850, + "y": 874 + } + }, + "iimw": { + "deck": "boardBBlockers", + "type": "card", + "cardType": " of plain-circle", + "id": "iimw", + "z": 8315, + "activeFace": 1, + "x": 2000, + "y": 2000, + "otherReset": { + "x": 2000, + "y": 2000 + }, + "2AReset": { + "x": 1074, + "y": 607 + } + }, + "8eedd904-16a0-4f3a-be32-6f39e1202d5c": { + "id": "8eedd904-16a0-4f3a-be32-6f39e1202d5c", + "x": 1044, + "y": 544, + "z": 10081, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 1044, + "y": 544 + }, + "2BPagoda": { + "x": 927, + "y": 2000 + } + }, + "8eedd904-16a0-4f3a-be32-6f39e1202d6c": { + "id": "8eedd904-16a0-4f3a-be32-6f39e1202d6c", + "x": 391, + "y": 872, + "z": 10080, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 391, + "y": 872 + }, + "2BPagoda": { + "x": 927, + "y": 2000 + } + }, + "8eedd904-16a0-4f3a-be32-6f39e1202d7c": { + "id": "8eedd904-16a0-4f3a-be32-6f39e1202d7c", + "x": 469, + "y": 612, + "z": 10083, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 469, + "y": 612 + }, + "2BPagoda": { + "x": 927, + "y": 2000 + } + }, + "8eedd904-16a0-4f3a-be32-6f39e1202d8c": { + "id": "8eedd904-16a0-4f3a-be32-6f39e1202d8c", + "x": 1198, + "y": 809, + "z": 10087, + "type": "card", + "deck": "59869004-b3db-4c60-bd64-f0940fb9b27e", + "cardType": "type-0c796687-dc9c-4688-b9ce-7709d00344d8", + "2APagoda": { + "x": 1198, + "y": 809 + }, + "2BPagoda": { + "x": 927, + "y": 2000 + } + }, + "setupBoardB": { + "type": "button", + "id": "setupBoardB", + "x": 491, + "y": 5, + "width": 100, + "height": 40, + "z": 5173, + "text": "Board B", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "random" + }, + { + "func": "INPUT", + "header": "Ready to start?", + "fields": [ + { + "type": "text", + "text": "Is everyone seated?" + } + ] + }, + { + "func": "SET", + "collection": [ + "boardA" + ], + "property": "display", + "value": false + }, + { + "func": "SET", + "collection": [ + "boardB" + ], + "property": "display", + "value": true + }, + { + "func": "RECALL", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "owned": false + }, + { + "func": "FLIP", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "face": 0 + }, + { + "func": "SELECT", + "property": "otherReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY otherReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2BPagoda", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2BPagoda OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + "var buttonY = ${PROPERTY y OF setupBoardA} - 400", + { + "func": "SET", + "collection": [ + "setupBoardA" + ], + "property": "y", + "value": "${buttonY}" + }, + "var buttonY = ${PROPERTY y OF setupBoardB} - 400", + { + "func": "SET", + "collection": [ + "setupBoardB" + ], + "property": "y", + "value": "${buttonY}" + }, + "var buttonY = ${PROPERTY y OF reset} + 125", + { + "func": "SET", + "collection": [ + "reset" + ], + "property": "y", + "value": "${buttonY}" + }, + "var playerCount = length ${activeSeats}", + "var 2p = ${playerCount} < 3", + "var 4p = ${playerCount} == 4", + { + "func": "IF", + "condition": "${4p}", + "thenRoutine": [ + { + "func": "MOVE", + "count": 3, + "from": "blackHolder", + "to": "offHolder", + "face": 1 + }, + { + "func": "MOVE", + "count": 3, + "from": "purpleHolder", + "to": "offHolder", + "face": 1 + }, + { + "func": "MOVE", + "count": 3, + "from": "orangeHolder", + "to": "offHolder", + "face": 1 + }, + { + "func": "MOVE", + "count": 3, + "from": "tealHolder", + "to": "offHolder", + "face": 1 + } + ], + "elseRoutine": [ + { + "func": "IF", + "condition": "${2p}", + "thenRoutine": [ + { + "func": "CLICK", + "collection": [ + "2BBoard" + ] + } + ] + } + ] + } + ] + }, + "2ABoard": { + "type": "button", + "id": "2ABoard", + "x": -300, + "y": 57, + "width": 100, + "height": 40, + "z": 5174, + "text": "Board A for 2 player", + "clickRoutine": [ + { + "func": "TURN", + "turnCycle": "random" + }, + { + "func": "SET", + "collection": [ + "boardB" + ], + "property": "display", + "value": false + }, + { + "func": "SET", + "collection": [ + "boardA" + ], + "property": "display", + "value": true + }, + { + "func": "RECALL", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "owned": false + }, + { + "func": "FLIP", + "holder": [ + "blackHolder", + "blackSpecialsHolder", + "purpleHolder", + "purpleSpecialsHolder", + "tealHolder", + "tealSpecialsHolder", + "orangeHolder", + "orangeSpecialsHolder" + ], + "face": 0 + }, + { + "func": "SELECT", + "property": "otherReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY otherReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2AReset", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2AReset OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + }, + { + "func": "SELECT", + "property": "2APagoda", + "relation": "!=", + "value": null + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "FOREACH", + "in": "${PROPERTY 2APagoda OF $widgetID}", + "loopRoutine": [ + { + "func": "SET", + "property": "${key}", + "value": "${value}" + } + ] + } + ] + } + ] + }, + "offHolder": { + "type": "holder", + "id": "offHolder", + "x": 903, + "y": -202, + "width": 50, + "height": 50, + "z": 5740 + }, + "goal1": { + "type": "card", + "id": "goal1", + "deck": "afbf392d-45e9-4abc-8d9c-99995bd1c11e", + "cardType": "chooser", + "x": 953, + "y": 17, + "z": 5070, + "activeFace": 5 + }, + "goal2": { + "type": "card", + "id": "goal2", + "deck": "afbf392d-45e9-4abc-8d9c-99995bd1c11e", + "cardType": "chooser", + "x": 1089, + "y": 17, + "z": 5069, + "activeFace": 2 + }, + "balloon": { + "id": "balloon", + "x": 769, + "width": 60.4, + "height": 60, + "z": 6471, + "color": "#ff0000", + "css": "border-radius: 40% 40% 50% 50%/ 80% 80% 10% 10%; ", + "image": "/i/game-icons.net/delapouite/air-balloon.svg", + "svgReplaces": { + "#000": "newColor" + }, + "otherReset": { + "x": 769, + "y": 0 + }, + "newColor": "red" + }, + "seat1Score": { + "type": "label", + "id": "seat1Score", + "x": 58, + "y": 29.02, + "width": 140, + "height": 44, + "z": 71, + "css": "font-size: 30px;color: black", + "editable": true, + "linkedToSeat": "seat1", + "text": 0 + }, + "seat2Score": { + "type": "label", + "id": "seat2Score", + "x": 1377, + "y": 29.68, + "width": 140, + "height": 44, + "z": 67, + "css": "font-size: 30px;color: black", + "editable": true, + "linkedToSeat": "seat2", + "text": 0 + }, + "seat3Score": { + "type": "label", + "id": "seat3Score", + "x": 1377, + "y": 486.15, + "width": 140, + "height": 44, + "z": 70, + "css": "font-size: 30px;color: black", + "editable": true, + "linkedToSeat": "seat3", + "text": 0 + }, + "seat4Score": { + "type": "label", + "id": "seat4Score", + "x": 58, + "y": 483.16, + "width": 140, + "height": 44, + "z": 64, + "css": "font-size: 30px;color: black", + "editable": true, + "linkedToSeat": "seat4", + "text": 0 + } +} \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-1031337013_565 b/library/games/Happy Landings/assets/-1031337013_565 new file mode 100644 index 0000000000..31da09dd8c --- /dev/null +++ b/library/games/Happy Landings/assets/-1031337013_565 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-1302946465_565 b/library/games/Happy Landings/assets/-1302946465_565 new file mode 100644 index 0000000000..3bbfe88ee3 --- /dev/null +++ b/library/games/Happy Landings/assets/-1302946465_565 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-1331701761_889 b/library/games/Happy Landings/assets/-1331701761_889 new file mode 100644 index 0000000000..2cd1b8096f --- /dev/null +++ b/library/games/Happy Landings/assets/-1331701761_889 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-1445173039_521 b/library/games/Happy Landings/assets/-1445173039_521 new file mode 100644 index 0000000000..31e4cf0220 --- /dev/null +++ b/library/games/Happy Landings/assets/-1445173039_521 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-1548614177_728 b/library/games/Happy Landings/assets/-1548614177_728 new file mode 100644 index 0000000000..32766892c5 --- /dev/null +++ b/library/games/Happy Landings/assets/-1548614177_728 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-174494427_521 b/library/games/Happy Landings/assets/-174494427_521 new file mode 100644 index 0000000000..67e893a167 --- /dev/null +++ b/library/games/Happy Landings/assets/-174494427_521 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-1846597079_521 b/library/games/Happy Landings/assets/-1846597079_521 new file mode 100644 index 0000000000..0c1973e33f --- /dev/null +++ b/library/games/Happy Landings/assets/-1846597079_521 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-2048626508_518 b/library/games/Happy Landings/assets/-2048626508_518 new file mode 100644 index 0000000000..4c80b8d5a2 --- /dev/null +++ b/library/games/Happy Landings/assets/-2048626508_518 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-204920953_33312 b/library/games/Happy Landings/assets/-204920953_33312 new file mode 100644 index 0000000000..f1f27021e5 --- /dev/null +++ b/library/games/Happy Landings/assets/-204920953_33312 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-350134830_3780 b/library/games/Happy Landings/assets/-350134830_3780 new file mode 100644 index 0000000000..5467f99b6d --- /dev/null +++ b/library/games/Happy Landings/assets/-350134830_3780 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-615974834_33324 b/library/games/Happy Landings/assets/-615974834_33324 new file mode 100644 index 0000000000..d414fdd7eb --- /dev/null +++ b/library/games/Happy Landings/assets/-615974834_33324 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-688596875_1604 b/library/games/Happy Landings/assets/-688596875_1604 new file mode 100644 index 0000000000..3907ef37cd --- /dev/null +++ b/library/games/Happy Landings/assets/-688596875_1604 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/-889532612_728 b/library/games/Happy Landings/assets/-889532612_728 new file mode 100644 index 0000000000..5ab8d9a667 --- /dev/null +++ b/library/games/Happy Landings/assets/-889532612_728 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1102741850_3782 b/library/games/Happy Landings/assets/1102741850_3782 new file mode 100644 index 0000000000..db0f761104 --- /dev/null +++ b/library/games/Happy Landings/assets/1102741850_3782 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1117406649_1604 b/library/games/Happy Landings/assets/1117406649_1604 new file mode 100644 index 0000000000..9e5460212b --- /dev/null +++ b/library/games/Happy Landings/assets/1117406649_1604 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1149542000_728 b/library/games/Happy Landings/assets/1149542000_728 new file mode 100644 index 0000000000..fa67cb9df1 --- /dev/null +++ b/library/games/Happy Landings/assets/1149542000_728 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1477033782_3780 b/library/games/Happy Landings/assets/1477033782_3780 new file mode 100644 index 0000000000..77380ea263 --- /dev/null +++ b/library/games/Happy Landings/assets/1477033782_3780 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1591205177_889 b/library/games/Happy Landings/assets/1591205177_889 new file mode 100644 index 0000000000..84de9dd650 --- /dev/null +++ b/library/games/Happy Landings/assets/1591205177_889 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1689731655_889 b/library/games/Happy Landings/assets/1689731655_889 new file mode 100644 index 0000000000..ebf891d912 --- /dev/null +++ b/library/games/Happy Landings/assets/1689731655_889 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1759771905_728 b/library/games/Happy Landings/assets/1759771905_728 new file mode 100644 index 0000000000..8585f137d3 --- /dev/null +++ b/library/games/Happy Landings/assets/1759771905_728 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/1955387621_478168 b/library/games/Happy Landings/assets/1955387621_478168 new file mode 100644 index 0000000000..9f47042162 Binary files /dev/null and b/library/games/Happy Landings/assets/1955387621_478168 differ diff --git a/library/games/Happy Landings/assets/46002597_565 b/library/games/Happy Landings/assets/46002597_565 new file mode 100644 index 0000000000..438f991aa1 --- /dev/null +++ b/library/games/Happy Landings/assets/46002597_565 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/696058306_1601 b/library/games/Happy Landings/assets/696058306_1601 new file mode 100644 index 0000000000..5c0c538530 --- /dev/null +++ b/library/games/Happy Landings/assets/696058306_1601 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/725845089_889 b/library/games/Happy Landings/assets/725845089_889 new file mode 100644 index 0000000000..3526f82937 --- /dev/null +++ b/library/games/Happy Landings/assets/725845089_889 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/838130514_565 b/library/games/Happy Landings/assets/838130514_565 new file mode 100644 index 0000000000..63d76a05b8 --- /dev/null +++ b/library/games/Happy Landings/assets/838130514_565 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/games/Happy Landings/assets/961243997_1604 b/library/games/Happy Landings/assets/961243997_1604 new file mode 100644 index 0000000000..f6bc565aa2 --- /dev/null +++ b/library/games/Happy Landings/assets/961243997_1604 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/library/tutorials/Icons_ Symbols_ and Emojis/0.json b/library/tutorials/Icons_ Symbols_ and Emojis/0.json new file mode 100644 index 0000000000..81bc4103b4 --- /dev/null +++ b/library/tutorials/Icons_ Symbols_ and Emojis/0.json @@ -0,0 +1,436 @@ +{ + "_meta": { + "version": 17, + "info": { + "name": "Icons, Symbols, and Emojis", + "image": "/assets/1923406359_3510", + "rules": "", + "bgg": "", + "year": "", + "mode": "Tutorial", + "time": "0", + "attribution": "", + "lastUpdate": 1737418482866, + "showName": false, + "skill": "", + "description": "", + "similarImage": "", + "similarName": "", + "similarDesigner": "", + "similarAwards": "", + "ruleText": "", + "helpText": "", + "variantImage": "", + "variant": "CSS", + "language": "en-US", + "players": "1" + } + }, + "header": { + "id": "header", + "x": 300, + "y": -2, + "height": 60, + "z": 74, + "movable": false, + "movableInEdit": false, + "css": "font-size: 60px;text-align:center", + "text": "Icons, Symbols, and Emojis: CSS", + "width": 1000 + }, + "mainText": { + "id": "mainText", + "x": 100, + "y": 100, + "width": 1405, + "height": 150, + "layer": -3, + "z": 124, + "css": "font-size: 25px; ", + "movable": false, + "html": "The items below are expressed in VTT as either a `text` property or an `image` property. See the Fonts and Symbols wiki page for additional information about which items can be text, which images, and which can be either. In each group, the top left item has limited css applied. The top right item uses a varierty of different drop-shadow techniques. The lower left image demonstrates borderRadius (a special VTT property) and box-shadow. The bottom right image is clickable and uses a transition to show the difference between filter attributes (from left to right): blur, brightness, contrast, saturation." + }, + "button1Text": { + "id": "button1Text", + "x": 60, + "y": 587, + "width": 300, + "z": 185, + "movable": false, + "text": "The paint buckets are from game-icons.net and are expressed in the image property. Open the JSON Editor and select one. Put the cursor on the image property and a button appears at the top of the row of buttons allowing you to choose another image.\n\nThe top right paint bucket has this `filter` css: `drop-shadow(0 0 5px gold)`. The first value is the horizontal offset in pixels. It can be negative. The second value is the vertical offset in pixels and it can also be negative. The third value is the amount of blur (in pixels) for the shadow. The last value is the shadow color. " + }, + "button2Text": { + "id": "button2Text", + "x": 410, + "y": 587, + "width": 300, + "z": 121, + "movable": false, + "text": "The buses are part of the material symbols font and are expressed in the text property. To see some font options, put the cursor on the classes property in a widget above. Then put the cursor on the text value and you will get a button to change to one of the many symbols available. Some css appears on all of these widgets for basic formatting: font-size (self-explanatory); display, justify-content, align-items (used to center the image inside the widget); color (self-explanatory).\n\nThe bottom left bus has this `box-shadow` css: `5px 5px 10px 2px #4c556a`. The values are for the horizontal and vertical spread and color." + }, + "button3Text": { + "id": "button3Text", + "x": 760, + "y": 587, + "width": 300, + "z": 9732, + "movable": false, + "text": "The pumpkins are part of the (monocolor) emoji font that is expressed through the classes and text properties like the buses. They have the same css as the buses to size, center, and color the pumpkins.\n\nThe bottom left pumpkin combines box-shadow and drop-shadow." + }, + "background": { + "id": "background", + "width": 1600, + "height": 1000, + "layer": -4, + "z": 94, + "movable": false, + "movableInEdit": false, + "css": { + "background-color": "#96a7cf" + } + }, + "example2": { + "id": "example2", + "x": 210, + "y": 292, + "z": 10098, + "css": { + "filter": "drop-shadow(0 0 5px gold)" + }, + "image": "/i/game-icons.net/delapouite/paint-bucket.svg", + "movable": false + }, + "example1": { + "id": "example1", + "x": 100, + "y": 292, + "z": 10097, + "image": "/i/game-icons.net/delapouite/paint-bucket.svg", + "movable": false + }, + "example3": { + "id": "example3", + "x": 100, + "y": 416, + "z": 10100, + "css": { + "box-shadow": "0 0 10px 2px #4c556a" + }, + "image": "/i/game-icons.net/delapouite/paint-bucket.svg", + "movable": false + }, + "example4": { + "id": "example4", + "x": 210, + "y": 416, + "z": 10099, + "css": { + "filter": "blur(${PROPERTY blur}px)", + "transition": "linear 0.5s" + }, + "image": "/i/game-icons.net/delapouite/paint-bucket.svg", + "movable": false, + "clickRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY blur}", + "operand2": 5, + "thenRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "blur", + "value": 0 + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "blur", + "value": 5 + } + ] + } + ], + "blur": 5 + }, + "example5": { + "id": "example5", + "x": 570, + "y": 292, + "z": 10098, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#2d5da8", + "filter": "drop-shadow(-7px 0 6px #2d5da8bb)" + }, + "movable": false, + "classes": "material-symbols", + "text": "directions_bus" + }, + "example6": { + "id": "example6", + "x": 460, + "y": 292, + "z": 10097, + "movable": false, + "classes": "material-symbols", + "text": "directions_bus", + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#2d5da8" + } + }, + "example7": { + "id": "example7", + "x": 460, + "y": 416, + "z": 10100, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#2d5da8", + "box-shadow": "5px 5px 10px 2px #4c556a" + }, + "borderRadius": 8, + "movable": false, + "classes": "material-symbols", + "text": "directions_bus" + }, + "example8": { + "id": "example8", + "x": 570, + "y": 416, + "z": 10099, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#2d5da8", + "filter": "brightness(${PROPERTY brightness})", + "transition": "linear 0.5s" + }, + "movable": false, + "clickRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY brightness}", + "operand2": 0.5, + "thenRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "brightness", + "value": 1.5 + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "brightness", + "value": 0.5 + } + ] + } + ], + "classes": "material-symbols", + "text": "directions_bus", + "brightness": 0.5 + }, + "example9": { + "id": "example9", + "x": 919, + "y": 292, + "z": 10098, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c", + "filter": "drop-shadow(2px 2px 2px #000000)" + }, + "movable": false, + "text": "πŸŽƒ", + "classes": "emoji-monochrome" + }, + "example10": { + "id": "example10", + "x": 809, + "y": 292, + "z": 10097, + "movable": false, + "classes": "emoji-monochrome", + "text": "πŸŽƒ", + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c" + } + }, + "example11": { + "id": "example11", + "x": 809, + "y": 416, + "z": 10100, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c", + "box-shadow": "3px 3px 3px 9px #606060", + "filter": "drop-shadow(10px 5px 9px #0000)" + }, + "borderRadius": 20, + "movable": false, + "text": "πŸŽƒ", + "classes": "emoji-monochrome" + }, + "example12": { + "id": "example12", + "x": 919, + "y": 416, + "z": 10099, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c", + "filter": "contrast(${PROPERTY contrast})", + "transition": "linear 0.5s" + }, + "movable": false, + "clickRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY contrast}", + "operand2": 0.5, + "thenRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "contrast", + "value": 2 + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "contrast", + "value": 0.5 + } + ] + } + ], + "classes": "emoji-monochrome", + "text": "πŸŽƒ", + "contrast": 0.5 + }, + "button4Text": { + "id": "button4Text", + "x": 1110, + "y": 587, + "width": 300, + "z": 9732, + "movable": false, + "text": "The octopuses are part of the colored emoji font that is expressed through the image property. Recoloring images like the octopuses and paint buckets requires either using `svgReplaces` or css filter properties, both of which are demonstrated in the other variants of this tutorial." + }, + "example13": { + "id": "example13", + "x": 1269, + "y": 292, + "z": 10098, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c", + "filter": "drop-shadow(0 0 20px #ffffff)" + }, + "movable": false, + "image": "/i/noto-emoji/emoji_u1f419.svg" + }, + "example14": { + "id": "example14", + "x": 1159, + "y": 292, + "z": 10097, + "movable": false, + "image": "/i/noto-emoji/emoji_u1f419.svg" + }, + "example15": { + "id": "example15", + "x": 1159, + "y": 416, + "z": 10100, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c", + "box-shadow": "3px 3px 7px 7px #4c556a" + }, + "borderRadius": 100, + "movable": false, + "image": "/i/noto-emoji/emoji_u1f419.svg" + }, + "example16": { + "id": "example16", + "x": 1269, + "y": 416, + "z": 10099, + "css": { + "font-size": "90px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "color": "#e4651c", + "filter": "saturate(${PROPERTY saturate})", + "transition": "linear 0.5s" + }, + "movable": false, + "clickRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY saturate}", + "operand2": 0.5, + "thenRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "saturate", + "value": 2 + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "saturate", + "value": 0.5 + } + ] + } + ], + "image": "/i/noto-emoji/emoji_u1f419.svg", + "saturate": 0.5 + } +} \ No newline at end of file diff --git a/library/tutorials/Icons_ Symbols_ and Emojis/1.json b/library/tutorials/Icons_ Symbols_ and Emojis/1.json new file mode 100644 index 0000000000..9a5dc06a0c --- /dev/null +++ b/library/tutorials/Icons_ Symbols_ and Emojis/1.json @@ -0,0 +1,1723 @@ +{ + "_meta": { + "version": 17, + "info": { + "name": "Icons, Symbols, and Emojis", + "image": "/assets/1923406359_3510", + "rules": "", + "bgg": "", + "year": "", + "mode": "Tutorial", + "time": "0", + "attribution": "", + "lastUpdate": 1737418482870, + "showName": false, + "skill": "", + "description": "", + "similarImage": "", + "similarName": "", + "similarDesigner": "", + "similarAwards": "", + "ruleText": "", + "helpText": "", + "variantImage": "", + "variant": "CSS Demo", + "language": "en-US", + "players": "1" + } + }, + "header": { + "id": "header", + "x": 200, + "y": -2, + "height": 60, + "z": 74, + "movable": false, + "movableInEdit": false, + "css": "font-size: 60px;text-align:center", + "text": "Icons, Symbols, and Emojis: CSS Demo", + "width": 1200 + }, + "mainText": { + "id": "mainText", + "x": 100, + "y": 100, + "width": 1405, + "height": 150, + "layer": -3, + "z": 124, + "css": "font-size: 25px; ", + "movable": false, + "html": "In this tutorial, you can see the effects of selected css changes on icons, symbols, and emojis. Choose the css you want to manipulate using the black and white rectangle in the bottom right. Then adjust sliders to see the kinds of effects you can create. When combining different color-changing effects (such as sepia and grayscale) the order in which the css properties are listed influences the appearance; that is not simulated here. To reset a specific value to its default, click on the slider button. To reset all the defaults for that property, click on an icon." + }, + "background": { + "id": "background", + "width": 1600, + "height": 1000, + "layer": -4, + "z": 94, + "movable": false, + "movableInEdit": false, + "css": { + "background-color": "#96a7cf" + } + }, + "demo1": { + "id": "demo1", + "x": 53, + "y": 271, + "width": 200, + "height": 200, + "z": 10097, + "movable": false, + "css": { + "font-size": "190px", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "box-shadow": "${PROPERTY box-shadowX}px ${PROPERTY box-shadowY}px ${PROPERTY box-shadowBlur}px ${PROPERTY box-shadowSpread}px ${PROPERTY box-shadowColor}", + "color": "${PROPERTY color}", + "background": "${PROPERTY background}", + "filter": "drop-shadow(${PROPERTY filter-drop-shadowX}px ${PROPERTY filter-drop-shadowY}px ${PROPERTY filter-drop-shadowBlur}px ${PROPERTY filter-drop-shadowColor}) brightness(${PROPERTY filter-brightness}) contrast(${PROPERTY filter-contrast}) blur(${PROPERTY filter-blur}px) grayscale(${PROPERTY filter-grayscale}) hue-rotate(${PROPERTY filter-hue-rotate}deg) invert(${PROPERTY filter-invert}) saturate(${PROPERTY filter-saturate}) sepia(${PROPERTY filter-sepia})" + }, + "image": "/i/game-icons.net/delapouite/paint-bucket.svg", + "demo": true, + "box-shadowColor": "#000000", + "clickRoutine": [ + "var props = ${PROPERTY props OF chooseButton}", + "var defaults = ${PROPERTY propsDefault OF chooseButton}", + "var single = ${PROPERTY single OF chooseButton}", + { + "func": "FOREACH", + "in": "${props}", + "loopRoutine": [ + { + "func": "IF", + "condition": "${single}", + "thenRoutine": [ + "var key = ${single}" + ] + }, + { + "func": "SELECT", + "property": "demo", + "value": true + }, + { + "func": "SET", + "property": "${value}", + "value": "${defaults.$key}" + }, + "var currentProp = ${defaults.$key}", + "var currentPropLC = toLowerCase ${currentProp}", + "var colorCheck = ${currentPropLC} includes 'color'", + { + "func": "IF", + "condition": "${colorCheck}", + "thenRoutine": [ + "// Color", + { + "func": "SET", + "collection": [ + "slideButton0" + ], + "property": "y", + "value": 180 + }, + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "GET", + "property": "defaultColor" + }, + { + "func": "SET", + "property": "${value}", + "value": "${defaultColor}" + } + ] + } + ], + "elseRoutine": [ + { + "func": "IF", + "operand1": "${key}", + "operand2": 5, + "thenRoutine": [ + "// Percent values", + { + "func": "IF", + "condition": "${PROPERTY equalsOne OF chooseButton}", + "thenRoutine": [ + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": 150 + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": 100 + } + ] + }, + { + "func": "CALL", + "widget": "slideButton${key}", + "routine": "updatePosRoutine", + "arguments": { + "newValue": "${currentProp}" + } + } + ], + "elseRoutine": [ + "// Degree values", + { + "func": "IF", + "operand1": "${key}", + "operand2": 6, + "thenRoutine": [ + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": 0 + }, + { + "func": "CALL", + "widget": "slideButton${key}", + "routine": "updatePosRoutine", + "arguments": { + "newValue": "${currentProp}" + } + } + ], + "elseRoutine": [ + "// Number values", + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": 100 + }, + { + "func": "CALL", + "widget": "slideButton${key}", + "routine": "updatePosRoutine", + "arguments": { + "newValue": "${currentProp}" + } + } + ] + } + ] + }, + { + "func": "SET", + "collection": [ + "slideButton0" + ], + "property": "x", + "value": 45 + }, + { + "func": "SET", + "collection": [ + "slideButton0" + ], + "property": "text", + "value": "hue" + } + ] + } + ] + } + ], + "filter-contrast": 1, + "filter-drop-shadowX": 0, + "filter-drop-shadowY": 0, + "filter-drop-shadowColor": "", + "filter-drop-shadowBlur": 0, + "filter-brightness": 1, + "box-shadowX": 0, + "box-shadowY": 0, + "box-shadowBlur": 0, + "box-shadowSpread": 0, + "filter-blur": 0, + "defaultColor": "#000000", + "color": "#000000", + "background": "", + "filter-grayscale": 0, + "filter-invert": 0, + "filter-sepia": 0, + "filter-saturate": 1, + "filter-hue-rotate": 0 + }, + "demo2": { + "id": "demo2", + "x": 469, + "y": 271, + "width": 200, + "height": 200, + "z": 10098, + "movable": false, + "classes": "material-symbols", + "text": "directions_bus", + "demo": true, + "movableInEdit": true, + "inheritFrom": { + "demo1": [ + "css", + "clickRoutine" + ] + }, + "activeFace": 0, + "box-shadowColor": "#000000", + "filter-contrast": 1, + "filter-drop-shadowX": 0, + "filter-drop-shadowY": 0, + "filter-drop-shadowBlur": 0, + "filter-drop-shadowColor": "", + "filter-brightness": 1, + "box-shadowX": 0, + "box-shadowY": 0, + "box-shadowBlur": 0, + "box-shadowSpread": 0, + "filter-blur": 0, + "defaultColor": "#2d5da8", + "color": "#2d5da8", + "background": "", + "filter-grayscale": 0, + "filter-invert": 0, + "filter-sepia": 0, + "filter-saturate": 1, + "filter-hue-rotate": 0 + }, + "demo3": { + "id": "demo3", + "x": 885, + "y": 271, + "width": 200, + "height": 200, + "z": 10098, + "movable": false, + "classes": "emoji-monochrome", + "text": "πŸŽƒ", + "demo": true, + "box-shadowColor": "#000000", + "inheritFrom": { + "demo1": [ + "css", + "clickRoutine" + ] + }, + "filter-contrast": 1, + "filter-drop-shadowX": 0, + "filter-drop-shadowY": 0, + "filter-drop-shadowBlur": 0, + "filter-drop-shadowColor": "", + "filter-brightness": 1, + "box-shadowX": 0, + "box-shadowY": 0, + "box-shadowBlur": 0, + "box-shadowSpread": 0, + "filter-blur": 0, + "defaultColor": "#e4651c", + "color": "#e4651c", + "background": "", + "filter-grayscale": 0, + "filter-invert": 0, + "filter-sepia": 0, + "filter-saturate": 1, + "filter-hue-rotate": 0 + }, + "demo4": { + "id": "demo4", + "x": 1301, + "y": 271, + "width": 200, + "height": 200, + "z": 10097, + "movable": false, + "image": "/i/noto-emoji/emoji_u1f419.svg", + "demo": true, + "box-shadowColor": "#000000", + "movableInEdit": true, + "inheritFrom": { + "demo1": [ + "css", + "clickRoutine" + ] + }, + "filter-contrast": 1, + "filter-drop-shadowX": 0, + "filter-drop-shadowY": 0, + "filter-drop-shadowBlur": 0, + "filter-drop-shadowColor": "", + "filter-brightness": 1, + "box-shadowX": 0, + "box-shadowY": 0, + "box-shadowBlur": 0, + "box-shadowSpread": 0, + "filter-blur": 0, + "defaultColor": "#000000", + "color": "#000000", + "background": "", + "filter-grayscale": 0, + "filter-invert": 0, + "filter-sepia": 0, + "filter-saturate": 1, + "filter-hue-rotate": 0 + }, + "chooseButton": { + "type": "button", + "id": "chooseButton", + "x": 1760, + "y": 217, + "z": 829, + "text": "CSS", + "clickRoutine": [ + { + "func": "SELECT", + "property": "choose", + "value": true, + "collection": "allChoose" + }, + { + "func": "MOVE", + "collection": "allChoose", + "to": "chooseHolder" + }, + { + "func": "SORT", + "collection": "allChoose", + "key": "text" + }, + { + "func": "INPUT", + "fields": [ + { + "type": "title", + "text": "Choose CSS Property" + }, + { + "type": "subtitle", + "text": "You can change elements of one property at a time. Click to choose, then press OK." + }, + { + "type": "choose", + "source": "allChoose", + "max": 1, + "variable": "choice", + "scale": 1.3 + } + ] + }, + { + "func": "SELECT", + "property": "slider", + "value": true + }, + { + "func": "SET", + "property": "display", + "value": false + }, + { + "func": "SELECT", + "property": "id", + "value": "${choice}" + }, + { + "func": "GET", + "property": "props" + }, + { + "func": "GET", + "property": "propsDefault" + }, + { + "func": "GET", + "property": "single" + }, + { + "func": "GET", + "property": "propsLabel" + }, + { + "func": "GET", + "property": "text", + "variable": "thisCSS" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "choice", + "value": "${thisCSS}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "propsDefault", + "value": "${propsDefault}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "single", + "value": "${single}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "propsLabel", + "value": "${propsLabel}" + }, + "var defaultsArray = []", + { + "func": "FOREACH", + "in": "${props}", + "loopRoutine": [ + { + "func": "SELECT", + "property": "id", + "value": "slideHolder${key}" + }, + { + "func": "IF", + "operand1": "${value}", + "relation": "!=", + "operand2": " ", + "thenRoutine": [ + { + "func": "SET", + "property": "display", + "value": true + }, + { + "func": "SELECT", + "property": "id", + "value": "slideButton${key}" + }, + "var currentProp = ${thisCSS} + ${value}", + { + "func": "SET", + "property": "currentProp", + "value": "${currentProp}" + }, + "var defaultsArray = push ${currentProp}", + "var thisLabel = ${PROPERTY propsLabel}", + "var thisLabel = ${thisLabel.$key}", + { + "func": "SET", + "collection": [ + "slideLabel${key}" + ], + "property": "text", + "value": "${thisLabel}" + } + ] + } + ] + }, + { + "func": "SET", + "collection": "thisButton", + "property": "props", + "value": "${defaultsArray}" + }, + { + "func": "CALL", + "routine": "updateSliderRoutine" + }, + { + "func": "MOVE", + "collection": "allChoose", + "to": "offHolder" + }, + { + "func": "SELECT", + "source": "allChoose", + "property": "id", + "value": "${choice}" + }, + { + "func": "MOVE", + "to": "chooseHolder" + }, + "var isBright = ${PROPERTY choice} == 'filter-brightness'", + "var isContrast = ${PROPERTY choice} == 'filter-contrast'", + "var isSaturate = ${PROPERTY choice} == 'filter-saturate'", + "var equalsOne = ${isBright} || ${isContrast} || ${isSaturate}", + { + "func": "IF", + "condition": "${equalsOne}", + "thenRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "equalsOne", + "value": true + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "equalsOne", + "value": false + } + ] + } + ], + "props": [ + "box-shadowColor", + "box-shadowX", + "box-shadowY", + "box-shadowBlur", + "box-shadowSpread" + ], + "updateSliderRoutine": [ + "var props = ${PROPERTY props}", + "var single = ${PROPERTY single}", + { + "func": "FOREACH", + "in": "${props}", + "loopRoutine": [ + { + "func": "GET", + "collection": [ + "demo1" + ], + "property": "${value}", + "variable": "newValue" + }, + { + "func": "IF", + "condition": "${single}", + "thenRoutine": [ + "var key = ${single}" + ] + }, + "var currentProp = ${value}", + "var currentPropLC = toLowerCase ${currentProp}", + "var colorCheck = ${currentPropLC} includes 'color'", + { + "func": "IF", + "condition": "${colorCheck}", + "thenRoutine": [ + "// Color", + { + "func": "FOREACH", + "loopRoutine": [ + { + "func": "SET", + "collection": [ + "slideLabel0" + ], + "property": "text", + "value": "${newValue}" + } + ] + }, + { + "func": "SET", + "collection": [ + "slideButton0" + ], + "property": "y", + "value": 180 + } + ], + "elseRoutine": [ + { + "func": "IF", + "operand1": "${key}", + "operand2": 5, + "thenRoutine": [ + "// Percent values", + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "text", + "value": "${newValue}" + }, + "var newX = (${newValue} + 2) / 0.02", + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": "${newX}" + } + ], + "elseRoutine": [ + "// Degree values", + { + "func": "IF", + "operand1": "${key}", + "operand2": 6, + "thenRoutine": [ + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "text", + "value": "${newValue}" + }, + "var newX = ${newValue} / 1.8", + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": "${newX}" + } + ], + "elseRoutine": [ + "// Number values", + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "text", + "value": "${newValue}" + }, + "var newX = (${newValue} + 20) / 0.2", + { + "func": "SET", + "collection": [ + "slideButton${key}" + ], + "property": "x", + "value": "${newX}" + } + ] + } + ] + } + ] + } + ] + } + ], + "equalsOne": false, + "choice": "box-shadow", + "propsDefault": [ + "", + 0, + 0, + 0, + 0 + ], + "propsLabel": [ + "", + "X Offset (px)", + "Y Offset (px)", + "Blur (px)", + "Spread (px)" + ] + }, + "chooseHolder": { + "type": "holder", + "id": "chooseHolder", + "x": 1284, + "y": 920, + "z": 126, + "dropTarget": {}, + "width": 208, + "height": 48, + "scale": 2, + "classes": "transparent" + }, + "slideHolder0": { + "type": "button", + "id": "slideHolder0", + "x": 328, + "y": 539, + "height": 360, + "layer": -2, + "z": 39, + "css": "border-radius:4px;background-image: linear-gradient(to bottom, hsl(0, 100%, 50%), hsl(47.5, 100%, 50%), hsl(95, 100%, 50%), hsl(142.5, 100%, 50%), hsl(190, 100%, 50%), hsl(237.5, 100%, 50%), hsl(285, 100%, 50%), hsl(332.5, 100%, 50%), hsl(360, 100%, 50%))", + "slider": true, + "clickRoutine": [] + }, + "slideButton0": { + "type": "button", + "id": "slideButton0", + "parent": "slideHolder0", + "fixedParent": true, + "z": 1372, + "movable": true, + "css": "border-color:transparent;background-color:transparent;border-radius:0", + "dragLimit": { + "minX": 45, + "maxX": 45, + "maxY": 311, + "minY": -41 + }, + "image": "/assets/1502865726_277", + "currentProp": "box-shadowColor", + "updateColorRoutine": [ + { + "func": "SELECT", + "property": "demo", + "value": true + }, + { + "func": "SET", + "collection": "DEFAULT", + "property": "${PROPERTY currentProp}", + "value": "${newValue}" + }, + { + "func": "SET", + "collection": [ + "slideLabel0" + ], + "property": "text", + "value": "${newValue}" + } + ], + "yChangeRoutine": [ + "var newValue = ${PROPERTY y} + 41", + "var newValue = ${newValue} * 1.01989", + "var newValue = ${newValue} toFixed 0", + "var newValue = ${newValue} parseFloat", + "var newValue = 'hsla(' + ${newValue}", + "var newValue = ${newValue} + ','", + "var newValue = ${newValue} + '70'", + "var newValue = ${newValue} + '\\u0025,'", + "var newValue = ${newValue} + '50'", + "var newValue = ${newValue} + '\\u0025,'", + "var newValue = ${newValue} + '1'", + "var newValue = ${newValue} + ')'", + "var newValue = ${newValue} colorToHex", + { + "func": "CALL", + "routine": "updateColorRoutine" + } + ], + "slideLabel0": "#123456", + "x": 45, + "text": "hue", + "y": 180 + }, + "slideHolder4": { + "type": "holder", + "id": "slideHolder4", + "x": 618, + "y": 779, + "display": true, + "inheritFrom": { + "slideHolder1": "*" + } + }, + "slideButton4": { + "type": "button", + "id": "slideButton4", + "parent": "slideHolder4", + "y": 0, + "z": 1335, + "display": true, + "inheritFrom": { + "slideButton1": "*" + }, + "currentProp": "box-shadowSpread", + "x": 100, + "text": 0 + }, + "slideHolder3": { + "type": "holder", + "id": "slideHolder3", + "x": 618, + "y": 689, + "display": true, + "inheritFrom": { + "slideHolder1": "*" + } + }, + "slideButton3": { + "type": "button", + "id": "slideButton3", + "parent": "slideHolder3", + "y": 0, + "z": 1336, + "display": true, + "inheritFrom": { + "slideButton1": "*" + }, + "currentProp": "box-shadowBlur", + "x": 100, + "text": 0 + }, + "slideHolder2": { + "type": "holder", + "id": "slideHolder2", + "x": 618, + "y": 599, + "display": true, + "inheritFrom": { + "slideHolder1": "*" + } + }, + "slideButton2": { + "type": "button", + "id": "slideButton2", + "parent": "slideHolder2", + "y": 0, + "z": 1341, + "display": true, + "inheritFrom": { + "slideButton1": "*" + }, + "currentProp": "box-shadowY", + "x": 100, + "text": 0 + }, + "slideHolder1": { + "type": "holder", + "id": "slideHolder1", + "x": 618, + "y": 509, + "width": 280, + "height": 80, + "borderRadius": 50, + "z": 125, + "css": { + "background": "#ffffff40" + }, + "slider": true + }, + "slideButton1": { + "type": "button", + "id": "slideButton1", + "parent": "slideHolder1", + "fixedParent": true, + "z": 1340, + "movable": true, + "dragLimit": { + "minX": 0, + "maxX": 200, + "maxY": 0, + "minY": 0 + }, + "currentProp": "box-shadowX", + "updatePosRoutine": [ + { + "func": "SELECT", + "property": "demo", + "value": true + }, + { + "func": "SET", + "collection": "DEFAULT", + "property": "${PROPERTY currentProp}", + "value": "${newValue}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${newValue}" + } + ], + "xChangeRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY dragging}", + "operand2": null, + "thenRoutine": [], + "elseRoutine": [ + "var newValue = ${PROPERTY x} * 0.2 - 20", + "var newValue = ${newValue} toFixed 0", + "var newValue = ${newValue} parseFloat", + { + "func": "CALL", + "routine": "updatePosRoutine" + } + ] + } + ], + "text": 0, + "clickRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "x", + "value": 100 + }, + { + "func": "CALL", + "routine": "updatePosRoutine", + "arguments": { + "newValue": 0 + } + } + ], + "x": 100 + }, + "forceColor1": { + "id": "forceColor1", + "y": 5, + "x": -70, + "parent": "slideHolder0", + "fixedParent": true, + "z": 10107, + "width": 40, + "height": 40, + "css": { + "background": "${PROPERTY background}" + }, + "background": "#ffffff", + "clickRoutine": [ + { + "func": "CALL", + "widget": "slideButton0", + "routine": "updateColorRoutine", + "arguments": { + "newValue": "${PROPERTY background}" + } + } + ], + "movable": false + }, + "forceColor2": { + "inheritFrom": { + "forceColor1": "*" + }, + "id": "forceColor2", + "x": -71, + "y": 108, + "background": "#000000", + "z": 10108 + }, + "forceColor3": { + "inheritFrom": { + "forceColor1": "*" + }, + "id": "forceColor3", + "x": -70, + "y": 210, + "background": "#606060" + }, + "forceColor4": { + "inheritFrom": { + "forceColor1": "*" + }, + "id": "forceColor4", + "x": -72, + "y": 313, + "background": "transparent", + "css": { + "background": "${PROPERTY background}", + "border": "1px solid #000000" + } + }, + "choose6": { + "id": "choose6", + "x": 4, + "y": 4, + "text": "filter-brightness", + "props": [ + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + 1 + ], + "single": 5, + "inheritFrom": { + "choose1": "!parent" + }, + "z": 12605, + "propsLabel": [ + "", + "", + "", + "", + "", + "Brightness (%)" + ], + "parent": "offHolder" + }, + "slideHolder5": { + "inheritFrom": { + "slideHolder1": "*" + }, + "type": "holder", + "id": "slideHolder5", + "display": false + }, + "slideButton5": { + "inheritFrom": { + "slideButton1": "*" + }, + "type": "button", + "id": "slideButton5", + "parent": "slideHolder5", + "z": 1323, + "x": 100, + "y": 0, + "currentProp": "filter-sepia", + "xChangeRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY dragging}", + "operand2": null, + "thenRoutine": [], + "elseRoutine": [ + "var newValue = ${PROPERTY x} * 0.02 - 2", + "var newValue = ${newValue} toFixed 1", + "var newValue = ${newValue} parseFloat", + { + "func": "CALL", + "routine": "updatePosRoutine" + } + ] + } + ], + "updatePosRoutine": [ + { + "func": "SELECT", + "property": "demo", + "value": true + }, + { + "func": "SET", + "collection": "DEFAULT", + "property": "${PROPERTY currentProp}", + "value": "${newValue}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${newValue}" + } + ], + "clickRoutine": [ + { + "func": "IF", + "condition": "${PROPERTY equalsOne OF chooseButton}", + "thenRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "x", + "value": 150 + }, + { + "func": "CALL", + "routine": "updatePosRoutine", + "arguments": { + "newValue": 1 + } + } + ], + "elseRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "x", + "value": 100 + }, + { + "func": "CALL", + "routine": "updatePosRoutine", + "arguments": { + "newValue": 0 + } + } + ] + } + ], + "text": 0 + }, + "choose7": { + "id": "choose7", + "x": 4, + "y": 4, + "text": "filter-contrast", + "props": [ + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + 1 + ], + "single": 5, + "inheritFrom": { + "choose1": "!parent" + }, + "z": 12606, + "propsLabel": [ + "", + "", + "", + "", + "", + "Contrast (%)" + ], + "parent": "offHolder" + }, + "slideLabel0": { + "type": "label", + "id": "slideLabel0", + "parent": "slideHolder0", + "fixedParent": true, + "x": -48, + "y": -52, + "width": 180, + "height": 35, + "borderRadius": 4, + "css": { + "color": "black", + "font-size": "30px", + "border": "1px solid black" + }, + "editable": true, + "textChangeRoutine": [ + { + "func": "CALL", + "widget": "slideButton0", + "routine": "updateColorRoutine", + "arguments": { + "newValue": "${PROPERTY text}" + } + } + ], + "text": "#000000" + }, + "choose8": { + "inheritFrom": { + "choose1": "!parent" + }, + "id": "choose8", + "x": 4, + "y": 4, + "text": "filter-grayscale", + "props": [ + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + 0 + ], + "single": 5, + "z": 12608, + "propsLabel": [ + "", + "", + "", + "", + "", + "Grayscale (%)" + ], + "parent": "offHolder" + }, + "slideLabel1": { + "id": "slideLabel1", + "x": 330, + "css": { + "color": "black", + "font-size": "30px" + }, + "width": 500, + "height": 35, + "movable": false, + "parent": "slideHolder1", + "y": 20, + "fixedParent": true, + "text": "X Offset (px)" + }, + "slideLabel2": { + "inheritFrom": { + "slideLabel1": "*" + }, + "id": "slideLabel2", + "x": 330, + "y": 20, + "parent": "slideHolder2", + "text": "Y Offset (px)" + }, + "slideLabel3": { + "inheritFrom": { + "slideLabel1": "*" + }, + "id": "slideLabel3", + "x": 330, + "y": 20, + "parent": "slideHolder3", + "text": "Blur (px)" + }, + "slideLabel4": { + "inheritFrom": { + "slideLabel1": "*" + }, + "id": "slideLabel4", + "x": 330, + "y": 20, + "parent": "slideHolder4", + "text": "Spread (px)", + "activeFace": 0 + }, + "slideLabel5": { + "inheritFrom": { + "slideLabel1": "*" + }, + "id": "slideLabel5", + "x": 330, + "y": 20, + "parent": "slideHolder5", + "text": "Sepia (%)" + }, + "choose10": { + "inheritFrom": { + "choose1": "!parent" + }, + "id": "choose10", + "x": 4, + "y": 4, + "z": 12611, + "text": "filter-saturate", + "props": [ + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + 1 + ], + "propsLabel": [ + "", + "", + "", + "", + "", + "Saturate (%)" + ], + "single": 5, + "parent": "offHolder" + }, + "choose2": { + "id": "choose2", + "x": 4, + "y": 4, + "text": "color", + "props": [ + "" + ], + "propsDefault": [ + "color" + ], + "inheritFrom": { + "choose1": "!parent" + }, + "z": 12603, + "parent": "offHolder" + }, + "choose4": { + "id": "choose4", + "x": 4, + "y": 4, + "text": "filter-drop-shadow", + "props": [ + "Color", + "X", + "Y", + "Blur" + ], + "propsDefault": [ + "", + 0, + 0, + 0 + ], + "inheritFrom": { + "choose1": "!parent" + }, + "z": 12607, + "propsLabel": [ + "", + "X Offset (px)", + "Y Offset (px)", + "Blur (px)" + ], + "parent": "offHolder" + }, + "choose5": { + "id": "choose5", + "x": 4, + "y": 4, + "text": "filter-blur", + "props": [ + " ", + "" + ], + "propsDefault": [ + "", + 0 + ], + "single": 1, + "inheritFrom": { + "choose1": "!parent" + }, + "z": 12604, + "propsLabel": [ + "", + "", + "", + "", + "", + "Blur (px)" + ], + "parent": "offHolder" + }, + "choose9": { + "inheritFrom": { + "choose1": "!parent" + }, + "id": "choose9", + "x": 4, + "y": 4, + "z": 12610, + "text": "filter-invert", + "props": [ + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + 0 + ], + "propsLabel": [ + "", + "", + "", + "", + "", + "Invert (%)" + ], + "single": 5, + "parent": "offHolder" + }, + "offHolder": { + "type": "holder", + "id": "offHolder", + "x": 1738, + "y": 354, + "z": 135 + }, + "choose11": { + "inheritFrom": { + "choose1": "!parent" + }, + "id": "choose11", + "x": 4, + "y": 4, + "z": 12612, + "text": "filter-sepia", + "props": [ + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + 0 + ], + "propsLabel": [ + "", + "", + "", + "", + "", + "Sepia (%)" + ], + "single": 5, + "parent": "offHolder" + }, + "choose3": { + "id": "choose3", + "x": 4, + "y": 4, + "props": [ + "" + ], + "text": "background", + "propsDefault": [ + "" + ], + "inheritFrom": { + "choose1": "!parent" + }, + "z": 12601, + "parent": "offHolder" + }, + "choose1": { + "id": "choose1", + "y": 4, + "text": "box-shadow", + "css": { + "display": "flex", + "justify-content": "center", + "align-items": "center", + "background": "black", + "color": "white" + }, + "width": 200, + "height": 40, + "borderRadius": 10, + "z": 12613, + "props": [ + "Color", + "X", + "Y", + "Blur", + "Spread" + ], + "propsDefault": [ + "", + 0, + 0, + 0, + 0 + ], + "clickRoutine": [ + { + "func": "CLICK", + "collection": [ + "chooseButton" + ] + } + ], + "choose": true, + "propsLabel": [ + "", + "X Offset (px)", + "Y Offset (px)", + "Blur (px)", + "Spread (px)" + ], + "x": 4, + "parent": "chooseHolder" + }, + "r865": { + "id": "r865", + "y": 114, + "x": -302, + "parent": "slideHolder0", + "fixedParent": true, + "css": { + "color": "black", + "text-align": "left" + }, + "width": 200, + "text": "Use the hue slider to approximate a color. To use an exact hex color, enter it into the box above the slider. You can also click the squares for white, black, gray, and transparent.", + "z": 12038, + "movable": false + }, + "changeIconLabel": { + "id": "changeIconLabel", + "x": 1257, + "y": 505, + "text": "To change to a different icon, open one in the JSON Editor. Place the cursor either over the text or image property and click the blue and white button that appears in the upper right corner to 'pick an asset'.", + "width": 300, + "movable": false + }, + "choose12": { + "inheritFrom": { + "choose1": "!parent" + }, + "id": "choose12", + "x": 4, + "y": 4, + "z": 12609, + "text": "filter-hue-rotate", + "props": [ + " ", + " ", + " ", + " ", + " ", + " ", + "" + ], + "propsDefault": [ + "", + "", + "", + "", + "", + "", + 0 + ], + "propsLabel": [ + "", + "", + "", + "", + "", + "", + "Hue-Rotate (deg)" + ], + "single": 6, + "parent": "offHolder" + }, + "slideHolder6": { + "inheritFrom": { + "slideHolder1": "*" + }, + "type": "holder", + "id": "slideHolder6", + "display": false + }, + "slideButton6": { + "inheritFrom": { + "slideButton1": "*" + }, + "type": "button", + "id": "slideButton6", + "parent": "slideHolder6", + "z": 1374, + "text": 0, + "y": 0, + "dragLimit": { + "minX": 0, + "maxX": 200, + "maxY": 0, + "minY": 0 + }, + "currentProp": "filter-hue-rotate", + "clickRoutine": [ + { + "func": "SET", + "collection": "thisButton", + "property": "x", + "value": 0 + }, + { + "func": "CALL", + "routine": "updatePosRoutine", + "arguments": { + "newValue": 0 + } + } + ], + "updatePosRoutine": [ + { + "func": "SELECT", + "property": "demo", + "value": true + }, + { + "func": "SET", + "collection": "DEFAULT", + "property": "${PROPERTY currentProp}", + "value": "${newValue}" + }, + { + "func": "SET", + "collection": "thisButton", + "property": "text", + "value": "${newValue}" + } + ], + "xChangeRoutine": [ + { + "func": "IF", + "operand1": "${PROPERTY dragging}", + "operand2": null, + "thenRoutine": [], + "elseRoutine": [ + "var newValue = ${PROPERTY x} * 1.8", + "var newValue = ${newValue} toFixed 0", + "var newValue = ${newValue} parseFloat", + { + "func": "CALL", + "routine": "updatePosRoutine" + } + ] + } + ], + "x": 0 + }, + "slideLabel6": { + "inheritFrom": { + "slideLabel5": "*" + }, + "id": "slideLabel6", + "parent": "slideHolder6", + "text": "Hue-Rotate (deg)" + } +} \ No newline at end of file diff --git a/library/tutorials/Icons_ Symbols_ and Emojis/2.json b/library/tutorials/Icons_ Symbols_ and Emojis/2.json new file mode 100644 index 0000000000..1831b86886 --- /dev/null +++ b/library/tutorials/Icons_ Symbols_ and Emojis/2.json @@ -0,0 +1,217 @@ +{ + "_meta": { + "version": 17, + "info": { + "name": "Icons, Symbols, and Emojis", + "image": "/assets/1923406359_3510", + "rules": "", + "bgg": "", + "year": "", + "mode": "Tutorial", + "time": "0", + "attribution": "", + "lastUpdate": 1737418482872, + "showName": false, + "skill": "", + "description": "", + "similarImage": "", + "similarName": "", + "similarDesigner": "", + "similarAwards": "", + "ruleText": "", + "helpText": "", + "variantImage": "", + "variant": "svgReplaces", + "language": "en-US", + "players": "1" + } + }, + "header": { + "id": "header", + "x": 200, + "y": -2, + "height": 60, + "z": 74, + "movable": false, + "movableInEdit": false, + "css": "font-size: 60px;text-align:center", + "text": "Icons, Symbols, and Emojis: svgReplaces", + "width": 1200 + }, + "mainText": { + "id": "mainText", + "x": 100, + "y": 100, + "width": 1405, + "height": 150, + "layer": -3, + "z": 124, + "css": "font-size: 25px; ", + "movable": false, + "html": "The icons in VTT represented through images (not text) are SVG files. SVGs are described with text-like code and can be adjusted dynamically through the VTT `svgReplaces` property. For more background about SVGs see this website. In a typical case, you are simply replacing a color with another color, but the property can be used in more powerful ways. These same techniques work on any SVG images and not just the ones available by default on VTT." + }, + "button1Text": { + "id": "button1Text", + "x": 60, + "y": 587, + "width": 300, + "z": 185, + "movable": false, + "text": "The boat on the left is from the game-icons.net collection. They all have the default fill color as #000, so that is what you replace. Look at the boat in the JSON Editor. The `svgReplaces` property is saying take any instances where `#000` appears in the SVG and change it to whatever is set in the property `newColor`. You can name the property whatever you want. Then in that property, identify the color that should replace the black #000. \n\nThe meeple on the right is part of a custom set of VTT icons. They use `currentColor` (which defaults to black) and so that is what needs to be replaced." + }, + "button2Text": { + "id": "button2Text", + "x": 410, + "y": 587, + "width": 300, + "z": 121, + "movable": false, + "html": "Many SVGs have more than one color. The emoji above on the left has 4. You can see the colors by opening the svg in a text editor. To do that, first download the svg by going to https://virtualtabletop.io/i/noto-emoji/emoji_u23ef.svg and save the file to your computer. Then open it in a text editor. You will see the available colors are #F77E00, #FF9800, #FFBD52, and #FAFAFA.\n\nThe emoji on the right has `svgReplaces` for the three orangish colors. Note that the replacement is case sensitive, so #f77e00 would not work." + }, + "button3Text": { + "id": "button3Text", + "x": 760, + "y": 587, + "width": 300, + "z": 9732, + "movable": false, + "text": "The rainbows above are just another example of color replacement in an emoji with multiple colors.." + }, + "background": { + "id": "background", + "width": 1600, + "height": 1000, + "layer": -4, + "z": 94, + "movable": false, + "movableInEdit": false, + "css": { + "background-color": "#96a7cf" + } + }, + "example1": { + "id": "example1", + "x": 100, + "y": 288, + "z": 10097, + "image": "/i/game-icons.net/delapouite/fishing-boat.svg", + "movable": false, + "svgReplaces": { + "#000": "newColor" + }, + "newColor": "gold" + }, + "button4Text": { + "id": "button4Text", + "x": 1110, + "y": 587, + "width": 300, + "z": 9732, + "movable": false, + "text": "These examples take a simple SVG that has a fill but no stroke, and adds the stroke for a different effect. This technique will work on many SVGs. But you really should understand the structure of the SVG you intend to modify before trying something like this.\n\nThe example on the top uses a simple color svgReplaces to modify the color. Then on the bottom images, in the case of the bricks, the stroke (the area around each brick) is set to a thick, dark red stroke that is slightly opaque. The fire is similar with a thick, gold stroke added around the orange fire." + }, + "example2": { + "id": "example2", + "x": 213, + "y": 288, + "z": 10097, + "image": "i/icons/meeple_3d.svg", + "movable": false, + "svgReplaces": { + "currentColor": "canBeAnything" + }, + "canBeAnything": "red" + }, + "example3": { + "id": "example3", + "x": 432, + "y": 288, + "z": 10097, + "image": "/i/noto-emoji/emoji_u23ef.svg", + "movable": false + }, + "example4": { + "id": "example4", + "x": 563, + "y": 288, + "z": 10097, + "image": "/i/noto-emoji/emoji_u23ef.svg", + "movable": false, + "svgReplaces": { + "#FF9800": "mainColor", + "#FFBD52": "glintColor", + "#F77E00": "highlightColor" + }, + "mainColor": "#5624d6", + "glintColor": "#b29aee", + "highlightColor": "#31147a" + }, + "example6": { + "id": "example6", + "x": 924, + "y": 288, + "movable": false, + "image": "/i/noto-emoji/emoji_u1f308.svg", + "svgReplaces": { + "#8177FA": "color1", + "#00C0E9": "color2", + "#97CC37": "color3", + "#F9D81E": "color4", + "#FF8E00": "color5", + "#FF5117": "color6" + }, + "color1": "indigo", + "color2": "blue", + "color3": "green", + "color4": "yellow", + "color5": "orange", + "color6": "red" + }, + "example5": { + "id": "example5", + "x": 788, + "y": 288, + "movable": false, + "image": "/i/noto-emoji/emoji_u1f308.svg" + }, + "example8": { + "id": "example8", + "x": 1117, + "y": 425, + "image": "/i/game-icons.net/delapouite/brick-wall.svg", + "svgReplaces": { + "#000": "customCSS" + }, + "customCSS": "red\" stroke-width=\"15\" stroke-opacity=\"0.8\" stroke=\"darkred" + }, + "example7": { + "id": "example7", + "x": 1117, + "y": 288, + "image": "/i/game-icons.net/delapouite/brick-wall.svg", + "svgReplaces": { + "#000": "brickColor" + }, + "brickColor": "red" + }, + "example9": { + "id": "example9", + "x": 1299, + "y": 425, + "image": "/i/game-icons.net/carl-olsen/flame.svg", + "svgReplaces": { + "#000": "customCSS" + }, + "customCSS": "orange\" stroke-width=\"25\" stroke=\"gold" + }, + "example10": { + "id": "example10", + "x": 1299, + "y": 288, + "image": "/i/game-icons.net/carl-olsen/flame.svg", + "svgReplaces": { + "#000": "newColor" + }, + "newColor": "orange" + } +} \ No newline at end of file diff --git a/library/tutorials/Icons_ Symbols_ and Emojis/assets/1502865726_277 b/library/tutorials/Icons_ Symbols_ and Emojis/assets/1502865726_277 new file mode 100644 index 0000000000..5c090514c4 --- /dev/null +++ b/library/tutorials/Icons_ Symbols_ and Emojis/assets/1502865726_277 @@ -0,0 +1,6 @@ + + + + diff --git a/library/tutorials/Icons_ Symbols_ and Emojis/assets/1923406359_3510 b/library/tutorials/Icons_ Symbols_ and Emojis/assets/1923406359_3510 new file mode 100644 index 0000000000..ce0f6d9df3 --- /dev/null +++ b/library/tutorials/Icons_ Symbols_ and Emojis/assets/1923406359_3510 @@ -0,0 +1,24 @@ + + Misc - Icons + + + + + + + Icons, + + Symbols, & + + Emojis + + + + + + \ No newline at end of file diff --git a/library/tutorials/Math/0.json b/library/tutorials/Math/0.json index a393e2093c..b23aede09a 100644 --- a/library/tutorials/Math/0.json +++ b/library/tutorials/Math/0.json @@ -22,7 +22,7 @@ "time": "", "attribution": "", "showName": false, - "lastUpdate": 1689025315871, + "lastUpdate": 1737903192760, "skill": "", "description": "", "similarImage": "", @@ -30,6 +30,7 @@ "similarAwards": "", "ruleText": "", "helpText": "", + "similarDesigner": "", "variantImage": "", "variant": "Basic", "language": "en-US", diff --git a/library/tutorials/Math/1.json b/library/tutorials/Math/1.json index 3f3b050fce..f31001ef53 100644 --- a/library/tutorials/Math/1.json +++ b/library/tutorials/Math/1.json @@ -11,7 +11,7 @@ "y": 1 }, "_meta": { - "version": 3, + "version": 17, "info": { "name": "Math", "image": "/assets/2017839809_4407", @@ -22,7 +22,7 @@ "time": "", "attribution": "", "showName": false, - "lastUpdate": 1689025315873, + "lastUpdate": 1737903192760, "skill": "", "description": "", "similarImage": "", @@ -30,6 +30,7 @@ "similarAwards": "", "ruleText": "", "helpText": "", + "similarDesigner": "", "variantImage": "", "variant": "Constants", "language": "en-US", @@ -43,8 +44,9 @@ "z": 37, "height": 50, "css": "font-size: 20px; ", - "text": "A few important math values are provided as constants in VirtualTabletop. These constants do not take any operands. You use them in a dynamic expression to multiply, divide, etc. by the value. To see an example of how to calculate the circumference of a circle with a radius of r, look at the JSON in the button in the lower left. The button does not do anything; it is just a model.\n\nThe available constants are demonstrated below. Press the button to see the value of the constant.", - "width": 1000 + "text": "A few important math values are provided as constants in VirtualTabletop. These constants do not take any operands and cannot work directly with other math functions. You can use them in a dynamic expression to multiply, divide, etc. by the value. However, to do this, you must first create a new variable equal to the constant. To see an example of how to calculate the circumference of a circle with a radius of r (10 in this example), look at the JSON in the button in the lower left.\n\nThe available constants are demonstrated below. Press the button to see the value of the constant.", + "width": 1000, + "movable": false }, "lr6y": { "id": "lr6y", @@ -205,8 +207,17 @@ { "Note": "This button does not do anything. It is just an example of how you break would calculate the circumference of a circle with a radius variable 'r'." }, - "var circum = 2 * PI", - "var circum = ${circum} * ${r}" + "var r = 10", + "var p = PI", + "var circum = 2 * ${p} * ${r}", + { + "func": "SET", + "collection": [ + "outputstring" + ], + "property": "text", + "value": "${circum}" + } ], "x": 120, "y": 787, @@ -231,7 +242,7 @@ } ], "x": 872, - "y": 250, + "y": 300, "z": 288, "id": "0zgn", "css": "font-size: 30px; ", @@ -253,7 +264,7 @@ } ], "x": 619, - "y": 250, + "y": 300, "z": 289, "id": "2rti", "css": "font-size: 30px; ", diff --git a/library/tutorials/Math/2.json b/library/tutorials/Math/2.json index 2b354e1242..2c1143eb68 100644 --- a/library/tutorials/Math/2.json +++ b/library/tutorials/Math/2.json @@ -626,7 +626,7 @@ "time": "", "attribution": "", "showName": false, - "lastUpdate": 1689025315873, + "lastUpdate": 1737903192761, "skill": "", "description": "", "similarImage": "", @@ -634,6 +634,7 @@ "similarAwards": "", "ruleText": "", "helpText": "", + "similarDesigner": "", "variantImage": "", "variant": "Advanced", "language": "en-US", diff --git a/library/tutorials/Math/3.json b/library/tutorials/Math/3.json index d59faaf7e8..5fce400b8d 100644 --- a/library/tutorials/Math/3.json +++ b/library/tutorials/Math/3.json @@ -22,7 +22,7 @@ "time": "", "attribution": "", "showName": false, - "lastUpdate": 1689025315874, + "lastUpdate": 1737903192761, "skill": "", "description": "", "similarImage": "", @@ -30,6 +30,7 @@ "similarAwards": "", "ruleText": "", "helpText": "", + "similarDesigner": "", "variantImage": "", "variant": "Randomization", "language": "en-US", diff --git a/library/tutorials/Math/4.json b/library/tutorials/Math/4.json index 692b975eb2..d09baf4f46 100644 --- a/library/tutorials/Math/4.json +++ b/library/tutorials/Math/4.json @@ -22,7 +22,7 @@ "time": "", "attribution": "", "showName": false, - "lastUpdate": 1689025315874, + "lastUpdate": 1737903192762, "skill": "", "description": "", "similarImage": "", @@ -30,6 +30,7 @@ "similarAwards": "", "ruleText": "", "helpText": "", + "similarDesigner": "", "variantImage": "", "variant": "Format", "language": "en-US",