Transports no longer move between maps, each map gets a separate copy of the transport object and players are moved between them when transferring to another map
This means they can no longer be globally looked up in HashMapHolder
* Fully synchronize serverside animation progress with client
* Implemented updating passenger positions on elevators
* Removed visibility hack for elevators that always forced CreateObject packet to be sent to client
* spawn groups have been able to spawn for all difficulties even when they should be restricted to a single difficulty only
(cherry picked from commit 48f63eda9029d4fe16b7a350059c8e26ba8484ce)
* Core/Pools: Fix pools with 1 member never spawning anything anymore
Attempts to fix a 6 years old bug and never fixed by the original author.
* Remove respawn times from db once a respawn has been handled
* Allow to specify if Despawn1Object() should save or not the respawn time. We don't need to do that when respawning an object.
* Apply the same fix to GameObjects too
(cherry picked from commit c8ca48823d45dadb042a80637eff954483dd5328)
* Core/Console: Improve ReadWinConsole logic and cosmetic changes
* Core/Console: Fixed possible appearance of weird characters in the console when printing the output of child processes
* Fix codestyle
* Removed auto
* Core/Misc: Explicit casting Difficulty values to uint8 before outputting to console
* Core/Misc: Cast Difficulty to uint32 for output to console
Co-authored-by: jackpoz <[email protected]>
(cherry picked from commit 6c12f45f3b7d7eab32ed29860d2261fc8a512f0e)
Use a fixed offset 0.5f instead of full collision height when retrieving floor Z as a full collision height ended up on the floor above a few times. It makes more sense to cast the ray just a bit higher up than using a full collision height (which by default is 2.0f)
(cherry picked from commit f96aab2186d17ddd286fa42913f3f14e9562c4eb)
Use the same logic of (CENTER_GRID_ID - x / SIZE_OF_GRIDS) in GridMap::getMinHeight() as Map::GetGrid() to avoid coord grid mismatches caused by floating point precision, i.e. getting the wrong grid.
Replace defines with constexpr in grids to make debugging easier.
Closes#25652
(cherry picked from commit 0c69316714d0558e32462f5401197fe1e803ae75)
* Core/Maps: Always update the grid of player summons even if far away
* Code cleanup
* Use a vector instead of unordered_set
(cherry picked from commit c68faf108edf50ae8a2ff4a341eff1e0d4269cbc)
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs
Related: #25006
* Misc: Add some missing breaks (no-ops) to satisfy clang
Related: #25006Closes#25055
* Build: Enable -Wimplicit-fallthrough on clang
Closes#25006
* Shared/Metric: Allow to specify tags in metrics
* Core/Metric: Log number of Creatures and GameObject per map
* Apply feedback
* Codestyle changes
* Codestyle changes
* Remove whitespace
* Update Grafana dashboards to v7.0.3
* Fix missing filter on realm
* Include Creatures and Gameobjects in Maps dashboard
* Show instances with a different color
(cherry picked from commit 4e1dbd1cf808c9cf1f310b6d498f7e304dfb4147)
* Core/Pooling: Remove respawn times from the database when despawning a pool
Remove respawn times from the database when despawning a pool. This is needed when a Game Event ends but there are still some respawn times saved in the database.
* Remove respawn time of active pool objects even if they are not spawned
(cherry picked from commit 4f33fd3932d362466ee017111895bf14fcc79c88)
- Split SpawnMetadata off from SpawnData
- No longer allocate Creature/Gameobject objects in ObjectGridLoader just to check their typeid and delete them afterwards
Co-authored-by: Giacomo Pozzoni <[email protected]>
(cherry picked from commit 9304e496cbf6ab6c028671fb8526c732ae5d799f)