- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean
- Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private
- Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does
- Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed
- Map::AddRespawnInfo now takes const reference, and returns success as a boolean
- Map::AddRespawnInfo no longer offers an unused "replace" parameter
- Map::DeleteRespawnInfo no longer offers a variety of unused private overloads
- Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does.
- Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ.
- Map::GetWorldObjectBySpawnId sanitized
- Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime
(cherry picked from commit d60082ae86)
Add .debug guidlimits <optional map id> chat command to show the highest low guid counter for Creature and GameObject, useful when reaching Respawn.GuidWarnLevel
(cherry picked from commit 7421ccaf7e)
Consider the case of Player A inviting Player B to a Calendar Event. After Player B clicks on Accepts/Tentative/Reject, the calendar shows that status for Player A instead.
(cherry picked from commit 7f3d8c99bb)
There are complex cases where breadcrumb quests are mutually exclusive with other breadcrumbs leading to other quests, chaining them shouldn't generate log errors.
(cherry picked from commit e6080116f9)
* 23285 Fixed lever respawn and future encounters after it respawns.
* Removed unnecessary additional container.
Made lever not to despawn and respawn but rather change flags only.
* Made one conditional branch easier to debug.
(cherry picked from commit c71e36acae)
* Core/Misc: More coding standards
* revert part
* "void " or more to "void "
* fix? reject
* remove more double whitespaces
* remove more double whitespaces
* more standards
* more coding standards
* More standards
* more coding
* more coding standards
* more coding standards
* And more standards
(cherry picked from commit 574a7c8d3d)
- .npc respawn no longer causes stupid things to happen (Fixes#23014)
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.
(cherry picked from commit 84b7b2e08e)
/home/circleci/project/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp:50:9: fatal error: use of undeclared identifier 'AddFlag'
AddFlag(MOVEMENTGENERATOR_FLAG_TIMED_PAUSED);
^
(cherry picked from commit ec1a77bca2)
Movement Pause/Clear is already handled in Unit::SetCharmedBy and Unit::RemoveCharmedBy, respectively
TODO: missing PAUSE handling in RandomMovementGenerator
(cherry picked from commit 4fa3c04b72)
Now that respawns do not care about the previous corpse's state, there's no reason to force a very frustrating faster despawn.
(cherry picked from commit 1bdbede7e0)