CultTweaker
Custom tarot cards
Register custom tarot cards from a config.json, with the full set of run modifiers CultTweaker exposes.
Tarot cards live in BepInEx > plugins > CultTweaker > CustomTarotCards, one
folder each, with a config.json and the sprites it names. A template ships with
the mod at Templates/CustomTarotCards/ExampleTarot.
config.json
{
"CardName": "Omen of Fortune",
"SpritePath": "omen_of_fortune.png",
"BackSpritePath": "tarot_back.png",
"Category": "Custom",
"TarotCardWeight": 200,
"MaxTarotCardLevel": 1,
"IsCursedRelated": false,
"Lore": "A mysterious card promising small blessings.",
"Description": "Increases loot and chance for relics.",
"SpiritHeartCount": 0.0,
"SpiritAmmoCount": 0,
"WeaponDamageMultiplierIncrease": 0.0,
"CurseDamageMultiplierIncrease": 0.0,
"WeaponCritChanceIncrease": 0.05,
"LootIncreaseModifier": 1,
"MovementSpeedMultiplier": 0.05,
"AttackRateMultiplier": 0.0,
"BlackSoulsMultiplier": 0.0,
"HealChance": 0.0,
"NegateDamageChance": 0.0,
"DamageAllEnemiesAmount": 0,
"HealthAmountMultiplier": 0,
"AmmoEfficiency": 0.0,
"BlackSoulsOnDamage": 0,
"ItemToDropInternalName": "CULT_TWEAKER_TEST_ITEM",
"ChanceOfGainingBlueHeart": 0.02,
"ChanceForRelicsMultiplier": 0.10,
"RelicChargeMultiplier": 0.1
}
Fields
| Field | Type | Default | Description |
|---|---|---|---|
CardName | string | — | The card's displayed name. |
SpritePath | string | — | A PNG in the same folder, the card's front face. |
BackSpritePath | string | — | A PNG in the same folder, the card's back face. |
Category | string | Custom | The tarot card category. |
TarotCardWeight | int | 150 | How likely the card is to be offered. |
MaxTarotCardLevel | int | 0 | The highest level the card can reach. |
IsCursedRelated | bool | false | Whether the card counts as curse-related. |
Lore | string | Custom Tarot created with CultTweaker. | The card's lore line. |
Description | string | This is a custom tarot created with CultTweaker. | The card's description. |
SpiritHeartCount | float | 0 | Spirit hearts granted. |
SpiritAmmoCount | int | 0 | Spirit ammo granted. |
WeaponDamageMultiplierIncrease | float | 0 | Increase to the weapon damage multiplier. |
CurseDamageMultiplierIncrease | float | 0 | Increase to the curse damage multiplier. |
WeaponCritChanceIncrease | float | 0 | Increase to weapon critical hit chance. |
LootIncreaseModifier | int | 0 | Loot increase modifier. |
MovementSpeedMultiplier | float | 0 | Movement speed multiplier. |
AttackRateMultiplier | float | 0 | Attack rate multiplier. |
BlackSoulsMultiplier | float | 0 | Black souls multiplier. |
HealChance | float | 0 | Chance to heal. |
NegateDamageChance | float | 0 | Chance to negate damage. |
DamageAllEnemiesAmount | int | 0 | Damage dealt to all enemies. |
HealthAmountMultiplier | int | 0 | Health amount multiplier. |
AmmoEfficiency | float | 0 | Ammo efficiency. |
BlackSoulsOnDamage | int | 0 | Black souls gained when damaged. |
ItemToDropInternalName | string | none | The internal name of an item the card drops. Custom items work here. |
ChanceOfGainingBlueHeart | float | 0 | Chance of gaining a blue heart. |
ChanceForRelicsMultiplier | float | 0 | Multiplier on the chance for relics. |
RelicChargeMultiplier | float | 0 | Multiplier on relic charge. |
ItemToDropInternalName is looked up by internal name each session, never by the
number the game assigned it - those numbers are handed out per install, in load
order. See the ids warning.