* Core/Calendar: Add some additional validation when creating events
Allow only 30 player events and 100 guild events to be created.
Don't allow to create guild events if player is not in guild.
Send some more error messages to the client (not blizzlike errors but better than nothing).
* Core/Calendar: Add some additional validation/checks
Add guild id check in GetPlayerEvents().
Change error message in HandleCalendarCopyEvent() to be the same as in HandleCalendarAddEvent() when creating an event in the past.
* Core/Calendar: Add some additional validation/checks
Reduce the number of CMSG_CALENDAR_ADD_EVENT packets a seconds allowed from 10 to 3.
* Core/Calendar: Add some additional validation/checks
Implement 5 seconds cooldown between the creation of calendar events
* Core/Calendar: Add some additional validation/checks
Don't allow to copy events of a different player/guild
* Core/Calendar: Implement automatic deletion of old events
Implement automatic deletion of events older than 1 month (30 days).
Fix debug assertion triggered when deleting a character with calendar events.
Avoid double std::set lookup when deleting events when deleting a character.
NB: The whole CalendarMgr/CalendarHandler code should be checked line by line for bugs/crashes/exploits.
Add Line of Sight checks to ChaseMovementGenerator::Update(), fixing to ChaseMovementGenerator not reaching a point with valid LoS to the target.
Fix re-implements 8927a04253 after 2a84562dc8 partially removed it.
Fix#23724
Fix a crash in taxi paths happening when joining a battleground/dungeon while on a taxi path after second last node but close to last node, then leaving/finishing the battleground.
* Scripts/Outlands: Fix npc_ancestral_wolf not starting waypoint, and also add a way to not follow owner automatically in CreatureAI::JustAppeared() for tempsummons
* fix nopch
* Fix spell_area not checking for zoneID for quests
* Addendum to bdffe0a4a6
* Fix spell_area handle same spell with the same quests
Also fix not checking for quest_end at all.
* Addendum to 2d6b0545e3
* Better commenting for 7a50189de3
* Addendum to 2d6b0545e3
Fix mobs evading when target is out of MMap meshes causes by an overzealous check added in c602220e02 when trying to fix an infinite loop in Recast.
If the target is outside of the MMap mesh (for example very close to a wall which is an un-walkable area with current TrinityCore settings and that might be changed in the future) Detour will not be able to find the height of the poly and getPolyHeight() will return DT_FAILURE | DT_INVALID_PARAM . Most of the time this is ok and can be ignored and it's still better than having the Unit evade.
Fix#23613
Issue 1: Drain soul was always negative, but effect2 need be positive.
Issue 2: Drain soul was interrupted if someone in your group die. Caused by negative effects proccing in creature.
Issue 3: Since effect2 is positive, it was down-ranking in low level targets and should never happens (fixed before by ariel, transforming everything in negative in 2c8a6fb771 but it's wrong)
#MakeWarlockAfflictionGreatAgain