1. Core Cleanup
- Move all ServerMail logic from `ObjectMgr` into a new dedicated `ServerMailMgr` class
- Move faction logic for money from SendServerMail into the script
2. Separation of items into a new table
- Create a new `mail_server_template_items` table
- Allows to send multiple items in one mail
- Separate items per faction Alliance/Horde
3. Separation of conditions into a new table
- Create a new `mail_server_template_conditions` table
- Allows to use multiple conditions for one mail
- Available condition types
- Minimum playtime (playerLevel >= condition)
- Minimum playtime (playerPlayTime >= condition)
- Rewarded quest
- Earned achievement
- Earned reputation (playerReputation >= conditionState)
- Faction
- Race
- Class
4. Updated ServerMail loading
- Move item and condition loading to their own functions
- LoadMailServerTemplateItems()
- LoadMailServerTemplateConditions()
5. Reworked eligibility check
- Player needs to pass all conditions to be eligible for the mail
- All players are automatically eligible if no conditions exist for a server mail template.
6. Updated foreign keys
- For table `mail_server_character`, `mail_server_template_conditions`, `mail_server_template_items` foreign key with on delete cascade is added for automatic removal of entries if mail_server_template.id is deleted.
7. Database changes
- See the PR
* Initial commit for localized motd
* Rename function that created world packages
* Update to satisfy code check
* Update code to accomodate localized motd
* Update command to support multiple optionales & adjusted db
* Code cleanup
* Update sql name
* Fix codestyle issues
* Remove hardcoded schema
* Add check for valid player in reload command
* Update to better code style
* Add missing include
* Fix redundant code usage
* Add missing include
* Remove sql files and create new rev sql files
* Address minor code reviews
* Fix code style
* Update code to address code revisions.
- Remove two unused functions
- Remove map
- Use available function to resolve LocaleConstant
* Fix code style
* Add check for base motd and update locale to DEFAULT_LOCALE
* Code docs
* Removed some docs, readd defaultd motd formatting
* Fix oversight in variable declaration
* Code style fix
* Update code based on code review
* ready for merge
* Fix set motd command due to changes to DEFAULT_LOCALE
* Fix CI
* Fix trailing whitespace
---------
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>