Your pack.json file contains card lists which can be referenced by your pick and pack events.
pack.json
"Starter": {
"type": "Starter", The 'Type' of pack, which is used during pack events.
"icon": "pack.webp", The pack's image (usually an image of a booster pack), in your /pack/ folder.
"name": "Starting cards", Name of the pack, shown when hovering over the pack.
"desc": "Starting cards", Description when hovering over the pack, and when the pack is opened.
"shows": 5, The number of cards in each pack.
"limit": 1, The maximum number of cards you can pick from this pack. Only applies if this is used for a pick event.
"enforceHighland": false, If true, and if the pack contains multiple copies of a card, the extra copies will not appear when opening the pack.
"removeRedundant": false, If true, any cards that the player already has the max number of copies for (even considering the banlist), will not appear when opening the pack. This is NOT updated while the pack is being opened.
"card": [ A list of the cards in this pack.
"Green Gadget",
"Red Gadget",
"Yellow Gadget",
"Kuriboh",
"Winged Kuriboh",
"Mystical Space Typhoon",
"Trap Hole",
"Summoned Skull"
]
},
You can have cards appear multiple times in a pack, therefore increasing the odds of obtaining them.
One way of doing this is just by including the same card twice (the example on the left). However, you can also use {"This Syntax": 2} to achieve the same thing (the example on the right).
These two examples are functionally identical.
pack.json
"card": [
"Volcanic Shell",
"Volcanic Shell",
"Volcanic Shell",
"Volcanic Shell",
"Volcanic Shell",
"Volcanic Shell",
]
pack.json
"card": [
{"Volcanic Shell" : 6}
]
Cards in an Array are treated as 1 card when the pack is shuffled, but will be 1 of the cards within the Array when the pack is opened.
In the example below, 'Morinphen', 'Sparks', 'Fissure', and 'Armaill' are effectively rare cards in this pack, and Mokey is effectively a common.
Since 1 card is shown, there is a 50% (1 in 2) chance that the shuffler will deal out 1 of the rare cards from the Array, and a 50% chance that it will be a Mokey.
However, in the event that the Array was dealt, there is only a 25% (1 in 4) chance that 'Morinphen' will be opened from the pack.
The pull ratios therefore look like the table on the right.
pack.json
"shows": 1
"card": [
["Morinphen", "Sparks", "Fissure", "Armaill"],
"Mokey Mokey"
]
Name | Morinphen | Sparks | Fissure | Armaill | Mokey |
---|---|---|---|---|---|
Probability | 12.5% | 12.5% | 12.5% | 12.5% | 50% |
You can also nest Split Probabilities inside of other Split Probabilities.
You can add Rarity Layers to packs in pack.json.
"my_booster_pack": {
"card": [
"Green Gadget",
"Red Gadget",
"Yellow Gadget"
],
"rares": [
{ //This pack contains 1 "Rarity Layer".
"amount": 1, //Packs will only contain 1 rare card
"chance": 50, //50% Chance of getting that Rare Card
"replace": true, //If that 50% chance happens, one of the "commons" will be replaced.
"card": [
"Gold Gadget",
"Silver Gadget"
]
}
]
}