* Move EntityManager to Game namespace
* move initialization to later
Need to wait for dZoneManager to be initialized.
* Fix bugs
- Cannot delete from a RandomAccessIterator while in a range based for loop.
Touchup zone manager initialize
replace magic numbers with better named constants
replace magic zonecontrol id with a more readable hex alternative
condense stack variables
move initializers closer to their use
initialize entity manager with zone control
change initialize timings
If zone is not zero we expect to initialize the entity manager during zone manager initialization
Add constexpr for zone control LOT
* Add proper error handling
* revert vanity changes
* Update WorldServer.cpp
* Update dZoneManager.cpp
* Hacky FallSpeedBehavior
* Fixup
* Make it more robust like speedboost
add check for default
Fix error in GetActiveSpeedboosts
* simplify and address feedback
* CDClient cleanup and optimization
- Use static function to get table name
- Remove unused GetName function
- Replace above function with a static GetTableName function
- Remove verbose comments
- Remove verbose initializers
- Remove need to specify table name when getting a table by name
- Remove unused typedef for mac and linux
* Re-add unused table
Convert tables to singletons
- Convert all CDClient tables to singletons
- Move Singleton.h to dCommon
- Reduce header clutter in CDClientManager
There is now an option to utilize shared memory for some CDClient tables by adding `CD_PROVIDER_MEMORY=1` to the CMakeVariables.txt file.
Allows masterconfig.ini to specify another run command for the world server, to allow for easier debugging through `valgrind`.
* Add friends list migration
* Change friends to use charID
Update friends table to use charID and not LWOOBJID variant.
* Fix remove friend
Fix remove friend and make the query more readable at a glance.
* Add and remove friends in the container
Properly add and remove friends in the player container
* add enums
* Add best friends and basic GM support V1
* Add more features
* not online / doesnt exist implementation
Implements the not online and invalid character response codes
* Address players not being removed
Fix an issue where players would not be marked as offline in the friends list due to the message not being sent in all circumstances.
Tested changes on 3 clients, switching characters, logging out from character select, switching characters, world transfer and my friends list looked as it was supposed to.
* Implement proper friends system
Remove debug logs
Track count of best friends
Add best friends list cap of 5
Add config option and best friend update
Add a config option and implement the last missing best friend serialization
Added comments and fixed remove best friend bug
Added some comments and addressed an issue where removing best friends would not remove them from your internal count of friends.
properties and logs fixes
whoops, had an issue
send reply if already BFFs
Send the correct objectID
I really need to rename these
Fix white space
goon
* Replace queries with unique ptrs
* remove user from player container on deletion
Remove the user from the player container when they delete their character.
* Bump patch version
* Improvements to PlayerContainer
Resolved a memory leak in the player container, removed commented out code and resolved a warning in Behavior.cpp
* Make it a unique ptr
* Improvements to PlayerContainer
Resolved a memory leak in the player container, removed commented out code and resolved a warning in Behavior.cpp
Make it a unique ptr
* Update PlayerContainer.cpp
Utilizes `boost::interprocess` to share a map between worlds.
The master server loads the table into memory, and the worlds hook into it when they want to get an entry.
This solves the issue of skill delay, but introduces the third-party library Boost.
There should be a conversation about the introduction of Boost — it is a large library and adds extra steps to the installation.
Add the Venture Vision behavior and associated functionality. Pet digs still do not show up however.
The Kit bonus for factions have been tested and properly grant and take away the buff when it is casted and uncasted. Tested as well using multiple Venture Vision behaviors at once and the vision only went away when there were zero equipped at once.
Remove extra includes
Convert to Tabs
Remove extra forward declaration
Added functions and methods to support the pickup radius. Functionality includes:
Corrected serialization for ControllablePhysicsComponent which correctly serializes the pickup radius to the client.
A method to add the pickup radius to the list of active pickup radii the component has.
A method to remove and re-calculate the largest active radii the component currently has.
Tested equipping all variations of the LootBuff behavior (passive skills, items, item skills) and all functioned as intended. Tested equipping multiple items with a loot buff and then unequipping them in different orders. Tested adding pickup radii of different values and the server correctly adjusted the pickup radius to the largest one currently equipped.
Remove the CDClientDatabase::ExecuteQueryWithArgs() function and replace
it with CDClientDatabase::CreatePreppedStmt().
This prevents a developer from accidently using %s, or incorrectly
passing std::string, and causing a silent error.
Adds function `ExecuteQueryWithArgs(query, ...)` to allow for queries
with user input.
There is a known issue, that the funciton does not work with
std::string. All strings must be converted to c strings.