TVFLabs's Custom Side Deck
This mod lets you change the side deck to something other than squirrels, and allows changing the number of cards in the side deck, having more than one type of card in the side deck, having cards be selected when starting the run, and even displaying custom card backs.
About the Side Deck Selector mod
This mod should work alongside Side Deck Selector for the most part, but you should be aware of a few things:
- CustomSideDeck's side deck selection screen will display side decks from Side Deck Selector.
- The side deck choice node added by Side Deck Selector's challenge hasn't been tested with CustomSideDeck, but I doubt it would work at all.
- Currently, CustomSideDeck doesn't support P03 in Kaycee's Mod, and it doesn't support changing your side deck partway through a run. Aside from that, though, I'm fairly sure every other feature in Side Deck Selector exists in CustomSideDeck as well.
Config options
- GenerateDefaultCardBacks:
- How the mod should handle side deck card backs for side decks that don't add their own custom card back. If enabled, automatically generates a unique card back based on the side deck's main card's portrait. Otherwise, the default squirrel back will be used. (default: off)
- GenerateAquaVersions
- Whether to automatically add an Aqua version of all custom side decks. (default: off)
- ShowAquaSideDecksWhenSquirrelFishChallengeDisabled
- Whether or not Aquasquirrels and custom side decks marked as
CSDIsAqua should be shown as options even when the Squirrel Fish challenge isn't on. (default: off) - This does not affect which side decks are available when Squirrel Fish is enabled.
How to use:
Basic Side Deck:
JSON Loader
"extensionProperties": {
"CSDIsSideDeck": "true",
"CSDSideDeckType": "Basic"
}
C#
cardInfo.SetExtendedProperty("CSDIsSideDeck", "true");
cardInfo.SetExtendedProperty("CSDSideDeckType", "Basic");
Basic side decks work like most side decks: they have 10 copies of one type of card.
Set Count Side Deck:
JSON Loader
"extensionProperties": {
"CSDIsSideDeck": "true",
"CSDSideDeckType": "SetCount",
"CSDNumCards": "3"
}
C#
cardInfo.SetExtendedProperty("CSDIsSideDeck", "true");
cardInfo.SetExtendedProperty("CSDSideDeckType", "SetCount");
cardInfo.SetExtendedProperty("CSDNumCards", "3");
Set Count side decks are like Basic ones, except that you can set the number of cards in the deck using the CSDNumCards extension property.
Configurable Side Deck:
JSON Loader
"extensionProperties": {
"CSDIsSideDeck": "true",
"CSDSideDeckType": "Configurable",
"CSDNumCards": "10",
"CSDNumOptions": "4",
"CSDOption1": "Squirrel",
"CSDOption2": "Bee",
"CSDOption3": "Rabbit",
"CSDOption4": "Geck",
"CSDCanEditDuringRun": "true"
}
C#
cardInfo.SetExtendedProperty("CSDIsSideDeck", "true");
cardInfo.SetExtendedProperty("CSDSideDeckType", "Configurable");
cardInfo.SetExtendedProperty("CSDNumCards", "10");
cardInfo.SetExtendedProperty("CSDNumOptions", "4");
cardInfo.SetExtendedProperty("CSDOption1", "Squirrel");
cardInfo.SetExtendedProperty("CSDOption2", "Bee");
cardInfo.SetExtendedProperty("CSDOption3", "Rabbit");
cardInfo.SetExtendedProperty("CSDOption4", "Geck");
cardInfo.SetExtendedProperty("CSDCanEditDuringRun", "true");
Configurable side decks allow the player to choose which cards to put in the side deck before they start the run. Clicking on a card in the Configure Side Deck screen cycles through the options. There are CSDNumCards cards in the deck, each of which can be any of the CSDOptions. Make sure that the number of CSDOption properties is the same as the value of CSDNumOptions, or it won't work. CSDCanEditDuringRun makes it so that the player can edit their selected cards during a run instead of just at the very beginning, similar to how Gem Vessels work in Act 3.
Advanced Side Deck:
JSON Loader
"extensionProperties": {
"CSDIsSideDeck": "true",
"CSDSideDeckType": "Advanced",
"CSDNumCards": "5",
"CSDCard1": "Squirrel",
"CSDCard2": "Bee",
"CSDCard3": "Rabbit",
"CSDCard4": "self",
"CSDCard5": "conf",
"CSDNumOptions": "2",
"CSDOption1": "Cat",
"CSDOption2": "Goat",
"CSDCanEditDuringRun": "true"
}
C#
cardInfo.SetExtendedProperty("CSDIsSideDeck", "true");
cardInfo.SetExtendedProperty("CSDSideDeckType", "Advanced");
cardInfo.SetExtendedProperty("CSDNumCards", "5");
cardInfo.SetExtendedProperty("CSDCard1", "Squirrel");
cardInfo.SetExtendedProperty("CSDCard2", "Bee");
cardInfo.SetExtendedProperty("CSDCard3", "Rabbit");
cardInfo.SetExtendedProperty("CSDCard4", "self");
cardInfo.SetExtendedProperty("CSDCard5", "conf");
cardInfo.SetExtendedProperty("CSDNumOptions", "2");
cardInfo.SetExtendedProperty("CSDOption1", "Cat");
cardInfo.SetExtendedProperty("CSDOption2", "Goat");
cardInfo.SetExtendedProperty("CSDCanEditDuringRun", "true");
Advanced side decks can do everything that the other types of side decks can, and they also allow setting a specific amount of each type of card. In any of the CSDCard properties, you can enter the name of a card directly, or, alternatively, you can enter self or conf. CSDCards set to self will be the card the extension properties are on, while CSDCards set to conf will act like the cards in a Configurable side deck. Make sure that the number of CSDCard properties is the same as the value of CSDNumCards, and that the number of CSDOption properties is the same as the value of CSDNumOptions or it won't work. CSDCanEditDuringRun works the same as in a configurable side deck, as long as your side deck has some amount of conf cards.
Bonus Properties:
JSON Loader
"extensionProperties": {
"CSDIsSideDeck": "true",
"CSDSideDeckType": "Basic",
"CSDCardBack": "AquaBee_b