* Class Comparison Logic Encapsulation - Parity
* Add Context to IsClass
* Add Unit IsClass script hook
* Replace additional getClass with IsClass
* Update CanUseItem to replace getClass with IsClass
* Add separate context for pet vs ability
* Change Create to Init since not all referenced contexts are creation
* Align spacing in ClassContext
* Drop context on LFGManager max power
* Update IsClass context that wraps around Missle Barrage
* Rename context for swapping weapons
* Be more specific than CLASS_CONTEXT_TALENT
* Remove duplicate context
* Moved IsClass Hook to Player
* Removed unused parameter in virtual base function
* Added maybe_unused to IsClass virtual in order to compile
To match the override signature, the virtual base needs to include the parameter in question, so using [maybe_unused] to signal to the compiler to allow it
* Remove extra blank line
* Add ABILITY_REACTIVE context
* Add context for PET_CHARM
* Remove explicit nullopt check per review
* Code Readability - Change if to if else in pet
Due to the return pattern, this doesn't change functionality in any way
* Add OnPlayer to disambiguate
---------
Co-authored-by: NathanHandley <nathanhandley@protonmail.com>
- Get zone/area IDs from vmap data in the liquid update
- Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
- Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields.
- Clean up liquid state handling on Unit and Player
- Implemented getting area id from gameobject spawns.
- Removed old core related to getting movement flags dependent on environment.
- Movement flags are now processed more precisely and dynamically.
Original source: TrinityCore.
- Closes#5086
- Updates #2208.
* NULL to nullptr
* NULL to nullptr
* NULL to nullptr
* NULL to nullptr
* NULL to nullptr
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>