* [Doors] Fix door saving for versions
- Door saving wasn't saving to the proper version on `#door save`
* Update doors.cpp
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com>
* [Performance] AFK Client Packet Filtering
* Player feedback
* Update client_packet.cpp
* Fixes
* Streamline updates to SetAFK
* Decouple idling and AFK and manual AFK
* Reset clock timer when we take AFK or idle off
* Exclude bard songs in non combat zones from resetting timer
* GM exclusion adjustments
* [Quest API] Add Last Login and First Login Flags to EVENT_CONNECT
* Push
* Update base_character_data_repository.h
* Update version field
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com>
* [Performance] Store Player Title Sets in Zone Memory
* Move to client memory
* Update client_packet.cpp
* Update zonedb.cpp
* Save only when necessary
* Single Insert
* Add optional insert flag
* Update client.h
* Consolidation
* Add trader/buyer cleanup actions
Add trader/buyer db cleanup for
- on zone idle
- on client first login
- when world drops a zone connection
- in Client::ProcessMovePC
Cleanup several compiler warnings
* Formatting Updates
* [Bots] Fix bots getting stuck on ^pull
- Removed initial LoS check from bots and rely only on owner when told to ^pull. This prevents bots from getting stuck in a loop if they don't have LoS when trying to initiate the pull.
* [Bots] Add valid state checks to ^clickitem
- Bots previously weren't checking if they were in a valid state or not before trying to click an item when told (in a death state, held, feared, silenced, in group/raid, etc.)
* [Bots] Add valid state checks to ^clickitem
- Bots previously weren't checking if they were in a valid state or not before trying to click an item when told (in a death state, held, feared, silenced, in group/raid, etc.)
Miscommit
* undo
* Cleanup and Fixes
- Cleanup
- Fixed Animation Empathy checks and consolidates
- Enchanter pets will honor Animation Empathy rules all around
- Pets will properly guard if allowed when pulling
* [Bugfix] Fix uninitialized char* in object.cpp.
* [Bugfix] Clear object user and user tradeskill object on reset.
* [Bugfix] Send clear object packet on Object::Close()
* [Bots] Fix creation limit, spawn limit, level requirement checks
- Previously if buckets were being used to control any of these values and the appropriate rule was set to 0, unset class specific buckets would override the main limit buckets.
- For example, if `Bots:SpawnLimit` is set to `0` and a player has their `bot_spawn_limit` set to `5` but they don't have a class bucket set for the class they're attempting to spawn a Cleric, the unset `bot_spawn_limit_Cleric` would return 0 and prevent Clerics from being spawned.
- This affected spawn limits, creation limits and level requirements to use bots if controlled by buckets.
- `#gm on` is required to be on for those beyond the ruled min status requirements to bypass the limits.
Rewrote checks and tested every scenario of set unset rules/buckets.
* Cleanup, fix bot count
- Fixes QueryBotCount to not account for soft deleted bots (`-deleted-`)