* Add pet when learning it for the first time (summon spell not known).
* Removed code that adds battle pet if its summon spell is known (Learn cageable pet -> Cage pet -> Log out -> Log in -> Pet is added).
* When uncaging check that the species has a summon spell before trying to learn it.
* Rename WorldPackets::BattlePet::BattlePet::CollarID to WorldPackets::BattlePet::BattlePet::DisplayID
* Use the DisplayID field to store the model of the battle pet. If the species has BattlePetSpeciesFlags::RandomDisplay, nothing is stored. Otherwise a random model is chosen from those available
* Stored DisplayID in ITEM_MODIFIER_BATTLE_PET_DISPLAY_ID when caging the battle pet (previously the CreatureID was being stored)
* Modified SendPlaySpellVisual function to allow sending Target and TargetPosition at the same time
* Added SpellVisual when uncaging
* Add CREATURE_FLAG_EXTRA_NO_SELL_VENDOR and use it for a single no-sell vendor in game (there are more of them in later expansions)
(cherry picked from commit 7c5b69d18b)
remove home position set from creature PauseMovement, and use it when necessary
change log level on DelayedDelete
(cherry picked from commit cd4775420a)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.
Ref 28050f3#18020
(taking the good parts and ignoring the incomplete work)
(cherry picked from commit 7fff83d675)
* Update gold limit to 10 million
* Updated auction house gold handling to 64-bit
* Fixed some vendor checks for when BuyCount > 1
* Tweaked some checks for available gold space
* Updated guild bank gold handling to 64-bit and fix withdraw limits
* Enforce gold limit on guild bank
* Check correct rank right when withdrawing from bank
* Other small changes to update money to 64-bit
Closes#19195Closes#20152
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)