Description:
Currently there is an issue, when you are in FFA areas, but you dont have PvP flag activated.
You should get the PvP-In-Combat delay timer, but instead you just get the usual timer as if you would not fight in PvP.
Reproduction:
1) Get two players in FFA area Gurubashi arena down in the battle area (.tele Gurubashi)
2) Fight each other
3) When stopping combat, the combat state will switch off immediately. But it is supposed to switch off after some delay, because it was a PvP fight.
Closes#11103
Signed-off-by: Duarte Duarte <dnpd.dd@gmail.com>
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)
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
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>
Fix CMSG_HEARTH_AND_RESURRECT handler trying to resurrect players with 100x hp/mana/energy ( SetHealth()/SetPower() were sanitizing the input anyway ) .
Fix a cooldown issue related to potions allowing Players in combat to use more than 1 potion in a row, especially with high latency.
This also fixes an exploit about using infinite potions in combat just by skipping the client-side check.
The original implementation c064c2e2e1 was missing a check in Spell::CheckCast() about this particular case since Potion cooldown is added only after the Player goes out of combat.
Fixes#1259 .
Fix an array overflow in TransportMgr::GeneratePath() spline code.
Valgrind log:
Invalid read of size 4
at : G3D::Vector3::operator*(float) const (Vector3.h:650)
by : Movement::C_Evaluate(G3D::Vector3 const*, float, G3D::Matrix4 const&, G3D::Vector3&) (Spline.cpp:103)
by : Movement::SplineBase::SegLengthCatmullRom(int) const (Spline.cpp:171)
by : Movement::SplineBase::SegLength(int) const (in /home/jackpoz/trinity/bin/worldserver)
by : Movement::Spline<double>::initLengths() (SplineImpl.h:86)
by : TransportMgr::GeneratePath(GameObjectTemplate const*, TransportTemplate*) (TransportMgr.cpp:125)
by : TransportMgr::LoadTransportTemplates() (TransportMgr.cpp:78)
Address 0x1d07d154 is 8 bytes after a block of size 300 alloc'd
* Fixed transport orientation
* Fixed transport position desynchronization for stoppable transports
* Ignore spawnMask errors for objects spawned on transports