This will at least somewhat improve performance, as confirmed through microbenchmark testing.
const fields are replaced with literal values in the Assembly's IL code, while static readonly fields may be optimized by the JIT, and is not guaranteed to happen. const fields may also lend themselves to stronger optimizations at runtime.
* Add verify-melee-rares command
This command allows server operators to fix existing melee rares in the database to their correct End of Retail WCID values.
It also replaces "illegally" swapped melee rares that were obtained from the Melee Rare Vendor with a newly generated, valid rare at random.
* Update DeveloperFixCommands.cs
* Update DeveloperFixCommands.cs
* Update DeveloperFixCommands.cs
Remove Rare Coins
* Update DeveloperFixCommands.cs
* potential opt-in style fix for attributes being able to be augmented above 100 innate
* Fix valid attribute query to target valid attributes
* Fix debug message
* Cleanup messages
* more message cleanup
* target attribute must have points distributed to it
* when redistributing attributes, reset the free attribute reset timer
* Clean up message for verify-attributes augmentation fix
* opt-in attribute exploit fix; cleaned up query, comments, debug messages
* opt-in attribute exploit fix; line format debug messages
* Opt-in style fix for attribute augmentation exploit; remove unnecessary file
* Update Source/ACE.Server/Managers/PropertyManager.cs
flip boolean per suggestion and previous discussion
Co-authored-by: Ty Conner <tyconner@itcproductions.com>
Co-authored-by: Ty Conner <tyconner@itcproductions.com>
* Adjust verify-skill-credits
Fix some issues with the verify command in addition to accurately using the DAT file and storing total on character as well
* Update DeveloperFixCommands.cs
* Update Player_Skills.cs
* Update DeveloperFixCommands.cs
* Update Player_Skills.cs
* Add support for Enlightenment
* Update Enlightenment.cs
* Update Enlightenment.cs
* comments
* Update Enlightenment.cs
* Update Enlightenment.cs
* Update Specialization rules
If skill is specialized via augmentation gem and is tinkering skill, it can be removed/refunded. If retrained, it will go back to specialized.
If skill is Salvaging, it will refund xp spent only, and remain specialized.
* Update Enlightenment.cs
* Update Enlightenment.cs
* Update Player_Skills.cs
* Update appveyor.yml
* Step 1. Add new adapter classes and models
All classes and objects added are in new namespaces.
This add has 0 interraction on existing ACE code.
This sets the groundwork for Step 2. Moving World DB caching to the new models
* first part of the world entity usage
* almost there
* final part
* update WeenieExtensions
* fix
* merge fixes and improvements
* ACE.Database new code
* it compiles
* InitializePropertyDictionaries
* WOrldDatabaseWithEntityCache cleanup
* ShardDatabaseWithCaching
* ShardDatabase Cleanup
* todo
* cache counts reported in serverstatus
* House InitializePropertyDictionaries
* improve ServerStatus
* BiotaModel change HousePermissions to Dictionary<uint, bool>
* PropertiesAllegiance to dictionary
* BiotaUpdater improvements
* Shard Database Cache Reporting
* More code ported from Step 3
* Remove stub CharacterCache
* Update WorldDatabaseWithEntityCache.cs
* build fixes
* code audit
* Remove non-callback functions from SerializedShardDatabase
* BiotaUpdater progress.. only emote left
* Emotes done... now need to test
* fix
* Burden/Value fix for containers
* fat fingered EncumbranceVal
* add some safety
* Don't cache player biotas for initial PlayerManager load
* fix null spellbook
* Add another null check
This is redundant as the check is also upstream.
This is to prevent an exception in the future if this function is called from another source.
* Step 1. Add new adapter classes and models
All classes and objects added are in new namespaces.
This add has 0 interraction on existing ACE code.
This sets the groundwork for Step 2. Moving World DB caching to the new models
* first part of the world entity usage
* almost there
* final part
* update WeenieExtensions
* fix
* merge fixes and improvements
* More code ported from Step 3
* Update WorldDatabaseWithEntityCache.cs
* GetCachedCookbooks(recpieId) -> GetCookbooksByRecipeId(recpieId)
* build fix
* changelog