aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-12-05 19:25:52 +0100
committerShauren <shauren.trinity@gmail.com>2011-12-05 19:25:52 +0100
commitea7ec9e7a6b6f677a458789e1ec80aadbd24ef24 (patch)
tree6807d5ad95ad3e4e735152a04836216fc64a69c9 /src
parent95b422f674b8ec8556388b8291a2a7de2b39f45e (diff)
Core/Spells: Fixed resurrection order (teleport, then set alive), fixes aggroing creatures nearby and during The Lich King's outro - players who fell off the platform
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index d32980bf72d..3a7f763d3ea 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5087,6 +5087,8 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0))
SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_REFER_A_FRIEND);
+ setDeathState(ALIVE);
+
SetMovement(MOVE_LAND_WALK);
SetMovement(MOVE_UNROOT);
@@ -5116,8 +5118,6 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
// update visibility
UpdateObjectVisibility();
- setDeathState(ALIVE);
-
if (!applySickness)
return;
@@ -18300,7 +18300,7 @@ void Player::SaveToDB(bool create /*=false*/)
stmt->setFloat(index++, finiteAlways(GetPositionY()));
stmt->setFloat(index++, finiteAlways(GetPositionZ()));
stmt->setFloat(index++, finiteAlways(GetOrientation()));
-
+
std::ostringstream ss;
ss << m_taxi;
stmt->setString(index++, ss.str());
@@ -18322,7 +18322,7 @@ void Player::SaveToDB(bool create /*=false*/)
ss.str("");
ss << m_taxi.SaveTaxiDestinationsToString();
-
+
stmt->setString(index++, ss.str());
stmt->setUInt32(index++, GetArenaPoints());
stmt->setUInt32(index++, GetHonorPoints());
@@ -22478,12 +22478,9 @@ uint32 Player::GetBaseWeaponSkillValue (WeaponAttackType attType) const
void Player::ResurectUsingRequestData()
{
/// Teleport before resurrecting by player, otherwise the player might get attacked from creatures near his corpse
- if (IS_PLAYER_GUID(m_resurrectGUID))
- TeleportTo(m_resurrectMap, m_resurrectX, m_resurrectY, m_resurrectZ, GetOrientation());
+ TeleportTo(m_resurrectMap, m_resurrectX, m_resurrectY, m_resurrectZ, GetOrientation());
- //we cannot resurrect player when we triggered far teleport
- //player will be resurrected upon teleportation
- if (IsBeingTeleportedFar())
+ if (IsBeingTeleported())
{
ScheduleDelayedOperation(DELAYED_RESURRECT_PLAYER);
return;