Note
Paragon Anniversary Serverside is now feature-complete and stable! Clientside UI is still in development with some features to complete.
| Component | Status | Notes |
|---|---|---|
| Serverside | โ๏ธ Beta | All core features complete, dual-mode system fully implemented, stabilization in progress |
| Clientside | ๐จ Beta | Core UI functional, features and refinement in progress |
| Documentation | โ Complete | Full code docs, architecture guides, and hook specifications |
Important
The Paragon System is currently available exclusively for AzerothCore (3.3.5a).
We are focusing on ensuring all functionality is stable and bug-free on AzerothCore before expanding to other platforms. This allows us to provide a reliable and well-tested experience.
Future Plans:
- ๐ After stabilization on AzerothCore, a port to ElunaTrinityWotlk is planned
- ๐ Additional emulator support may follow based on community demand
If you're using a different emulator and interested in compatibility, please open an issue on the project repository.
The Paragon System introduces an endgame progression mechanic for AzerothCore servers. After reaching max level, players continue to earn paragon experience and unlock stat bonuses through a point-based talent system.
- ๐ Paragon Levels: Unlimited progression beyond max level
- โก Stat Bonuses: Invest points in Combat Ratings, Stats, and Special Auras
- ๐ฏ Three Categories:
- Combat: Hit, Crit, Haste, Expertise, Armor Penetration
- Stats: Strength, Agility, Stamina, Resistances, HP/Mana
- Auras: Loot, Reputation, and Experience bonuses
- ๐ฎ Multi-Source Experience: Gain paragon XP from creatures, achievements, quests, and skills
- ๐ฐ Point System: Earn points to distribute among available statistics
- ๐ Client Integration: In-game interface via custom addon
- ๐พ Persistent: All progress saved to database
|
Configuration Tables:
Character Data (Character-Linked Mode):
Account Data (Account-Linked Mode):
|
Configure LEVEL_LINKED_TO_ACCOUNT in paragon_config:
0(Default): Character-linked - Each character has independent progression1: Account-linked - All characters on account share level/XP but have separate stat investments
- ๐ Copy the
paragonfolder to your ALE scripts directory - ๐ Restart your AzerothCore server (tables auto-create)
- โ๏ธ Configure
paragon_configtable with your desired settings
๐ Note: Requires ALE engine installed on AzerothCore
For complete installation instructions including:
- โ Prerequisites and dependencies
- โ Step-by-step server setup
- โ Database configuration
- โ Client-side addon installation
- โ Testing and troubleshooting
๐ Read the Full Installation Guide
Configure the system via database entries in paragon_config:
| Field | Description | Default |
|---|---|---|
ENABLE_PARAGON_SYSTEM |
Enable/disable the entire system | 1 |
LEVEL_LINKED_TO_ACCOUNT |
Character-linked (0) vs Account-linked (1) mode | 0 |
PARAGON_LEVEL_CAP |
Maximum paragon level (0 = unlimited) | 999 |
MINIMUM_LEVEL_FOR_PARAGON_XP |
Minimum character level to earn paragon XP | 0 |
| Field | Description | Default |
|---|---|---|
BASE_MAX_EXPERIENCE |
Base XP per level (multiplied by level) | 1000 |
POINTS_PER_LEVEL |
Points awarded per paragon level | 1 |
PARAGON_STARTING_LEVEL |
Starting paragon level for new characters | 1 |
PARAGON_STARTING_EXPERIENCE |
Starting experience value | 0 |
| Field | Description | Default |
|---|---|---|
UNIVERSAL_CREATURE_EXPERIENCE |
Default XP for creature kills | 50 |
UNIVERSAL_ACHIEVEVEMENT_EXPERIENCE |
Default XP for achievements | 100 |
UNIVERSAL_SKILL_EXPERIENCE |
Default XP for skill increases | 25 |
UNIVERSAL_QUEST_EXPERIENCE |
Default XP for quest completion | 75 |
| Field | Description | Default |
|---|---|---|
EXPERIENCE_MULTIPLIER_LOW_LEVEL |
Bonus multiplier for low-level paragons | 1.5 |
EXPERIENCE_MULTIPLIER_HIGH_LEVEL |
Penalty multiplier for high-level paragons | 0.8 |
LOW_LEVEL_THRESHOLD |
Paragon level below which bonus applies | 5 |
HIGH_LEVEL_THRESHOLD |
Paragon level above which penalty applies | 100 |
| Field | Description | Default |
|---|---|---|
DEFAULT_STAT_LIMIT |
Maximum points per individual stat (1-255) | 255 |
- Add categories to
paragon_config_category - Define statistics in
paragon_config_statistic - Configure
type,factor, andlimitfor each stat
Stat Configuration Fields:
type:AURA,COMBAT_RATING, orUNIT_MODStype_value: The specific stat ID from Constantsfactor: Multiplier for each point investedlimit: Maximum points that can be invested (max 255)application: How the stat bonus is applied
Example Data Available:
A complete example configuration with 3 categories and 25+ statistics is provided in sql/11-13-2026_Example_Data.sql. Use this as a reference or load it directly to get started quickly.
|
|
Custom aura IDs: 1900000+ |
- Singleton Pattern: Config and Repository services
- Repository Pattern: Database abstraction layer
- Mediator Pattern: Event-driven extensibility
- Object-Oriented: Using classic.lua library
- Async Database: Non-blocking queries
- Manual Migrations: SQL files in
sql/directory - Client Communication: Custom addon protocol (
ParagonAnniversary) - Extensible: Module system via Mediator events
๐ Detailed Technical Documentation:
- HOOKS.md - Complete Mediator event system
- MODULES.md - Creating custom modules
- LIBRARIES.md - Library documentation
Complete documentation is available in the doc/ directory:
| Document | Description |
|---|---|
| INSTALL.md | Complete installation guide with SQL setup |
| HOOKS.md | Mediator event system reference |
| MODULES.md | Creating custom modules |
| LIBRARIES.md | Classic, CSMH, and Mediator libraries |
All code includes LuaDoc comments for inline documentation.
| Emulator | Version | Status | Notes |
|---|---|---|---|
| ๐ฎ AzerothCore | 3.3.5a | โ Supported | Primary development platform |
| ๐ ElunaTrinityWotlk | 3.3.5a | ๐ Planned | Port scheduled after AzerothCore stabilization |
| Component | Version | Status |
|---|---|---|
| ๐ง ALE | Latest | โ Required |
| ๐ Classic | Any | โ Required |
| ๐ CSMH | Any | โ Required |
paragon/
โโโ lib/
โ โโโ classic/
โ โ โโโ classic.ext # OOP library
โ โโโ Mediator/
โ โ โโโ mediator.lua # Event system
โ โโโ CSMH/
โ โโโ SMH.ext
โโโ modules/
โ โโโ paragon_anniversary.lua # Experience & level-up mechanics
โ โโโ README.md # Module documentation
โโโ paragon_constant.lua # Constants, SQL queries, stat enums
โโโ paragon_repository.lua # Database access layer (Singleton)
โโโ paragon_config.lua # Configuration service (Singleton)
โโโ paragon_class.lua # Paragon entity & business logic
โโโ paragon_hook.lua # Event handlers & entry point
โโโ README.md # This file
doc/
โโโ INSTALL.md # Installation guide
โโโ HOOKS.md # Complete hook documentation
โโโ MODULES.md # Module development guide
โโโ LIBRARIES.md # Libraries documentation (Classic, CSMH, Mediator)
sql/
โโโ 01_create_database.sql # Database creation
โโโ 02_create_config_tables.sql # Configuration tables
โโโ 03_create_experience_tables.sql # Experience reward tables
โโโ 04_create_paragon_tables.sql # Paragon progression tables
โโโ 05_create_triggers.sql # Validation triggers
โโโ 06_insert_default_config.sql # Default configuration
โโโ 11-13-2026_Example_Data.sql # Example categories & statistics
โโโ README.md # SQL installation guide
Player Login
โ
Hook.OnPlayerLogin (paragon_hook.lua)
โ
Create Paragon Instance (paragon_class.lua)
โ
Load Level & Statistics from DB (paragon_repository.lua)
โ
Callback: Hook.OnPlayerStatLoad
โ
Apply Statistics to Player & Send Data to Client (ParagonAnniversary addon)
- โ Dual-Mode System: Character-linked and account-linked paragon progression
- โ Mediator Pattern Integration: Extensible event system for custom modules
- โ
Module System: Modular business logic via
paragon_anniversary.lua - โ Robust Error Handling: Fallback defaults for all configuration values
- โ Complete Documentation: HOOKS.md with all Mediator events documented
- โ Advanced Routing: Runtime table selection based on LEVEL_LINKED_TO_ACCOUNT
- Singleton Pattern: Config and Repository are single instances
- Repository Pattern: Clean database abstraction layer
- Mediator Pattern: Decoupled event-driven architecture
- Object-Oriented Design: Using classic.lua for OOP
- ๐ง Development: Custom system for AzerothCore
- ๐จ Concept: Inspired by Diablo 3 Paragon systems
- ๐ Thanks: AzerothCore & ALE communities

