Skip to content

Conversation

@kvirund
Copy link
Collaborator

@kvirund kvirund commented Feb 1, 2026

No description provided.

kvirund and others added 2 commits January 31, 2026 16:28
Comprehensive design document for new loot generation system:
- YAML-based configuration format
- Flexible filtering (mob/quest/container sources)
- Weighted probability with MIW limits and fallback
- Hot-reload support via CfgManager
- Local zone tables + global tables
- Replaces dead_load and GlobalDrop systems

Implementation estimate: 3.5-4.5 weeks (10 stages)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
- Add loot tables system with YAML-based configuration
- Source-centric and item-centric table types
- Weighted random item generation with probability_width
- Filters: vnum, level_range, zone, race, class
- Nested tables for reusable loot pools
- Player-specific filters (level, class restrictions)
- Hot-reload support via CfgManager
- Admin command: loottable (list/info/reload/test/stats/errors)
- Integration with corpse.cpp for mob death loot
- Conditional compilation with HAVE_YAML preprocessor
- Unit tests for core functionality
- Documentation and example configuration for zone 40

Build with: cmake -DHAVE_YAML=ON
Requires: libyaml-cpp-dev

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant