Core/Spells: Health Funnel now always damages the warlock, even if it does not heal the pet because it's already at full health. Previously it would display the 'Miss' effect on the owner of the pet.

Fixes #9991
Core/Players: On CanRewardQuest, use the same item dest vector for all potential rewards
Scripting/Utgarde Pinnacle: Fix visual during Svala's transformation
Core/Instances: Fix exploit too much players in instances/raids
Core/Guild: Implement GR_RIGHT_VIEWOFFNOTE
Core/Guild: HandleRoster should always have a valid session
Core/Battlegrounds: Fix offline players not being resurrected when Battleground ends

Fixes #7081
Core/Entities: Implement SMSG_INVALIDATE_PLAYER
Core/Entities: Don't allow to login while character is forced to rename
Merge pull request #11427 from Dehravor/force-rename

Core/Entities: Don't allow to login while character is forced to rename
Merge pull request #11426 from Dehravor/invalidate-player

Core/Entities: Implement SMSG_INVALIDATE_PLAYER
Core&Conf: Small cosmetic fixes

Closes #11392

Signed-off-by: DDuarte <dnpd.dd@gmail.com>
DB/Guild: Fix incorrect input length limits

There is one incorrect field length related to guilds in the database, which can be used to cause an overflow client-side, by sending CMSG_GUILD_INFO_TEXT with long strings.

The guild information has the same 500 characters client-side limit as the guild bank tab information, but on server-side it can be 65k characters long. A lengthy guild info makes the whole Guild panel unusable.

Length of the other fields match the client's limits in the database: guild bank tab name (16), public note (31), officer note (31), motd (128), guild bank tab info (500).

Closes #11395

Signed-off-by: DDuarte <dnpd.dd@gmail.com>
Scripts/NPCs: Remove core script for rogue trainers which was overriding db conditions

SAI and conditions for rogue trainers to provide elegant leter to rogues provided that is level 24 or higher, does not have elegant letter and does not have taken, rewarded or complete the quest which elegant letter starts

Closes #11378

Signed-off-by: DDuarte <dnpd.dd@gmail.com>
Merge pull request #11342 from Carbenium/Svala

Scripting/Utgarde Pinnaccle: Fix visual during Svala's transformation
Merge pull request #11310 from Ric101/can_quest_reward

Core/Players: On CanRewardQuest, use the same item dest vector for all potential rewards

Solves issues where the player has enough bag space for each item individually, but not all of them together.

Example to reproduce previous issue:

Obtain Battle of the Crimson Watch (10781)
Make sure you only have 1 slot available in your inventory
Turn in the quest, watch as you don't receive one of the rewards
Core/Movement: Add LOS check for fleeingmovement target point.

Prevents fleeing or feared units from going to upper floor ignoring walls/ceilings with mmaps on(and usually get stucked).

Current implementation just randomly selects a distance and angle against the frighting unit, when in narrow circumstance such as underground caves, such targeting point would be at another floor.

Closes #11300
Ref #9475 (needs fixed confirmation)
Spells: Fix Alcohol-Free Brewfest Sampler

Closes #10956

Signed-off-by: Duarte Duarte <dnpd.dd@gmail.com>
Core/SAI: Fix crash in SmartScript

Fix crash in SmartScript storing WorldObject* instead of guid as targets in SmartScript::mTargetStorage , used by SMART_TARGET_STORED target type , SMART_ESCORT_TARGETS and other escort related code.
Fixes #11228 , #10157 .

Valgrind log:
 Invalid read of size 4
  at : Object::GetTypeId() const (Object.h:140)
  by : SmartScript::IsPlayer(WorldObject*) (SmartScript.h:73)
  by : SmartScript::ProcessAction(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:330)
  by : SmartScript::ProcessEvent(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:2662)
  by : SmartScript::ProcessAction(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:2226)
  by : SmartScript::ProcessTimedAction(SmartScriptHolder&, unsigned int const&, unsigned int const&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:2238)
  by : SmartScript::ProcessEvent(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:2685)
  by : SmartScript::UpdateTimer(SmartScriptHolder&, unsigned int) (SmartScript.cpp:3198)
  by : SmartScript::OnUpdate(unsigned int) (SmartScript.cpp:3244)
  by : SmartAI::UpdateAI(unsigned int) (SmartAI.cpp:331)
  by : Creature::Update(unsigned int) (Creature.cpp:544)
  by : void Trinity::ObjectUpdater::Visit<Creature>(GridRefManager<Creature>&) (GridNotifiers.cpp:340)
Merge pull request #11377 from Yelvann/master

Core/Instances: Fix exploit too much players in instances/raids