aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorthenecromancer <none@none>2010-07-31 13:55:23 +0200
committerthenecromancer <none@none>2010-07-31 13:55:23 +0200
commit270367abfc287b7d439405a5dae6a9dc9240f7ac (patch)
tree9b536021c924b0829fa4ab99fdc27735e046fb37 /src/server/game/Server
parentbdf20fa4204c89207c97b5ab9175d7ad504142f6 (diff)
Prevent players from gaining rest state in hostile capital zones.
Fix a bug where PvP status never resets when not moving to another zone. Reset PvP status at Taxi node end/worldport when moving into friendly territory. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Protocol/Handlers/MovementHandler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp
index 50b687e1595..7c4f305bcd7 100644
--- a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp
@@ -179,6 +179,9 @@ void WorldSession::HandleMoveWorldportAckOpcode()
// honorless target
if (GetPlayer()->pvpInfo.inHostileArea)
GetPlayer()->CastSpell(GetPlayer(), 2479, true);
+ // in friendly area
+ else if (GetPlayer()->IsPvP() && !GetPlayer()->HasFlag(PLAYER_FLAGS,PLAYER_FLAGS_IN_PVP))
+ GetPlayer()->UpdatePvP(false, false);
// resummon pet
GetPlayer()->ResummonPetTemporaryUnSummonedIfAny();
@@ -227,6 +230,9 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
// honorless target
if (plMover->pvpInfo.inHostileArea)
plMover->CastSpell(plMover, 2479, true);
+ // in friendly area
+ else if (plMover->IsPvP() && !plMover->HasFlag(PLAYER_FLAGS,PLAYER_FLAGS_IN_PVP))
+ plMover->UpdatePvP(false, false);
}
// resummon pet