EFD Trading Card Mod - Custom Foundry VTT trading card system
Add comprehensive test coverage for CardPack, PackSlot, DefaultPackSlots, and PackParser classes. Tests verify TypeID generation, slot weight configurations, file parsing with various formats, and default pack creation. Test coverage: - CardPack: GenerateTypeID consistency and uniqueness - PackSlot: Default values, rarity/card weight population - DefaultPackSlots: Slot weight distributions, GetDefaultSlots - PackParser: File parsing, multiple packs/slots, card-specific weights Total: 60 tests (29 existing + 31 new) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| CardSets/ExampleSet | ||
| src | ||
| tests | ||
| .gitignore | ||
| CLAUDE.md | ||
| deploy.sh | ||
| info.ini | ||
| README.md | ||
| remove.sh | ||
| TradingCardMod.csproj | ||
| TradingCardMod.Tests.csproj | ||
Trading Card Mod for Escape from Duckov
A customizable trading card system that lets you add your own card sets to the game.
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.
Installation
- Subscribe to HarmonyLib on Steam Workshop
- Build the mod (see Development section)
- Copy the
TradingCardModfolder to your game'sDuckov_Data/Modsdirectory - Launch the game and enable both HarmonyLib and this mod in the Mods menu
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
Example:
Blue Dragon | Fantasy Set | 001 | blue_dragon.png | Ultra Rare | 0.01 | 500
Fire Sprite | Fantasy Set | 002 | fire_sprite.png | Rare | 0.01 | 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.01 |
| Value | In-game currency value | 500 |
Image Requirements
- Place images in your card set's
images/subfolder - Recommended format: PNG
- Recommended size: 256x256 or similar aspect ratio
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
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.