Booster Packs
Before doing this guide, please check the getting started guide if you haven't already.
You can create new booster pack types by creating a file in GameData/BoosterPacks/NAME/NAME.json
.
A booster pack file looks like this:
{
"name": "PACK_STD",
"displayName": "STRING_AOF_BOOSTER_TITLE",
"filters": [
{
"type": "Set",
"comparison": "Equal",
"setCodes": [
"AOF"
]
}
],
"packImage": "Textures/AOF/CardPackFront.png",
"priceGold": 100,
"description": "STRING_AOF_BOOSTER_DESCRIPTION"
}
Reference
Name | Description |
---|---|
name | The internal identifier of the pack |
displayName | The title of the pack. It will be automatically translated if it's a translation key. |
filters | A list of filters so we can calculate the available cards for this booster pack |
packImage | A path to the sprite to present to the user as the pack image |
priceGold | How much the pack costs to buy |
description | The pack's description. It will be automatically translated if it's a translation key. |
Filters
There are several filters you can use to calculate the available cards for a pack.
Filters work in an exclusive way: Each filter removes invalid cards each time. Meaning you can't have two Set
filters with different sets, since they'll remove all cards.
Filters have a type
, comparison
, and specific fields depending on the type.
Comparisons are one of Bigger
, BiggerEqual
, Equal
, NotEqual
, Smaller
, SmallerEqual
, and they define how to validate the filter. For most filters, you'll want the Equal
or NotEqual
comparisons.
Set Filters
Set Filters can have one or more sets in the setCodes
field, which is a list of set codes to filter.
Example
{
"type": "Set",
"comparison": "Equal",
"setCodes": [
"STD",
"AOF"
]
}
Characteristic Filters
Characteristic Filters allow you to find specific characteristics in a card. If a card doesn't have that characteristic, it's considered as valid either way.
The specific fields it uses are:
Name | Description |
---|---|
characteristic | The name of the characteristic |
boolValue | The boolean value of the characteristic if it's a bool type (true or false ) |
intValue | The integer value of the characteristic if it's an int type (Number with no decimals, like 123 ) |
stringValue | The string value of the characteristic if it's a string value (Text) |
Example
{
"type": "Characteristic",
"comparison": "Equal",
"characteristic": "GUARDIAN",
"boolValue": true
}
Tag Filters
Tag Filters allow you to find cards with a specific tag. If a card has one or more of those tags, it's considered valid. You can chain multiple tag filters if you want to combine tag searches.
Example
{
"type": "Tags",
"comparison": "Equal",
"tags": [
"ABILITY"
]
}
Template Filters
Template Filters allow you to select specific cards. Each template name must be in the form of SETCODE|NAME
or NAME
.
Example
{
"type": "Template",
"comparison": "Equal",
"templates": [
"AOF|CARD_THULARI_MERCENARY"
]
}