Storage Fix: - Implemented CardBinderContent parent tag shared by cards and binder sheets - Fixed Card Binder slots to use single tag requirement (CardBinderContent) - Unity's requireTags uses AND logic, not OR - previous approach required items to have ALL tags - Storage hierarchy now works correctly: * Cards can be stored in Binder Sheets (requires TradingCard tag) * Cards can be stored in Card Binders (requires CardBinderContent tag) * Binder Sheets can be stored in Card Binders (requires CardBinderContent tag) * Binder Sheets cannot be stored in other Binder Sheets (lacks TradingCard tag) F10 Spawn Window: - Replaced F9 key cycling with OnGUI floating window (changed to F10 to avoid mod conflicts) - Added buttons for spawning Card Binder and Binder Sheet - Added buttons for spawning random cards by rarity (Common, Uncommon, Rare, Very Rare, Ultra Rare) - Window is draggable and positioned to avoid UI overlap Cleanup: - Removed ExampleSet placeholder card data 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| src | ||
| tests | ||
| .gitignore | ||
| CLAUDE.md | ||
| deploy.sh | ||
| info.ini | ||
| README.md | ||
| remove.sh | ||
| TradingCardMod.csproj | ||
| TradingCardMod.Tests.csproj | ||
| VERSION | ||
Trading Card Mod for Escape from Duckov
A customizable trading card system that lets you add your own card sets to the game.
Features
- Custom Card Sets - Create your own trading cards with custom artwork and stats
- Card Packs - Open randomized card packs with gacha-style rarity distribution
- Hierarchical Storage System - Organize your collection with:
- Binder Sheets (9 slots, lightweight) - Hold individual cards
- Card Binders (12 slots) - Hold cards OR binder sheets for nested storage
- Card Set Management - Disable card sets by prefixing folder names with
_ - User-Friendly Format - Define cards using simple pipe-separated text files
- ModConfig Integration - Enhanced card info display and mod statistics (optional)
- No Programming Required - Add new card sets without writing any code
Requirements
Required Mod Dependency:
- HarmonyLib (HarmonyLoadMod) - Subscribe on Steam Workshop
This mod requires the HarmonyLoadMod to be installed. It provides the Harmony library that many mods share to avoid version conflicts.
Optional Mod Dependency:
- ModConfig - Subscribe on Steam Workshop
ModConfig is optional but recommended. When installed, it:
- Adds card set information (set name, card number, rarity) to item descriptions in your inventory
- Displays mod statistics including total cards loaded, packs available, and disabled card sets
Installation
- Subscribe to HarmonyLib on Steam Workshop
- (Optional) Subscribe to ModConfig for enhanced card descriptions
- Build the mod (see Development section)
- Copy the
TradingCardModfolder to your game'sDuckov_Data/Modsdirectory - Launch the game and enable the mods in the Mods menu (HarmonyLib is required, ModConfig is optional)
Adding Card Sets
Creating a New Card Set
- Create a new folder in
CardSets/with your set name (e.g.,CardSets/MyCards/) - Create a
cards.txtfile in your folder - Create an
images/subfolder for card artwork
Card Definition Format
Cards are defined in cards.txt using pipe-separated values:
CardName | SetName | SetNumber | ImageFile | Rarity | Weight | Value | Description (optional)
Example:
Blue Dragon | Fantasy Set | 001 | blue_dragon.png | Ultra Rare | 0.05 | 500| A majestic dragon with scales of sapphire blue.
Fire Sprite | Fantasy Set | 002 | fire_sprite.png | Rare | 0.05 | 100
Field Descriptions
| Field | Description | Example |
|---|---|---|
| CardName | Display name of the card | "Blue Dragon" |
| SetName | Name of the collection | "Fantasy Set" |
| SetNumber | Number for sorting (as integer) | 001 |
| ImageFile | Image filename in images/ folder | "blue_dragon.png" |
| Rarity | Card rarity tier | Common, Uncommon, Rare, Ultra Rare |
| Weight | Physical weight in game units | 0.05 |
| Value | In-game currency value | 500 |
| Description | Optional flavor text for the card | "A majestic dragon..." |
Image Requirements
- Place images in your cardset's
images/subfolder - Recommended format: PNG
Comments
Lines starting with # are treated as comments and ignored:
# This is a comment
# CardName | SetName | SetNumber | ImageFile | Rarity | Weight | Value
Blue Dragon | Fantasy Set | 001 | blue_dragon.png | Ultra Rare | 0.01 | 500
Disabling Card Sets
To temporarily disable a card set without deleting it, prefix the folder name with an underscore _:
CardSets/
├── MyActiveSet/ # This set will load
├── _MyTestSet/ # This set will be skipped
└── _SeasonalCards/ # This set will be skipped
Disabled sets are:
- Skipped during mod initialization
- Logged in the game console for reference
- Counted and displayed in ModConfig (if installed)
This is useful for:
- Work-in-progress card sets
- Seasonal or event-specific content
- Testing different configurations
Folder Structure
TradingCardMod/
├── TradingCardMod.dll
├── info.ini
├── preview.png
├── CardSets/
│ ├── ExampleSet/
│ │ ├── cards.txt
│ │ └── images/
│ │ └── (card images here)
│ └── YourCustomSet/
│ ├── cards.txt
│ └── images/
└── README.md
Development
Requirements
- .NET SDK (for .NET Standard 2.1)
- Escape from Duckov installed
Building
- Update
DuckovPathinTradingCardMod.csprojto point to your game installation - Build the project:
dotnet build - The compiled DLL will be in
bin/Debug/netstandard2.1/
Linux Steam Paths
Common Steam library locations on Linux:
~/.steam/steam/steamapps/common/Escape from Duckov~/.local/share/Steam/steamapps/common/Escape from Duckov
Testing
- Copy the build output to
Duckov_Data/Mods/TradingCardMod/ - Launch the game through Steam
- Enable the mod in the Mods menu
- Check the game's log for
[TradingCardMod]messages
Troubleshooting
"CardSets directory not found"
The mod will create this directory automatically. Add your card sets there.
Cards not appearing
- Check that
cards.txtfollows the exact format (7 pipe-separated fields) - Ensure image files exist in the
images/subfolder - Check the game log for parsing errors
Build errors
- Verify
DuckovPathin the .csproj points to your actual game installation - Ensure you have .NET SDK installed with
dotnet --version
License
This mod is provided as-is for personal use. Do not distribute copyrighted card artwork.
Credits
Built using the official Duckov modding framework and building on the awesome work of the AdditionalCollectibles mod.