Previously we replaced the spell id used by items that had the data for the spell itself changed in item_template as if it were a change to the item. That meant we actually had wrong item data for those patches, but it made the effects look correct in the 1.12 client. If you were to play with the actual patch appropriate client however, all of those items would show wrong effects. Doing spell id substitutions for newer clients in the core is a better way to handle this, as it means we can have 100% correct and patch appropriate data for items in the database. Also this way there is no way of missing an item that needs a replacement spell id for lower content patches, since all the items are checked on startup.
After this commit you have to move your DBCs inside a folder with the build number. So for example if they were in "data\dbc\" before, now they should be in "data\5875\dbc\" for 1.12.
* Add support for the 1.11.2 client.
* Fix some startup errors.
* Fix all startup errors with 1.11 dbcs.
* Fix SpellCastResult enum values.
* Implement old spell haste handling.
* Fix spell haste logic for 1.12.
* Lethargy Root is grey in 1.12.
* Remove % prefix on IP lookup so table indexes can be utilized
* Add template functions for performing delayed query holders and unsafe async queries with static methods as callbacks
* Implemented async handling of PInfo command and extracted to separate TU for futher async command handling
* Add support for static delay holder with no extra params
* Remove a number of wildcard prefixes from lookups (cannot use indexes with wildcard prefix)
WIP move character lookups to async
* Make adding to async tasks threadsafe, remove arbitrator on task execution and allow them to be run when a thread is ready
* Remove non-templated declarations and definitions of delayed query holder methods, it breaks builds. Just use a dummy var instead
* Move display for lookups to async tasks
Don't delete queries inside ShowPlayerListHelper
* Use async queries for player character name lookup and account character lookup
* Disable console output for async lookup commands (pending console output support)
* Move account lookup to async
* Remove all concat3 and wildcard prefixes from frequently used GM commands so that table indexes are utilized
* Moved offline gold removal to async
* Remove bad delete
* Move banaccount lookup queries to async
* Add a simple async task for sending packets to specific sessions
* Pass data by ref in SessionPacketSendTask
* Include for WorldPacket def
* Remove class qualifier
* Implements a mechanism for locking accounts down if a player logs in from another country.
* Removed some deprecated cruft (auto_ptr/random_shuffle/register/(unary | binary)_function) at the same time.
* Adds JSON for Modern C++ (https://github.com/nlohmann/json/) to the project.
* Converted serialId to uint32 to avoid overflow with large GUIDs used as the ID
* Now ensure all player inventory saves are performed in a transaction serialized to them
* Did you just assume my gender?
* Implement new progression system. (#2118)
* Implement new progression system.
* Add progression support to battleground_template table.
* Assign patch to areatriggers.
* Print current patch on startup.
* BG player requirements are per team.
* Revert last change. Thanks WobLight.
* Fix .npc add command.
* Now actually fix .npc add.
* Assign patches to game events.
* Items can be forbidden both after and before a patch.
* Extend quest tables support.
* Rename migration so its last.
* Merge changes into 1 migration.
* Add old BG rewards.
* Battlemasters, Equipment Errors, Item Conditions.
* Warbringers and Brigadier Generals added in 1.8.
* Implemented support for serial transactions and character loading, ensuring order of operations remains consistent
- All item saving is now serialized to prevent issues with duplicating due to certain queries running out of order
- Character loading is now serialized with the same system as items, to prevent duplications by relogging before queries are performed
* Reverted debug delay thread update timer
* Fix a memory leak in login if the client has an invalid OS (spoofed client)
* Fix a crash in visibility update
* Fix crash on null target duel
* More auth crash fixes
Allows for the auth server to continue accepting connections when the database comes back online, rathern requiring a restart. Not an ideal solution but I'm not rewriting MaNGOS' database handling.
* Event based timers. Allows us to use scheduled events rather than the
time diff checking.
* Easier to write, and easier to read for newbies.
* Simplifies code flow and looks far more professional to the trained
eye.
* Comes from TrinityCore so we can cross reference scripting techniques
and start coding in the 21st century on this core..
* As a proof of concept, I have rewritten Lucifron (first boss in MC) to
show an example of how this might look in the future with the other
scripts.