aboutsummaryrefslogtreecommitdiff
path: root/src/game/MovementHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/MovementHandler.cpp')
-rw-r--r--src/game/MovementHandler.cpp45
1 files changed, 20 insertions, 25 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index aa80d021617..775cef0edca 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -50,7 +50,7 @@ void WorldSession::HandleMoveWorldportAckOpcode()
WorldLocation &loc = GetPlayer()->GetTeleportDest();
// possible errors in the coordinate validity check
- if(!MapManager::IsValidMapCoord(loc.mapid,loc.x,loc.y,loc.z,loc.o))
+ if(!MapManager::IsValidMapCoord(loc.mapid, loc.x, loc.y, loc.z, loc.o))
{
LogoutPlayer(false);
return;
@@ -74,20 +74,17 @@ void WorldSession::HandleMoveWorldportAckOpcode()
// to let GetInstance() determine the proper InstanceId based on the player's binds
GetPlayer()->SetInstanceId(0);
- // check this before Map::Add(player), because that will create the instance save!
- bool reset_notify = (GetPlayer()->GetBoundInstance(GetPlayer()->GetMapId(), GetPlayer()->GetDifficulty()) == NULL);
-
GetPlayer()->SendInitialPacketsBeforeAddToMap();
// the CanEnter checks are done in TeleporTo but conditions may change
// while the player is in transit, for example the map may get full
if(!GetPlayer()->GetMap()->Add(GetPlayer()))
{
- sLog.outDebug("WORLD: teleport of player %s (%d) to location %d,%f,%f,%f,%f failed", GetPlayer()->GetName(), GetPlayer()->GetGUIDLow(), loc.mapid, loc.x, loc.y, loc.z, loc.o);
+ sLog.outDebug("WORLD: teleport of player %s (%d) to location %d, %f, %f, %f, %f failed", GetPlayer()->GetName(), GetPlayer()->GetGUIDLow(), loc.mapid, loc.x, loc.y, loc.z, loc.o);
// teleport the player home
if(!GetPlayer()->TeleportTo(GetPlayer()->m_homebindMapId, GetPlayer()->m_homebindX, GetPlayer()->m_homebindY, GetPlayer()->m_homebindZ, GetPlayer()->GetOrientation()))
{
// the player must always be able to teleport home
- sLog.outError("WORLD: failed to teleport player %s (%d) to homebind location %d,%f,%f,%f,%f!", GetPlayer()->GetName(), GetPlayer()->GetGUIDLow(), GetPlayer()->m_homebindMapId, GetPlayer()->m_homebindX, GetPlayer()->m_homebindY, GetPlayer()->m_homebindZ, GetPlayer()->GetOrientation());
+ sLog.outError("WORLD: failed to teleport player %s (%d) to homebind location %d, %f, %f, %f, %f!", GetPlayer()->GetName(), GetPlayer()->GetGUIDLow(), GetPlayer()->m_homebindMapId, GetPlayer()->m_homebindX, GetPlayer()->m_homebindY, GetPlayer()->m_homebindZ, GetPlayer()->GetOrientation());
assert(false);
}
return;
@@ -97,10 +94,11 @@ void WorldSession::HandleMoveWorldportAckOpcode()
// only add to bg group and object, if the player was invited (else he entered through command)
if(_player->InBattleGround())
{
- // cleanup seting if outdated
+ // cleanup setting if outdated
if(!mEntry->IsBattleGroundOrArena())
{
- _player->SetBattleGroundId(0, BATTLEGROUND_TYPE_NONE); // We're not in BG.
+ // We're not in BG
+ _player->SetBattleGroundId(0, BATTLEGROUND_TYPE_NONE);
// reset destination bg team
_player->SetBGTeam(0);
}
@@ -115,7 +113,7 @@ void WorldSession::HandleMoveWorldportAckOpcode()
GetPlayer()->SendInitialPacketsAfterAddToMap();
// flight fast teleport case
- if(GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType()==FLIGHT_MOTION_TYPE)
+ if(GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE)
{
if(!_player->InBattleGround())
{
@@ -142,13 +140,10 @@ void WorldSession::HandleMoveWorldportAckOpcode()
}
}
- if(mEntry->IsRaid() && mInstance)
+ if((mEntry->IsRaid() || (mEntry->IsNonRaidDungeon() && mEntry->SupportsHeroicMode() && GetPlayer()->IsHeroic())) && mInstance)
{
- if(reset_notify)
- {
- uint32 timeleft = sInstanceSaveManager.GetResetTimeFor(GetPlayer()->GetMapId()) - time(NULL);
- GetPlayer()->SendInstanceResetWarning(GetPlayer()->GetMapId(), timeleft); // greeting at the entrance of the resort raid instance
- }
+ uint32 timeleft = sInstanceSaveManager.GetResetTimeFor(GetPlayer()->GetMapId()) - time(NULL);
+ GetPlayer()->SendInstanceResetWarning(GetPlayer()->GetMapId(), GetPlayer()->GetDifficulty(), timeleft);
}
// mount allow check
@@ -165,7 +160,7 @@ void WorldSession::HandleMoveWorldportAckOpcode()
void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
{
- CHECK_PACKET_SIZE(recv_data,8+4);
+ CHECK_PACKET_SIZE(recv_data, 8+4);
sLog.outDebug("MSG_MOVE_TELEPORT_ACK");
uint64 guid;
@@ -173,11 +168,11 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
recv_data >> guid;
recv_data >> flags >> time;
- DEBUG_LOG("Guid " UI64FMTD,guid);
- DEBUG_LOG("Flags %u, time %u",flags, time/IN_MILISECONDS);
+ DEBUG_LOG("Guid " UI64FMTD, guid);
+ DEBUG_LOG("Flags %u, time %u", flags, time/IN_MILISECONDS);
Unit *mover = _player->m_mover;
- Player *plMover = mover->GetTypeId()==TYPEID_PLAYER ? (Player*)mover : NULL;
+ Player *plMover = mover->GetTypeId() == TYPEID_PLAYER ? (Player*)mover : NULL;
if(!plMover || !plMover->IsBeingTeleportedNear())
return;
@@ -194,8 +189,8 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
plMover->SetPosition(dest.x, dest.y, dest.z, dest.o, true);
uint32 newzone, newarea;
- plMover->GetZoneAndAreaId(newzone,newarea);
- plMover->UpdateZone(newzone,newarea);
+ plMover->GetZoneAndAreaId(newzone, newarea);
+ plMover->UpdateZone(newzone, newarea);
// new zone
if(old_zone != newzone)
@@ -244,8 +239,8 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
if( movementInfo.t_x > 50 || movementInfo.t_y > 50 || movementInfo.t_z > 50 )
return;
- if( !Trinity::IsValidMapCoord(movementInfo.x+movementInfo.t_x, movementInfo.y+movementInfo.t_y,
- movementInfo.z+movementInfo.t_z, movementInfo.o+movementInfo.t_o) )
+ if( !MaNGOS::IsValidMapCoord(movementInfo.x+movementInfo.t_x, movementInfo.y + movementInfo.t_y,
+ movementInfo.z + movementInfo.t_z, movementInfo.o + movementInfo.t_o) )
return;
// if we boarded a transport, add us to it
@@ -303,7 +298,7 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
if(plMover) // nothing is charmed, or player charmed
{
plMover->SetPosition(movementInfo.x, movementInfo.y, movementInfo.z, movementInfo.o);
- plMover->UpdateFallInformationIfNeed(movementInfo,recv_data.GetOpcode());
+ plMover->UpdateFallInformationIfNeed(movementInfo, recv_data.GetOpcode());
if(plMover->isMovingOrTurning())
plMover->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
@@ -586,7 +581,7 @@ void WorldSession::HandleMoveWaterWalkAck(WorldPacket& /*recv_data*/)
void WorldSession::HandleSummonResponseOpcode(WorldPacket& recv_data)
{
- CHECK_PACKET_SIZE(recv_data,8+1);
+ CHECK_PACKET_SIZE(recv_data, 8+1);
if(!_player->isAlive() || _player->isInCombat() )
return;