Tiles which are owned by the mesh should have the DT_TILE_FREE_DATA flag to ensure
deallocation on removal from the mesh.
Log:
==23516== 6,181,976 bytes in 6 blocks are definitely lost in loss record 15 of 15
==23516== at 0x4C298A0: operator new[](unsigned long) (vg_replace_malloc.c:389)
==23516== by 0x2052660: dtCustomAlloc(int, dtAllocHint) (Memory.h:11)
==23516== by 0x29D7FDA: dtAlloc(int, dtAllocHint) (DetourAlloc.cpp:43)
==23516== by 0x230AA70: MMAP::MMapManager::loadMap(std::string const&, unsigned int, int, int) (MMapManager.cpp:166)
==23516== by 0x1DD585B: Map::LoadMMap(int, int) (Map.cpp:125)
==23516== by 0x1DD7266: Map::LoadMapAndVMap(int, int) (Map.cpp:200)
==23516== by 0x1DD93C6: Map::EnsureGridCreated_i(CoordPair<64u> const&) (Map.cpp:453)
==23516== by 0x1DD9129: Map::EnsureGridCreated(CoordPair<64u> const&) (Map.cpp:429)
==23516== by 0x1DED100: Map::GetGrid(float, float) (Map.cpp:2200)
==23516== by 0x1DE0F4C: Map::GetAreaFlag(float, float, float, bool*) const (Map.cpp:2349)
==23516== by 0x198521B: Map::GetZoneId(float, float, float) const (Map.h:353)
==23516== by 0x197CFF0: WorldObject::GetZoneId() const (Object.cpp:1277)
Phase tiles aren't managed by detour so they shouldn't be free'd automatically on removal.
See MMapManager::UnloadPhaseTile
Core/Player: Fix profession specialization being re-learnt on login after unlearning it
(cherry picked from commit 1c89b4dcdf)
Conflicts:
src/server/game/Entities/Player/Player.cpp
- Fix missing yells
- Rearrange existing yells to match live
- Sniffed positions for adds
- Improve add respawn handling
- Make adds not fight the player for control (don't use their spells on their own etc.)
- Update adds' hotbar keys to match live (this will affect other creatures with nonsequential possess keys as well)
- Fix adds' movement when mind controlled, they no longer move automatically when right-clicking (this affects all mind-controlled creatures)
- Blizzlike timers
(cherry picked from commit 54d583b0fb)
# Conflicts:
# src/server/game/Spells/SpellMgr.cpp
- Improved Web Wrap target selection
- Added missing text
- Cleanup of web wrap positioning - two players will never be flung to the same position (25-man)
- Further improvement to web wrap spawn behavior - targetable web wrap now only spawns after the player has finished being flung to the respective position (blizzlike)
- Add additional web wrap positions (sniff)
(cherry picked from commit 5dd6163387)
# Conflicts:
# src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
Fix assertion triggered when entering a vehicle while channelling a shared vision spell.
Fix#15953
(cherry picked from commit 2cb54d5606)
# Conflicts:
# src/server/game/Entities/Player/Player.cpp
Add Unit::KillSelf() function as overload of Unit::Kill(this) . Use KillSelf() whenever the killer and the victim are the same to clearly state the Unit is going to kill itself.
(cherry picked from commit 3267c90102)
# Conflicts:
# src/server/game/AI/SmartScripts/SmartScript.cpp
Hallowed Wand items should cast a transformation on party members.
by @DevRival, closes #3574
Before this patch, the following spells do not have any effect at all:
- 24717, Pirate Costume
- 24718, Ninja Costume
- 24719, Leper Gnome Costume
- 24720, Random Costume
- 24737, Ghost Costume
Details from testing on the current 3.3.5 branch (commit ecbbcc8):
- 24724 (Skeleton Costume) seems to work as intended
- 24733 (Bat Costume) only lasts 10 seconds instead of 60 minutes
- 24741 (Wisp Costume) also seems to work as intended
All the spells listed above are included in this PR.
(cherry picked from commit 3fdbcf18ae)