Seuls les talents et les sorts suivaient la montee de niveau d un bot (OnLevelupToBotAI : ReupdateTalents + LearnSpells). L equipement, lui, n etait pose qu une fois, au re-level initial : un mercenaire embauche au niveau 20 et monte a 25 gardait son stuff de niveau 20 pour tout le contrat et devenait de plus en plus fragile. Nouvelle methode PlayerBotSetting::RefreshEquipment() : reprend le seul bloc equipement du re-level complet -- UnequipFromAll, CheckInventroy, AddEquipFromAll, UpequipFromAll, SupplementOtherItems -- puis UpdateAllStats et SaveToDB. On ne repasse volontairement ni par ResetTalents ni par ActivateSpecialization : la reattribution de specialisation en cours de partie est le chemin des crashs connus dans Unit::GetAPMultiplier. ProcessDelayLevelup renvoie desormais false tant que le bot est en combat : le schedule reste en tete de file et sera retente au tick suivant, plutot que de desarmer le bot en pleine bagarre. RefreshEquipment reverifie de son cote. Ce commit emporte aussi ActivateSpecialization (PlayerBotSetting), ecrit lors d une session precedente, deployé depuis le 15/08 mais jamais commité. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DestinyCore
🚀 Build Status
| Windows | GCC | Clang |
|---|---|---|
📖 Introduction
DestinyCore is a modern, modular MMORPG server framework written in C++ that supports multiple platforms (Windows, Linux, macOS) and builds cleanly with GCC, Clang, and MSVC.
It is designed to be lightweight, scalable, and extensible, providing developers and server administrators with a stable foundation for World of Warcraft® (Legion 7.3.5) and beyond.
Key goals of DestinyCore:
- ⚡ Modern C++ design (C++20+)
- 🔌 Modular architecture (authserver, worldserver, shared libs)
- 🤖 Integrated PlayerBots system
- 🌍 Multi-database support (auth, characters, world)
- 🛠️ Easy build system (CMake + GitHub Actions CI)
- 🎮 MMO-ready networking with scalability in mind
🛠️ Requirements
DestinyCore depends on modern development tools and libraries:
- CMake 3.31+
- Boost 1.84.0
- MySQL 8.0
- OpenSSL 3.x
- GCC / Clang / MSVC (Visual Studio 2022 recommended)
📦 Installation
-
Clone the repository:
git clone https://github.com/slash-design/DestinyCore.git cd DestinyCore -
Create a build directory:
cmake -S . -B build -DTOOLS=ON cmake --build build -
Configure your databases (
auth,characters,world) and import the SQL structures provided in/sql/base. -
Start the servers:
./bin/worldserver ./bin/bnetserver
🤝 Contributing
We welcome all contributions!
Whether you’re fixing a bug, improving documentation, or adding new features — PRs are always appreciated.
- Fork the repo
- Create a feature branch
- Submit a pull request
🐛 Reporting Issues
Issues can be reported directly via the GitHub Issue Tracker.
Before creating a new one, please check for existing reports to avoid duplicates.
📜 License
This project is licensed under GPL v2.0.
See the LICENSE file for details.
🌐 Links
⭐ If you like DestinyCore, consider giving the project a star on GitHub!